@font-face{font-family:"Shippori Mincho";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/shippori-mincho-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Shippori Mincho";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/shippori-mincho-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Shippori Mincho";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/shippori-mincho-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Shippori Mincho";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/shippori-mincho-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Zen Kaku Gothic New";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/zen-kaku-gothic-new-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Zen Kaku Gothic New";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/zen-kaku-gothic-new-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Zen Kaku Gothic New";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/zen-kaku-gothic-new-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Zen Kaku Gothic New";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/zen-kaku-gothic-new-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Zen Kaku Gothic New";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/zen-kaku-gothic-new-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Zen Kaku Gothic New";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/zen-kaku-gothic-new-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ===== woowsai.com v2: papel e tinta ===== */
:root{
  --paper:#F2EBDD; --paper-2:#E9E0CC; --paper-3:#DFD4BC; --sheet:#F8F2E6; --sheet-2:#F5EEDF; --tile:#FBF7EE;
  --ink:#14110F; --ink-2:#4A433B; --ink-3:#6B6256;
  --vermilion:#C8102E; --vermilion-dark:#9E0C24; --on-vermilion:#FFFFFF;
  --bronze:#8F4F1A; --silver:#566069; --gold:#7A5700;
  --seal-bronze:#A5602A; --seal-silver:#7B838B; --seal-gold:#B8860B;
  --mount-kami:#7A1424; --mount-yokai:#3E4B3A; --mount-ghosts:#1E1A18; --mount-legends:#2C3C55; --mount-guardians:#6B4A2B;
  --rule:rgba(20,17,15,.2); --rule-soft:rgba(20,17,15,.1);
  --col:40rem; --wide:62rem; --gutter:1.25rem;
  --serif:"Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",Georgia,serif;
  --sans:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN",system-ui,-apple-system,"Segoe UI",sans-serif;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .32 0 0 0 0 .25 0 0 0 0 .16 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --wood:linear-gradient(180deg,#76593a,#46341f 55%,#2a1f13);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;color:var(--ink);font:400 1.0625rem/1.75 var(--sans);min-height:100vh;display:flex;flex-direction:column;
  background-color:var(--paper);
  background-image:var(--grain),radial-gradient(ellipse 90% 34rem at 50% -4rem,rgba(255,255,255,.5),transparent 70%),linear-gradient(90deg,rgba(20,17,15,.06),transparent 9%,transparent 91%,rgba(20,17,15,.06))}
img,svg{max-width:100%;height:auto}
a{color:var(--vermilion-dark);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{color:var(--vermilion)}
:focus-visible{outline:3px solid var(--vermilion);outline-offset:3px;border-radius:2px}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:var(--gutter);top:-4rem;background:var(--ink);color:var(--paper);padding:.6rem 1rem;z-index:50;text-decoration:none}
.skip:focus{top:.5rem}
h1,h2,h3,h4{font-family:var(--serif);font-weight:700;line-height:1.28;margin:0;letter-spacing:.01em;text-wrap:balance}
h1{font-size:clamp(2rem,5.4vw,3rem)}
h2{font-size:clamp(1.45rem,3.6vw,1.95rem)}
h3{font-size:1.2rem}
p{margin:0 0 1.15em}
.wrap{width:100%;max-width:var(--col);margin-inline:auto;padding-inline:var(--gutter)}
.wrap-wide{width:100%;max-width:var(--wide);margin-inline:auto;padding-inline:var(--gutter)}
main{flex:1;padding-block:3rem 3.5rem}
main.home{padding-top:0}
.muted{color:var(--ink-2)}
.small{font-size:.9rem}

/* ---------- cabeçalho ---------- */
.site-header{border-top:4px solid var(--vermilion);border-bottom:1px solid var(--rule);background:rgba(248,242,230,.82);box-shadow:0 1px 0 rgba(255,255,255,.7)}
.site-header .bar{display:flex;align-items:center;gap:1rem;min-height:4.4rem;max-width:var(--wide);margin-inline:auto;padding-inline:var(--gutter)}
.brand{display:flex;align-items:center;gap:.75rem;color:var(--ink);text-decoration:none;font:700 1.3rem/1 var(--serif);letter-spacing:.03em}
.brand:hover{color:var(--ink)}
.brand .seal{width:2.4rem;height:2.4rem;color:var(--vermilion);filter:url(#rough)}
.header-spacer{flex:1}
.counter{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:0 .2rem;color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem;white-space:nowrap}
.counter .seal{width:1.5rem;height:1.5rem}
.counter strong{font-family:var(--serif);font-size:1.25rem;color:var(--vermilion-dark)}
.menu-btn{display:none;min-width:44px;min-height:44px;border:1.5px solid var(--ink);background:var(--tile);color:var(--ink);font:500 .95rem var(--sans);padding:0 .9rem;cursor:pointer}
.menu-btn[aria-expanded="true"]{background:var(--ink);color:var(--paper)}
.site-nav ul{display:flex;gap:.15rem;list-style:none;margin:0;padding:0}
.site-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 .8rem;color:var(--ink);text-decoration:none;font-weight:500;font-size:.98rem;
  background:linear-gradient(var(--vermilion),var(--vermilion)) no-repeat .8rem 78%/0 3px;transition:background-size .28s ease}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--vermilion-dark);background-size:calc(100% - 1.6rem) 3px}
@media (prefers-reduced-motion:reduce){.site-nav a{transition:none}}
@media (max-width:760px){
  .site-header .bar{flex-wrap:wrap;row-gap:0;padding-block:.35rem}
  .menu-btn{display:inline-flex;align-items:center;order:3}
  .site-nav{order:4;flex-basis:100%;display:none;padding-bottom:.6rem}
  .site-nav.is-open{display:block}
  .site-nav ul{flex-direction:column;border-top:1px solid var(--rule-soft)}
  .site-nav a{width:100%;border-bottom:1px solid var(--rule-soft);background-position:.8rem 86%}
}
@media (max-width:480px){
  .site-header .bar{gap:.5rem}
  .brand{font-size:1.02rem;gap:.45rem}
  .brand .seal{width:1.9rem;height:1.9rem}
  .counter .seal{display:none}
  .menu-btn{padding:0 .7rem}
}
@media (max-width:420px){.counter .counter-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
.no-js .menu-btn{display:none}
.no-js .site-nav{display:block!important}

/* ---------- folha desenrolada (artigos e páginas de texto) ---------- */
.sheet{position:relative;width:calc(100% - 1.8rem);max-width:46rem;margin:.6rem auto 0;padding:3.4rem 1.2rem 3.6rem;
  background-color:var(--sheet);background-image:var(--grain);
  box-shadow:0 0 0 1px rgba(20,17,15,.1),inset 0 1px 0 rgba(255,255,255,.7),0 34px 50px -36px rgba(20,17,15,.55)}
.sheet::before,.sheet::after{content:"";position:absolute;left:-.55rem;right:-.55rem;height:1.05rem;border-radius:.55rem;background:var(--wood);box-shadow:0 3px 7px rgba(20,17,15,.38),inset 0 1px 0 rgba(255,255,255,.18)}
.sheet::before{top:-.5rem}
.sheet::after{bottom:-.5rem}
@media (min-width:640px){.sheet{padding:3.8rem 3rem 4rem}.sheet::before,.sheet::after{left:-.95rem;right:-.95rem}}
.sheet>:first-child{margin-top:0}

/* breadcrumbs */
.crumbs{font-size:.9rem;color:var(--ink-2);margin:0 0 2rem}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem .5rem}
.crumbs li+li::before{content:"/";margin-right:.5rem;color:var(--ink-3)}
.crumbs a{color:var(--ink-2)}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.55rem 1.5rem;border:1.5px solid var(--ink);background:var(--tile);color:var(--ink);font:500 1rem/1.2 var(--sans);text-decoration:none;cursor:pointer;border-radius:0;box-shadow:0 3px 0 var(--ink);transition:transform .15s,box-shadow .15s,background .15s,color .15s}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn:active{transform:translateY(3px);box-shadow:0 0 0 var(--ink)}
.btn-primary{background:var(--vermilion-dark);border-color:var(--ink);color:var(--on-vermilion);box-shadow:0 3px 0 var(--ink),inset 0 0 0 2px rgba(255,255,255,.22)}
.btn-primary:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.btn[disabled]:hover{background:var(--tile);color:var(--ink)}
@media (prefers-reduced-motion:reduce){.btn{transition:none}}
.btn-link,.btn.btn-link{background:none;border:0;padding:0;min-height:44px;color:var(--vermilion-dark);text-decoration:underline;text-underline-offset:.2em;cursor:pointer;font:inherit;box-shadow:none;transition:none}
.btn.btn-link:hover{background:none;color:var(--vermilion)}
.btn.btn-link:active{transform:none}
.btn-row{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;margin-top:1.6rem}

/* ---------- início: cordão de lanternas ---------- */
.hero2{position:relative;text-align:center}
.scene{height:clamp(19rem,44vw,32rem);overflow:hidden;-webkit-mask-image:linear-gradient(#000 72%,transparent);mask-image:linear-gradient(#000 72%,transparent)}
.scene-svg{width:100%;height:100%;display:block}
.hero-copy{position:relative;margin-top:-4.2rem;padding-bottom:.5rem}
.hero2 h1{font-size:clamp(2.5rem,7.2vw,4.5rem);line-height:1.08;max-width:16em;margin-inline:auto;letter-spacing:.005em;text-shadow:0 1px 0 rgba(255,255,255,.6)}
.hero2 .lead{font-size:1.18rem;color:var(--ink-2);max-width:30em;margin:1.3rem auto 0}
.hero2 .btn-row{justify-content:center;margin-top:1.9rem}
.lamp .on,.lamp .halo{opacity:0;animation:light 1.5s ease-out var(--d,0s) forwards}
@keyframes light{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.lamp .on,.lamp .halo{opacity:1;animation:none}}

.orn{display:flex;align-items:center;gap:1rem;max-width:30rem;margin:3.6rem auto;padding-inline:var(--gutter)}
.orn span{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(20,17,15,.5))}
.orn span:last-child{background:linear-gradient(270deg,transparent,rgba(20,17,15,.5))}

.section{margin-top:3.6rem}
.section:first-child{margin-top:0}
.section>h2,.body h2{position:relative}
.section>h2::before,.body h2::before{content:"";display:inline-block;width:.5rem;height:.5rem;background:var(--vermilion);margin-right:.7rem;transform:translateY(-.14em) rotate(45deg)}
.section-intro{color:var(--ink-2);max-width:34em;margin-top:.7rem}

/* ---------- cinco pergaminhos pendurados ---------- */
.gallery{text-align:center}
.gallery .section-intro{margin-inline:auto}
.hangers{list-style:none;margin:2.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(9.6rem,1fr));gap:2rem 1.5rem;align-items:start}
@media (max-width:640px){.hangers{grid-template-columns:repeat(2,1fr)}.hanger-item:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - .75rem)}}
.hanger-item:nth-child(even){margin-top:2.4rem}
.c-kami{--c:var(--mount-kami)}.c-yokai{--c:var(--mount-yokai)}.c-ghosts{--c:var(--mount-ghosts)}.c-legends{--c:var(--mount-legends)}.c-guardians{--c:var(--mount-guardians)}
.hanger{display:block;position:relative;padding-top:2.7rem;color:var(--ink);text-decoration:none;transform-origin:50% 0;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.hanger::before{content:"";position:absolute;top:.75rem;left:10%;right:10%;height:2rem;
  background:linear-gradient(to top right,transparent calc(50% - .6px),#14110F calc(50% - .6px),#14110F calc(50% + .6px),transparent calc(50% + .6px)) left top/50.5% 100% no-repeat,
             linear-gradient(to top left,transparent calc(50% - .6px),#14110F calc(50% - .6px),#14110F calc(50% + .6px),transparent calc(50% + .6px)) right top/50.5% 100% no-repeat}
.hanger::after{content:"";position:absolute;top:0;left:50%;width:.9rem;height:1.2rem;margin-left:-.45rem;background:radial-gradient(circle at 50% .3rem,#14110F 0 .27rem,transparent .3rem),linear-gradient(#14110F,#14110F) 50% .5rem/1.4px .7rem no-repeat}
.hanger:hover,.hanger:focus-visible{transform:rotate(-1.5deg);color:var(--ink)}
@media (prefers-reduced-motion:reduce){.hanger{transition:none}.hanger:hover,.hanger:focus-visible{transform:none}}
.rod{display:block;height:.95rem;margin-inline:-.6rem;border-radius:.5rem;background:var(--wood);box-shadow:0 2px 5px rgba(20,17,15,.35),inset 0 1px 0 rgba(255,255,255,.18);position:relative;z-index:1}
.mount{display:block;padding:.75rem .7rem;background-color:var(--c);background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.045) 0 2px,transparent 2px 7px),var(--grain)}
.paper{display:block;position:relative;aspect-ratio:240/340;overflow:hidden;background:#EFE6D2;box-shadow:inset 0 0 0 1px rgba(20,17,15,.4)}
.paper svg{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.vert{position:absolute;top:.6rem;right:.5rem;writing-mode:vertical-rl;font:700 1.15rem/1 var(--serif);letter-spacing:.22em;color:var(--ink);background:rgba(248,242,230,.88);padding:.55rem .28rem;border:1px solid var(--ink)}
.hanger-cap{display:block;margin-top:1.1rem}
.hanger-cap strong{display:block;font:700 1.02rem/1.3 var(--serif)}
.hanger-cap span{display:block;font-size:.86rem;line-height:1.5;color:var(--ink-2);margin:.35rem 0}
.hanger-cap em{font-style:normal;font-size:.86rem;font-weight:500;color:var(--vermilion-dark)}
.hanger:hover .hanger-cap strong{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}

/* ---------- listas com lombada ---------- */
.slips{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.slip{display:grid;grid-template-columns:2.2rem 1fr;gap:1.1rem;background:rgba(255,255,255,.38);box-shadow:0 0 0 1px rgba(20,17,15,.1),0 10px 18px -16px rgba(20,17,15,.55);transition:transform .25s,box-shadow .25s}
.slip:hover{transform:translateX(4px);box-shadow:0 0 0 1px rgba(20,17,15,.2),0 14px 22px -16px rgba(20,17,15,.6)}
@media (prefers-reduced-motion:reduce){.slip{transition:none}.slip:hover{transform:none}}
.slip[hidden]{display:none}
.spine{display:flex;background-color:var(--c);background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 2px,transparent 2px 7px)}
.spine span{writing-mode:vertical-rl;transform:rotate(180deg);margin:auto;padding:.8rem 0;color:#F8F2E6;font:500 .78rem/1 var(--sans);letter-spacing:.16em}
.slip-body{padding:1rem 1.1rem 1.1rem 0}
.slip-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;margin:0 0 .65rem;font-size:.88rem;color:var(--ink-2)}
.slip h3{font-size:1.2rem;line-height:1.35}
.slip h3 a{color:var(--ink);text-decoration:none}
.slip h3 a:hover{color:var(--vermilion-dark);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.slip p:not(.slip-meta){margin:.45rem 0 0;color:var(--ink-2);font-size:.97rem}

/* selos de rótulo */
.tag{display:inline-block;font:500 .82rem/1 var(--sans);letter-spacing:.04em;padding:.34rem .6rem;border:1.5px solid currentColor;outline:1px solid currentColor;outline-offset:2px;transform:rotate(-1.4deg);margin-right:.35rem;background:transparent}
.tag-religion{color:var(--vermilion-dark)}
.tag-folklore{color:#2D5A3D}
.tag-legend{color:#2F4A7A}
.tag-modern-retelling{color:#6A3E7A}
.panel{border:1px solid var(--rule);background:rgba(255,255,255,.4);padding:1.5rem 1.7rem}
.panel>:last-child{margin-bottom:0}
.panel.framed{position:relative;outline:1px solid rgba(20,17,15,.4);outline-offset:5px;border:1.5px solid var(--ink);background:var(--sheet);padding:1.7rem 1.8rem}
.corner-seal{position:absolute;right:-.7rem;top:-1.1rem;width:2.8rem;height:2.8rem;color:var(--vermilion);transform:rotate(6deg);filter:url(#rough)}
.label-guide{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:1.15rem}
.label-guide li{display:grid;grid-template-columns:10rem 1fr;gap:.3rem 1.1rem;align-items:start}
@media (max-width:540px){.label-guide li{grid-template-columns:1fr}}

/* prévia do jogo (início) */
.preview{display:grid;grid-template-columns:8rem 1fr;gap:1.8rem;align-items:center;padding:1.8rem;background:var(--sheet);border:1.5px solid var(--ink);outline:1px solid rgba(20,17,15,.4);outline-offset:5px}
.preview-lantern{position:relative}
.preview-lantern::before{content:"";position:absolute;left:50%;top:48%;width:230%;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(232,176,74,.5),rgba(228,64,46,.12) 45%,transparent 68%);pointer-events:none}
.preview svg{position:relative;width:100%}
.mini-word{display:flex;gap:.4rem;margin:0 0 1.1rem}
.mini-word i{width:1.7rem;height:2rem;border-bottom:3px solid var(--ink)}
@media (max-width:540px){.preview{grid-template-columns:1fr;justify-items:center;text-align:center}.preview svg{max-width:6rem}.mini-word{justify-content:center}}

/* ---------- artigo ---------- */
.art-head .tags{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .7rem;margin:0 0 1.1rem;font-size:.92rem}
.shelf-link{color:var(--ink-2)}
.scroll-no{margin-left:auto;font:700 .95rem var(--serif);color:var(--vermilion-dark)}
.art-head h1{margin-bottom:1.3rem}
.byline{display:flex;flex-wrap:wrap;margin:0 0 1.9rem;padding:.7rem 0;border-block:1px solid var(--rule);font-size:.9rem}
.byline div{padding:0 1.1rem 0 0;margin-right:1.1rem;border-right:1px solid var(--rule)}
.byline div:last-child{border:0;margin:0;padding:0}
.byline dt{color:var(--ink-3);font-size:.8rem}
.byline dd{margin:0;color:var(--ink)}
@media (max-width:560px){.byline div{flex:1 1 100%;border:0;padding:.15rem 0;margin:0;display:flex;gap:.6rem}.byline dt{min-width:7rem}}
.art-frame{margin:0 0 2rem;padding:.55rem;background:var(--sheet);border:1px solid var(--ink);outline:1px solid rgba(20,17,15,.4);outline-offset:4px}
.art-art{display:block;width:100%;height:auto;margin:0}
.lede{font:500 1.22rem/1.75 var(--serif);margin-bottom:1.8rem}
.clues{margin:0 0 2.4rem;border:0;padding:0}
.clues h2{font-size:1.3rem}
.clues-note{margin:.4rem 0 0;color:var(--ink-2);font-size:.92rem}
.ladder{list-style:none;margin:1.1rem 0 0;padding:0;display:grid;gap:.45rem;counter-reset:cl}
.ladder li{counter-increment:cl;display:grid;grid-template-columns:2rem 1fr;gap:.8rem;align-items:start;padding:.8rem 1rem;border-left:4px solid var(--b)}
.ladder li::before{content:counter(cl);font:700 1.2rem/1.5 var(--serif);color:var(--vermilion-dark)}
.ladder li:nth-child(1){--b:rgba(158,12,36,.22);background:rgba(20,17,15,.012);color:var(--ink-2)}
.ladder li:nth-child(2){--b:rgba(158,12,36,.38);background:rgba(20,17,15,.022)}
.ladder li:nth-child(3){--b:rgba(158,12,36,.55);background:rgba(20,17,15,.034)}
.ladder li:nth-child(4){--b:rgba(158,12,36,.78);background:rgba(158,12,36,.04)}
.ladder li:nth-child(5){--b:var(--vermilion-dark);background:rgba(158,12,36,.08)}
.ladder li:nth-child(5)::before{background:var(--vermilion-dark);color:#fff;width:1.7rem;height:1.7rem;margin-top:.1rem;display:grid;place-items:center;font-size:1rem;line-height:1;transform:rotate(-4deg);filter:url(#rough)}
.lenses{display:grid;gap:1.2rem;margin:0 0 2.8rem}
.lenses>h2{font-size:1.3rem}
.lens{border-top:3px solid var(--vermilion);padding:.7rem 0 0}
.lens h3{font:700 1.02rem/1.4 var(--serif);margin-bottom:.35rem}
.lens p{margin:0;font-size:.96rem;color:var(--ink-2)}
@media (min-width:720px){.lenses{grid-template-columns:repeat(3,1fr);column-gap:1.4rem}.lenses>h2{grid-column:1/-1}}
.body h2{margin:3.1rem 0 1rem;font-size:clamp(1.4rem,3.2vw,1.7rem)}
.body h2:first-child{margin-top:0}
.body h3{margin:1.9rem 0 .5rem}
.body ul,.body ol{padding-left:1.4rem;margin:0 0 1.2em}
.body li{margin-bottom:.4em}
.body li::marker{color:var(--vermilion-dark)}
.scroll-body>p:first-of-type::first-letter{float:left;font:700 3.5rem/.82 var(--serif);padding:.34rem .12rem 0 0;margin-right:.04rem;color:var(--vermilion-dark)}
.body ul.checklist{list-style:none;padding-left:0}
.body ul.checklist li{position:relative;padding-left:1.9rem}
.body ul.checklist li::before{content:"";position:absolute;left:0;top:.38em;width:1.05rem;height:1.05rem;border:1.5px solid var(--ink);background:var(--tile)}
.body blockquote{position:relative;margin:2rem 0;padding:.3rem 0 .3rem 3rem;font-family:var(--serif);font-size:1.12rem}
.body blockquote::before{content:"\201C";position:absolute;left:0;top:-.6rem;font:700 4.4rem/1 var(--serif);color:rgba(158,12,36,.3)}
.body blockquote p{margin:0 0 .5em}
.table-wrap{overflow-x:auto;margin:1.8rem 0;-webkit-overflow-scrolling:touch}
.table-wrap:focus-visible{outline-offset:-3px}
table{border-collapse:collapse;width:100%;font-size:.95rem}
.body table{min-width:30rem}
th,td{text-align:left;vertical-align:top;padding:.7rem .85rem;border-bottom:1px solid var(--rule)}
tbody tr:nth-child(even){background:rgba(20,17,15,.03)}
thead th{background:rgba(20,17,15,.07);border-bottom:2px solid var(--ink);font-family:var(--serif);font-size:1rem}
@media (max-width:540px){.howto th,.howto td{padding:.5rem .45rem;font-size:.88rem}}
.faq{margin-top:3.2rem}
.faq h3{margin:1.7rem 0 .4rem;font-size:1.12rem}
.faq p{margin:0}
.sources{margin-top:3.2rem}
.sources ol{padding-left:1.4rem}
.sources li{margin-bottom:.9rem;font-size:.95rem}
.sources li::marker{color:var(--vermilion-dark);font-weight:700}
.sources .why{display:block;color:var(--ink-2)}
.readnext{margin-top:3.4rem}
/* o pergaminho lacrado: só com JavaScript; sem JS o texto abre sozinho */
.js .scroll:not(.is-open) .scroll-body{max-height:19rem;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 9rem),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 9rem),transparent)}
.seal-panel{display:none}
.js .scroll:not(.is-open) .seal-panel{display:grid;grid-template-columns:3.6rem 1fr;gap:1.1rem;align-items:center;border:1.5px solid var(--ink);outline:1px solid rgba(20,17,15,.4);outline-offset:4px;padding:1.2rem 1.35rem;margin:.9rem 4px 0;background:var(--sheet)}
.seal-panel .seal{width:3.6rem;height:3.6rem;color:var(--ink-3)}
.seal-panel p{margin:0 0 .5rem}
.seal-panel .actions{display:flex;flex-wrap:wrap;gap:.4rem 1.3rem;align-items:center}
.won-note{display:none;font-size:.95rem;color:var(--ink-2);border-left:3px solid var(--vermilion);padding-left:.9rem;margin:0 0 1.6rem}
.js .scroll.is-open .won-note[data-state="won"]{display:block}

/* ---------- selos ---------- */
.seal{display:inline-block;flex:none}
.seal use{pointer-events:none}
.seal-blank{color:var(--ink-3)}
.c-bronze{color:var(--seal-bronze)}.c-silver{color:var(--seal-silver)}.c-gold{color:var(--seal-gold)}.c-red{color:var(--vermilion)}

/* ---------- jogo ---------- */
.game h1{margin-bottom:.6rem}
.setup,.round.is-on{background:var(--sheet-2);padding:1.6rem 1.3rem;border:1.5px solid var(--ink);outline:1px solid rgba(20,17,15,.4);outline-offset:4px;margin:1.4rem 5px 2.4rem}
.levels{border:0;padding:0;margin:0 0 1.25rem;display:grid;gap:.65rem}
.levels legend{font:700 1.1rem/1.4 var(--serif);padding:0;margin-bottom:.7rem}
.level{position:relative}
.level input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.level label{display:grid;grid-template-columns:3rem 1fr;gap:.1rem .9rem;align-items:center;border:1.5px solid var(--rule);padding:.8rem 1rem;cursor:pointer;background:var(--tile);transition:transform .15s,box-shadow .15s}
.level label:hover{box-shadow:0 3px 0 rgba(20,17,15,.35);transform:translateY(-1px)}
.level label .seal{width:3rem;height:3rem;grid-row:1/3}
.level label b{font:700 1.1rem/1.2 var(--serif)}
.level label span{font-size:.92rem;color:var(--ink-2)}
.level input:checked+label{border-color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink),0 3px 0 var(--ink);background:#F6EBD0}
.level input:focus-visible+label{outline:3px solid var(--vermilion);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.level label{transition:none}.level label:hover{transform:none}}
.field{display:grid;gap:.35rem;margin-bottom:1.2rem}
.field label{font-weight:700}
select,input[type=text],input[type=search],input[type=email],textarea{font:400 1rem/1.5 var(--sans);color:var(--ink);background:var(--tile);border:1.5px solid var(--ink);border-radius:0;padding:.6rem .8rem;min-height:44px;width:100%}
select{appearance:auto}
.stats-line{font-size:.95rem;color:var(--ink-2);margin:0 0 .2rem}
.round{display:none}
.round.is-on{display:block}
.setup.is-off{display:none}
.round-top{display:grid;grid-template-columns:8.5rem 1fr;gap:1.3rem;align-items:center;margin-bottom:1.3rem}
@media (max-width:480px){.round-top{grid-template-columns:6rem 1fr;gap:.9rem}}
.lantern-fig{position:relative;width:100%;max-width:8.5rem}
.lantern-fig::before{content:"";position:absolute;left:50%;top:50%;width:240%;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(232,176,74,.55),rgba(228,64,46,.14) 45%,transparent 68%);opacity:var(--lit,1);transition:opacity .5s;pointer-events:none}
.lantern-fig svg{position:relative}
.lantern-fig .band{fill:#E8B04A;transition:fill .35s}
.lantern-fig .band.dark{fill:#2A2420}
@media (prefers-reduced-motion:reduce){.lantern-fig .band,.lantern-fig::before{transition:none}}
.badge-line{display:flex;flex-wrap:wrap;gap:.2rem .9rem;align-items:center;font-size:.95rem;margin-bottom:.5rem}
.badge-line b{font-family:var(--serif);font-size:1.15rem}
.cat-note{color:var(--ink-2);font-size:.9rem;margin:0}
.word{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin:1.5rem 0 1.6rem}
.cell{width:2.3rem;height:3rem;border-bottom:3px solid var(--ink);display:flex;align-items:flex-end;justify-content:center;font:700 1.75rem/1 var(--serif);padding-bottom:.25rem;text-transform:uppercase}
.cell.fixed{border-bottom:0;width:1.1rem;color:var(--ink-2)}
.cell.gap{border-bottom:0;width:1.4rem}
.cell.revealed{color:var(--vermilion-dark)}
@media (max-width:480px){.cell{width:1.85rem;height:2.6rem;font-size:1.45rem}.word{gap:.3rem}}
.clue-box{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:1rem 0 .5rem;margin-bottom:1.3rem}
.clue-box h2{font:700 1.05rem/1.4 var(--serif);margin-bottom:.6rem}
.clue-box ol{margin:0 0 .6rem;padding-left:1.3rem}
.clue-box li{margin-bottom:.45rem}
.clue-box li::marker{font-family:var(--serif);font-weight:700;color:var(--vermilion-dark)}
.keys{display:grid;grid-template-columns:repeat(9,1fr);gap:.4rem;margin:0 auto 1.3rem;max-width:30rem}
.key{min-height:46px;min-width:0;padding:0;border:1.5px solid var(--ink);background:var(--tile);color:var(--ink);font:700 1.05rem/1 var(--serif);cursor:pointer;border-radius:0;box-shadow:0 3px 0 var(--ink);transition:transform .1s,box-shadow .1s,background .15s}
.key:hover:not(:disabled){background:var(--ink);color:var(--paper)}
.key:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 0 var(--ink)}
.key:disabled{cursor:default}
.key.hit{background:var(--paper-3);border-color:var(--ink-3);color:var(--ink-2);box-shadow:none;transform:translateY(3px)}
.key.miss{background:transparent;border-style:dashed;border-color:var(--ink-3);color:var(--ink-3);text-decoration:line-through;box-shadow:none;transform:translateY(3px)}
@media (max-width:420px){.keys{grid-template-columns:repeat(7,1fr)}}
.status{min-height:1.6em;text-align:center;margin:0 0 1rem;font-weight:500}
.result{border:1.5px solid var(--ink);outline:1px solid rgba(20,17,15,.4);outline-offset:4px;padding:1.7rem 1.4rem;margin:1.8rem 4px 0;text-align:center;background:var(--sheet)}
.result:focus{outline:1px solid rgba(20,17,15,.4)}
.result h2{margin:.4rem 0 .4rem}
.result .seal-big{width:7.5rem;height:7.5rem;margin:0 auto .5rem;display:block}
.stamp{animation:stamp .55s cubic-bezier(.2,.9,.3,1.2) both}
@keyframes stamp{0%{transform:scale(1.7) rotate(-9deg);opacity:0}60%{opacity:1}100%{transform:scale(1) rotate(-4deg);opacity:1}}
@media (prefers-reduced-motion:reduce){.stamp{animation:none;transform:rotate(-4deg)}}
.result .medal-text{font:700 1rem/1 var(--serif);letter-spacing:.12em}
.result .curio{max-width:30em;margin:.8rem auto}
.notice{border-left:3px solid var(--vermilion);padding:.6rem 1rem;background:rgba(255,255,255,.45);margin:0 0 1.5rem;font-size:.95rem}
.howto h2{margin:3rem 0 .8rem}
.howto ul,.howto ol{padding-left:1.4rem}
.howto li{margin-bottom:.4rem}

/* ---------- álbum: cada casa é um mini pergaminho ---------- */
.progress-line{font:700 1.2rem/1.4 var(--serif);margin:0 0 .4rem}
.bar-track{height:.55rem;background:var(--paper-3);margin:.5rem 0 2rem;box-shadow:inset 0 0 0 1px rgba(20,17,15,.2)}
.bar-fill{height:100%;background:var(--vermilion-dark);width:0;transition:width .4s}
.album-cat{margin-top:2.8rem}
.album-cat h2{display:flex;flex-wrap:wrap;gap:.2rem 1rem;align-items:baseline;justify-content:space-between}
.album-cat .cat-progress{font:500 .95rem var(--sans);color:var(--ink-2)}
.album-cat .done{color:var(--vermilion-dark);font-weight:700}
.slots{list-style:none;margin:1.3rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem .8rem}
@media (min-width:560px){.slots{grid-template-columns:repeat(5,1fr)}}
.slot{position:relative;display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center;min-height:9rem;padding:1.35rem .2rem 1.15rem;background:rgba(255,255,255,.3);box-shadow:0 0 0 1px rgba(20,17,15,.14)}
.slot::before,.slot::after{content:"";position:absolute;left:-3px;right:-3px;height:7px;border-radius:3.5px;background:var(--wood);box-shadow:0 2px 3px rgba(20,17,15,.3)}
.slot::before{top:0}.slot::after{bottom:0}
.slot .n{font:700 .85rem/1 var(--serif);color:var(--ink-2)}
.slot .seal{width:2.8rem;height:2.8rem}
.slot .nm{font:700 .85rem/1.25 var(--serif);word-break:normal;overflow-wrap:break-word}
.slot .md{font:500 .76rem/1 var(--sans);letter-spacing:.08em;color:var(--ink-2)}
.slot.is-won{background:#F3E8CD;box-shadow:0 0 0 1px rgba(20,17,15,.4),0 10px 16px -12px rgba(20,17,15,.6)}
.slot a{color:var(--ink);text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:.4rem;min-height:44px;width:100%}
.slot a:hover .nm{text-decoration:underline;color:var(--vermilion-dark)}
.empty-state{border:1.5px dashed var(--ink-3);padding:1.6rem;text-align:center;margin:0 0 1rem;display:none;background:rgba(255,255,255,.3)}
.empty-state.is-on{display:block}

/* ---------- explorador ---------- */
.filters{display:grid;gap:1rem;margin:1.6rem 0 1rem}
@media (min-width:640px){.filters{grid-template-columns:2fr 1fr 1fr}}
.count-line{font-size:.95rem;color:var(--ink-2);margin:0 0 1rem}

/* ---------- formulários ---------- */
.form{max-width:34rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
textarea{min-height:10rem;resize:vertical}
.fine{font-size:.9rem;color:var(--ink-2)}

/* ---------- rodapé em tinta ---------- */
.site-footer{position:relative;margin-top:5.5rem;background-color:var(--ink);background-image:var(--grain);color:#E9E0CC;padding:3.4rem 0 2.4rem;font-size:.95rem}
.foot-mtn{position:absolute;left:0;top:0;width:100%;height:4.6rem;transform:translateY(-99%);display:block}
.site-footer .cols{display:grid;gap:2.2rem;max-width:var(--wide);margin-inline:auto;padding-inline:var(--gutter)}
@media (min-width:760px){.site-footer .cols{grid-template-columns:1.4fr 1fr 1fr}}
.site-footer h2{font:700 1.02rem/1.4 var(--serif);margin-bottom:.7rem;color:#F8F2E6}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li a{display:inline-block;padding:.3rem 0}
.site-footer a{color:#F2EBDD;text-underline-offset:.2em}
.site-footer a:hover{color:#fff}
.site-footer .muted{color:#CFC4AE}
.site-footer .legal{max-width:var(--wide);margin:2.4rem auto 0;padding:1.4rem var(--gutter) 0;border-top:1px solid rgba(242,235,221,.18);color:#CFC4AE;font-size:.88rem}
.footer-brand{display:flex;gap:.7rem;align-items:center;font:700 1.25rem var(--serif);margin-bottom:.7rem;color:#F8F2E6}
.footer-brand .seal{width:2.2rem;height:2.2rem;filter:url(#rough)}
.site-footer :focus-visible{outline-color:#F2EBDD}

/* ---------- 404 ---------- */
.nf{text-align:center}
.nf .seal{width:6rem;height:6rem;margin:0 auto 1rem;display:block}
.nf-code{margin:0 0 .6rem;color:var(--vermilion-dark);font-weight:700}
.nf form{display:flex;gap:.5rem;max-width:26rem;margin:1.5rem auto}
.nf .cats{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:1rem 0 1.5rem;padding:0;list-style:none}
.result .seal-big,.nf .seal{filter:url(#rough)}
@media print{.site-header,.site-footer,.seal-panel{display:none}.js .scroll:not(.is-open) .scroll-body{max-height:none}.sheet::before,.sheet::after{display:none}}
