:root{--navy:#102b42;--ink:#37231b;--gold:#e5b761;--cream:#fff1cf;--blue:#0865aa;--green:#0e8154;--wood:#322019;color-scheme:dark;font-family:Georgia,'Noto Serif Tamil',serif}*{box-sizing:border-box}body{margin:0;min-width:300px;background:#120f0d;color:var(--cream)}button,select,input{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #83dcff;outline-offset:4px}a{color:#b4e5ff}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.page{max-width:1100px;margin:auto;min-height:100dvh;background:linear-gradient(90deg,#1d1510bb,#17263b66),url('assets/courtyard.webp?v=4') center top/cover fixed}.topbar{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:12px 18px;background:linear-gradient(#173a55,#0b2030);border-bottom:2px solid var(--gold);box-shadow:0 6px 20px #0007}.brand{font-size:14px;text-decoration:none;color:#ffe1a0;letter-spacing:.03em}.tools{display:flex;align-items:center;gap:8px}.tiny{padding:8px 11px;font-size:13px;border:1px solid #b99256;border-radius:8px;color:#fff2d4;background:#102d46}.tiny.active{background:#1d815e}.hero{text-align:center;padding:32px 20px 15px;text-shadow:0 3px 6px #000}.hero h1{font-size:clamp(28px,5vw,56px);margin:5px 0;color:#ffdf93;text-transform:uppercase;letter-spacing:.03em}.hero .sub{font-size:clamp(15px,2.8vw,22px);margin:10px 0}.hero p{max-width:600px;margin:14px auto;line-height:1.6}.menu{max-width:750px;margin:auto;padding:15px 20px 35px}.panel{background:linear-gradient(120deg,#1a3348ef,#102133f5);border:1px solid #d0a158;border-radius:16px;padding:20px;box-shadow:0 12px 32px #0008}.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:15px}.mode{color:var(--cream);text-align:left;min-height:90px;padding:17px;background:linear-gradient(#154f74,#0c2c46);border:1px solid #75b0c6;border-radius:12px;box-shadow:inset 0 1px 2px #fff5,0 5px 0 #061a29}.mode.active{border:2px solid #ffdc83;background:linear-gradient(#217451,#124732)}.mode strong{font-size:18px;display:block;margin-bottom:8px}.mode span{font-family:Arial,sans-serif;font-size:13px;line-height:1.5;display:block}.difficulties{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.difficulty{padding:12px 7px;border:1px solid #977841;border-radius:10px;color:#e8d7b7;background:#142b3d}.difficulty.active{background:linear-gradient(#ca791b,#8e3c08);border-color:#ffdc83;box-shadow:inset 0 1px 1px #fff6}.difficulty strong{display:block}.difficulty small{display:block;font-family:Arial,sans-serif;font-size:11px;line-height:1.5;margin-top:7px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:11px 22px;border:2px solid #d5b05f;border-radius:12px;color:white;text-decoration:none;background:linear-gradient(#1681bc 0%,#065583 48%,#02385d 52%,#09658e 100%);box-shadow:inset 0 2px 3px #e4f5ff80,0 5px 0 #031c2b,0 8px 12px #0005;font-weight:bold;font-size:16px;text-shadow:0 2px 2px #0006}.btn.green{background:linear-gradient(#2fad6a,#087544 48%,#035437 52%,#16825c);box-shadow:inset 0 2px 3px #d3ffdc80,0 5px 0 #022a1a,0 8px 12px #0005}.btn.gold{background:linear-gradient(#dda745,#a85a15 50%,#7b3608 52%,#a86720);box-shadow:inset 0 2px 3px #fff0b680,0 5px 0 #38200a}.btn:active{transform:translateY(3px);box-shadow:inset 0 2px 3px #fff5,0 2px 0 #031c2b}.wide{width:100%;margin-top:18px}.fineprint{font:12px/1.7 Arial,sans-serif;color:#ddcab0;text-align:center;margin-top:20px}.map-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 16px}.map-heading h2{font-size:24px}.level-list{display:grid;grid-template-columns:1fr 1fr;gap:13px}.level-card{display:grid;grid-template-columns:52px 1fr;gap:12px;text-align:left;padding:15px;border:1px solid #ab874c;border-radius:12px;color:var(--cream);background:linear-gradient(120deg,#183e57ee,#09243aee);min-height:104px;box-shadow:0 5px 0 #051825}.level-card.locked{opacity:.68;background:#211e19e6}.level-number{width:48px;height:48px;align-self:center;display:grid;place-items:center;border-radius:50%;border:2px solid #e9bd6f;background:linear-gradient(#b07529,#623506);box-shadow:inset 0 2px 4px #fff5;font-size:24px;font-weight:bold}.level-card strong{display:block;font-size:16px;line-height:1.45}.level-card small{font:11px/1.7 Arial,sans-serif;display:block;color:#c6dccd}.stars{color:#ffcf67;letter-spacing:4px;font-size:18px;margin-top:5px}.stars .empty{color:#7c827f}.map-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.workshop{max-width:1000px;margin:auto;background:#1d1712;min-height:100dvh}.work-header{background:linear-gradient(#17364c,#0c2131);border-bottom:2px solid #d2a761;padding:10px 15px}.work-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.work-title h1{font-size:18px;margin:0;color:#f2ce89;line-height:1.4}.stats{display:flex;gap:15px;align-items:center;flex-wrap:wrap;font:13px Arial,sans-serif;padding-top:10px}.hearts{color:#ff6c78;font-size:22px;letter-spacing:4px;text-shadow:0 2px 5px #000}.timer{display:flex;align-items:center;gap:6px;border:1px solid #cbaa65;border-radius:7px;padding:5px 10px;background:#071b29;color:#ffe0a6}.timer.urgent{color:#ff8f82;animation:pulse 1s infinite}.progress{height:4px;background:#24485d;margin-top:9px}.progress span{height:100%;display:block;background:linear-gradient(90deg,#dc9d37,#ffde85);transition:width .3s}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start}.scene-wrap{padding:14px;background:#1b1613}.scene{position:relative;aspect-ratio:2/3;width:100%;overflow:hidden;border:1px solid #b58d4e;border-radius:10px;background:url('assets/courtyard.webp?v=4') center/100% 100%;box-shadow:0 10px 25px #0008}.scene.holy,.scene.most{background-image:url('assets/interior.webp?v=4')}.scene.most:before{content:'';position:absolute;inset:0;background:linear-gradient(#17324422,#02162444)}.scene-badge{position:absolute;left:10px;top:10px;border:1px solid #cea864;border-radius:6px;background:#0b263bdc;padding:6px 10px;font-size:12px;color:#ffe0a8;z-index:2}.compass{position:absolute;right:10px;top:10px;background:#0b263be0;border:1px solid #b69a6c;border-radius:6px;padding:7px 10px;font:11px/1.5 Arial,sans-serif;color:#ffe3a4;z-index:2}.zone{position:absolute;transform:translate(-50%,-50%);width:33%;height:15%;min-height:60px;border:2px dashed #f8dea7b0;border-radius:50%;background:#ffce6a10;color:white;z-index:2;display:grid;place-items:center;padding:0;text-shadow:0 2px 4px #000;transition:background .2s,border .2s}.zone span{font:11px/1.4 Arial,sans-serif;max-width:95%;background:#173048b8;border-radius:5px;padding:4px 6px}.zone:hover,.zone:focus-visible,.zone.hover{border-color:#ffffbb;background:#ffdb7430;box-shadow:0 0 25px #ffce6780}.zone.filled{border-color:#d9b77060;background:transparent}.scene.hard .zone{border-color:transparent;background:transparent}.scene.hard .zone:after{content:'+';font-size:23px;color:#fff8;text-shadow:0 2px 5px #000}.scene.hard .zone.filled:after{display:none}.scene.hard .zone:hover{border:2px dashed #ebc26e66;background:#ffffff09}.placed{position:absolute;left:50%;top:50%;transform:translate(-50%,-60%);width:95%;height:165%;object-fit:contain;filter:drop-shadow(8px 13px 5px #35221088);pointer-events:none;animation:settle .45s both}.zone .water-ring{position:absolute;inset:15% 30%;border:1px solid #89d9ff88;border-radius:50%;animation:ripple 2s infinite;pointer-events:none}.side{padding:14px 14px 20px}.objective{background:linear-gradient(120deg,#ffe8b9,#e7c388);border:1px solid #c4974d;border-radius:10px;color:#3a2516;padding:17px;margin-bottom:12px;box-shadow:inset 0 0 22px #9c5b1925,0 4px 10px #0005}.objective small{font:11px Arial,sans-serif;color:#785128;display:block;margin-bottom:8px;text-transform:uppercase;letter-spacing:.08em}.objective h2{font-size:18px;line-height:1.5;margin:0}.instruction{font:12px/1.55 Arial,sans-serif;color:#d4ccba;margin:11px 0}.inventory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px;background:linear-gradient(115deg,#50321c,#211811);border:1px solid #b18143;border-radius:12px;box-shadow:inset 0 0 30px #0006}.item{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:104px;padding:7px 4px;color:#ffeac7;background:linear-gradient(#603c2266,#1d171466);border:1px solid #956e40;border-radius:9px;position:relative}.item img{height:70px;max-width:95%;object-fit:contain;filter:drop-shadow(3px 5px 3px #0008);pointer-events:none}.item span{font:12px/1.4 Arial,sans-serif;text-align:center;overflow-wrap:anywhere;margin-top:5px}.item:hover{background:#8c622344}.item.selected{border:2px solid #a5ebff;background:#06476888;box-shadow:0 0 14px #52c5e755}.item.used{opacity:.45}.item.selected:after{content:'✓';position:absolute;right:4px;top:3px;color:#a5ebff;font:bold 18px Arial}.item.no-art{min-height:64px}.item.no-art span{font-size:14px}.hard-inventory .item img{height:75px}.hard-inventory .item.hide-label span{display:none}.action-row{display:flex;gap:10px;margin-top:14px}.action-row .btn{flex:1;font-size:14px;padding:10px}.selected-line{min-height:22px;font:12px/1.5 Arial,sans-serif;color:#ace3f1;margin:9px 0}.nonplace{display:grid;align-content:center;justify-items:center;gap:20px;padding:25px 20px;height:100%;background:linear-gradient(#102a4266,#120a03aa);position:relative;z-index:1}.feature-art{width:65%;height:40%;max-height:260px;object-fit:contain;filter:drop-shadow(9px 20px 8px #0008)}.assembly{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;max-width:100%;background:#14283ddd;border:1px solid #ab8656;padding:14px;border-radius:12px}.assembly span{border:1px solid #d5b26f;padding:10px;background:#6c4228;border-radius:7px;font:12px Arial,sans-serif}.assembly .blank{color:#b1a58f;border-style:dashed;background:transparent}.workbench-label{background:#0c2338df;border:1px solid #b69055;padding:10px 15px;border-radius:8px;font:14px/1.5 Arial,sans-serif;text-align:center}.meter{background:#102b40ef;border:1px solid #c9a26b;padding:18px;border-radius:12px;width:100%;color:#ffe3ad}.number-value{font:bold 44px Georgia;display:block;text-align:center;color:#ffe1a0}.counter{display:flex;align-items:center;justify-content:center;gap:14px}.counter button{background:#175579;color:white;border:1px solid #c3a467;width:46px;height:46px;border-radius:9px;font-size:26px}.count-unit{text-align:center;font:12px Arial,sans-serif;margin:7px 0}.measure-fields{display:grid;gap:9px;padding:10px;background:#20364ac9;border:1px solid #c2a66a;border-radius:10px}.measure-row{display:grid;grid-template-columns:1fr auto 48px auto;gap:8px;align-items:center;font:13px Arial,sans-serif}.measure-row button{width:36px;height:36px;border:1px solid #c2a66a;border-radius:5px;background:#13557a;color:white;font-size:20px}.measure-row output{text-align:center;font-size:18px}.match-targets{display:grid;gap:10px;width:100%;padding:12px;background:#132a3ce8;border:1px solid #b08b53;border-radius:10px}.match-target{min-height:70px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#ffe0ad;background:#142d43;border:1px dashed #c89e5d;border-radius:9px;padding:10px;text-align:left;font:13px/1.4 Arial,sans-serif}.match-target img{width:52px;height:52px;object-fit:contain}.match-target .assigned{font-size:12px;color:#a7e9fd}.match-target.filled{border-style:solid;background:#174c59}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#030c14bf;display:grid;place-items:center;padding:20px;backdrop-filter:blur(6px);overflow-y:auto}.modal{max-width:530px;width:100%;max-height:90dvh;overflow-y:auto;background:linear-gradient(#193e59,#0e2335);border:2px solid #cda960;border-radius:18px;padding:25px;color:#fff0d3;box-shadow:0 25px 70px #000c;text-align:center}.modal h2{font-size:26px;margin:5px 0 14px;color:#ffdc95;line-height:1.4}.modal p{font:15px/1.75 Arial,sans-serif;margin:12px 0}.modal .reference{font-size:12px;color:#9bd2ec}.modal-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:20px}.modal img{height:140px;max-width:80%;object-fit:contain;filter:drop-shadow(5px 8px 5px #0006)}.lesson-kind{font:12px Arial;color:#b7d8e5;margin-bottom:13px}.modal .stars{font-size:38px;letter-spacing:10px}.reward-chest{display:block;margin:18px auto 10px;width:130px;height:100px;border:3px solid #edc578;border-radius:15px 15px 8px 8px;background:linear-gradient(#d09939 0%,#73400d 28%,#deac50 31%,#b87e28 37%,#66370c 40%,#a76720 90%);color:#fff0bd;font-size:40px;box-shadow:inset 0 0 12px #3b160c,0 10px 15px #0008;animation:float 2s infinite}.reward-chest.open{animation:burst .6s both}.coin-fly{position:fixed;z-index:200;color:#ffde78;font:bold 24px Georgia;pointer-events:none;animation:coinfly 1s forwards}.journal-entry{text-align:left;border-bottom:1px solid #bb9b6340;padding:14px 0}.journal-entry p{font-size:13px}.journal-entry a{font-size:12px}.map-legend{font:13px/1.6 Arial;color:#d6d9ce}.drag-ghost{position:fixed;z-index:150;pointer-events:none;width:90px;height:90px;object-fit:contain;filter:drop-shadow(7px 12px 5px #0009);transform:translate(-50%,-50%)}.bonus-cloud{position:absolute;top:15%;left:25%;width:50%;height:90px;background:radial-gradient(ellipse,#fffc 10%,#f2f1e2cc 45%,transparent 70%);filter:blur(5px);animation:float 3s infinite;pointer-events:none}.bonus-cloud.lifting{animation:lift 4s infinite}.bonus-context{background:#07243ae8;padding:15px;border:1px solid #ddb77b;border-radius:12px;width:100%;font:16px/1.7 Arial;align-self:end}.bonus-controls{display:flex;gap:10px;width:100%}.bonus-controls button{flex:1}.collection-footer{padding:15px;text-align:center;font:12px/1.8 Arial;background:#081a29b8}html[lang=ta] .hero h1{text-transform:none;font-size:clamp(27px,4.5vw,43px);letter-spacing:0}html[lang=ta] .objective h2{font-size:16px;line-height:1.8}html[lang=ta] button,html[lang=ta] .modal p{line-height:1.7}@keyframes settle{from{opacity:0;transform:translate(-50%,-90%) scale(.8)}to{opacity:1;transform:translate(-50%,-60%) scale(1)}}@keyframes float{50%{transform:translateY(-6px)}}@keyframes ripple{from{transform:scale(.6);opacity:.9}to{transform:scale(1.5);opacity:0}}@keyframes burst{50%{transform:scale(1.2) rotate(-6deg)}to{transform:scale(.8);opacity:.5}}@keyframes coinfly{to{transform:translate(80px,-230px) scale(.5);opacity:0}}@keyframes pulse{50%{opacity:.6}}@keyframes lift{50%{transform:translateY(-70px);opacity:.7}}@media(max-width:700px){.workspace{grid-template-columns:1fr}.scene-wrap{padding:10px 12px}.scene{aspect-ratio:4/5;background-size:100% 100%;max-height:none}.side{padding:0 12px 22px}.inventory{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:9px}.item{min-height:96px}.item img{height:59px}.item span{font-size:11px}.objective h2{font-size:17px}.work-title h1{font-size:15px}.stats{gap:10px}.nonplace{padding:20px}.feature-art{max-height:180px}.topbar{padding:10px 12px}.brand{font-size:12px}.menu{padding:12px 14px 25px}.hero{padding:22px 15px 10px}.panel{padding:15px}.level-card{padding:12px;gap:8px;grid-template-columns:38px 1fr;min-height:110px}.level-number{width:36px;height:36px;font-size:20px}.level-card strong{font-size:14px}.level-card small{font-size:10px}.mode{padding:12px}.mode strong{font-size:15px}.mode span{font-size:12px}.difficulty small{font-size:10px}.btn{font-size:14px}.modal{padding:21px 17px}.modal h2{font-size:23px}.modal p{font-size:14px}.zone{min-height:65px}.zone span{font-size:10px}.scene-badge{font-size:10px}.measure-row{font-size:12px}.match-target{font-size:12px}.map-heading h2{font-size:21px}.tools{gap:5px}.tiny{padding:8px;font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(min-width:701px){.scene{max-height:720px}.side{position:sticky;top:8px}.objective{padding:18px}.workshop{padding-bottom:15px}}

.mission-objective{margin:14px 14px 0}.item[data-item]{touch-action:pan-y}.item[data-item]:active{touch-action:none}

.inventory.draggable .item{touch-action:none}.scene.most{background-image:url('assets/most.webp?v=4')}

.zone.external{border-radius:9px;background:url('assets/courtyard.webp?v=4') center/cover;border:2px solid #d5b05f!important;width:30%;height:18%;box-shadow:0 4px 8px #0008}.zone.external span{align-self:end}.zone.external .placed{width:65%;height:85%;transform:translate(-50%,-55%)}

.packed-art{min-height:120px;width:95%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}.packed-art img{width:40%;max-height:160px;object-fit:contain;filter:drop-shadow(6px 12px 5px #0007);animation:float 2.5s ease-in-out infinite}.packed-art img:nth-child(even){animation-delay:.4s}
/* Asset cards show the whole cutout and never enlarge on hover. */
.item img{width:100%;height:76px;max-width:100%;object-fit:contain;padding:3px;flex-shrink:0}.item{overflow:visible;min-height:116px}.item span{display:block!important;font-size:12px;line-height:1.5;min-height:18px}.inventory.dense{grid-template-columns:repeat(3,minmax(0,1fr))}.inventory.dense .item{min-height:98px}.inventory.dense .item img{height:58px}.inventory.dense .item span{font-size:11px}.bundle-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px;border:1px solid #b18143;border-radius:12px;background:linear-gradient(115deg,#50321c,#211811)}.bundle-card{padding:12px 6px;color:#ffeac7;border:1px solid #b78a4b;border-radius:10px;background:linear-gradient(#65402666,#25180f);min-width:0;box-shadow:inset 0 1px 3px #ffffff12}.bundle-card.selected{border:2px solid #9ae0ff;background:linear-gradient(#155677,#0b3044)}.bundle-images{display:flex;justify-content:center;align-items:center;gap:3px;min-height:65px}.bundle-images img{width:31%;height:58px;object-fit:contain}.bundle-card span{font:11px/1.6 Arial,sans-serif;display:block;margin-top:8px}.bundle-card:hover{border-color:#f4d088}.scene{background-size:100% 100%}.feature-art{object-fit:contain;max-width:100%;padding:8px}.packed-art img{padding:8px;animation:settle-small .35s ease-out both}.scene.hard .zone:after{font-size:20px}.side .action-row{flex-wrap:wrap}.action-row .btn{min-width:110px}.modal img{object-fit:contain;padding:8px}.workshop .collection-footer{margin-top:10px}@keyframes settle-small{from{opacity:0;transform:translateY(-15px) scale(.9)}to{opacity:1;transform:none}}@media(min-width:701px){.scene{max-height:none;height:min(690px,calc(100dvh - 210px));min-height:480px;aspect-ratio:auto}.scene-wrap{display:flex;justify-content:center}.scene{max-width:calc(690px * 2 / 3)}.workspace{grid-template-columns:minmax(0,1fr) 365px}.nonplace{gap:16px}.packed-art img{max-height:145px}.side{padding-top:14px}}@media(max-width:700px){.inventory.dense{grid-template-columns:repeat(4,minmax(0,1fr))}.inventory.dense .item img{height:52px}.inventory.dense .item{min-height:93px;padding:5px 3px}.item img{height:65px}.scene{height:auto;aspect-ratio:2/3;max-height:none}.bundle-grid{grid-template-columns:1fr 1fr}.bundle-images img{height:63px}.bundle-card span{font-size:12px}.bundle-card{padding:11px 7px}.action-row .btn{font-size:13px}.item span{font-size:11px}}@media(prefers-reduced-motion:reduce){.packed-art img{animation:none}}

@media(min-width:701px){.scene{width:min(100%,clamp(320px,calc((100dvh - 210px) * 2 / 3),460px));height:auto;min-height:0;aspect-ratio:2/3}.scene-wrap{align-items:start}.workspace{align-items:start}}

.reward-chest{background:transparent url('assets/reward-closed.webp?v=4') center/contain no-repeat;border:0;border-radius:0;box-shadow:none;width:180px;height:145px;color:transparent;font-size:0;filter:drop-shadow(8px 13px 7px #0008)}.reward-chest.open{background-image:url('assets/reward-open.webp?v=4')}.coin-fly{width:30px;height:30px;object-fit:contain}

html[lang=ta],html[lang=ta] .item span,html[lang=ta] .bundle-card span{font-family:'Nirmala UI',Latha,'Noto Sans Tamil',sans-serif}html[lang=ta] .bundle-card span{line-height:1.8}
/* Workshop revision: persistent build, illustrated journey and reward stage. */
[hidden]{display:none!important}.scene-wrap{flex-direction:column;align-items:center;gap:12px}.scene{background-image:var(--court-image,url('assets/courtyard.webp?v=5'));background-size:cover}.scene.holy{background-image:var(--holy-image,url('assets/interior.webp?v=5'))}.scene.most{background-image:var(--most-image,url('assets/most.webp?v=5'))}.scene.construction{background-image:var(--ground-image,url('assets/build-ground.webp?v=5'))}.page{background-image:linear-gradient(90deg,#1d151088,#17263b44),var(--court-image,url('assets/courtyard.webp?v=5'))}.scene-wrap .scene{width:100%;max-width:490px;aspect-ratio:2/3;height:auto}.workspace{grid-template-columns:minmax(0,1fr) 370px}.workshop{max-width:1120px;background:linear-gradient(120deg,#34200e,#151821)}.side{background:linear-gradient(120deg,#4b2c19,#211810);border-left:1px solid #c59a54;margin:14px 14px 0 0;border-radius:15px;box-shadow:inset 0 1px 2px #ffdf9360,0 10px 25px #0006;padding:18px}.inventory,.bundle-grid{background:linear-gradient(130deg,#71441f99,#24160f);border:0;box-shadow:none;padding:4px}.item{background:linear-gradient(#85582a66,#38221888);border-color:#c1985a}.item img{height:85px}.mission-objective{background:linear-gradient(115deg,#fff0cd,#e6c18a);border:2px solid #c39445}.instruction{color:#fff1d2;font-weight:bold}.build-strip{width:100%;display:flex;justify-content:center;gap:9px;padding:8px 10px;background:linear-gradient(#33281b,#18130d);border:1px solid #b18440;border-radius:30px;max-width:490px}.build-step{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid #b5945d;color:#b8a17b;font:12px Arial}.build-step.current{background:#18769e;color:white;box-shadow:0 0 8px #73d4ff88}.build-step.done{background:linear-gradient(#3fc080,#087345);border-color:#a8efb2;color:white;font-weight:bold}.scene-badge{background:#28190ee6;border-color:#eecb7d;color:#ffedc5;max-width:90%;font-size:11px}.site-marker{position:absolute;top:50%;left:10%;right:10%;text-align:center;border:1px dashed #f8da91;padding:18px;color:#ffe4aa;background:#39241466;border-radius:10px}.frame-structure{position:absolute;left:8%;top:15%;width:84%;height:58%;object-fit:contain;filter:drop-shadow(12px 20px 7px #5b321b99)}.court-structure{position:absolute;inset:9% 3% 6%;width:94%;height:85%;object-fit:contain;filter:drop-shadow(9px 15px 6px #643d2299)}.gold-glint{position:absolute;inset:17% 12% 38%;background:linear-gradient(120deg,transparent 40%,#ffe88955 49%,transparent 58%);background-size:300% 100%;animation:gild 5s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen}.socket-work{position:absolute;bottom:9%;left:13%;width:74%;height:23%;background:#38250edb;border:1px solid #d3b886;border-radius:10px;text-align:center;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px}.socket-work img{height:95%;width:60%;object-fit:contain}.socket-work span{font:12px/1.7 Arial;width:38%}.socket-work.installed{background:#133829dd;border-color:#72d996}.sequence-tray{position:absolute;bottom:5%;left:5%;width:90%;display:flex;gap:7px}.sequence-tray span{flex:1;min-width:0;text-align:center;font:11px/1.7 Arial;padding:9px 5px;border:1px solid #e9bf76;border-radius:8px;background:#362112ed}.just-built{animation:construction-arrival 1.5s cubic-bezier(.2,.8,.3,1) both}.dimension-lines{position:absolute;inset:0;pointer-events:none;z-index:5}.dimension-lines span{position:absolute;background:#122c3deb;border:1px solid #edca76;color:#fff1bc;padding:7px 10px;font:12px/1.5 Arial;box-shadow:0 3px 8px #0005;border-radius:6px}.dimension-length{top:78%;left:9%;right:9%;text-align:center;border-top:2px solid #ffdf85!important}.dimension-width{top:10%;left:18%;right:18%;text-align:center}.dimension-height{left:3%;top:43%;max-width:42%}.dimension-lines.confirmed span{border-color:#a1e4a5;background:#12432eea}.built-object{position:absolute;transform:translate(-50%,-60%);width:31%;height:25%;filter:drop-shadow(8px 12px 4px #47281180)}.built-object img{width:100%;height:100%;object-fit:contain;transform:scale(var(--sx,1),var(--sy,1));transition:transform .5s;transform-origin:50% 85%}.built-object[data-built-object=lamp]{height:36%;width:30%}.built-object[data-built-object=ark]{height:32%;width:72%}.built-object.just-built{animation:object-arrival 1.4s both}.materials-work{position:absolute;inset:18% 7% 9%;display:flex;justify-content:center;align-content:center;align-items:center;flex-wrap:wrap;gap:10px;padding:18px;border-radius:14px;background:linear-gradient(#20170c22,#3d2519aa);border:1px solid #ffd48966}.materials-work img{width:29%;height:25%;max-height:145px;object-fit:contain;filter:drop-shadow(6px 10px 5px #0008);animation:material-arrival .45s both}.hero-object{position:absolute;inset:16% 10% 15%;display:grid;place-items:center}.hero-object img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(8px 16px 7px #0008)}.garment-work{position:absolute;inset:16% 12% 8%;filter:drop-shadow(8px 14px 5px #0009)}.garment-work img{position:absolute;object-fit:contain}.robe-main{inset:0;width:100%;height:100%}.breast-main{left:32%;top:14%;width:36%;height:28%}.shoulder-main{left:13%;top:4%;width:74%;height:17%}.hem-main{left:18%;bottom:3%;width:64%;height:17%}.ark-details{position:absolute;bottom:6%;left:7%;width:86%;display:flex;justify-content:center;gap:10px;padding:10px;background:#2a1b10bb;border:1px solid #e2ba70;border-radius:12px}.ark-details img{width:29%;height:65px;object-fit:contain}.bread-supply{position:absolute;left:69%;top:58%;width:15%;height:12%}.bread-supply img{width:100%;height:100%;object-fit:contain}.gate-dimension{position:absolute;bottom:9%;left:22%;right:22%;padding:9px;text-align:center;border:1px solid #efcd7c;background:#163e36eb;border-radius:6px}.build-feedback{padding:20px 10px;text-align:center;background:linear-gradient(#194a37cc,#0c2c26);border:1px solid #90d896;border-radius:14px;animation:material-arrival .35s}.build-feedback h2{color:#bdf8ba;font-size:23px}.build-feedback p{font:14px/1.8 Arial}.reference{color:#afd6e5;font:12px/1.6 Arial}.success-seal{width:58px;height:58px;display:grid;place-items:center;margin:0 auto;background:linear-gradient(#4cc985,#066b41);border:2px solid #e7e7a2;border-radius:50%;font-size:34px;box-shadow:0 0 25px #61d58c55}.construction-sparkles{position:absolute;inset:15% 10% 20%;pointer-events:none;overflow:hidden}.construction-sparkles i{position:absolute;left:calc(7% + mod(var(--i),5)*20%);top:calc(15% + mod(var(--i),4)*20%);font-size:25px;color:#fff0b6;font-style:normal;animation:build-spark 1.7s both;animation-delay:calc(var(--i)*60ms)}.construction-sparkles i:nth-child(3n){left:25%;top:30%}.construction-sparkles i:nth-child(3n+1){left:70%;top:60%}.construction-sparkles i:nth-child(3n+2){left:50%;top:15%}.water-effect{position:absolute;left:25%;top:21%;width:50%;height:20%;transform:rotateX(50deg)}.water-effect i{position:absolute;inset:0;border:2px solid #b9edff;border-radius:50%;animation:ripple 2s infinite}.water-effect i:nth-child(2){animation-delay:.6s}.water-effect i:nth-child(3){animation-delay:1.2s}.lamp-flames{position:absolute;inset:0;pointer-events:none}.lamp-flames i{position:absolute;left:calc(12% + var(--i)*12%);top:calc(12% + abs(3 - var(--i))*8%);width:7px;height:14px;background:radial-gradient(ellipse at 50% 70%,#fff4b8 15%,#ffaf27 50%,transparent 70%);border-radius:50%;filter:drop-shadow(0 0 5px #ffb12a);animation:flame .45s infinite alternate;animation-delay:calc(var(--i)*-.12s)}.incense-smoke{position:absolute;left:40%;top:-45%;height:70%;width:35%}.incense-smoke i{position:absolute;bottom:0;left:20%;width:30%;height:70%;border-left:3px solid #f8e5c577;border-radius:50%;filter:blur(3px);animation:smoke 3s infinite}.incense-smoke i:nth-child(2){animation-delay:1s}.incense-smoke i:nth-child(3){animation-delay:2s}.map-page .hero{padding:22px 14px 6px}.map-page .hero h1{font-size:32px}.map-page .menu{max-width:780px}.map-heading .timer img{width:24px;height:24px;object-fit:contain}.journey-map{position:relative;height:590px;border:2px solid #a57b3b;border-radius:22px;background:linear-gradient(#19243033,#3d271888),var(--ground-image,url('assets/build-ground.webp?v=5')) center/cover;box-shadow:inset 0 0 80px #43291566,0 20px 35px #0007;isolation:isolate}.journey-path{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.journey-path path{fill:none;stroke:#ffe3a599;stroke-width:1.8;stroke-dasharray:1.8 1.6;filter:drop-shadow(0 2px 1px #41240e)}.map-node{position:absolute;transform:translate(-50%,-50%);z-index:3;width:83px;height:87px;background:transparent;border:0;color:#fff9e6;padding:0;display:flex;align-items:center;flex-direction:column;justify-content:start}.node-number{width:64px;height:64px;display:grid;place-items:center;font:bold 28px Georgia;border:3px solid #ffd77c;border-radius:50%;background:radial-gradient(circle at 35% 20%,#55c8ff,#0d83b5 55%,#084e78);box-shadow:inset 0 3px 3px #e0faff99,0 6px 0 #18394b,0 10px 14px #0009;text-shadow:0 2px 3px #0007;transition:transform .2s}.map-node.won .node-number{background:radial-gradient(circle at 35% 20%,#84d668,#1b914e 55%,#085f3b)}.map-node.locked .node-number{background:radial-gradient(circle at 35% 20%,#807261,#554839 55%,#332b22);font-size:22px;border-color:#bfaa7d}.map-node .stars{font-size:17px;letter-spacing:1px;margin-top:8px;text-shadow:0 2px 3px #000}.map-node:hover .node-number,.map-node:focus-visible .node-number{transform:translateY(-4px);filter:brightness(1.15)}.node-title{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);width:180px;background:#122939f5;border:1px solid #ffd28c;border-radius:8px;padding:9px;font:12px/1.6 Arial;visibility:hidden;pointer-events:none}.map-node:hover .node-title,.map-node:focus-visible .node-title{visibility:visible}.map-landmark{position:absolute;left:4%;top:7%;width:25%;height:25%;opacity:.9;pointer-events:none}.map-landmark img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(5px 9px 5px #0008)}.map-actions{justify-content:center}.reward-modal{max-width:860px;padding:0;background:linear-gradient(#1c4261,#102233);overflow:hidden;position:relative}.reward-screen{display:grid;grid-template-columns:45% 55%;position:relative;isolation:isolate}.reward-heading{grid-column:1/-1;padding:22px 20px 10px;background:linear-gradient(#593517,#302117);border-bottom:1px solid #c49a59}.reward-heading h2{margin:6px 0;font-size:29px}.reward-heading p{margin:0;font-size:14px}.reward-heading small{color:#f4d18a}.reward-preview{padding:18px 0 18px 18px;align-self:center}.reward-preview .scene{width:100%;max-width:none;height:auto;aspect-ratio:2/3}.reward-preview .build-strip{margin-top:8px}.reward-preview .scene .scene-badge{font-size:9px;padding:4px}.reward-preview .dimension-lines span{font-size:9px;padding:4px}.reward-preview .scene img{max-width:none;padding:0;filter:none}.reward-preview .built-object img,.reward-preview .frame-structure,.reward-preview .court-structure,.reward-preview .hero-object img{height:100%}.reward-preview .materials-work img{height:25%}.reward-content{position:relative;padding:20px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.reward-content .stars{font-size:48px;margin:0 0 10px;letter-spacing:6px;z-index:2}.reward-content .stars span{display:inline-block;animation:star-arrival .75s both}.reward-content .stars span:nth-child(2){animation-delay:.2s}.reward-content .stars span:nth-child(3){animation-delay:.4s}.reward-rays{position:absolute;top:0;left:-20%;width:140%;aspect-ratio:1;background:repeating-conic-gradient(from 0deg,#ffd27618 0deg 12deg,transparent 12deg 24deg);border-radius:50%;mask-image:radial-gradient(#000,transparent 70%);animation:reward-spin 35s linear infinite;z-index:-1}.reward-chest{width:240px;height:190px;margin:8px 0;background:none;filter:none;animation:chest-idle 2s infinite;z-index:2}.reward-chest img,.reward-illustration{width:100%;height:190px!important;max-width:100%!important;padding:0!important;object-fit:contain;filter:drop-shadow(8px 12px 7px #0008)!important}.reward-chest.opening{animation:chest-open 1.5s both;opacity:1}.reward-copy{position:relative;z-index:2;min-height:65px}.reward-copy p{color:#ffdf8a;font-weight:bold;font-size:18px}.reward-copy small{color:#f6ddb3;font:12px/1.7 Arial}.earned-coins{display:flex;justify-content:center;align-items:center;gap:10px;font:bold 35px Georgia;color:#ffe58d;margin:8px 0}.earned-coins img{width:45px;height:45px!important;padding:0!important}.reward-primary{width:100%}.reward-links{display:flex;justify-content:center;gap:12px;margin-top:18px}.reward-links .btn{font-size:12px;min-height:38px;padding:8px 12px}.reward-content>.wide{font-size:12px}.coin-fly{animation:reward-coin-flight 1.65s cubic-bezier(.2,.7,.3,1) forwards;width:35px;height:35px}.match-targets{padding:8px;margin-bottom:14px;background:#1b3545}.match-target{font-size:12px;min-height:63px}.match-target img{width:46px;height:46px}.match-target .assigned{max-width:32%;font-size:10px}
@keyframes construction-arrival{0%{opacity:0;transform:translateY(-80px) scale(.75)}65%{opacity:1;transform:translateY(7px) scale(1.02)}100%{opacity:1;transform:none}}@keyframes object-arrival{0%{opacity:.2;transform:translate(-50%,-115%) scale(.5)}75%{opacity:1;transform:translate(-50%,-55%) scale(1.08)}100%{transform:translate(-50%,-60%)}}@keyframes material-arrival{from{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:none}}@keyframes gild{0%,60%{background-position:130%}100%{background-position:-30%}}@keyframes build-spark{0%{opacity:0;transform:scale(.1) rotate(0)}30%{opacity:1}100%{opacity:0;transform:scale(1.6) rotate(90deg)}}@keyframes flame{from{transform:scale(.85,1.1) rotate(-4deg);opacity:.8}to{transform:scale(1.1,.85) rotate(6deg);opacity:1}}@keyframes smoke{0%{opacity:0;transform:translateY(15px) scale(.5)}30%{opacity:.8}100%{opacity:0;transform:translateY(-40px) scale(1.4)}}@keyframes star-arrival{0%{opacity:0;transform:translateY(-45px) scale(2) rotate(-25deg)}70%{transform:scale(.9)}100%{opacity:1;transform:none}}@keyframes reward-spin{to{transform:rotate(360deg)}}@keyframes chest-idle{0%,80%,100%{transform:none}85%{transform:rotate(-4deg)}90%{transform:rotate(4deg)}95%{transform:translateY(-5px)}}@keyframes chest-open{0%{transform:scale(1)}35%{transform:scale(.9) rotate(-6deg)}65%{transform:scale(1.2);filter:drop-shadow(0 0 20px #ffd770)}100%{transform:scale(1)}}@keyframes reward-coin-flight{0%{opacity:0;transform:translate(0,0) scale(.4)}15%{opacity:1}70%{opacity:1;transform:translate(var(--dx),var(--dy)) rotateY(360deg) scale(1)}100%{opacity:0;transform:translate(calc(var(--dx)*1.15),calc(var(--dy) + 100px)) scale(.5)}}
@media(max-width:700px){.workspace{grid-template-columns:1fr}.scene-wrap{display:flex;padding:10px 12px}.scene-wrap .scene{max-width:370px;aspect-ratio:4/5;min-height:0}.side{position:static;margin:0 12px 18px;padding:14px;border-left:1px solid #c59a54}.inventory{grid-template-columns:repeat(3,minmax(0,1fr))}.inventory.dense{grid-template-columns:repeat(4,minmax(0,1fr))}.map-page .hero h1{font-size:25px}.journey-map{height:560px}.node-number{width:58px;height:58px;font-size:25px}.map-node{width:74px;height:78px}.map-heading h2{font-size:17px}.map-heading{gap:8px}.map-heading .timer{font-size:13px}.map-node .stars{font-size:15px}.reward-screen{grid-template-columns:1fr}.reward-preview{padding:10px 16px 0}.reward-preview .scene{height:170px;aspect-ratio:auto;background-position:center 36%;border-radius:12px}.reward-preview .scene-badge,.reward-preview .build-strip,.reward-preview .dimension-lines,.reward-preview .socket-work{display:none}.reward-preview .court-structure{height:95%;inset:2% 15%;width:70%}.reward-preview .frame-structure{height:95%;top:1%;width:70%;left:15%}.reward-content{padding:12px 20px 22px}.reward-heading{padding:16px 15px 10px}.reward-heading h2{font-size:23px}.reward-content .stars{font-size:38px;margin-bottom:0}.reward-chest{width:180px;height:140px;margin:3px 0}.reward-chest img,.reward-illustration{height:140px!important}.reward-copy{min-height:50px}.reward-copy p{font-size:15px;margin:5px}.earned-coins{font-size:29px;margin:4px}.reward-primary .wide{margin-top:8px}.reward-links{margin-top:14px}.modal-backdrop:has(.reward-modal){padding:12px}.reward-modal{max-height:94dvh;overflow-y:auto}.dimension-lines span{font-size:11px}.socket-work span{font-size:11px}.scene .scene-badge{font-size:10px}.reward-preview .built-object{height:45%;width:25%}.reward-preview .built-object[data-built-object=ark]{width:70%;height:70%}.reward-preview .hero-object{inset:4% 20%}.reward-preview .garment-work{inset:5% 25%}.reward-preview .materials-work{inset:5% 10%;gap:4px;padding:8px}.reward-preview .materials-work img{height:46%;width:19%}.reward-preview .sequence-tray{display:none}.map-landmark{width:27%;height:20%}.match-targets{grid-template-columns:1fr 1fr}.match-target{flex-wrap:wrap;min-height:85px}.match-target .assigned{max-width:70%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.coin-fly{display:none}.construction-sparkles{display:none}}
.socket-assembly{position:absolute;left:6%;bottom:6%;width:88%;min-height:23%;padding:15px 9px 9px;border:1px solid #d5b976;border-radius:12px;background:linear-gradient(#312414ef,#4b321ceb);box-shadow:0 6px 15px #0005;text-align:center}.twenty-boards{display:grid;grid-template-columns:repeat(20,1fr);gap:1px;align-items:end;height:100px}.board-pair{height:100%;display:flex;flex-direction:column;justify-content:end;min-width:0}.mini-board{width:100%;height:88%;object-fit:fill;filter:drop-shadow(1px 2px 1px #0007)}.base-pair{display:flex;width:100%;height:12%;gap:1px;align-items:center;justify-content:center}.base-pair img{width:48%;height:100%;object-fit:fill}.empty-base{width:48%;height:80%;display:block;border:1px dashed #bba579}.installed .installed-socket{animation:material-arrival 1s both}.installed .board-pair:nth-child(2n) .installed-socket{animation-delay:.1s}.installed .board-pair:nth-child(3n) .installed-socket{animation-delay:.2s}.installed .board-pair:nth-child(4n) .installed-socket{animation-delay:.3s}.socket-assembly span{display:block;color:#ffdeb0;font:11px/1.6 Arial;margin-top:10px}.socket-assembly.installed{border-color:#8be0ad;background:linear-gradient(#193c2ded,#163425ed)}.extra-bases{display:flex;justify-content:center;gap:2px;flex-wrap:wrap;padding:6px}.extra-bases img{width:12px;height:9px;object-fit:contain}.board-preview{position:absolute;left:36%;top:20%;width:28%;height:51%;z-index:4;filter:drop-shadow(9px 13px 6px #442718aa)}.board-preview img{height:100%;width:100%;object-fit:contain;transform:scale(var(--board-w),var(--board-h));transform-origin:bottom center;transition:transform .45s}.scene:has(.board-preview)>.frame-structure{opacity:.28}.chapter-keepsake{display:flex;align-items:center;justify-content:center;gap:9px;margin:6px 0 12px;border:1px solid #c09c59;border-radius:12px;background:linear-gradient(#4a311cc9,#231b11);padding:8px 12px;color:#ffdf95;font:12px/1.6 Arial;z-index:2}.chapter-keepsake img{height:45px!important;width:45px;max-width:45px!important;padding:0!important;object-fit:contain}.collection-coins{display:flex;justify-content:center;align-items:center;gap:8px;font:17px Arial;color:#ffe4a2}.collection-coins img{width:33px;height:33px;object-fit:contain}.collection-page .hero h1{font-size:34px}.keepsake-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.keepsake{border:1px solid #d8b46f;padding:14px 10px;border-radius:17px;background:linear-gradient(#5e381deb,#211a10f5);color:#fff1ca;min-width:0;display:flex;align-items:center;flex-direction:column;box-shadow:inset 0 2px 3px #ffe7ab33,0 7px 0 #1d160a,0 12px 20px #0006}.keepsake-medal{display:grid;place-items:center;width:104px;height:104px;border-radius:50%;border:3px solid #d9b765;background:radial-gradient(#cda250,#674319);box-shadow:inset 0 0 16px #37200888,0 3px 10px #0006;margin-bottom:13px}.keepsake-medal img{width:84%;height:84%;object-fit:contain;filter:drop-shadow(4px 6px 2px #0008)}.keepsake strong{font-size:14px;line-height:1.6;min-height:44px;display:flex;align-items:center;text-align:center}.keepsake small{font:11px/1.7 Arial;margin-top:7px}.keepsake.unearned{opacity:.7;background:linear-gradient(#3a3229eb,#171410)}.keepsake.unearned .keepsake-medal{background:radial-gradient(#6f6253,#2f2922);border-color:#8a785b}.keepsake.earned:hover{border-color:#ffe19a;filter:brightness(1.12)}.reward-links{flex-wrap:wrap}.reward-preview .socket-assembly{display:none}
@media(max-width:700px){.twenty-boards{height:75px}.socket-assembly{bottom:8%;padding:10px 6px 8px}.keepsake-grid{grid-template-columns:repeat(2,1fr);gap:14px}.collection-page .hero h1{font-size:26px}.keepsake-medal{width:96px;height:96px}.chapter-keepsake{margin:4px 0 8px;padding:5px 9px;font-size:11px}.chapter-keepsake img{height:35px!important;width:35px}.reward-content{padding-top:8px}.reward-chest{height:120px}.reward-chest img,.reward-illustration{height:120px!important}.reward-preview .scene{height:140px}.reward-links{gap:8px}}
.zone.external{background-image:var(--court-image,url('assets/courtyard.webp?v=5'))}.lamp-flames i:nth-child(1),.lamp-flames i:nth-child(7){top:36%}.lamp-flames i:nth-child(2),.lamp-flames i:nth-child(6){top:28%}.lamp-flames i:nth-child(3),.lamp-flames i:nth-child(5){top:20%}.lamp-flames i:nth-child(4){top:12%}.reward-preview .scene{background-size:100% 100%}.scene-wrap{display:flex}.reward-preview .frame-structure{height:58%}.reward-preview .court-structure{height:85%}.reward-preview .hero-object img{height:100%}.reward-preview .board-preview img{height:100%}.reward-preview .garment-work img{height:auto}.reward-preview .garment-work .robe-main{height:100%}.reward-preview .garment-work .breast-main{height:28%}.reward-preview .garment-work .shoulder-main{height:17%}.reward-preview .garment-work .hem-main{height:17%}
@media(min-width:701px){.scene-wrap .scene{max-width:min(490px,calc((100dvh - 240px)*2/3));min-width:260px}.side{position:static}}
@media(max-width:700px){.scene-wrap .scene{max-width:340px;aspect-ratio:2/3;background-size:100% 100%}.reward-preview .frame-structure{height:95%}.reward-preview .court-structure{height:95%}.reward-preview .board-preview{height:75%;top:12%}}
.materials-work{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);align-content:stretch;justify-items:center}.materials-work img{width:100%;height:100%;max-height:none;min-height:0}.reward-preview .materials-work img{width:100%;height:100%;max-height:none}.reward-preview .materials-work{grid-template-columns:repeat(4,minmax(0,1fr))}

.boot-message{min-height:100dvh;display:grid;place-items:center;color:#ffe2a0;font:20px Georgia;background:radial-gradient(ellipse at center,#4b311c,#101922);text-align:center;padding:25px}
/* v6: a grounded camp, bright dimensional controls and complete illustrated rewards. */
:root{--blue:#126fe0;--green:#139748;--cream:#fff5df;--gold:#f8c650}
body{background:#12344a}.page{background-image:linear-gradient(110deg,#113b53d9,#264c4abc),var(--ground-image);background-size:cover}.topbar{background:linear-gradient(#1b95c0,#126592);border-color:#72d7ed}.brand{color:#fff8da;font-weight:bold}.panel{background:linear-gradient(135deg,#075d88f5,#143d68f5);border:2px solid #5bd2ec}.btn{border-color:#88dafa;background:linear-gradient(#42b8ff,#137cde 47%,#0961b5 51%,#1785dd);box-shadow:inset 0 3px 2px #ffffff80,0 5px 0 #06467e,0 9px 15px #0004}.btn.green{border-color:#96efb3;background:linear-gradient(#60d87c,#20a953 47%,#168a40 51%,#36b85e);box-shadow:inset 0 3px 2px #fff8,0 5px 0 #0e6030,0 9px 15px #0004}.btn.gold{border-color:#d3abff;background:linear-gradient(#ae72e9,#8242be 47%,#663399 51%,#9756ce);box-shadow:inset 0 3px 2px #fff7,0 5px 0 #472270,0 9px 15px #0004}.tiny{border-color:#86ccff;background:linear-gradient(#328ede,#125497);box-shadow:inset 0 2px 2px #fff5,0 3px 0 #0b355e}.difficulty[data-difficulty=easy]{background:linear-gradient(#289c6c,#136047)}.difficulty[data-difficulty=medium]{background:linear-gradient(#267fcc,#15498e)}.difficulty[data-difficulty=hard]{background:linear-gradient(#b54173,#762453)}.difficulty.active{border:3px solid #fff1a1;box-shadow:0 0 0 2px #fff5,inset 0 3px 3px #fff5}.workshop{background:linear-gradient(120deg,#174960,#193b4b)}.work-header{background:linear-gradient(#1d719b,#164c78)}.side{background:linear-gradient(130deg,#fff7e7,#ead3ad);color:#352618;border:2px solid #a96e38}.instruction,.selected-line{color:#46321e}.item{background:linear-gradient(#fffdf0,#e9d9b8);border:2px solid #bc9563;color:#342414;box-shadow:inset 0 2px 2px #fff,0 4px 0 #9d7546}.item.selected{background:linear-gradient(#d9f7ff,#8ad5f0);border-color:#197fc0}.bundle-grid{background:transparent}.bundle-card{background:linear-gradient(#fff9e7,#e0c49b);color:#37271a;border:2px solid #aa804d;box-shadow:0 3px 0 #8c6438}.bundle-card.selected{background:linear-gradient(#d8f8ff,#7acbeb);border-color:#1587b9}.match-targets{background:#eddfc4}.match-target{color:#35251c;background:linear-gradient(#fff9ec,#e5d1ac);border-color:#ae804f}.build-feedback{color:#38291c}.build-feedback .reference{color:#77542c}.collection-footer{color:#ffebc8}.collection-footer a{color:#b4edff}
.stars{display:flex;justify-content:center;gap:3px;line-height:1}.stars span{display:inline-flex;width:28px;height:28px}.stars img{width:100%;height:100%;padding:0!important;object-fit:contain;filter:drop-shadow(0 2px 2px #3c220777)}.stars .empty img,.heart.empty{filter:brightness(.32) saturate(.35);opacity:.8}.heart-icons{display:inline-flex;gap:1px;vertical-align:middle}.heart-icons img{width:29px;height:29px;object-fit:contain;padding:0}.reward-content .stars span{width:48px;height:48px;animation:star-arrival .6s both}.reward-content .stars span:nth-child(2){animation-delay:.18s}.reward-content .stars span:nth-child(3){animation-delay:.36s}.hearts:has(.empty) .heart.empty:last-child{animation:heart-loss .5s}.hearts{display:inline-flex}.map-node .stars span{width:18px;height:18px}
.journey-map{height:auto;aspect-ratio:2/3;max-width:640px;margin:auto;background-image:var(--map-image);background-size:100% 100%;border:3px solid #b17b40;border-radius:20px;box-shadow:0 8px 18px #0005;overflow:hidden}.journey-path{display:none}.map-node{width:84px;height:88px;background:transparent;border:0;box-shadow:none;transform:translate(-50%,-15%);filter:none!important;opacity:1!important}.node-number{width:43px;height:38px;font:bold 23px Georgia;border:2px solid #d3a464;border-radius:7px;background:linear-gradient(#80572c,#4c3018);box-shadow:inset 0 2px 1px #efc99e88,0 3px 0 #362110,0 5px 5px #0007;color:#fff8d8;text-shadow:0 2px #241305;position:relative;margin:auto}.node-number:after{content:'';position:absolute;width:7px;height:11px;background:#583c20;top:100%;left:45%;box-shadow:2px 2px 2px #0006}.map-node.locked .node-number{background:linear-gradient(#6e675e,#49463f);color:#ece2c9;border-color:#aaa08d}.map-node.won .node-number{background:linear-gradient(#36ad6a,#15643f);border-color:#acefbc}.node-lock{display:none}.destination-state{position:absolute;right:5px;top:0;font-size:20px;filter:drop-shadow(1px 3px 2px #0009)}.map-node .stars{margin:12px auto 0;filter:drop-shadow(1px 2px 1px #0008)}.map-node .node-title{display:none}.map-node:focus-visible .node-title,.map-node:hover .node-title{display:block;position:absolute;z-index:8;bottom:105%;left:50%;transform:translateX(-50%);width:150px;background:#174b68;color:white;padding:7px;border-radius:8px;font:11px/1.5 Arial}.map-landmark{display:none}
.placed.draft{opacity:.55;filter:grayscale(.6) drop-shadow(0 0 3px white)}.draft-tag{position:absolute;bottom:0;left:0;right:0;font:10px/1.4 Arial;color:#fff;background:#264766db;border:1px dashed #d7ebff;border-radius:6px;z-index:3}.zone:has(.draft){border-style:dashed!important}.placed.installed{animation:material-arrival .6s}.chapter-keepsake{flex-direction:column;background:transparent;border:0;font:bold 17px/1.5 Arial;color:#fff0b8}.chapter-keepsake img{width:170px!important;height:170px!important;max-width:170px!important;animation:badge-reveal .75s both}.reward-content>.reward-illustration{display:none}.earned-coins{font-size:21px}.earned-coins img{width:26px;height:26px!important}.keepsake-medal{width:128px;height:128px;background:transparent!important;border:0!important;box-shadow:none}.keepsake-medal img{width:100%;height:100%}.master-collection{text-align:center;background:linear-gradient(120deg,#17587e,#3b2675);border:2px solid #a08be3;border-radius:18px;padding:20px;margin-bottom:24px}.master-collection img,.master-earned img{width:170px;height:170px;object-fit:contain}.master-earned{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border-radius:16px;background:#67429d77}.master-earned strong{font-size:17px}.master-collection.unearned img{width:90px;height:90px}.keepsake{background:linear-gradient(#206587,#164b68);border-color:#80cfe7}.keepsake.unearned{background:linear-gradient(#315568,#243f51)}
.covering-work{position:absolute;inset:14% 8% 9%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.covering-panel{width:80%;height:47%;object-fit:contain;filter:drop-shadow(4px 7px 5px #0006)}.covering-loops,.covering-clasps{width:35%;height:28%;object-fit:contain;animation:material-arrival .5s}.covering-finished{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.veil-posts{position:absolute;inset:18% 12% 16%;display:flex;justify-content:space-between;align-items:end}.veil-posts>div{display:flex;flex-direction:column;align-items:center;width:15%;height:100%;animation:material-arrival .8s}.veil-posts img:first-child{height:92%;width:100%;object-fit:fill}.veil-posts img:last-child{width:110%;height:8%;object-fit:contain}.garment-work .robe-main{object-fit:contain}.scene.construction:has(.covering-work){background-image:var(--ground-image)}
@keyframes heart-loss{0%{transform:scale(1.2) rotate(-12deg)}50%{transform:scale(.8) rotate(10deg)}100%{transform:none}}@keyframes badge-reveal{0%{opacity:0;transform:scale(.3) rotate(-25deg)}65%{opacity:1;transform:scale(1.1) rotate(4deg)}100%{transform:none}}
@media(max-width:700px){.journey-map{aspect-ratio:2/3;height:auto;min-height:520px}.map-node{width:66px;height:66px}.node-number{width:38px;height:34px;font-size:21px}.map-node .stars span{width:15px;height:15px}.destination-state{right:-2px;font-size:17px}.scene-wrap .scene{max-width:min(300px,calc(52dvh * 2 / 3));aspect-ratio:2/3;min-width:200px}.mission-objective{margin:10px 12px 0}.mission-objective h2{font-size:18px;line-height:1.6}.heart-icons img{width:24px;height:24px}.stats{flex-wrap:wrap;gap:8px;font-size:12px}.chapter-keepsake img{width:145px!important;height:145px!important;max-width:145px!important}.chapter-keepsake{font-size:15px}.keepsake-medal{width:112px;height:112px}.reward-preview .scene{width:100%;max-width:100%;height:auto;aspect-ratio:2/3;max-height:none}.reward-preview{display:none}.reward-content .stars span{width:42px;height:42px}.reward-modal{max-height:94dvh}.reward-content{padding-bottom:20px}.master-earned img{width:125px;height:125px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.map-node:not(.won):not(.locked) .node-number{border-color:#e8ff92;background:linear-gradient(#3bae69,#116638);box-shadow:0 0 0 3px #e9ff9a66,0 5px 0 #0a4426,0 7px 7px #0006}.chapter-0 .work-header{background:linear-gradient(#239276,#135b57)}.chapter-1 .work-header{background:linear-gradient(#b87837,#75411e)}.chapter-2 .work-header{background:linear-gradient(#b55830,#763821)}.chapter-3 .work-header{background:linear-gradient(#286fab,#203d7e)}.chapter-4 .work-header{background:linear-gradient(#8353b6,#4c337e)}.chapter-5 .work-header{background:linear-gradient(#b44978,#742a54)}.chapter-6 .work-header{background:linear-gradient(#277d78,#165355)}.chapter-7 .work-header{background:linear-gradient(#8052b8,#403b83)}.earned-clasps,.earned-panels{position:absolute;bottom:4%;left:7%;width:86%;display:grid;grid-template-columns:repeat(10,1fr);gap:2px;padding:8px;background:#173e55e6;border:1px solid #aad4e8;border-radius:10px;z-index:4}.earned-clasps img{width:100%;height:17px;object-fit:contain}.earned-clasps span,.earned-panels span{grid-column:1/-1;text-align:center;color:#fff3bb;font:bold 12px Arial}.earned-panels{top:9%;bottom:auto;grid-template-columns:repeat(6,1fr)}.earned-panels img{width:100%;height:33px;object-fit:contain}
.earned-clasp{width:10px;height:14px;margin:auto;display:block;border:3px solid #f7d36e;border-right-color:transparent;border-radius:3px;box-shadow:inset 1px 1px 1px #674311,1px 2px 1px #031b2b;transform:rotate(-8deg)}.earned-panels img{filter:sepia(1) brightness(.48) saturate(.8)}
.measure-row,.counter{color:#382819}.measure-row output,.number-value{color:#382819;text-shadow:none}.measure-row button,.counter button{background:linear-gradient(#46b9ef,#167ab5);border:2px solid #a1e0ff;box-shadow:inset 0 2px 2px #fff7,0 3px 0 #145478;color:white}.count-unit{color:#65452a}
/* Screenshot corrections: explicit surface colours and floor contact anchors. */
.build-feedback{background:linear-gradient(#fffdf2,#f2e5c8);color:#302417;border:2px solid #36a663;text-shadow:none}.build-feedback h2{color:#155832}.build-feedback p{color:#302417}.build-feedback .reference{color:#665027}.build-feedback .success-seal{color:#07562a}.side .meter{background:linear-gradient(#fffdf3,#eedfc1);border:2px solid #ae8755;color:#302417}.side .meter .number-value,.side .counter output{color:#302417;text-shadow:none}.side .measure-row output{background:#fffaf0;color:#302417}.side .count-unit{color:#58401f}.side .match-target .assigned{color:#302417}.side .instruction{color:#302417}
/* xy coordinates indicate where the feet touch the floor, not image centres. */
.built-object{transform:translate(-50%,-100%);filter:none;isolation:isolate}.built-object>img{position:relative;z-index:1;object-fit:contain;object-position:center bottom;transform:translateY(9%) scale(var(--sx,1),var(--sy,1));filter:drop-shadow(1px 2px 1px #472d1844);transform-origin:50% 91%}.built-object:before{content:'';position:absolute;left:18%;right:18%;height:7%;bottom:-1%;background:radial-gradient(ellipse,#3b291b88,transparent 70%);border-radius:50%;z-index:0}.built-object[data-built-object=altar]{width:30%;height:23%}.built-object[data-built-object=laver]{width:27%;height:23%}.built-object[data-built-object=incense]{width:29%;height:24%}.built-object[data-built-object=table]{width:29%;height:23%}.built-object.just-built{animation:floor-arrival .7s both}
.zone{transform:translate(-50%,-100%);width:31%;height:24%;min-height:0;isolation:isolate}.zone .placed{left:0;top:auto;bottom:-9%;width:100%;height:100%;transform:none;object-position:center bottom;filter:drop-shadow(1px 2px 1px #472d1844);animation:none}.zone.filled:before{content:'';position:absolute;left:18%;right:18%;bottom:-1%;height:8%;background:radial-gradient(ellipse,#3b291b88,transparent 70%);border-radius:50%;z-index:-1}.zone.filled{border-color:transparent}.zone:has(.draft){border:2px dashed #dfebea!important}.zone .draft-tag{bottom:-22%;padding:2px}.zone .placed.installed{animation:floor-sprite-arrival .6s}.zone.external{height:18%;width:30%}.zone.external .placed{width:65%;left:17.5%;bottom:0;transform:none}
@keyframes floor-arrival{from{opacity:0;transform:translate(-50%,-115%)}to{opacity:1;transform:translate(-50%,-100%)}}@keyframes floor-sprite-arrival{from{opacity:0;translate:0 -12px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important}}
/* Garment details occupy the actual shoulders; completed hem uses the sewn artwork. */
.garment-work .shoulder-setting{position:absolute;top:5%;width:18%;height:12%;overflow:hidden;left:auto}.garment-work .shoulder-left{left:25%}.garment-work .shoulder-right{right:25%}.garment-work .shoulder-setting img{width:200%;height:100%;max-width:none;object-fit:fill;left:0;top:0}.garment-work .shoulder-right img{left:-100%}.garment-work .hem-confirmed{display:none}.garment-finished .breast-main{top:16%;height:23%;left:35%;width:30%}.garment-finished .shoulder-setting{top:3%;height:12%}.garment-finished .shoulder-left{left:25%}.garment-finished .shoulder-right{right:25%}
.work-header{border:0;border-bottom:3px solid #64bad1;border-radius:18px;margin:12px;padding:16px 18px;box-shadow:0 7px 18px #06233266}.work-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px}.work-title h1{text-align:center;color:#fff8dc;font-size:21px;line-height:1.6;text-shadow:0 2px 2px #123245}.work-title .tiny{min-height:46px;border:2px solid #b5ecff;border-radius:13px;padding:10px 14px;background:linear-gradient(#5ac8ff,#298bdb 48%,#1768b6 52%,#328edf);box-shadow:inset 0 3px 2px #ffffff80,0 4px 0 #124b7c;font:bold 14px Arial;color:#fff}.work-title .pause-control{width:48px;background:linear-gradient(#b187ec,#7850b7);border-color:#d8c3ff;box-shadow:inset 0 3px 2px #ffffff66,0 4px 0 #4b3276}.work-title .language-control{background:linear-gradient(#54caa3,#198a68);border-color:#b8f3d8;box-shadow:inset 0 3px 2px #ffffff66,0 4px 0 #115942}.work-title .nav-return{display:flex;align-items:center;gap:8px}.stats{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;padding-top:15px}.stats>span{min-height:38px;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff40;border-radius:11px;padding:5px 12px;background:#082e4d88;color:#fff8e9;font:13px/1.5 Arial}.stats .timer{font-weight:bold;background:#fff1c9;color:#413019;border:2px solid #d5af60}.stats .hearts{background:#51304e66}.work-header .progress{margin-top:13px;height:8px;border-radius:9px;background:#052b4666}.work-header .progress span{background:linear-gradient(90deg,#8be9c2,#ffe69a);border-radius:9px}.work-title .tiny:active{translate:0 3px}
@media(max-width:700px){.work-header{margin:8px;padding:12px}.work-title{gap:8px;grid-template-columns:auto 1fr auto}.work-title h1{font-size:15px}.work-title .tiny{padding:8px;min-height:40px;font-size:11px}.work-title .pause-control{width:37px}.work-title .tools{gap:5px}.stats{grid-template-columns:1fr 1fr;gap:7px;padding-top:12px}.stats>span{padding:4px 6px;font-size:12px;min-height:34px}.garment-work{inset:16% 7% 8%}}
.garment-finished .breast-main{top:7%;height:22%;left:35%;width:30%}
/* Full assemblies replace piles of inventory icons. */
.veil-posts{inset:20% 15% 14%;align-items:end;gap:7%;z-index:2}.veil-posts>div{width:18%;height:100%;display:block;position:relative}.veil-posts .integrated-pillar{width:100%!important;height:100%!important;object-fit:fill;filter:drop-shadow(2px 3px 1px #37231044)}.gate-confirmed{position:absolute;left:13%;right:13%;top:66%;height:20%;border-bottom:3px solid #fff5b5;box-shadow:0 4px 4px #422a1644;pointer-events:none}.gate-dimension{position:absolute;bottom:5%;left:22%;width:56%;color:#fff6d2;background:#175b49ef;border:1px solid #b2ddbe;border-radius:9px;padding:9px;text-align:center}.covering-assembly{position:absolute;inset:18% 7% 19%;display:grid;place-items:center}.covering-assembly img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(3px 7px 3px #42241466)}.covering-assembly.stage-3{inset:13% 4% 17%}.assembly-facts{position:absolute;bottom:3%;left:6%;right:6%;display:flex;flex-wrap:wrap;justify-content:center;gap:5px;background:#fff7e9ef;padding:9px;border:1px solid #aa8244;border-radius:11px;color:#342515;font:11px/1.5 Arial}.assembly-facts span{background:#e8dabd;padding:3px 7px;border-radius:6px}.covering-assembly:has(+.dimension-lines){inset:23% 7% 20%}
/* One centred reward, with its controls in normal flow; build is optional. */
.reward-modal{max-width:580px;width:min(580px,100%);max-height:94dvh;overflow-y:auto;padding:0;border:2px solid #82d9ec;border-radius:24px;background:#174a69}.reward-screen.celebration{display:block;background:radial-gradient(ellipse at 50% 35%,#327e9e,#153e60 70%);overflow:visible}.celebration .reward-heading{padding:18px 20px 12px;background:linear-gradient(#21698c,#174e72);border-bottom:1px solid #7bbfd6}.celebration .reward-heading h2{font-size:25px;line-height:1.5;margin:6px 0;color:#fff0ad}.celebration .reward-heading p{font:13px/1.7 Arial;margin:4px 0;color:#e3f5fc}.celebration .reward-content{display:flex;flex-direction:column;align-items:center;padding:16px 24px 20px;gap:10px;background:none;overflow:visible}.celebration .stars{margin:0}.celebration .reward-badge{margin:0;padding:0;background:none;border:0;gap:6px;width:100%;color:#fff4cc;text-align:center}.celebration .reward-badge img{width:220px!important;height:220px!important;max-width:220px!important;padding:0!important;filter:drop-shadow(0 6px 8px #071d3480)}.celebration .reward-badge strong{font-size:16px;line-height:1.6}.celebration .reward-copy{min-height:0;text-align:center}.celebration .earned-coins{margin:0;font-size:22px}.celebration .reward-copy small{font-size:12px}.celebration .reward-primary{width:100%}.celebration .reward-primary .wide{margin-top:0}.celebration .reward-links{margin:0;gap:10px;width:100%}.celebration .reward-links .btn{flex:1;min-height:42px;font-size:13px}.celebration .completed-build{display:block;padding:0;width:100%;text-align:center;background:none;border:0}.celebration .completed-build summary{cursor:pointer;color:#cfedfb;font:12px/1.7 Arial;padding:10px}.celebration .completed-build:not([open]) .reward-build-detail{display:none}.celebration .reward-build-detail{padding:10px;background:#153449;border-radius:12px}.celebration .completed-build .scene{height:auto!important;aspect-ratio:2/3!important;max-width:310px;width:100%;margin:auto;background-size:100% 100%}.celebration .completed-build .build-strip{display:flex}.celebration .completed-build .scene-badge{display:block}.celebration .reward-chest{height:170px;width:220px;margin:5px 0}.celebration .reward-chest img{height:170px!important}.celebration .reward-badge.master-earned{background:none;padding:0}
@media(max-width:700px){.reward-modal{border-radius:18px}.celebration .reward-heading{padding:12px 14px 9px}.celebration .reward-heading h2{font-size:20px}.celebration .reward-content{padding:12px 16px 16px;gap:8px}.celebration .reward-badge img{width:165px!important;height:165px!important;max-width:165px!important}.celebration .reward-badge strong{font-size:14px}.celebration .stars span{width:35px;height:35px}.assembly-facts{font-size:10px;gap:3px;padding:6px}.celebration .reward-chest{height:140px;width:180px}.celebration .reward-chest img{height:140px!important}}

.assembly-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;color:#fff;background:#172c46dd;padding:5px;border-radius:8px;font-size:12px}
