.terms-page{max-width:980px}
.terms-page a{color:var(--text)}
.terms-page .notice{background:var(--panel);color:var(--text)}
.terms-page h1{font-size:clamp(2.15rem,5vw,3.9rem);line-height:1.08;max-width:19ch}
.terms-version{font-size:.82rem;color:var(--muted);margin:15px 0}
.terms-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}
.terms-actions .btn{text-decoration:none!important}
.legal-toc{padding:22px 26px;border:1px solid var(--line2);border-radius:12px;background:var(--panel);margin:28px 0}
.legal-toc h2{font-size:1rem;margin:0 0 14px}
.legal-toc ol{columns:2;column-gap:36px;margin:0;padding-left:20px}
.legal-toc li{break-inside:avoid;padding:4px 0;font-size:.88rem}
.terms-section{scroll-margin-top:calc(var(--header) + 20px)}
.terms-section h2{line-height:1.3;letter-spacing:-.02em;margin-top:36px}
.terms-page p{overflow-wrap:anywhere}
.legal-guarantee,.legal-model{padding:24px;border:1px solid var(--line2);border-radius:12px;background:var(--panel);margin:22px 0}
.legal-guarantee h3{line-height:1.4;font-size:1.1rem;margin:0 0 18px}
.legal-guarantee p,.legal-guarantee li{font-size:1em;line-height:1.7}
.legal-source{font-size:.8rem!important}
.withdrawal-section{border-top:1px solid var(--line2);margin-top:44px;padding-top:8px}
.withdrawal-form{padding:24px;border:1px solid var(--line2);border-radius:12px;background:var(--panel);margin:24px 0}
.withdrawal-form fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;gap:18px}
.withdrawal-form label{display:grid;gap:8px;font-size:.92rem;font-weight:600;color:var(--text)}
.withdrawal-form input,.withdrawal-form textarea{width:100%;min-height:46px;min-width:0;font:inherit;font-size:16px;color:var(--text);background:var(--bg);border:1px solid var(--line2);border-radius:7px;padding:10px 12px}
.withdrawal-form textarea{min-height:90px;resize:vertical}
.withdrawal-form button:disabled{opacity:.6;cursor:not-allowed}
.withdrawal-form .btn{justify-self:start;text-decoration:none}
.withdrawal-state{font-size:.9rem;line-height:1.6}
.withdrawal-receipt{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font:inherit;font-size:.88rem;line-height:1.7;padding:22px;border:1px solid var(--line2);border-radius:10px;background:var(--panel)}
.withdrawal-download{display:inline-block;margin:14px 0;min-height:44px}
@media(max-width:700px){.legal-toc{padding:19px}.legal-toc ol{columns:1}.legal-guarantee,.legal-model,.withdrawal-form{padding:18px}.terms-actions .btn{flex:1 1 220px;text-align:center;justify-content:center}.terms-page h1{font-size:2.3rem}.withdrawal-form .btn{width:100%}}
@media print{.site-header,.site-footer,.skip-link,.terms-actions,.legal-toc,.withdrawal-section,.privacy-prompt{display:none!important}.content-page{padding:0}.shell{width:100%;max-width:none}.terms-page,.legal-guarantee,.legal-model{color:#000;background:#fff;border-color:#555}.terms-page p,.terms-page li,.terms-page a{color:#000!important}.terms-section h2{break-after:avoid}.legal-guarantee{break-inside:auto}.notice{background:#fff!important}.terms-version{color:#000}}

.terms-page table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.9rem}.terms-page th,.terms-page td{border:1px solid var(--line2);padding:12px;text-align:left;vertical-align:top}.terms-page th{background:var(--panel)}.terms-page td{overflow-wrap:anywhere}
@media(max-width:700px){.terms-page table{display:block;max-width:100%;overflow-x:auto}.terms-page th,.terms-page td{min-width:145px;padding:10px}}

.guarantee-original{margin:22px 0}.guarantee-original summary{cursor:pointer;padding:12px 0;min-height:44px;font-weight:600}

.terms-page h1,.terms-page h2,.terms-page h3,.legal-toc a{overflow-wrap:anywhere}
