:root{color-scheme:dark;--gold:#f5d18a;--line:#a4773b;--ink:#fff0cf}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;color:var(--ink);background:linear-gradient(180deg,#980d04 0%,#650500 30%,#230200 64%,#030202 94%);background-attachment:fixed;font-family:Georgia,serif;min-height:100vh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;background:#100504b3;color:var(--gold);border:1px solid var(--line);border-radius:10px;padding:12px 18px}button:hover{border-color:#ffe6ad;background:#481005}button:focus-visible,a:focus-visible{outline:3px solid #fff1b5;outline-offset:4px}.gold{background:linear-gradient(125deg,#ffe1a1,#c38d3d);color:#250b03;border-color:#eac582}.gold:hover{background:#ffe1a1}a{color:var(--gold)}.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;line-height:1.6}.opening{min-height:90vh;max-width:1300px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:32px 55px;gap:50px}.intro h1{color:var(--gold);font-size:clamp(48px,6vw,88px);letter-spacing:-.05em;margin:20px 0}.exercise{color:var(--gold);font-size:18px}.intro h2{font-size:38px;font-weight:normal;margin:16px 0}.intro p{max-width:470px;line-height:1.65}.instruction{font-size:14px;color:#d4bda1}.previous{display:block;margin-top:22px;font-size:13px}.intro-stage{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;min-height:650px}.intro-doll{position:relative;width:100%;max-height:78vh;object-fit:contain;z-index:1}.halo{position:absolute;left:50%;top:8%;transform:translateX(-50%);width:48%;aspect-ratio:1;border:7px solid #fff0a7;border-radius:50%;box-shadow:0 0 10px #fff3bb,inset 0 0 18px #ffa12c,0 0 35px #ff8d12,0 0 65px #ed3b00;pointer-events:none}.game{max-width:1450px;margin:auto;padding:20px 35px}.game-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.wordmark{border:0;background:none;padding:0;font-size:30px;letter-spacing:.02em}.game-header span{font-size:13px;color:#e2c7a0}.game-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(350px,.8fr);gap:35px}.stage{position:relative;min-height:650px;display:flex;align-items:center;justify-content:center;border-radius:25px}.stage.drop-active{outline:2px solid var(--gold);background:#f2a62a10}.doll{position:relative;width:min(100%,460px);aspect-ratio:1024/1736;isolation:isolate}.doll img{position:absolute;left:0;top:11.520737%;width:100%;height:88.479263%;pointer-events:none;object-fit:fill}.doll img.full{top:0;height:100%}.stage .halo{top:7%;width:43%;max-width:290px}.speech{position:absolute;left:0;top:43%;max-width:180px;font-size:18px;line-height:1.5;font-style:italic;text-shadow:0 1px 6px #000}.closet{border:1px solid var(--line);background:#080303ad;border-radius:20px;padding:20px 24px;display:flex;flex-direction:column;max-height:calc(100vh - 95px);min-height:650px}.closet-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px}.closet-title h2{font-size:48px;font-weight:normal;color:var(--gold);margin:0}.closet-title span{font-size:16px;color:var(--gold)}nav{display:flex;gap:5px;flex-wrap:wrap;margin-top:14px}nav button{border:0;border-radius:0;background:none;font-size:15px;padding:8px 7px;color:#bca47c}nav button[aria-pressed=true]{color:#ffe3a0;border-bottom:2px solid var(--gold)}.help{font-size:12px;color:#bba384;margin:8px 0 14px}.pieces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:auto;align-content:start;min-height:0;padding:3px;scrollbar-color:#a4773b #190704}.piece{position:relative;border:1px solid #705124;padding:10px;background:#100604;border-radius:12px;min-width:0;touch-action:pan-y}.piece img{height:150px;width:100%;object-fit:contain;pointer-events:none;user-select:none}.piece span{display:block;font-size:12px;line-height:1.35;color:#e6c899;min-height:32px;margin-top:5px}.piece[aria-pressed=true]{border:2px solid #ffe4a4;background:#55220c}.closet-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:15px}.closet-actions button{flex:1;font-size:13px;padding:10px}.closet-actions .gold{flex-basis:100%;font-size:17px}dialog{background:#150403;color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:28px;max-width:650px;width:92vw;max-height:92vh;overflow:auto}dialog::backdrop{background:#000c}dialog h2{font-weight:normal;font-size:27px;line-height:1.3}dialog p{line-height:1.5}.close{float:right;padding:4px 12px;font-size:24px}#share-card{display:block;width:100%;max-width:360px;margin:20px auto;border:1px solid var(--line)}.result-actions{display:flex;gap:8px;flex-wrap:wrap}.result-actions button{flex:1;font-size:14px}footer{max-width:1400px;margin:15px auto;padding:15px 30px;font-size:11px;color:#a99176;text-align:center;line-height:1.8}footer span{display:block}.drag-ghost{position:fixed;width:130px;height:130px;object-fit:contain;pointer-events:none;z-index:1000;filter:drop-shadow(0 0 12px #ffc459);transform:translate(-50%,-50%)}@media(max-width:850px){.opening{padding:25px;gap:20px}.intro-stage{min-height:450px}.intro h2{font-size:30px}.game{padding:15px}.game-layout{grid-template-columns:1fr 1fr;gap:12px}.closet{padding:15px;min-height:550px}.stage{min-height:550px}.speech{top:auto;bottom:0;font-size:14px;max-width:100%;text-align:center}.piece img{height:105px}.closet-title h2{font-size:35px}nav button{font-size:12px;padding:7px 3px}}@media(max-width:560px){.opening{display:flex;flex-direction:column;padding:25px 22px}.intro-stage{min-height:0;width:80%;height:350px;order:-1}.intro-doll{height:350px;width:auto}.opening .halo{width:130px;top:5%}.intro h1{font-size:48px;margin:10px 0}.intro h2{font-size:28px}.intro p{font-size:14px}.intro .eyebrow{font-size:10px}.game-header{align-items:flex-start}.wordmark{font-size:23px}.game-header span{font-size:10px;max-width:160px;text-align:right}.game-layout{display:flex;flex-direction:column}.stage{min-height:0;height:53vh}.doll{height:100%;width:auto;aspect-ratio:1024/1736}.stage .halo{width:145px;top:4%}.speech{left:5px;bottom:8px;max-width:95px;font-size:12px;text-align:left}.closet{min-height:0;max-height:none;padding:15px}.closet-title h2{font-size:32px}.pieces{max-height:360px}.piece img{height:125px}nav{justify-content:space-between}nav button{font-size:14px}.help{margin-bottom:10px}}
.intro-stage{overflow:hidden;border-radius:45% 45% 10% 10%}.intro-doll{mix-blend-mode:lighten;mask-image:linear-gradient(to bottom,#000 85%,transparent 100%)}.eyebrow,.previous,.game-header span,.help,.piece span,.closet-actions button,footer{font-size:14px}.piece span{min-height:38px}.piece:active{cursor:grabbing}.piece{cursor:grab}@media(max-width:560px){.intro .eyebrow,.game-header span,.speech{font-size:14px}.intro-stage{width:100%;height:390px}.intro-doll{height:390px}.game-header span{max-width:180px}}
.stage .doll .halo{top:6%;width:66%;max-width:none;z-index:0}.doll .base{z-index:0}
.opening{max-width:1400px;grid-template-columns:1fr 1.15fr;gap:20px;padding-top:20px;padding-bottom:20px}.intro-stage{overflow:visible;border-radius:0}.intro-doll{mix-blend-mode:normal;opacity:1;max-height:94vh;width:115%;mask-image:linear-gradient(to right,transparent,#000 24%,#000 76%,transparent)}.piece,.piece:active{cursor:pointer}.service{border-top:1px solid var(--line);margin-top:26px;padding-top:14px;max-width:490px}.service .eyebrow{margin:0 0 8px;color:var(--gold)}.service strong,.service span,.service small{display:block;line-height:1.6}.service strong{font-size:18px;color:var(--gold)}.service small{font-size:14px;color:#d4bda1}.ticket-button{display:inline-block;margin-top:12px;font-size:16px}.author-credit{font-size:16px;color:var(--gold);line-height:1.6;margin:0 0 14px}@media(max-width:560px){.intro-stage{height:470px;width:100%}.intro-doll{height:470px;width:auto;max-width:100%;max-height:none}.opening{padding:20px 22px}.service strong{font-size:17px}}
.intro .show-logo{display:block;width:100%;max-width:500px;height:auto}.intro h1{margin:22px 0 16px;line-height:0}.intro .show-logo{mix-blend-mode:lighten}
.speech{max-width:210px;font-size:18px;line-height:1.45;padding:12px;border-left:1px solid var(--line);background:#1003028c;border-radius:0 10px 10px 0}@media(max-width:850px){.speech{position:relative;top:auto;bottom:auto;left:auto;max-width:none;width:100%;font-size:16px;margin:12px 0}.stage{flex-direction:column}.doll{flex-shrink:0}}@media(max-width:560px){.stage{height:auto}.doll{height:53vh;width:auto}.speech{font-size:16px;text-align:center}}
.author-credit{font-size:12px;color:#a99176;line-height:1.5;margin:0 0 10px}.author-credit strong{font-weight:normal}
.wordmark{line-height:0;flex-shrink:0}.wordmark img{display:block;width:205px;height:auto;mix-blend-mode:lighten}@media(max-width:560px){.wordmark img{width:150px}}

.result-actions button[hidden]{display:none!important}

.result-actions button:disabled{opacity:.5;cursor:not-allowed}

/* The fitting room keeps the doll and clothing visible together. */
body:has(#game:not([hidden])){height:100dvh;min-height:0;overflow:hidden}
body:has(#game:not([hidden])) footer{display:none}
.game:not([hidden]){height:100dvh;max-width:1600px;padding:12px 24px;display:flex;flex-direction:column;overflow:hidden}
.game-header{flex:0 0 auto;margin-bottom:10px}
.game-layout{flex:1;min-height:0;grid-template-columns:minmax(0,1fr) minmax(350px,.85fr);gap:24px;overflow:hidden}
.stage{min-height:0;height:100%;flex-direction:column;justify-content:flex-start;overflow:hidden}
.doll{flex:1 1 auto;min-height:0;height:calc(100% - 100px);width:auto;max-width:100%;aspect-ratio:1024/1736}
.speech{position:relative;left:auto;top:auto;bottom:auto;flex:0 0 auto;max-width:520px;width:100%;margin:8px 0 0;padding:10px 14px;font-size:clamp(14px,1.4vw,19px);line-height:1.35;text-align:center;border-left:0;background:#1003028c;border-radius:10px}
.closet{height:100%;min-height:0;max-height:none;padding:14px 18px;overflow:hidden}
.closet-title{padding-bottom:8px;flex-shrink:0}.closet-title h2{font-size:36px}
.closet nav{margin-top:8px;flex-shrink:0}.closet .help{margin:7px 0;font-size:12px;flex-shrink:0}
.pieces{flex:1;min-height:0;max-height:none;grid-template-columns:repeat(3,minmax(0,1fr));overflow-y:auto;overscroll-behavior:contain}
.piece{padding:7px}.piece img{height:clamp(75px,15vh,140px)}.piece span{font-size:12px;min-height:30px}
.closet-actions{flex:0 0 auto;padding-top:10px}
@media(max-width:850px){
.game:not([hidden]){padding:8px 10px}.game-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:10px}
.closet{padding:10px}.closet-title h2{font-size:28px}.closet-title span{font-size:12px}
.pieces{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.piece img{height:85px}
.closet nav button{font-size:12px;padding:7px 4px}.speech{font-size:14px}
}
@media(max-width:560px){
.game-header{align-items:center;gap:8px;margin-bottom:6px}.wordmark img{width:105px}.game-header span{font-size:10px;max-width:190px}
.game-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:6px}
.stage{height:100%;min-height:0}.doll{height:calc(100% - 120px);width:100%;flex:1;object-fit:contain}
.doll img{object-fit:contain}.speech{font-size:12px;padding:8px 5px;line-height:1.35;margin-top:6px}
.closet{padding:8px 6px;border-radius:13px}.closet-title h2{font-size:24px}.closet-title span{font-size:10px}
.closet nav{gap:2px;margin-top:5px;justify-content:flex-start}.closet nav button{font-size:11px;padding:6px 3px}
.closet .help{font-size:10px;line-height:1.3;margin:6px 0}.pieces{gap:5px;padding:1px}.piece{padding:4px;border-radius:8px}.piece img{height:65px}.piece span{font-size:10px;min-height:27px;margin-top:3px}
.closet-actions{gap:5px;padding-top:7px}.closet-actions button{padding:8px 4px;font-size:10px}.closet-actions .gold{font-size:13px}
}
@media(max-height:500px){.game-header .wordmark img{width:110px}.closet-title h2{font-size:24px}.closet nav{margin-top:3px}.closet nav button{padding:4px}.closet .help{margin:4px 0}.piece img{height:65px}.speech{font-size:12px;padding:6px}.closet-actions button{padding:6px}.closet-actions{padding-top:5px}}
@media(max-width:560px){.stage{justify-content:center}.doll{flex:0 0 auto;width:100%;height:auto;aspect-ratio:1024/1736}.doll img{object-fit:fill}}
/* Jacobine takes priority over the miniature wardrobe. */
.game-layout{grid-template-columns:minmax(0,1.7fr) minmax(290px,.7fr);gap:16px}
.game-header .wordmark img{width:135px}.game-header{margin-bottom:6px}
.piece span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;min-height:0}
.piece{padding:5px}.piece img{height:clamp(55px,10vh,90px)}
.closet-title h2{font-size:28px}.closet nav button{font-size:12px}.closet .help{font-size:11px}
.speech{font-size:15px;padding:7px 12px;max-width:640px}
.doll{height:calc(100% - 65px)}
@media(max-width:850px){.game-layout{grid-template-columns:minmax(0,1.5fr) minmax(180px,.7fr);gap:8px}.pieces{grid-template-columns:repeat(2,minmax(0,1fr))}.piece img{height:70px}}
@media(max-width:560px){
.game:not([hidden]){padding:7px 6px}.game-layout{grid-template-columns:minmax(0,1.8fr) minmax(112px,1fr);gap:5px}
.game-header .wordmark img{width:95px}.game-header span{font-size:9px}
.closet{padding:7px 4px}.closet-title{flex-wrap:wrap;gap:3px}.closet-title h2{font-size:20px}.closet-title span{font-size:9px}
.closet nav{gap:0}.closet nav button{font-size:10px;padding:6px 2px}.closet .help{font-size:9px}
.pieces{grid-template-columns:1fr;gap:5px}.piece img{height:65px}.piece{padding:3px;min-height:44px}
.stage{justify-content:center}.doll{width:100%;height:auto;flex:0 0 auto}.speech{font-size:11px;padding:6px 4px;margin-top:5px}
.closet-actions{gap:4px}.closet-actions button{flex-basis:100%;font-size:9px;padding:7px 3px}.closet-actions .gold{font-size:11px}
}
.pieces{grid-auto-rows:max-content}.piece{flex-shrink:0}
/* As novas peças usam o canvas completo como miniatura até a arte individual do ícone. */
.piece.october img{object-fit:cover}
.piece.october.blusa img{object-position:center 33%}
.piece.october.saia img{object-position:center 63%}
.opening-logos{grid-column:1/-1;justify-self:center;width:min(100%,920px);margin:-32px auto 12px}.opening-logos img{display:block;width:100%;height:auto}@media(max-width:560px){.opening-logos{order:3;margin:0 auto 8px;width:100%}}
