.reading-progress{position: fixed;inset: 0 0 auto 0;height: 3px;z-index: 120;transform: scaleX(0);transform-origin: 0 50%;background: linear-gradient( 90deg,#4f8ff7 0%,#6f78ec 24%,#a56ddb 48%,#e06a9c 72%,#f2a65c 100% );will-change: transform;pointer-events: none}.legal-hero{position: relative;padding-top: calc(var(--nav-h) + clamp(48px,9vw,104px));padding-bottom: clamp(36px,6vw,64px);overflow: hidden}.legal-hero::before{content: "";position: absolute;left: 50%;top: -120px;width: 720px;height: 520px;max-width: 120vw;transform: translateX(-50%);background: radial-gradient( circle,color-mix(in srgb,var(--accent) 38%,transparent) 0%,transparent 64% );filter: blur(26px);opacity: 0.45;pointer-events: none;z-index: 0}.legal-hero .container{position: relative;z-index: 1;max-width: 820px}.legal-hero h1{font-size: clamp(36px,6.4vw,68px);line-height: 1.02;letter-spacing: -0.035em;font-weight: 400;margin-top: 16px}.legal-hero .lead{max-width: 640px}.legal-back{display: inline-flex;align-items: center;gap: 7px;font-size: 14px;color: var(--muted-foreground);transition: color 0.2s,transform 0.25s var(--ease)}.legal-back:hover{color: var(--foreground)}.legal-back:hover svg{transform: translateX(-3px)}.legal-back svg{transition: transform 0.25s var(--ease)}.tldr{position: relative;margin-top: clamp(28px,5vw,44px);border: 1px solid var(--border);border-radius: var(--r-card);background: var(--card);padding: clamp(24px,3vw,34px);overflow: hidden}.tldr::before{content: "";position: absolute;left: 0;top: 0;bottom: 0;width: 3px;background: linear-gradient(180deg,#4f8ff7,#a56ddb 50%,#f2a65c)}.tldr-title{display: flex;align-items: center;gap: 10px;font-size: 13px;font-weight: 500;letter-spacing: 0.12em;text-transform: uppercase;color: var(--muted-foreground);margin-bottom: 22px}.tldr-title svg{color: var(--foreground)}.tldr-grid{display: grid;grid-template-columns: repeat(2,1fr);gap: 18px 28px}.tldr-item{display: flex;gap: 13px;align-items: flex-start}.tldr-item .ic{flex: none;width: 34px;height: 34px;border-radius: 10px;display: grid;place-items: center;background: color-mix(in srgb,var(--accent) 28%,var(--background));color: var(--foreground)}.tldr-item h4{font-size: 15.5px;font-weight: 500;letter-spacing: -0.01em;margin-bottom: 3px}.tldr-item p{font-size: 14px;line-height: 1.5;color: var(--muted-foreground)}.legal-layout{display: grid;grid-template-columns: 240px 1fr;gap: clamp(32px,6vw,80px);align-items: start;padding-bottom: var(--xl)}.legal-toc{position: sticky;top: calc(var(--nav-h) + 28px)}.legal-toc-label{font-size: 12px;font-weight: 500;letter-spacing: 0.14em;text-transform: uppercase;color: var(--muted-foreground);margin-bottom: 16px}.legal-toc ol{list-style: none;display: grid;gap: 2px;counter-reset: toc}.legal-toc a{position: relative;display: block;padding: 8px 12px 8px 16px;font-size: 14px;line-height: 1.35;color: var(--muted-foreground);border-radius: var(--r-sm);border-left: 2px solid transparent;transition: color 0.2s,background-color 0.2s,border-color 0.2s}.legal-toc a:hover{color: var(--foreground);background: var(--muted)}.legal-toc a.active{color: var(--foreground);border-left-color: var(--foreground);background: color-mix(in srgb,var(--accent) 14%,var(--background))}.legal-content{max-width: 720px;font-size: 16px}.legal-section{padding-top: 14px;scroll-margin-top: calc(var(--nav-h) + 24px)}.legal-section + .legal-section{margin-top: clamp(40px,5vw,60px)}.legal-section h2{position: relative;font-size: clamp(22px,2.8vw,30px);margin-top: 0;scroll-margin-top: calc(var(--nav-h) + 24px)}.legal-section h2 .sec-num{font-family: var(--font-mono);font-size: 14px;font-weight: 400;color: var(--accent);letter-spacing: 0.04em;margin-right: 12px;vertical-align: 0.12em}.legal-section h2 .anchor{position: absolute;left: -28px;top: 50%;transform: translateY(-50%);display: inline-grid;place-items: center;width: 24px;height: 24px;color: var(--muted-foreground);opacity: 0;transition: opacity 0.2s,color 0.2s}.legal-section h2:hover .anchor,.anchor:focus-visible{opacity: 0.8}.legal-section h2 .anchor:hover{color: var(--foreground);opacity: 1}.legal-content h3{font-size: 17.5px;font-weight: 500;letter-spacing: -0.01em;margin-top: 28px;margin-bottom: 10px}.legal-content p{color: var(--muted-foreground);line-height: 1.66;margin-top: 14px}.legal-content h2 + p{margin-top: 18px}.legal-content a:not(.btn):not(.legal-back){color: var(--foreground);text-decoration: underline;text-decoration-color: color-mix(in srgb,var(--accent) 80%,transparent);text-underline-offset: 3px;text-decoration-thickness: 1.5px;transition: text-decoration-color 0.2s}.legal-content a:not(.btn):not(.legal-back):hover{text-decoration-color: var(--foreground)}.legal-content strong{color: var(--foreground);font-weight: 500}.legal-content ul,.legal-content ol{margin-top: 16px;padding-left: 4px;list-style: none;display: grid;gap: 12px}.legal-content ul li{position: relative;padding-left: 28px;color: var(--muted-foreground);line-height: 1.6}.legal-content ul li::before{content: "";position: absolute;left: 2px;top: 9px;width: 7px;height: 7px;border-radius: 50%;background: color-mix(in srgb,var(--accent) 70%,var(--foreground))}.legal-content ul.list-no li::before{width: 12px;height: 2px;border-radius: 2px;top: 12px;left: 2px;background: var(--destructive);opacity: 0.55}.legal-content ol{counter-reset: li}.legal-content ol li{position: relative;padding-left: 32px;color: var(--muted-foreground);line-height: 1.6}.legal-content ol li::before{counter-increment: li;content: counter(li);position: absolute;left: 0;top: 1px;width: 20px;height: 20px;border-radius: 50%;display: grid;place-items: center;font-family: var(--font-mono);font-size: 11px;color: var(--foreground);background: var(--muted)}.callout{display: flex;gap: 14px;margin-top: 22px;padding: 18px 20px;border: 1px solid var(--border);border-radius: var(--r-card);background: var(--card)}.callout .ic{flex: none;width: 30px;height: 30px;border-radius: 9px;display: grid;place-items: center;background: color-mix(in srgb,var(--accent) 26%,var(--background));color: var(--foreground)}.callout p{margin: 0;font-size: 14.5px;line-height: 1.58}.callout.accent{border-color: color-mix(in srgb,var(--accent) 55%,var(--border));background: color-mix(in srgb,var(--accent) 12%,var(--background))}.legal-table{margin-top: 20px;border: 1px solid var(--border);border-radius: var(--r-card);overflow: hidden}.legal-table .row{display: grid;grid-template-columns: 200px 1fr;gap: 18px;padding: 16px 20px;font-size: 14.5px}.legal-table .row + .row{border-top: 1px solid var(--hairline)}.legal-table .row dt{font-weight: 500;color: var(--foreground)}.legal-table .row dd{color: var(--muted-foreground);line-height: 1.55;margin: 0}.legal-contact{margin-top: clamp(44px,6vw,68px);border: 1px solid var(--border);border-radius: 24px;background: var(--surface);padding: clamp(30px,4vw,46px);text-align: center}.legal-contact h2{font-size: clamp(22px,3vw,30px);margin-top: 0}.legal-contact p{color: var(--muted-foreground);max-width: 460px;margin: 12px auto 0;line-height: 1.6}.legal-contact .hero-actions{margin-top: 26px}.back-to-top{position: fixed;right: clamp(16px,3vw,32px);bottom: clamp(16px,3vw,32px);z-index: 90;width: 46px;height: 46px;display: grid;place-items: center;border-radius: var(--r-full);border: 1px solid var(--border);background: var(--card);color: var(--foreground);cursor: pointer;opacity: 0;transform: translateY(14px) scale(0.9);pointer-events: none;transition: opacity 0.3s var(--ease),transform 0.3s var(--ease),background-color 0.2s;box-shadow: 0 8px 28px -12px rgba(0,0,0,0.3)}.back-to-top.show{opacity: 1;transform: none;pointer-events: auto}.back-to-top:hover{background: var(--muted);transform: translateY(-2px)}@media (max-width: 920px){.legal-layout{grid-template-columns: 1fr;gap: 8px}.legal-toc{position: static;margin-bottom: 36px;padding: 18px 18px 8px;border: 1px solid var(--border);border-radius: var(--r-card);background: var(--card)}.legal-toc ol{grid-template-columns: 1fr 1fr;gap: 2px 10px}.legal-content{max-width: none}}@media (max-width: 600px){.tldr-grid{grid-template-columns: 1fr}.legal-toc ol{grid-template-columns: 1fr}.legal-table .row{grid-template-columns: 1fr;gap: 4px}.legal-section h2 .anchor{display: none}}