@font-face{font-family:Grandstander;src:url(./grandstander-DXwuCW2_.ttf)}@font-face{font-family:Nunito;src:url(./nunito-63TK8RbS.ttf)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--ink);background:var(--paper);-webkit-user-select:none;user-select:none;overscroll-behavior:none;background-image:radial-gradient(#753e1c10 1px,#0000 1px);background-size:14px 14px;font:700 14px Nunito,sans-serif}button{color:var(--ink);border:2px solid var(--stitch);background:var(--card);cursor:pointer;touch-action:manipulation;border-radius:14px;min-height:44px;padding:8px 14px;font:800 14px Grandstander,sans-serif}button:hover{filter:brightness(1.04)}button:active{transform:translateY(2px)}button:disabled{opacity:.55;cursor:default}button:focus-visible{outline:3px solid var(--berry);outline-offset:2px}h1,h2,h3,b{font-family:Grandstander,sans-serif;font-weight:800}h2{margin:4px 0 12px;font-size:21px}h3{font-size:16px}small{color:var(--inkSub);font-size:12px;display:block}img{-o-object-fit:contain;object-fit:contain;pointer-events:none}button img{vertical-align:middle;width:28px;height:28px}.primary{background:var(--walnut);color:var(--card);border-color:var(--walnut)}.primary:hover{background:var(--ink)}[hidden]{display:none!important}main{grid-template-rows:52px minmax(0,1fr) 64px;grid-template-columns:230px minmax(300px,460px) minmax(280px,1fr);gap:14px 16px;max-width:1500px;height:100%;margin:auto;padding:14px 20px;display:grid}header{border-bottom:3px solid var(--walnut);background:var(--woodBar);grid-column:1/-1;justify-content:flex-end;align-items:center;gap:12px;height:64px;margin:-14px -20px 0;padding:7px 20px;display:flex}header:before{content:attr(data-title);color:var(--paper);margin-right:auto;font:800 21px Grandstander}.pill{border:2px dashed var(--stitch);background:var(--card);border-radius:25px;justify-content:center;align-items:center;gap:7px;min-width:85px;height:46px;padding:3px 12px;display:flex}.pill img{width:30px;height:30px}.pill span{font:800 18px Grandstander}.pill small{font:700 10px Nunito}.round{border-radius:50%;width:44px;padding:7px}.ribbon{background:var(--berry);color:var(--card);clip-path:polygon(0 0,100% 0,94% 50%,100% 100%,0 100%,6% 50%);text-align:center;min-width:70px;padding:8px 15px}progress{height:6px;accent-color:var(--honey);border:0;border-radius:4px;width:100%;display:block}#orders{scrollbar-width:thin;flex-direction:column;grid-area:2/1/4;gap:13px;display:flex;overflow-y:auto}#orders h2{margin:3px 0}.order{border:2px dashed var(--stitch);background:var(--card);border-radius:18px;gap:8px;min-height:150px;padding:12px;display:flex;position:relative}.ready{box-shadow:4px 4px 0 var(--honey);border:2.5px solid var(--walnut)!important}.avatar{border:2px solid var(--walnut);background:#ecd4ad;border-radius:50%;width:50px;height:55px}.order-body{flex:1;min-width:0}.story{background:var(--berry);color:var(--card);clip-path:polygon(0 0,100% 0,93% 50%,100% 100%,0 100%);padding:3px 5px;font:800 9px Grandstander;position:absolute;top:7px;right:6px}.needs{align-items:center;gap:6px;margin:6px 0;display:flex}.needs>span{position:relative}.item{width:42px;height:42px}.check{width:21px;height:21px}.needs .check{width:16px;height:16px;position:absolute;bottom:0;right:-3px}.order button{width:100%;padding:7px 4px;font-size:13px}.minor{background:0 0;border-style:dashed;font-size:11px}#board{flex-direction:column;grid-area:2/2/4;justify-content:center;min-height:0;display:flex;position:relative}#canvas{touch-action:none;align-self:center;width:100%;max-width:min(460px,77.7778dvh - 80.8889px)}canvas{touch-action:none;display:block}#hint{text-align:center;pointer-events:none;background:var(--card);width:100%;color:var(--walnut);border-radius:10px;font-size:13px;line-height:22px;position:absolute;bottom:4px;left:0}#hint:empty{display:none}#village{flex-direction:column;grid-area:2/3;gap:10px;min-height:0;display:flex}.scene{border:3px solid var(--walnut);background:#d7d9ac;border-radius:20px;flex-shrink:0;height:54%;min-height:180px;position:relative;overflow:hidden}.panorama{width:100%;height:100%;position:relative;overflow:hidden}.background{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.prop{background:0 0;border:0;min-height:0;padding:0;line-height:0;position:absolute;transform:translate(-50%,-50%)}.prop img{width:100%;height:auto}.prop:active{transform:translate(-50%,-50%)scale(.97)}.resident{width:13%;position:absolute;top:77%;transform:translate(-50%,-50%)}.resident img{width:100%}.scene h3{white-space:nowrap;background:var(--walnut);min-width:75%;margin:0;position:absolute;top:0;left:50%;transform:translate(-50%)}.scene-buttons{justify-content:space-between;display:flex;position:absolute;bottom:6px;left:8px;right:8px}.scene-buttons button{background:#fff8eae8;min-height:36px;padding:6px 10px;font-size:12px}.task-progress{align-items:center;gap:10px;display:flex}.task-progress progress{flex:1}.task-list{scrollbar-width:thin;min-height:0;padding:0 5px 6px 0;overflow:auto}.task{border:2px dashed var(--stitch);background:var(--card);border-radius:18px;align-items:center;gap:9px;min-height:76px;margin-bottom:10px;padding:10px;display:flex}.task>img{width:44px;height:44px}.task>div{flex:1;min-width:0}.task b{font-size:14px;display:block}.task button{max-width:100px;padding:6px 8px;font-size:12px}.task small{font-size:10px}#tools{grid-area:3/3;justify-content:space-around;gap:8px;display:flex}.tool{flex:1;padding:3px 8px}.tool img{width:32px;height:32px}.tool b{padding:3px}#tabs{display:none}#modal{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#38231399;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-card{background:var(--card);border:3px solid var(--walnut);border-radius:24px;width:min(580px,100%);max-height:90dvh;padding:24px;overflow:auto;box-shadow:7px 7px #6b381855}.modal-card>button{margin:6px 6px 0 0}.modal-card p{line-height:1.6}.close{float:right}.portrait{float:left;width:100px;height:120px;margin-right:16px}.dialogue{min-height:120px;font-size:18px}label{justify-content:space-between;align-items:center;gap:16px;min-height:50px;display:flex}input[type=range]{accent-color:var(--walnut);max-width:50%}.collection-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.collection-item{text-align:center}.collection-item img{width:100%;height:64px}.collection-item small{font-size:10px}.unknown img{filter:brightness(0);opacity:.25}.slot{height:70px;padding:4px}.styles{gap:8px;display:flex}.styles button{flex:1;min-width:0;padding:5px}.styles img{width:100%;height:100px;display:block}.selected{background:var(--honey);border-color:var(--walnut)}.map-card{text-align:left;align-items:center;gap:20px;width:100%;display:flex}.map-card img{width:100px;height:60px}.ad{color:var(--ink);background:#eee3cd}#toast{background:var(--walnut);color:var(--card);border:2px solid var(--honey);text-align:center;z-index:30;pointer-events:none;border-radius:18px;max-width:90%;padding:12px 20px;position:fixed;bottom:95px;left:50%;transform:translate(-50%)}#title{justify-content:center;align-items:center;height:100%;display:flex;position:relative;overflow:hidden}.title-art{position:absolute;inset:0}.title-art>img:first-child{-o-object-fit:cover;object-fit:cover;filter:brightness(.65);width:100%;height:100%}.title-art .logo{width:110px;height:110px;position:absolute;top:5%;left:50%;transform:translate(-50%)}.title-copy{border:3px solid var(--walnut);text-align:center;background:#fff8eae8;border-radius:28px;max-width:90%;padding:28px 40px;position:relative;box-shadow:8px 8px #6b381880}.title-copy h1{margin:10px;font-size:clamp(32px,6vw,62px)}.title-copy p{max-width:300px;margin:14px auto}.title-copy .primary{min-width:170px;margin-top:10px;font-size:22px}body.reduce *{scroll-behavior:auto!important;transition:none!important;animation:none!important}body[data-layout=tall] main{grid-template-rows:60px 112px minmax(0,1fr) 56px 76px;grid-template-columns:1fr;gap:5px;padding:0}body[data-layout=tall] header{height:60px;padding:6px max(8px, env(safe-area-inset-right)) 6px max(8px, env(safe-area-inset-left));background:0 0;border:0;grid-area:1/1;justify-content:space-between;gap:7px;margin:0}body[data-layout=tall] header:before{display:none}body[data-layout=tall] .pill{min-width:68px;height:43px;padding:2px 9px}body[data-layout=tall] #orders{grid-area:2/1;grid-template-rows:1fr 1fr;grid-template-columns:1fr 122px;gap:5px;padding:0 7px;display:grid;overflow:hidden}body[data-layout=tall] #orders h2{display:none}body[data-layout=tall] .order{border-radius:15px;gap:4px;min-height:0;padding:5px}body[data-layout=tall] .order:first-of-type{grid-row:1/3;align-items:center}body[data-layout=tall] .order:first-of-type .avatar{width:45px;height:52px}body[data-layout=tall] .order:not(:first-of-type) .avatar{width:26px;height:30px}body[data-layout=tall] .order:not(:first-of-type) b,body[data-layout=tall] .order:not(:first-of-type) .story{display:none}body[data-layout=tall] .order:not(:first-of-type) .needs{margin:0;position:absolute;top:0;left:32px}body[data-layout=tall] .order:not(:first-of-type) button{width:82px;min-height:20px;padding:2px;font-size:9px;position:absolute;bottom:1px;right:3px}body[data-layout=tall] .order button{min-height:34px}body[data-layout=tall] .needs{margin:2px}body[data-layout=tall] #board{grid-area:3/1;justify-content:center;padding:0 5px}body[data-layout=tall] #tools{grid-area:4/1;gap:14px;padding:0 8px}body[data-layout=tall] #tabs{background:var(--walnut);padding:8px 12px max(12px, env(safe-area-inset-bottom));clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%,0 12px);grid-area:5/1;justify-content:space-evenly;gap:8px;display:flex}body[data-layout=tall] #tabs button{color:var(--paper);background:0 0;border:0;flex:1;padding:3px;font-size:13px}body[data-layout=tall] #tabs img{width:23px;height:23px;margin:auto;display:block}body[data-layout=tall] #tabs .selected{background:var(--honey);color:var(--ink)}body[data-layout=tall] #village,body[data-layout=tall][data-view=village] #board,body[data-layout=tall][data-view=village] #orders{display:none}body[data-layout=tall][data-view=village] #village{grid-area:2/1/4;padding:0 10px;display:flex}body[data-layout=tall] .scene{height:55%;min-height:220px}body[data-layout=tall] #hint{font-size:12px;bottom:1px}body[data-layout=compact] main{grid-template-rows:44px minmax(0,1fr) 45px;grid-template-columns:minmax(230px,1fr) minmax(170px,1fr);gap:7px;padding:8px}body[data-layout=compact] header{background:0 0;border:0;height:44px;margin:0;padding:0}body[data-layout=compact] header:before{display:none}body[data-layout=compact] #board{grid-area:2/1/4}body[data-layout=compact] #canvas{max-width:calc(77.7778dvh - 54.4444px)}body[data-layout=compact] #orders{grid-area:2/2;gap:6px}body[data-layout=compact] #orders h2{display:none}body[data-layout=compact] .order{min-height:70px;padding:5px}body[data-layout=compact] .avatar{width:34px;height:40px}body[data-layout=compact] .item{width:28px;height:28px}body[data-layout=compact] .order .needs{margin:0;display:inline-flex}body[data-layout=compact] .order button{min-height:28px;padding:3px}body[data-layout=compact] #village{grid-area:2/2;display:none}body[data-layout=compact][data-view=village] #orders{display:none}body[data-layout=compact][data-view=village] #village{display:flex}body[data-layout=compact] .scene{min-height:120px}body[data-layout=compact] #tools{grid-area:3/2}body[data-layout=compact] .tool small{display:none}body[data-layout=compact] #tabs{z-index:4;gap:3px;width:44%;display:flex;position:fixed;bottom:7px;left:8px}body[data-layout=compact] #tabs button{flex:1;min-height:30px;padding:3px;font-size:10px}body[data-layout=compact] #tabs img{display:none}progress::-webkit-progress-bar{background:#dfc59c;border-radius:5px}progress::-webkit-progress-value{background:var(--honey);border-radius:5px}body[data-layout=tall] #orders .order{flex-direction:row}body[data-layout=tall] #orders .order:first-of-type{grid-column:1}.flying-star{z-index:25;pointer-events:none;width:32px;height:32px;position:fixed}.flying-star img{width:100%;height:100%}.scene{touch-action:pan-x}.panorama{touch-action:none}body[data-layout=tall] .order:not(:first-of-type) .item{width:36px;height:36px}body[data-layout=tall] .order:not(:first-of-type) button{opacity:0;width:100%;height:100%;font-size:14px;inset:0}body[data-layout=tall] .order:not(:first-of-type) .needs{top:5px}.task button,.order button{font-size:14px}.scene-buttons button{min-height:44px;font-size:14px}.scene-buttons{bottom:4px}.tool small{font-size:12px}.scene h3{font-size:15px}body[data-layout=tall] main{grid-template-rows:calc(60px + env(safe-area-inset-top,0px)) 112px minmax(0, 1fr) 56px calc(76px + max(0px, calc(env(safe-area-inset-bottom,0px) - 12px)))}body[data-layout=tall] header{height:calc(60px + env(safe-area-inset-top,0px));padding-top:calc(6px + env(safe-area-inset-top,0px))}body[data-layout=tall] .pill{height:44px}body[data-layout=tall] .order:first-of-type .needs{margin:0}body[data-layout=tall] .order:first-of-type .item{width:36px;height:36px}body[data-layout=tall] .order:first-of-type button{min-height:44px;padding:3px}main,main>*,header,.scene,.panorama,.task-list,.task,.order,#tabs{min-width:0;max-width:100%}main{grid-template-columns:230px minmax(0,460px) minmax(0,1fr)}#canvas{flex:none;max-width:none}#board{overflow:visible}#hint{white-space:nowrap;text-overflow:ellipsis;height:22px;line-height:22px;top:-24px;bottom:auto;overflow:hidden}.panorama{width:100%!important}.scene{aspect-ratio:16/9;width:100%;height:auto;min-height:0}.scene h3{text-overflow:ellipsis;width:100%;min-width:0;max-width:100%;padding:5px 12px;font-size:13px;overflow:hidden}.task button,.task>img{flex-shrink:0}.task b{overflow-wrap:anywhere}body[data-layout=wide] main{row-gap:24px}body[data-layout=tall] main{grid-template-columns:minmax(0,1fr);grid-template-rows:calc(60px + env(safe-area-inset-top,0px)) 112px minmax(0, 1fr) 52px calc(68px + env(safe-area-inset-bottom,0px));row-gap:6px}body[data-layout=tall] #board{padding:18px 5px 0}body[data-layout=tall] #canvas{max-width:none}body[data-layout=tall] #hint{font-size:11px;top:-4px}body[data-layout=tall] #village{min-width:0;overflow:hidden}body[data-layout=tall] .scene{aspect-ratio:16/9;flex-basis:auto;height:auto;min-height:0}body[data-layout=tall] header{width:100%}body[data-layout=tall] .pill{flex-shrink:1;min-width:0;padding:2px 7px}body[data-layout=tall] #orders{grid-template-columns:minmax(0,1fr) 122px}body[data-layout=compact] main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body[data-layout=compact] #board{padding-top:16px;padding-bottom:30px}body[data-layout=compact] #hint{font-size:11px;top:-5px}body[data-layout=compact] .scene{flex-basis:auto;height:auto;min-height:0}.modal-card{min-width:0;max-width:100%;overflow-x:hidden}.collection-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.collection-item{overflow-wrap:anywhere;min-width:0}.unrestored{position:absolute;inset:0}.haze,.warm-light,.warm-sweep{pointer-events:none;position:absolute;inset:0}.haze{z-index:1}.after-prop{z-index:2}.warm-light{z-index:3;mix-blend-mode:screen;background:var(--honey)}.resident{z-index:4}.warm-sweep{z-index:5;background:linear-gradient(135deg, transparent, var(--honey), transparent)}.background{-o-object-fit:fill;object-fit:fill}.prop:hover{filter:none}.prop img{max-width:100%}.order .item{width:40px!important;height:40px!important}.needs .check{width:23px;height:23px;bottom:-2px;right:-5px}.order.ready{box-shadow:5px 5px 0 var(--honey)}.title-copy .primary:active{box-shadow:none;transform:translateY(4px)scale(.97)}.loading:after{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:15px;height:15px;margin-left:10px;animation:.7s linear infinite loading-spin;display:inline-block}@keyframes loading-spin{to{rotate:360deg}}.scene h3,.scene-buttons{z-index:10}.resident{pointer-events:none}.picture-only h3,.picture-only .scene-buttons{visibility:hidden}.resident{line-height:0}body.capture-scene .scene h3,body.capture-scene .scene-buttons{visibility:hidden}.repair-dust{z-index:6;pointer-events:none;width:1px;height:1px;position:absolute}.repair-dust i{background:var(--honey);border-radius:50%;width:6px;height:6px;animation:1.6s ease-out forwards repair-dust;position:absolute}@keyframes repair-dust{0%{opacity:1;transform:translate(0)scale(1.5)}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(.3)}}
