/* Privacy policy and terms pages (scripts/lib/site-files.mjs). Built on design-system tokens only. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.legal-page{margin:0;min-height:100vh;background:var(--yds-bg);color:var(--yds-fg);font-family:var(--yds-font);font-size:var(--yds-text-lg);line-height:var(--yds-leading-relaxed);overflow-wrap:break-word}
/* Korean wraps between words; Japanese wraps between characters and needs Japanese glyph forms. */
.legal-page:lang(ko){word-break:keep-all}
.legal-page:lang(ja){font-family:'Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic UI','Yu Gothic','Meiryo','Noto Sans JP',var(--yds-font);line-break:strict}
.legal-page a{color:var(--yds-primary);text-underline-offset:3px}
.legal-page a:hover{color:var(--yds-primary-hover)}
.legal-page a:focus-visible{outline:var(--yds-focus-width) solid var(--yds-focus);outline-offset:var(--yds-focus-offset);border-radius:var(--yds-radius-sm)}

.legal-top{position:sticky;top:0;z-index:var(--yds-z-sticky);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:10px max(16px,calc((100% - 760px) / 2));border-bottom:1px solid var(--yds-border);background:color-mix(in srgb,var(--yds-bg) 92%,transparent);backdrop-filter:blur(8px)}
.legal-brand{display:inline-flex;align-items:center;gap:10px;color:var(--yds-fg)!important;font-size:var(--yds-text-lg);font-weight:var(--yds-weight-semibold);text-decoration:none}
.legal-mark{display:grid;place-items:center;width:25px;height:28px;border:2px solid var(--yds-primary);border-radius:5px;color:var(--yds-primary);font-size:16px;font-weight:800;line-height:1;transform:rotate(-6deg)}
.legal-languages{display:flex;gap:2px;font-size:var(--yds-text-sm)}
.legal-languages a{padding:4px 10px;border-radius:var(--yds-radius-full);color:var(--yds-muted);text-decoration:none}
.legal-languages a:hover{background:var(--yds-surface);color:var(--yds-fg)}
.legal-languages a[aria-current="page"]{background:var(--yds-primary-soft);color:var(--yds-primary);font-weight:var(--yds-weight-semibold)}

.legal-main{max-width:760px;margin:0 auto;padding:32px 16px 48px;counter-reset:legal-section}
.legal-main h1{margin:0 0 6px;font-size:var(--yds-text-display);line-height:var(--yds-leading-tight);letter-spacing:-.01em}
.legal-dates{margin:0 0 20px;color:var(--yds-muted);font-size:var(--yds-text-sm)}
.legal-intro{margin:0 0 12px}
.legal-placeholder{padding:0 3px;border-radius:var(--yds-radius-sm);background:var(--yds-warning-soft);color:var(--yds-warning);font-weight:var(--yds-weight-semibold)}

.legal-draft{margin:0 0 24px;padding:12px 16px;border:1px solid var(--yds-warning-border);border-radius:var(--yds-radius-panel);background:var(--yds-warning-soft);font-size:var(--yds-text-md)}
.legal-draft strong{display:block;color:var(--yds-warning)}
.legal-draft p{margin:2px 0 0}

.legal-toc{margin:24px 0 8px;padding:14px 18px;border:1px solid var(--yds-border);border-radius:var(--yds-radius-panel);background:var(--yds-panel);font-size:var(--yds-text-md)}
.legal-toc h2{margin:0 0 6px;font-size:var(--yds-text-sm);color:var(--yds-muted);font-weight:var(--yds-weight-semibold);letter-spacing:.02em}
.legal-toc ol{margin:0;padding-left:1.6em;columns:2 240px;column-gap:28px}
.legal-toc li{break-inside:avoid}

.legal-main section{counter-increment:legal-section;margin-top:32px;scroll-margin-top:72px}
.legal-main section h2{margin:0 0 8px;font-size:var(--yds-text-xl);line-height:var(--yds-leading-tight)}
.legal-main section h2::before{content:counter(legal-section) ". ";color:var(--yds-muted)}
.legal-main section p{margin:0 0 10px}
.legal-main section ul{margin:0 0 10px;padding-left:1.3em}
.legal-main section li{margin:2px 0}
.legal-main .legal-links{padding:0;list-style:none;font-size:var(--yds-text-md)}
.legal-main .legal-links a[rel~="noopener"]::after{content:" ↗";color:var(--yds-muted)}

.legal-footer{border-top:1px solid var(--yds-border);padding:16px max(16px,calc((100% - 760px) / 2)) 32px;font-size:var(--yds-text-md)}
.legal-footer nav{display:flex;flex-wrap:wrap;gap:8px 20px}

@media (max-width:480px){
  body.legal-page{font-size:var(--yds-text-md)}
  .legal-main{padding-top:24px}
  .legal-main h1{font-size:28px}
}
@media print{
  .legal-top,.legal-toc,.legal-footer{display:none}
  body.legal-page{background:#fff;color:#000}
}

/* Notice list (/notices/, YS-018): one card per notice, policy changes marked. */
.notices-original{margin:0 0 12px;color:var(--yds-muted);font-size:var(--yds-text-sm)}
.notices-empty{margin:24px 0;padding:16px 18px;border:1px dashed var(--yds-border);border-radius:var(--yds-radius-panel);color:var(--yds-muted)}
.notices-list{display:grid;gap:16px;margin:24px 0 0;padding:0;list-style:none}
.notice article{padding:16px 18px;border:1px solid var(--yds-border);border-radius:var(--yds-radius-panel);background:var(--yds-panel);scroll-margin-top:72px}
.notice-labels{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}
.notice-kind,.notice-flag{display:inline-block;padding:1px 10px;border-radius:var(--yds-radius-full);font-size:var(--yds-text-sm);font-weight:var(--yds-weight-semibold)}
.notice-kind{background:var(--yds-primary-soft);color:var(--yds-primary)}
.notice-kind[data-kind="legal"]{background:var(--yds-warning-soft);color:var(--yds-warning)}
.notice-flag{border:1px dashed var(--yds-border);color:var(--yds-muted)}
.notice h2{margin:0 0 4px;font-size:var(--yds-text-xl);line-height:var(--yds-leading-tight)}
.notice-meta{margin:0 0 10px;color:var(--yds-muted);font-size:var(--yds-text-sm)}
.notice-fallback{margin:0 0 10px;padding:6px 10px;border-radius:var(--yds-radius-sm);background:var(--yds-surface);font-size:var(--yds-text-sm)}
.notice-summary{margin:0 0 10px;font-weight:var(--yds-weight-semibold)}
.notice-body p{margin:0 0 10px}
.notice-body ul,.notice-body ol{margin:0 0 10px;padding-left:1.3em}
.legal-main .notice section{counter-increment:none;margin-top:14px;scroll-margin-top:72px}
.notice section h3{margin:0 0 6px;font-size:var(--yds-text-lg)}
/* A Korean text shown on an English or Japanese page keeps Korean word wrapping. */
.legal-page [lang="ko"]{word-break:keep-all}
