
@font-face{font-family:"Cinzel";font-weight:500 700;font-style:normal;font-display:swap;src:url(fonts/Cinzel-normal-500_700.woff2) format("woff2")}
@font-face{font-family:"Cinzel Decorative";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/CinzelDecorative-normal-700.woff2) format("woff2")}
@font-face{font-family:"Cinzel Decorative";font-weight:900;font-style:normal;font-display:swap;src:url(fonts/CinzelDecorative-normal-900.woff2) format("woff2")}
@font-face{font-family:"EB Garamond";font-weight:400 700;font-style:normal;font-display:swap;src:url(fonts/EBGaramond-normal-400_700.woff2) format("woff2")}
@font-face{font-family:"EB Garamond";font-weight:400 600;font-style:italic;font-display:swap;src:url(fonts/EBGaramond-italic-400_600.woff2) format("woff2")}
@font-face{font-family:"IM Fell English";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/IMFellEnglish-normal-400.woff2) format("woff2")}
@font-face{font-family:"IM Fell English";font-weight:400;font-style:italic;font-display:swap;src:url(fonts/IMFellEnglish-italic-400.woff2) format("woff2")}
:root{
  --ink:#0a0f1e;--ink2:#101a33;--panel:#141f3b;--panel2:#1b2a50;--line:#2c3d6b;
  --text:#ece3cc;--muted:#c9d0e4;--gold:#d9a93f;--gold-l:#f1d98c;--gold-d:#8a6420;
  --parch:#ecdfbd;--parch2:#e0cfa5;--parch3:#cdb98a;--pink:#2b1d0e;--pmuted:#5a4630;--oxb:#5b1a14;--oxb2:#7a2418;--lnk:#7a2210;
  --sec:#d9a93f;
  --display:"Cinzel Decorative","Cinzel",Georgia,serif;--serif:"Cinzel",Georgia,serif;--head:"IM Fell English","EB Garamond",Georgia,serif;--body:"EB Garamond",Georgia,"Times New Roman",serif;
  --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 .9  0 0 0 0 .7  0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  --vellum:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.04 .06' numOctaves='4' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 .45  0 0 0 0 .3  0 0 0 0 .1  0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;background:radial-gradient(1100px 600px at 75% -8%,#1b2d5c 0,transparent 62%),var(--noise),var(--ink);background-attachment:fixed,scroll,scroll;color:var(--text);font:400 1.18rem/1.7 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--gold-l);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:#fff3c4}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.25;color:var(--gold-l);letter-spacing:.02em;font-weight:600}
img{max-width:100%;height:auto}
code{background:rgba(60,35,10,.12);border:1px solid rgba(90,60,20,.3);border-radius:4px;padding:.02em .3em;font:.86em/1.4 ui-monospace,Menlo,Consolas,monospace;color:#3b2410;word-break:break-word}
pre{background:#0e1428;color:#e6dcc0;border:1px solid var(--gold-d);border-radius:6px;padding:14px;overflow:auto}
pre code{border:0;background:none;padding:0;color:inherit}
hr{border:0;height:14px;margin:2em 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 14'%3E%3Cpath d='M0 7H48M72 7H120' stroke='%238a6420' stroke-width='1'/%3E%3Cpath d='M60 1l6 6-6 6-6-6z' fill='%238a6420'/%3E%3C/svg%3E") center/160px 14px no-repeat}
:focus-visible{outline:2px solid var(--gold-l);outline-offset:3px;border-radius:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#000;color:#fff;padding:8px;z-index:99}
.orn{display:block;width:min(300px,70%);height:24px;margin:8px auto;color:var(--gold)}
.cn{position:absolute;width:40px;height:40px;pointer-events:none;z-index:2}
.cn svg{width:100%;height:100%;display:block}
.cn.tl{left:5px;top:5px}.cn.tr{right:5px;top:5px;transform:scaleX(-1)}.cn.bl{left:5px;bottom:5px;transform:scaleY(-1)}.cn.br{right:5px;bottom:5px;transform:scale(-1,-1)}

/* topbar */
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:12px;height:62px;padding:0 16px;background:linear-gradient(180deg,rgba(14,22,46,.97),rgba(8,12,26,.97));border-bottom:1px solid var(--gold-d);box-shadow:0 1px 0 #000,0 6px 18px #0008}
.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-d),transparent)}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:900;font-size:1.3rem;color:var(--gold-l);text-decoration:none;letter-spacing:.1em}
.brand img{width:32px;height:32px;filter:drop-shadow(0 0 8px #d9a93f88)}
.menu-btn{display:none;background:linear-gradient(180deg,#22345f,#142041);color:var(--gold-l);border:1px solid var(--gold-d);border-radius:6px;padding:8px 12px;font:600 .95rem var(--serif);cursor:pointer;min-height:42px}
.menu-btn:hover{box-shadow:0 0 14px #d9a93f66}
.search{position:relative;margin-left:auto;width:min(340px,50vw)}
.search input{width:100%;padding:9px 14px;border-radius:99px;border:1px solid var(--gold-d);background:#0c1226;color:var(--text);font:1rem var(--body);min-height:42px}
.search input::placeholder{color:#a3adc8}
.search input:focus{outline:none;border-color:var(--gold-l);box-shadow:0 0 14px #d9a93f55}
.results{position:absolute;right:0;top:48px;width:min(480px,92vw);max-height:70vh;overflow:auto;background:#0f1730;border:1px solid var(--gold-d);border-radius:8px;box-shadow:0 20px 50px #000c;display:none}
.results.open{display:block}
.results a{display:block;padding:10px 14px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text)}
.results a:last-child{border:0}
.results a:hover,.results a:focus{background:var(--panel2)}
.results b{display:block;color:var(--gold-l);font-family:var(--serif);font-weight:600}
.results small{color:var(--muted);font-size:.9rem;line-height:1.4;display:block}
.results .none{padding:14px;color:var(--muted)}
.lang{display:flex;align-items:center;gap:6px;margin-left:8px;font:600 .85rem var(--serif);white-space:nowrap}
.lang i{font-style:normal;opacity:.5}
.lang a{color:var(--muted);text-decoration:none;padding:6px 4px}
.lang a:hover{color:var(--gold-l)}
.lang span{color:var(--gold-l);padding:6px 4px}

/* layout + sidebar (índice do livro) */
.layout{display:grid;grid-template-columns:292px minmax(0,1fr);max-width:1540px;margin:0 auto}
.layout.home{display:block;max-width:none}
.sidebar{position:sticky;top:62px;align-self:start;height:calc(100vh - 62px);overflow:auto;padding:22px 16px 40px 20px;border-right:1px solid var(--gold-d);background:linear-gradient(90deg,rgba(6,9,20,.75),rgba(10,15,30,.4))}
.sidebar h3{display:flex;align-items:center;gap:10px;font:600 .8rem/1.2 var(--serif);letter-spacing:.16em;text-transform:uppercase;margin:26px 0 8px;color:var(--gold-l)}
.sidebar h3 b{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 4px;border:1px solid var(--gold);border-radius:50%;border-radius:4px;transform:rotate(45deg) scale(.85);flex:none;font-weight:700;color:var(--c);background:#0c1226}
.sidebar h3 b{border-radius:3px}
.sidebar h3 b{font-size:.72rem}
.sidebar ul{list-style:none;margin:0;padding:0}
.sidebar li{border-bottom:1px dotted #3a4b7a}
.sidebar a{display:flex;align-items:baseline;gap:8px;padding:7px 8px;color:#dfe3f0;text-decoration:none;font-size:1.02rem;line-height:1.3}
.sidebar a:hover{background:rgba(217,169,63,.12);color:#fff}
.sidebar a[aria-current]{background:linear-gradient(90deg,rgba(217,169,63,.28),rgba(217,169,63,.06));color:#fff;box-shadow:inset 3px 0 var(--gold)}
.sidebar .num{color:var(--gold);font:600 .78rem var(--serif);min-width:1.6em;font-variant-numeric:lining-nums}
.sidebar .home-link{font-family:var(--serif);font-weight:600;color:var(--gold-l)}
main{min-width:0;padding:0 0 40px}
.with-toc{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:28px;max-width:1180px;margin:0 auto;padding:28px 28px 0}
.doc{min-width:0}
.toc{position:sticky;top:90px;align-self:start;max-height:calc(100vh - 110px);overflow:auto;font-size:.98rem}
.toc h4{margin:0 0 8px;font:600 .78rem var(--serif);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.toc ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--gold-d)}
.toc a{display:block;padding:3px 0 3px 12px;color:var(--muted);text-decoration:none;line-height:1.35}
.toc a:hover{color:var(--gold-l)}
.toc li.l3 a{padding-left:26px;font-size:.92rem}

/* página (pergaminho) */
.doc{position:relative;background:var(--vellum),radial-gradient(120% 90% at 50% 0,#f1e6c6,var(--parch) 55%,var(--parch2));color:var(--pink);border:1px solid var(--gold-d);border-radius:6px;box-shadow:0 0 0 4px #0a0f1e,0 0 0 5px var(--gold-d),0 24px 60px #000b,inset 0 0 70px rgba(120,80,20,.28);overflow:hidden;padding-bottom:20px}
.doc>*:not(.doc-head){margin-left:clamp(16px,4.5vw,52px);margin-right:clamp(16px,4.5vw,52px)}
.doc a{color:var(--lnk)}.doc a:hover{color:#a3300f}
.doc h1,.doc h2,.doc h3,.doc h4{color:var(--oxb)}
.doc-head{padding:42px clamp(16px,4.5vw,52px) 22px;margin-bottom:30px;text-align:center;background:linear-gradient(180deg,rgba(10,15,30,.9),rgba(10,15,30,.96)),radial-gradient(600px 200px at 50% 0,color-mix(in srgb,var(--sec) 60%,#0a0f1e),#0a0f1e);border-bottom:3px double var(--gold);position:relative}
.doc-head:before{content:"";position:absolute;inset:0;background:radial-gradient(500px 160px at 50% 0,color-mix(in srgb,var(--sec) 38%,transparent),transparent);pointer-events:none}
.doc-head>*{position:relative}
.crumb{display:inline-block;font:600 .8rem var(--serif);letter-spacing:.16em;text-transform:uppercase;color:#1a1204;background:linear-gradient(180deg,var(--gold-l),var(--sec));padding:5px 16px;text-decoration:none;clip-path:polygon(0 0,100% 0,calc(100% - 9px) 50%,100% 100%,0 100%,9px 50%)}
.doc .crumb,.doc .crumb:hover{color:#1a1204}
.crumb:hover{filter:brightness(1.12)}
.doc-head h1{margin:.45em 0 0;font:700 clamp(1.8rem,5vw,2.9rem)/1.15 var(--display);color:var(--gold-l);text-shadow:0 2px 14px #000a;letter-spacing:.03em}
.doc .doc-head h1{color:var(--gold-l)}
.meta{color:var(--muted);font:italic 1rem var(--body)}
.banner{margin-top:0;margin-bottom:28px;padding:14px 18px 14px 20px;border:1px solid #8a2d1c;border-left:6px solid #8a2d1c;background:rgba(138,45,28,.1);color:#3a1208;border-radius:4px;font-size:1.05rem;line-height:1.55;position:relative}
.banner strong{color:#6b1608;font-family:var(--serif);font-weight:700}
.content{counter-reset:none}
.content>p,.content>ul,.content>ol,.content>blockquote{max-width:70ch}
.content h2{position:relative;margin:2.1em -14px .9em;padding:.55em 1.6em;font:600 1.3rem/1.25 var(--serif);letter-spacing:.04em;color:#f6e8c4;background:linear-gradient(180deg,var(--oxb2),var(--oxb));clip-path:polygon(0 0,100% 0,calc(100% - 14px) 50%,100% 100%,0 100%,14px 50%);box-shadow:inset 0 2px 0 rgba(241,217,140,.55),inset 0 -2px 0 rgba(241,217,140,.55);border:0}
.doc .content h2{color:#f6e8c4}
.content h3{margin:1.7em 0 .4em;font:400 1.5rem/1.25 var(--head);color:var(--oxb);padding-bottom:.15em;border-bottom:1px solid rgba(138,100,32,.5)}
.content h3:before{content:"❦";color:var(--gold-d);margin-right:.5em;font-size:.9em}
.content h4{font:600 1rem var(--serif);letter-spacing:.05em}
.content li{margin:.3em 0}
.content li::marker{color:var(--gold-d)}
.content strong{font-weight:700;color:#1f1407}
.content blockquote{margin:1.2em 0;padding:.5em 1.1em;border-left:3px solid var(--gold-d);background:rgba(138,100,32,.1);color:#3a2a16;font-style:italic;border-radius:0 6px 6px 0}
p.dropcap::first-letter{float:left;font:900 3.7em/.82 var(--display);color:var(--oxb);background:linear-gradient(145deg,#f6e3a1,#d9a93f 60%,#a9791f);border:2px solid var(--oxb);outline:1px solid var(--gold-d);outline-offset:2px;padding:.1em .12em .06em;margin:.06em .14em 0 .05em;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.tw{overflow-x:auto;margin:1.3em 0;border:1px solid var(--gold-d);border-radius:4px;-webkit-overflow-scrolling:touch;background:rgba(255,248,225,.35)}
.tw table{border-collapse:collapse;width:100%;min-width:540px;font-size:1rem;line-height:1.45}
.tw th{background:linear-gradient(180deg,#2a1d3a,#161228);color:var(--gold-l);text-align:left;font:600 .85rem var(--serif);letter-spacing:.06em}
.tw th,.tw td{padding:9px 12px;border-bottom:1px solid rgba(138,100,32,.4);vertical-align:top}
.tw tr:nth-child(even) td{background:rgba(138,100,32,.1)}
.tw tr:last-child td{border-bottom:0}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:48px;margin-bottom:8px}
.pager a{display:block;padding:14px 18px;border:1px solid var(--gold-d);border-radius:4px;background:linear-gradient(180deg,#1a2548,#0f1830);color:var(--gold-l);text-decoration:none;font-family:var(--serif);font-weight:600;font-size:1rem;line-height:1.3}
.doc .pager a{color:var(--gold-l)}
.pager a:hover{box-shadow:0 0 22px #d9a93f66;border-color:var(--gold-l)}
.pager small{display:block;color:var(--muted);font:italic 1rem var(--body);margin-bottom:2px}
.pager .next{text-align:right;grid-column:2}.pager .prev{grid-column:1}
footer.site{margin-top:30px;border-top:1px solid var(--gold-d);padding:20px 20px 30px;text-align:center;color:var(--muted);font-size:1rem;background:#070a16}
footer.site p{margin:0}

/* ilustrações (placas de tinta) */
.fig{position:relative;margin-top:0;margin-bottom:30px;padding:26px 24px 20px;border:1px solid var(--gold-d);border-radius:4px;background:var(--noise),linear-gradient(180deg,#14203f,#0c1428);color:var(--text);box-shadow:inset 0 0 0 4px #0a0f1e,inset 0 0 0 5px rgba(217,169,63,.5),0 10px 30px rgba(0,0,0,.35)}
.doc .fig h2,.fig h2{margin:0 0 10px;font:600 1.25rem var(--serif);color:var(--gold-l);background:none;clip-path:none;box-shadow:none;padding:0;text-align:center;letter-spacing:.06em}
.doc .fig a{color:var(--gold-l)}
.fig .cap,.fig .sub{color:var(--muted);font-size:.98rem;margin:10px 0 0;line-height:1.5}
.fig .sub{text-align:center;margin:0 0 16px}
.fig svg{width:100%;height:auto;display:block}
.fig svg.cn,.fig .cn svg{width:100%;height:100%}
.hscroll{overflow-x:auto}.hscroll svg{min-width:640px}
.donut-wrap{display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:22px;align-items:center}
.legend{list-style:none;margin:0;padding:0;font-size:1.02rem}
.legend li{display:flex;align-items:center;gap:10px;padding:5px 0;border-bottom:1px dashed var(--line)}
.legend i{width:14px;height:14px;border-radius:3px;flex:none}
.legend b{margin-left:auto;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;color:var(--gold-l)}
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.sw{border-radius:4px;overflow:hidden;border:1px solid var(--gold-d);background:#0b1020}
.sw .chips{display:flex;height:64px}.sw .chips span{flex:1}
.sw div.t{padding:8px 10px;font-size:.95rem;line-height:1.35}
.sw div.t b{display:block;color:var(--gold-l);font-family:var(--serif);font-size:.85rem}
.sw code{background:#0b1020;color:#d8def2;border-color:var(--line);font-size:.75rem}
.regions{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.reg{position:relative;border-radius:4px;padding:14px 14px 12px;min-height:112px;border:1px solid rgba(241,217,140,.5);color:#fff;overflow:hidden}
.reg:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000c,transparent 78%)}
.reg>*{position:relative;z-index:1}
.reg b{display:block;font:600 1.02rem var(--serif);text-shadow:0 1px 4px #000}
.reg span{display:block;font-size:1rem;text-shadow:0 1px 3px #000}
.reg em{position:absolute;right:10px;bottom:8px;z-index:1;font-style:normal;font-size:.9rem;background:#000b;border-radius:99px;padding:1px 10px;color:var(--gold-l)}
.imgfig{position:relative;margin:0 0 30px;padding:14px;border:1px solid var(--gold-d);background:linear-gradient(180deg,#14203f,#0c1428);box-shadow:inset 0 0 0 1px rgba(217,169,63,.45),0 14px 40px rgba(0,0,0,.45)}
.imgfig>a{display:block}.imgfig img{width:100%;display:block;border:1px solid #000;box-shadow:0 0 0 1px var(--gold-d)}
.imgfig figcaption{color:var(--muted);font:italic 1rem var(--body);margin-top:10px;text-align:center}
.doc .imgfig{margin-left:clamp(16px,4.5vw,52px)}
.feel .scenes,.scenes{display:grid;gap:22px}
.scene{margin:0;position:relative}
.scene a{display:block;position:relative;padding:8px;background:#05070f;border:1px solid var(--gold);box-shadow:0 0 0 4px #0a0f1e,0 0 0 5px var(--gold-d),0 18px 40px rgba(0,0,0,.6)}
.scene a:after{content:"";position:absolute;inset:8px;box-shadow:inset 0 0 60px rgba(0,0,0,.45);pointer-events:none}
.scene img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.scene figcaption{margin-top:12px;color:var(--gold-l);font:italic 1.05rem var(--head);text-align:center}
.scene a:hover{box-shadow:0 0 0 4px #0a0f1e,0 0 0 5px var(--gold-l),0 0 40px rgba(217,169,63,.45)}

/* home */
.hero{position:relative;overflow:hidden;padding:76px 20px clamp(120px,17vw,250px);text-align:center;background:radial-gradient(1000px 520px at 50% 0,#22397a 0,transparent 70%),linear-gradient(180deg,#0d1636 0,#0a0f1e 90%)}
.moon{position:absolute;top:30px;right:12%;width:clamp(110px,16vw,210px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 36%,#fffbe8 0,#f4ecd0 35%,#cfd6ee 70%,#a8b4dc);box-shadow:0 0 60px 20px rgba(160,185,255,.35),0 0 200px 90px rgba(100,130,230,.22);opacity:.95}
.moon:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 40%,rgba(120,130,170,.35) 0 8%,transparent 9%),radial-gradient(circle at 62% 62%,rgba(120,130,170,.3) 0 11%,transparent 12%),radial-gradient(circle at 66% 28%,rgba(120,130,170,.25) 0 6%,transparent 7%)}
.stars{position:absolute;inset:0;width:100%;height:100%;fill:#f4ecd0;opacity:.8}
.stars .tw{animation:tw 4s ease-in-out infinite}
@keyframes tw{50%{opacity:.2}}
#ff{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.hero-in{position:relative;z-index:2}
.kicker{margin:0;font:600 .95rem var(--serif);letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.hero h1{margin:.1em 0 0;font:900 clamp(2.9rem,11vw,6.6rem)/1.1 var(--display);letter-spacing:.14em;padding-left:.14em;background:linear-gradient(180deg,#fff3c4 0,#e8c565 45%,#a97a22 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 24px rgba(217,169,63,.45))}
.pitch{max-width:700px;margin:10px auto 26px;color:#e8e1cc;font-size:1.3rem;line-height:1.55;text-shadow:0 2px 10px #000}
.cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:36px}
.btn{display:inline-block;padding:12px 26px;min-height:46px;border-radius:99px;border:2px solid #c9453a;color:#f6e8c4;background:radial-gradient(circle at 35% 25%,#b02f25,#6b130f 70%);font:600 .95rem var(--serif);letter-spacing:.06em;text-decoration:none;box-shadow:inset 0 0 0 3px rgba(0,0,0,.18),inset 0 2px 4px rgba(255,255,255,.25),0 4px 14px rgba(0,0,0,.5);text-shadow:0 1px 2px #000a}
.btn:hover{color:#fff;box-shadow:inset 0 0 0 3px rgba(0,0,0,.18),0 0 26px 4px rgba(255,190,90,.55),0 4px 14px rgba(0,0,0,.5)}
.btn.ghost{background:linear-gradient(180deg,rgba(241,217,140,.14),rgba(138,100,32,.14));border:1px solid var(--gold);color:var(--gold-l);box-shadow:inset 0 0 0 3px rgba(10,15,30,.7),inset 0 0 0 4px rgba(217,169,63,.5)}
.btn.ghost:hover{color:#fff3c4;box-shadow:inset 0 0 0 3px rgba(10,15,30,.7),inset 0 0 0 4px var(--gold-l),0 0 26px 4px rgba(255,190,90,.45)}
.mapframe{position:relative;max-width:1100px;margin:0 auto;padding:16px;background:linear-gradient(145deg,#3a2a12,#1d1407);border:1px solid var(--gold);box-shadow:0 0 0 5px #0a0f1e,0 0 0 6px var(--gold-d),0 30px 90px #000d,0 0 120px rgba(217,169,63,.18)}
.mapframe .map{display:block;border:2px solid #000;box-shadow:0 0 0 1px var(--gold-d)}
.mapframe img{display:block;width:100%;height:auto}
.mapframe .cn{width:46px;height:46px;z-index:3}
.maphint{color:var(--muted);font:italic 1rem var(--body);margin:16px 0 0}
.skyline{position:absolute;left:0;bottom:-1px;width:100%;height:clamp(110px,16vw,230px);display:block;z-index:1;pointer-events:none}
.win{fill:#ffcf6b;filter:drop-shadow(0 0 3px #ffb347);animation:fl 5s infinite}.win.w1{animation-delay:-1.3s}.win.w2{animation-delay:-2.6s;fill:#ffb347}.win.w3{animation-delay:-3.9s}
@keyframes fl{0%,100%{opacity:1}45%{opacity:.55}60%{opacity:.95}}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.sec{padding:60px 0 6px}
.sec>h2{display:flex;justify-content:center;margin:0 0 8px;font-size:clamp(1.3rem,4vw,1.9rem);text-transform:uppercase;letter-spacing:.08em}
.sec>h2>span{position:relative;display:inline-block;padding:.6em 2.4em;color:#f6e8c4;background:linear-gradient(180deg,var(--oxb2),var(--oxb));clip-path:polygon(0 0,100% 0,calc(100% - 22px) 50%,100% 100%,0 100%,22px 50%);box-shadow:inset 0 2px 0 rgba(241,217,140,.6),inset 0 -2px 0 rgba(241,217,140,.6);max-width:100%}
.sec>.sub{text-align:center;color:var(--muted);margin:10px auto 28px;max-width:640px;font-style:italic}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.card{position:relative;padding:24px 22px 22px;border:1px solid var(--gold-d);border-radius:4px;background:var(--vellum),linear-gradient(180deg,#f0e4c4,var(--parch2));color:var(--pink);display:block;text-decoration:none;box-shadow:0 0 0 3px #0a0f1e,0 0 0 4px var(--gold-d),0 12px 28px rgba(0,0,0,.45),inset 0 0 40px rgba(120,80,20,.22);transition:transform .2s,box-shadow .2s}
.card h3{margin:.5em 0 .3em;font:700 1.12rem var(--serif);color:var(--oxb)}
.card p{margin:0;color:#3a2a16;font-size:1.06rem;line-height:1.5}
.card svg{width:48px;height:48px}
.card .cn svg{width:100%;height:100%}
.card .cn{width:30px;height:30px}
a.card:hover{transform:translateY(-3px);box-shadow:0 0 0 3px #0a0f1e,0 0 0 4px var(--gold),0 0 36px 4px rgba(255,190,90,.4),inset 0 0 40px rgba(120,80,20,.22)}
.pillar{text-align:center}.pillar .rn{position:absolute;top:10px;left:50%;transform:translateX(-50%);font:600 .8rem var(--serif);color:var(--gold-d);letter-spacing:.2em}
.pillar svg{margin-top:14px;padding:8px;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle,#0f1830 0,#0a0f1e);border:2px solid var(--gold);box-shadow:0 0 18px rgba(217,169,63,.45)}
.tome{border-left:0;padding-left:30px;background:var(--vellum),linear-gradient(180deg,#f0e4c4,var(--parch2))}
.tome:before{content:"";position:absolute;left:0;top:0;bottom:0;width:12px;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 70%,#000),var(--c));border-right:2px solid var(--gold-d)}
.tome .rn{position:absolute;right:16px;top:8px;font:700 1.9rem var(--display);color:rgba(91,26,20,.25)}
.tome h3 a{color:var(--oxb);text-decoration:none}
.tome ul{margin:12px 0 0;padding-left:18px;font-size:1.04rem}
.tome li::marker{color:var(--gold-d)}
.tome ul a{color:var(--lnk)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px}
.stat{display:flex;flex-direction:column;align-items:center;text-align:center;padding:22px 10px 18px;border:1px solid var(--gold);border-radius:4px;background:var(--noise),linear-gradient(180deg,#18264b,#0c1328);box-shadow:inset 0 0 0 4px #0a0f1e,inset 0 0 0 5px var(--gold-d),0 10px 24px rgba(0,0,0,.4)}
.stat b{display:block;white-space:nowrap;font:900 clamp(1.9rem,5vw,2.7rem)/1.1 var(--display);background:linear-gradient(180deg,#fff0b8,#d9a93f 60%,#9a6d1c);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #000)}
.stat b small{font-size:.45em;margin-left:.15em}
.stat .orn{width:80%;height:16px;margin:6px 0}
.stat span{color:var(--text);font-size:1.05rem;line-height:1.35}
.fig.scroll{overflow:hidden}.fig.scroll .hscroll{overflow-x:auto}
.home-feel{margin-bottom:0}
.sec .fig{margin-bottom:0}
.scenes{grid-template-columns:1fr}
@media(min-width:900px){.home-feel .scenes,.feel .scenes{gap:30px}}

@media(max-width:980px){.with-toc{display:block}.toc{display:none}}
body.is-home .menu-btn{display:block}
body.is-home .sidebar{position:fixed;z-index:60;top:62px;left:0;width:min(86vw,330px);height:calc(100vh - 62px);background:#080c1a;transform:translateX(-102%);transition:transform .2s;box-shadow:10px 0 40px #000c;visibility:hidden}
body.nav-open .sidebar{transform:none;visibility:visible}
@media(max-width:860px){
  .menu-btn{display:block}
  .layout{display:block}
  .sidebar{position:fixed;z-index:60;top:62px;left:0;width:min(86vw,330px);height:calc(100vh - 62px);background:#080c1a;transform:translateX(-102%);transition:transform .2s;box-shadow:10px 0 40px #000c;visibility:hidden}
  .search{width:auto;flex:1;margin-left:0;min-width:0}
  .brand span{display:none}
  .lang{margin-left:0}
  .with-toc{padding:16px 10px 0}
  .doc-head{padding-top:32px}
  .content h2{margin-left:-8px;margin-right:-8px;padding:.55em 1.3em;font-size:1.12rem}
  .fig{padding:22px 14px 16px}
  .donut-wrap{grid-template-columns:1fr}
  .pager{grid-template-columns:1fr}.pager .next,.pager .prev{grid-column:auto}
  .hero{padding-top:56px}
  .moon{right:6%;top:20px}
  .mapframe{padding:9px}.mapframe .cn{width:30px;height:30px}
  .sec>h2>span{padding:.55em 1.8em}
  .cards{grid-template-columns:1fr}
  body{font-size:1.1rem}
  .topbar{gap:8px;padding:0 10px}
  .imgfig{padding:8px}
  .doc .imgfig{margin-left:16px;margin-right:16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* ajustes da revisão 1 */
.fig{padding:30px 34px 22px}
.scene a{margin:0 4px}
.card{padding:30px 30px 24px}
.card .cn{width:26px;height:26px}
.pillar h3{text-wrap:balance}
.sec>h2>span{text-wrap:balance;text-align:center}
.meta{color:#d3d9ea}
.kicker{text-wrap:balance;padding:0 70px}
@media(max-width:860px){
  .fig{padding:26px 20px 18px}
  .card{padding:28px 24px 22px}
  .kicker{padding:0 56px;font-size:.8rem;letter-spacing:.2em}
  .moon{width:84px;top:14px;right:10px;opacity:.85}
  .search input{font-size:.92rem;padding:8px 10px}
  .topbar .brand img{width:28px;height:28px}
  .menu-btn{padding:8px 9px}
  .sec>h2>span{font-size:1.05rem;padding:.55em 1.6em}
}
.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:var(--gold-d);border-radius:4px}

/* revisão 2: mais manuscrito */
.hero:before{content:"";position:absolute;inset:12px;border:1px solid rgba(217,169,63,.55);box-shadow:inset 0 0 0 5px rgba(10,15,30,.0),inset 0 0 0 6px rgba(217,169,63,.25);pointer-events:none;z-index:3}
.hero:after{content:"";position:absolute;inset:0;background:var(--noise);opacity:.5;pointer-events:none;mix-blend-mode:soft-light}
.pillar .rn,.tome .rn{font:900 1.5rem/1 var(--display);color:var(--oxb)}
.pillar .rn{top:12px;display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin-left:-21px;left:50%;transform:none;border:2px solid var(--oxb);background:linear-gradient(145deg,#f6e3a1,#d9a93f 65%,#a9791f);box-shadow:0 0 0 2px #ecdfbd,0 0 0 3px var(--gold-d);font-size:1rem;letter-spacing:0}
.pillar svg{margin-top:34px}
.tome .rn{font-size:2.4rem;color:rgba(91,26,20,.55)}
.card:after{content:"";position:absolute;inset:7px;border:1px solid rgba(138,100,32,.55);pointer-events:none}
.card.pillar h3:first-of-type::first-letter,.tome p::first-letter{color:inherit}
.pillar p::first-letter{font:900 1.9em/1 var(--display);color:var(--oxb)}
.tome p{font-style:italic}
.fig .sub,.sec>.sub,.maphint,.imgfig figcaption{color:#d8deee}
.scene figcaption{color:#f6e8c4}
.sec{position:relative}
.sec+.sec:before{content:"";display:block;height:20px;margin:0 auto 30px;width:min(300px,70%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 20'%3E%3Cpath d='M0 10H120M180 10H300' stroke='%238a6420'/%3E%3Cpath d='M150 1l9 9-9 9-9-9z' fill='%23d9a93f'/%3E%3Cpath d='M126 10h8M166 10h8' stroke='%23d9a93f' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat}
.scene a{background:#05070f}
.scene img{background:#0a1226}

.card{padding:34px 34px 28px}
.pillar{padding-top:30px}
.moon{background:radial-gradient(circle at 38% 36%,#f4f7ff 0,#d4def8 40%,#9db4ea 80%,#7f98d8);box-shadow:0 0 60px 20px rgba(110,150,255,.38),0 0 200px 90px rgba(60,100,230,.26)}
.hscroll svg{min-width:900px}
.fig.scroll .hscroll svg{min-width:900px}
@media(max-width:860px){.card{padding:32px 26px 24px}}

/* revisão 3 */
.fig .cap{color:#dbe1f0;font-size:1.02rem}
.tw{position:relative}
.tw td,.tw th{overflow-wrap:anywhere;hyphens:auto}
.tw table{min-width:480px}
.toc a{color:#cdd4e8;font-size:1rem}
.sidebar h3{color:#f6e8c4}
.search input{font-size:1rem}
.lang a,.lang span{min-width:34px;text-align:center;display:inline-block}
.menu-btn,.btn{touch-action:manipulation}
@media(max-width:860px){.tw::after{content:"⇆";position:sticky;float:right;right:6px;bottom:4px;color:var(--gold-d);font-size:1rem}}
@media(min-width:861px){.layout:not(.home){background:linear-gradient(90deg,rgba(6,9,20,.75) 0,rgba(10,15,30,.4) 292px,transparent 292px)}.layout:not(.home) .sidebar{background:none}}
