*{margin:0;padding:0}

:root{
    --bg:#0d0e12;
    --surface:#13141a;
    --surface2:#1a1c24;
    --border:rgba(255,255,255,0.07);
    --border2:rgba(255,255,255,0.12);
    --text:#e8eaf0;
    --muted:#6b7280;
    --muted2:#9ca3af;
    --red:#ff4444;
    --red-soft:rgba(255,68,68,0.1);
    --red-border:rgba(255,68,68,0.3);
    --accent:#ff8c42;
    --radius:12px;
    --radius-sm:7px;
    --sidebar-w:260px;
}

html{scroll-behavior:smooth}
html,body{min-height:100vh;overflow-x:hidden}
body{
    font-family:'Outfit',sans-serif;
    background:var(--bg);
    color:var(--text);
    line-height:1.6;
}
body::-webkit-scrollbar{width:4px}
body::-webkit-scrollbar-thumb{background:var(--surface2);border-radius:999px}

.progress-bar{
    position:fixed;top:0;left:0;right:0;height:2px;
    background:transparent;z-index:9999;
}
.progress-fill{
    height:100%;
    background:linear-gradient(90deg,var(--red),var(--accent));
    width:0%;transition:width .1s linear;
}

.legal-layout{
    display:grid;
    grid-template-columns:var(--sidebar-w) minmax(0,1fr);
    gap:0;
    max-width:1160px;
    margin:0 auto;
    padding:2.5rem 1.5rem 6rem;
    align-items:start;
}

.legal-sidebar{
    position:sticky;top:2rem;
    padding-right:2rem;
}
.legal-sidebar-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:1.25rem;
    margin-bottom:1rem;
}
.sidebar-label{
    font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
    color:var(--muted);margin-bottom:.75rem;
    display:flex;align-items:center;gap:7px;
    padding-bottom:9px;border-bottom:1px solid var(--border);
}
.sidebar-label i{font-size:13px;color:var(--red)}

.toc-list{list-style:none}
.toc-item{margin-bottom:2px}
.toc-item a{
    display:flex;align-items:center;gap:6px;
    padding:5px 8px;border-radius:6px;
    font-size:12px;color:var(--muted);text-decoration:none;
    border-left:2px solid transparent;
    transition:all .15s;line-height:1.4;
}
.toc-item a:hover{color:var(--text);background:var(--surface2)}
.toc-item a.active{color:var(--red);border-left-color:var(--red);background:var(--red-soft)}
.toc-num{
    font-size:10px;font-weight:700;color:var(--muted);
    background:var(--surface2);border-radius:4px;
    padding:1px 5px;flex-shrink:0;font-family:monospace;
}

.meta-item{
    display:flex;align-items:center;gap:8px;
    font-size:12px;color:var(--muted);margin-bottom:8px;
}
.meta-item:last-child{margin-bottom:0}
.meta-item i{font-size:14px;color:var(--red);flex-shrink:0}
.meta-value{color:var(--muted2);font-weight:500}

.nav-back{
    display:flex;align-items:center;gap:6px;
    padding:8px 12px;border-radius:var(--radius-sm);
    border:1px solid var(--border2);background:transparent;
    color:var(--muted);font-size:12px;font-weight:500;
    cursor:pointer;font-family:'Outfit',sans-serif;
    text-decoration:none;transition:all .2s;justify-content:center;
}
.nav-back:hover{background:var(--surface2);color:var(--text)}

.legal-main{}

.legal-eyebrow{
    display:inline-flex;align-items:center;gap:7px;
    font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
    color:var(--red);background:var(--red-soft);border:1px solid var(--red-border);
    border-radius:999px;padding:4px 14px;margin-bottom:1.25rem;
}

.legal-title{
    font-size:clamp(24px,4vw,36px);font-weight:900;color:#fff;
    letter-spacing:-.03em;line-height:1.08;margin-bottom:.75rem;
}

.legal-intro{
    font-size:15px;color:var(--muted2);line-height:1.75;
    margin-bottom:.5rem;
}

.legal-update{
    display:inline-flex;align-items:center;gap:6px;
    font-size:11px;color:var(--muted);
    background:var(--surface);border:1px solid var(--border);
    border-radius:999px;padding:4px 12px;margin-bottom:2.5rem;
}
.legal-update i{font-size:13px}

.legal-section{
    margin-bottom:2.5rem;
    padding-bottom:2.5rem;
    border-bottom:1px solid var(--border);
}
.legal-section:last-child{border-bottom:none}

.legal-section-header{
    display:flex;align-items:flex-start;gap:14px;
    margin-bottom:1rem;
    scroll-margin-top:2rem;
}
.legal-section-num{
    width:32px;height:32px;border-radius:8px;flex-shrink:0;
    background:var(--red-soft);border:1px solid var(--red-border);
    display:flex;align-items:center;justify-content:center;
    font-size:12px;font-weight:800;color:var(--red);font-family:monospace;
    margin-top:2px;
}
.legal-section-title{
    font-size:18px;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.2;
}
.legal-section-emoji{color:var(--muted);font-size:16px;margin-left:6px;font-weight:400}

.legal-p{
    font-size:14px;color:var(--muted2);line-height:1.8;margin-bottom:.875rem;
}
.legal-p:last-child{margin-bottom:0}
.legal-p strong{color:var(--text);font-weight:600}
.legal-p em{font-style:italic}
.legal-p a{
    color:var(--red);text-decoration:underline;text-underline-offset:3px;
    transition:opacity .15s;
}
.legal-p a:hover{opacity:.75}

.legal-ul{
    list-style:none;padding:0;margin:.5rem 0 .875rem;
    display:flex;flex-direction:column;gap:6px;
}
.legal-ul li{
    display:flex;align-items:flex-start;gap:10px;
    font-size:14px;color:var(--muted2);line-height:1.65;
}
.legal-ul li::before{
    content:'';display:block;width:5px;height:5px;border-radius:50%;
    background:var(--red);flex-shrink:0;margin-top:9px;
}
.legal-ul li a{
    color:var(--red);text-decoration:underline;text-underline-offset:3px;
}

.legal-note{
    display:flex;align-items:flex-start;gap:10px;
    background:var(--red-soft);border:1px solid var(--red-border);
    border-radius:var(--radius-sm);padding:12px 14px;
    margin:.75rem 0;
}
.legal-note i{font-size:16px;color:var(--red);flex-shrink:0;margin-top:1px}
.legal-note p{font-size:13px;color:var(--muted2);line-height:1.6}
.legal-note p a{color:var(--red);text-decoration:underline}

@media(max-width:900px){
    .legal-layout{grid-template-columns:1fr;padding:1.5rem 1rem 5rem}
    .legal-sidebar{display:none}
}
@media(max-width:600px){
    .legal-title{font-size:22px}
}