:root {
      --bg:#050505; --bg-soft:#0a0a0a; --panel:#0f0f0f; --panel-2:#151515;
      --text:#f5f5f5; --muted:#a0a0a0; --line:#282828; --line-strong:#3a3a3a;
      --white:#fff; --black:#000; --shadow:0 24px 80px rgba(0,0,0,.45);
      --radius:28px; --radius-sm:18px; --container:1240px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:92px}
    body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;overflow-x:hidden}
    body::before{content:"";position:fixed;inset:0;z-index:-3;background:
      radial-gradient(circle at 15% 15%,rgba(255,255,255,.09),transparent 28%),
      radial-gradient(circle at 85% 38%,rgba(255,255,255,.055),transparent 28%),
      linear-gradient(#050505,#090909 55%,#050505)}
    body::after{content:"";position:fixed;inset:0;z-index:-2;opacity:.22;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,black,transparent 80%)}
    ::selection{background:#fff;color:#000}
    a{color:inherit;text-decoration:none}
    button,input{font:inherit}
    .container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
    .noise{position:fixed;inset:0;z-index:99;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
    .topbar{position:fixed;inset:0 0 auto;z-index:50;background:rgba(5,5,5,.72);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}
    .nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
    .brand{display:flex;align-items:center;gap:13px;font-weight:850;letter-spacing:-.03em}
    .brand img{width:56px;height:42px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(255,255,255,.08))}
    .brand small{display:block;color:var(--muted);font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;font-weight:650}
    .nav-links{display:flex;align-items:center;gap:6px}
    .nav-links a{padding:10px 14px;border-radius:999px;color:#c8c8c8;font-size:.92rem;transition:.25s}
    .nav-links a:hover{background:#fff;color:#000}
    .nav-cta{background:#fff!important;color:#000!important;font-weight:800}
    .menu-btn{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:14px;background:#111;color:#fff;cursor:pointer}
    .hero{min-height:100svh;display:grid;place-items:center;position:relative;padding:130px 0 80px;overflow:hidden}
    }
    .hero-inner{display:grid;grid-template-columns:1fr;justify-items:center;text-align:center;gap:0;position:relative;z-index:1;max-width:1080px;margin:0 auto}
    .eyebrow,.kicker{display:inline-flex;align-items:center;gap:10px;color:#bdbdbd;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:800}
    .eyebrow::before,.kicker::before{content:"";width:24px;height:1px;background:#fff}
    h1{font-size:clamp(4rem,8vw,8rem);line-height:.88;letter-spacing:-.075em;margin:0 0 28px;max-width:980px}
    h1 span{display:block;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.5)}
    .hero-copy{color:#b6b6b6;font-size:clamp(1rem,1.4vw,1.18rem);max-width:760px;margin-inline:auto}
    .hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:34px}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border-radius:16px;border:1px solid var(--line-strong);font-weight:800;transition:.25s}
    .btn-primary{background:#fff;color:#000;border-color:#fff}
    .btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 35px rgba(255,255,255,.16)}
    .btn-ghost:hover{background:#161616;transform:translateY(-3px)}
    .section{padding:120px 0}
    .section-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;align-items:end;margin-bottom:64px}
    .section-head h2{font-size:clamp(2.6rem,5vw,5.2rem);line-height:.95;letter-spacing:-.06em;margin:18px 0 0}
    .section-head p{color:var(--muted);font-size:1.05rem;max-width:690px;margin:0 0 8px}
    .manifesto{border-block:1px solid var(--line);padding:32px 0;background:rgba(255,255,255,.015)}
    .manifesto-track{display:flex;gap:40px;justify-content:space-between;white-space:nowrap;overflow:hidden;color:#dcdcdc;text-transform:uppercase;font-weight:850;letter-spacing:.14em;font-size:.78rem}
    .manifesto-track span::before{content:"◆";font-size:.5rem;margin-right:40px;color:#666}
    .lore-wrap{position:relative}
    .lore-wrap::before{content:"";position:absolute;left:50px;top:30px;bottom:30px;width:1px;background:linear-gradient(transparent,#555 8%,#555 92%,transparent)}
    .lore-chapter{display:grid;grid-template-columns:100px 1fr;gap:38px;padding:18px 0 62px}
    .chapter-index{position:relative;z-index:2;width:74px;height:74px;display:grid;place-items:center;border-radius:24px;background:#fff;color:#000;font-weight:950;font-size:1.35rem;box-shadow:0 12px 40px rgba(255,255,255,.1)}
    .chapter-content{background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));border:1px solid var(--line);border-radius:var(--radius);padding:42px;box-shadow:var(--shadow)}
    .chapter-content h3{font-size:clamp(2rem,4vw,4rem);letter-spacing:-.055em;line-height:1;margin:15px 0 10px}
    .chapter-subtitle{color:#d0d0d0;font-size:1.08rem;margin:0 0 26px;max-width:760px}
    .chapter-copy{columns:2;column-gap:38px;color:#a9a9a9}
    .chapter-copy p{break-inside:avoid;margin:0 0 20px}
    .rules-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:38px;align-items:start}
    .side-index{position:sticky;top:105px;border:1px solid var(--line);border-radius:22px;background:rgba(15,15,15,.8);backdrop-filter:blur(14px);padding:12px}
    .side-index a{display:flex;align-items:center;gap:11px;padding:12px;border-radius:13px;color:#aaa;font-size:.87rem;font-weight:700;transition:.2s}
    .side-index a span{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;font-size:.68rem;color:#fff}
    .side-index a:hover,.side-index a.active{background:#fff;color:#000}
    .side-index a:hover span,.side-index a.active span{border-color:#000}
    .rule-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px;position:sticky;top:90px;z-index:20;padding:12px 0;background:linear-gradient(var(--bg) 70%,transparent)}
    .searchbox{flex:1;position:relative}
    .searchbox input{width:100%;height:54px;padding:0 48px 0 48px;border:1px solid var(--line);border-radius:16px;background:#0d0d0d;color:#fff;outline:none;transition:.2s}
    .searchbox input:focus{border-color:#777;box-shadow:0 0 0 4px rgba(255,255,255,.05)}
    .searchbox svg{position:absolute;left:17px;top:50%;transform:translateY(-50%);width:20px;color:#888}
    .clear-search{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:#777;cursor:pointer;display:none}
    .clear-search:hover{background:#222;color:#fff}
    .tool-btn{height:54px;padding:0 16px;border:1px solid var(--line);border-radius:16px;background:#0d0d0d;color:#d8d8d8;font-weight:750;cursor:pointer;white-space:nowrap}
    .tool-btn:hover{background:#fff;color:#000}
    .filter-row{display:flex;gap:8px;overflow:auto;padding:4px 0 24px;scrollbar-width:none}
    .filter-chip{border:1px solid var(--line);background:#0c0c0c;color:#aaa;border-radius:999px;padding:9px 14px;cursor:pointer;white-space:nowrap;font-size:.82rem;font-weight:750}
    .filter-chip:hover,.filter-chip.active{background:#fff;color:#000!important;border-color:#fff}

    /* Garante contraste em qualquer opção/botão que fique com fundo branco. */
    .filter-chip:hover *,
    .filter-chip.active *,
    .filter-chip[aria-pressed="true"] *,
    .side-index a:hover *,
    .side-index a.active *,
    .side-index a[aria-current="true"] *,
    .tool-btn:hover *,
    .nav-links a:hover *,
    .nav-cta *,
    .btn-primary *,
    .footer-links a:hover *{color:#000!important}
    .filter-chip[aria-pressed="true"],
    .side-index a[aria-current="true"]{background:#fff;color:#000!important;border-color:#fff}
    .filter-chip:hover svg,.filter-chip.active svg,.filter-chip[aria-pressed="true"] svg,
    .side-index a:hover svg,.side-index a.active svg,.side-index a[aria-current="true"] svg,
    .tool-btn:hover svg,.nav-links a:hover svg,.nav-cta svg,.btn-primary svg,.footer-links a:hover svg{fill:currentColor;stroke:currentColor}
    .results-meta{font-size:.78rem;color:#777;text-transform:uppercase;letter-spacing:.12em;margin-bottom:24px}
    .rule-category{margin-bottom:82px;scroll-margin-top:150px}
    .category-heading{display:grid;grid-template-columns:78px 1fr;gap:22px;padding-bottom:28px;margin-bottom:18px;border-bottom:1px solid var(--line)}
    .category-mark{width:64px;height:64px;border-radius:20px;border:1px solid var(--line-strong);display:grid;place-items:center;font-weight:950;font-size:1.1rem;background:linear-gradient(145deg,#1a1a1a,#090909)}
    .category-heading h3{font-size:clamp(2rem,4vw,3.4rem);line-height:1;letter-spacing:-.05em;margin:10px 0 10px}
    .category-heading p{margin:0;color:var(--muted);max-width:780px}
    .rule-list{display:grid;gap:10px}
    .rule-card{border:1px solid var(--line);border-radius:18px;background:#0c0c0c;overflow:hidden;transition:.25s}
    .rule-card:hover{border-color:#464646;transform:translateX(3px)}
    .rule-card[open]{background:#101010}
    .rule-card summary{list-style:none;display:grid;grid-template-columns:50px 1fr 36px;align-items:center;gap:14px;min-height:76px;padding:10px 18px;cursor:pointer}
    .rule-card summary::-webkit-details-marker{display:none}
    .rule-number{width:42px;height:42px;border-radius:13px;background:#1d1d1d;display:grid;place-items:center;color:#bbb;font-size:.75rem;font-weight:900}
    .rule-title{font-weight:850;font-size:1rem;letter-spacing:-.015em}
    .rule-toggle{width:30px;height:30px;border-radius:10px;border:1px solid var(--line);position:relative}
    .rule-toggle::before,.rule-toggle::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1px;background:#aaa;transform:translate(-50%,-50%);transition:.2s}
    .rule-toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
    details[open] .rule-toggle::after{transform:translate(-50%,-50%) rotate(0deg)}
    .rule-body{padding:0 24px 24px 82px;color:#aaa}
    .rule-body ul{margin:0;padding:0;list-style:none;display:grid;gap:11px}
    .rule-body li{position:relative;padding-left:20px}
    .rule-body li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 12px rgba(255,255,255,.5)}
    mark{background:#fff;color:#000;border-radius:4px;padding:0 2px}
    .no-results{display:none;text-align:center;padding:50px 20px;border:1px dashed #333;border-radius:24px;color:#888}
    .glossary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
    .glossary-card{min-height:230px;border:1px solid var(--line);border-radius:24px;padding:26px;background:linear-gradient(145deg,#121212,#090909);position:relative;overflow:hidden}
    .glossary-card::after{content:attr(data-code);position:absolute;right:-8px;bottom:-34px;font-size:7rem;font-weight:950;letter-spacing:-.08em;color:rgba(255,255,255,.035)}
    .glossary-card strong{font-size:1.2rem}
    .glossary-card p{color:#999;margin-top:14px}
    .punishment-ladder{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:38px}
    .punishment-step{border:1px solid var(--line);border-radius:20px;padding:22px;background:#0d0d0d}
    .punishment-step span{display:block;color:#777;text-transform:uppercase;letter-spacing:.15em;font-size:.65rem;font-weight:850}
    .punishment-step strong{display:block;font-size:1.1rem;margin:9px 0 3px}
    .punishment-step em{font-style:normal;color:#999;font-size:.86rem}
    .punishment-step:last-child{background:#fff;color:#000;border-color:#fff}
    .punishment-step:last-child span,.punishment-step:last-child em{color:#444}
    .notice{margin-top:80px;border:1px solid #444;border-radius:30px;padding:42px;display:block;background:linear-gradient(120deg,#151515,#080808);box-shadow:var(--shadow)}
    .notice h3{font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.045em;line-height:1.05;margin:0 0 10px}
    .notice p{margin:0;color:#a8a8a8;max-width:720px}
    footer{padding:70px 0 32px;border-top:1px solid var(--line);background:#030303}
    .footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end}
    .footer-logo{width:230px;opacity:.9}
    .footer-copy{color:#7f7f7f;max-width:550px;margin-top:18px}
    .footer-links{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
    .footer-links a{border:1px solid var(--line);border-radius:999px;padding:10px 14px;color:#aaa}
    .footer-links a:hover{background:#fff;color:#000}
    .footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:44px;padding-top:22px;border-top:1px solid #191919;color:#666;font-size:.78rem}
    .reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
    .reveal.visible{opacity:1;transform:none}
    .hidden{display:none!important}
    @media (max-width:1050px){
      .hero-inner{grid-template-columns:1fr;gap:10px;text-align:center}
      .hero-copy{margin-inline:auto} .hero-actions{justify-content:center}
      .section-head{grid-template-columns:1fr;gap:20px} .rules-shell{grid-template-columns:1fr} .side-index{display:none}
      .glossary-grid{grid-template-columns:repeat(2,1fr)} .punishment-ladder{grid-template-columns:repeat(3,1fr)}
    }
    @media (max-width:760px){
      .container{width:min(calc(100% - 24px),var(--container))}
      .nav-links{position:absolute;left:12px;right:12px;top:86px;display:none;flex-direction:column;align-items:stretch;padding:12px;background:#0b0b0b;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
      .nav-links.open{display:flex} .nav-links a{text-align:center} .menu-btn{display:grid;place-items:center}
      .hero{padding-top:108px} h1{font-size:clamp(3.2rem,18vw,5rem)}
      .section{padding:88px 0}
      .lore-wrap::before{left:27px} .lore-chapter{grid-template-columns:56px 1fr;gap:14px}
      .chapter-index{width:54px;height:54px;border-radius:17px;font-size:1rem} .chapter-content{padding:25px}
      .chapter-copy{columns:1} .rule-toolbar{top:78px;flex-wrap:wrap} .tool-btn{height:46px}
      .searchbox{flex-basis:100%} .searchbox input{height:50px} .category-heading{grid-template-columns:56px 1fr;gap:14px}
      .category-mark{width:52px;height:52px;border-radius:16px} .rule-card summary{grid-template-columns:42px 1fr 30px;padding:9px 12px}
      .rule-body{padding:0 18px 20px 18px} .glossary-grid{grid-template-columns:1fr} .punishment-ladder{grid-template-columns:1fr 1fr}
      .notice{padding:28px} .footer-grid{grid-template-columns:1fr}
      .footer-links{justify-content:flex-start} .footer-bottom{flex-direction:column} .manifesto-track{justify-content:flex-start}
    }
    @media (max-width:460px){.punishment-ladder{grid-template-columns:1fr} .hero-actions .btn{width:100%}}
    @media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
