.tm-back{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:rgba(15,22,38,.62);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}.tm-back.show{opacity:1;visibility:visible}
.tm{width:min(680px,100%);max-height:min(88vh,760px);display:flex;flex-direction:column;background:var(--surface);border-radius:22px;box-shadow:0 40px 90px rgba(10,16,30,.45);overflow:hidden;transform:translateY(18px) scale(.98);transition:transform .45s cubic-bezier(.2,.8,.2,1);font-family:Manrope,Inter,system-ui,sans-serif;color:var(--text)}.show .tm{transform:none}
.tm-top{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line);background:linear-gradient(var(--surface),var(--soft))}
.tm-ttl{display:flex;gap:14px;align-items:center;min-width:0}.tm-ic{flex:none;width:44px;height:44px;border-radius:13px;background:var(--deep);color:#fff;display:grid;place-items:center}.tm-ttl h2{margin:0;font-size:1.1875rem;letter-spacing:-.02em;font-weight:800}.tm-ttl p{margin:2px 0 0;font-size:0.8125rem;color:var(--mut)}
.tm-agree{flex:none;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:12px;background:var(--ok);color:#fff;font:inherit;font-weight:800;font-size:0.9375rem;padding:13px 22px;cursor:pointer;box-shadow:0 8px 20px rgba(19,89,118,.32);transition:transform .2s,box-shadow .2s,background .2s}.tm-agree:hover{background:#104860;transform:translateY(-1px);box-shadow:0 12px 26px rgba(19,89,118,.38)}.tm-agree:active{transform:none}.tm-agree:focus-visible,.tm-x:focus-visible{outline:3px solid #8fd8f0;outline-offset:2px}
.tm-x{flex:none;width:36px;height:36px;border:0;border-radius:10px;background:var(--chip);cursor:pointer;font-size:1.125rem;color:var(--text2);display:none}.tm.again .tm-x{display:block}
.tm-body{overflow:auto;padding:18px 24px 22px}.tm-lead{margin:0 0 14px;font-size:0.875rem;color:var(--text2)}
.tm-i{border:1px solid var(--line);border-radius:14px;margin-bottom:8px;transition:border-color .25s,background .25s}.tm-i.open{border-color:var(--line2);background:var(--soft)}
.tm-h{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:1fr 14px;gap:12px;align-items:center;padding:14px 16px;cursor:pointer;border-radius:14px}.tm-h:focus-visible{outline:2px solid var(--ac2)}
.tm-h b{display:block;font-size:0.9375rem}.tm-h small{display:block;color:var(--mut);font-size:0.8125rem;margin-top:2px;line-height:1.45}
.tm-h i{width:8px;height:8px;border-right:2px solid var(--mut);border-bottom:2px solid var(--mut);transform:rotate(45deg);transition:transform .35s cubic-bezier(.2,.8,.2,1)}.open .tm-h i{transform:rotate(-135deg)}
.tm-d{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.2,.8,.2,1)}.open .tm-d{grid-template-rows:1fr}.tm-d>div{overflow:hidden;min-height:0}.tm-d p{margin:0;padding:0 16px 15px;font-size:0.8438rem;line-height:1.65;color:var(--text2)}
.tm-foot{padding:12px 24px;border-top:1px solid var(--line);background:var(--soft);font-size:0.75rem;color:var(--mut)}
@media(max-width:560px){.tm-top{flex-direction:column;align-items:stretch}.tm-agree{justify-content:center;width:100%}.tm-x{position:absolute;top:12px;right:12px}.tm-back{padding:10px}}
@media(prefers-reduced-motion:reduce){.tm-back,.tm,.tm-d,.tm-h i{transition:none}}
