@font-face{font-family:Nunito;src:url('assets/nunito-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Nunito;src:url('assets/nunito-800.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:Fraunces;src:url('assets/fraunces-600.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--ink:#173f40;--deep:#102f35;--cream:#fff9e9;--paper:#faf4e5;--gold:#ecb84f;--orange:#b95836;--mint:#d8e7ce;--line:#d5ddca;--muted:#526d62;--shadow:0 8px 28px #102f3526;--top:56px;--dock:128px;font-family:Nunito,'Trebuchet MS',sans-serif;color:var(--ink);font-size:16px;font-weight:600;-webkit-text-size-adjust:100%;text-size-adjust:100%}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--deep)}body{overscroll-behavior:none}button,input,select{font:inherit}button{color:inherit;cursor:pointer;border:0;background:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.45;cursor:default}button:hover:not(:disabled){filter:brightness(1.04)}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--orange);outline-offset:3px}a{color:inherit;text-underline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600}h2,h3{font-family:Fraunces,Georgia,serif}[hidden]{display:none!important}.icon{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block;flex:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#game{height:100vh;height:var(--app-height,100dvh);width:100%;position:relative;overflow:hidden;isolation:isolate}#viewport{position:absolute;top:var(--top);left:0;right:0;bottom:calc(var(--dock) + env(safe-area-inset-bottom));overflow:hidden;touch-action:none;background:#87987a;outline:0}
#world{position:absolute;width:2048px;height:1536px;transform-origin:0 0;will-change:transform;user-select:none}#world-art{position:absolute;width:100%;height:100%;object-fit:fill;pointer-events:none}.world-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 54% 52%,transparent 43%,#18353038 100%),linear-gradient(0deg,#152f2e36,transparent 28%,transparent 70%,#192a282b)}#litter,#people,#places,#decorations,#trail,#world-fx{position:absolute;inset:0;pointer-events:none}.sprite{display:block;background-image:url('assets/sprites.webp');background-size:400% 400%;background-repeat:no-repeat;width:100%;height:100%;pointer-events:none}.character{display:block;background-image:url('assets/characters.webp');background-size:300% 200%;background-repeat:no-repeat;width:100%;height:100%;pointer-events:none}.character-0{background-position:0 0}.character-1{background-position:50% 0}.character-2{background-position:100% 0}.character-3{background-position:0 100%}.character-4{background-position:50% 100%}.character-5{background-position:100% 100%}.actor{position:absolute;width:108px;height:136px;transform:translate(-50%,-90%);pointer-events:none;filter:drop-shadow(2px 7px 3px #30321d40)}.actor.player{z-index:40;width:106px;height:135px;will-change:left,top}.player-ring{position:absolute;bottom:4%;left:25%;right:25%;height:10px;border:2px solid #fdf3ca;box-shadow:0 0 0 4px #173e4525;border-radius:50%;z-index:-1}.player.walking .character{animation:walk .28s ease-in-out infinite}.player.left .character{transform:scaleX(-1)}.player.walking.left .character{animation:walk-left .28s ease-in-out infinite}.world-item{position:absolute;transform:translate(-50%,-70%);width:64px;height:64px;background:transparent;padding:0;pointer-events:auto;filter:drop-shadow(2px 5px 3px #58461e44);border-radius:50%;z-index:15}.world-item:before{content:'';position:absolute;inset:16% 13% 4%;border-radius:50%;border:1px solid #fff8c78c;background:#fff4b31c;z-index:-1}.world-item:hover,.world-item:focus-visible{filter:drop-shadow(0 0 5px #fff0a3)}.world-item:hover .sprite{transform:translateY(-5px)}.world-item .sprite{transition:transform .2s}.world-item:active{transform:translate(-50%,-70%)!important}.world-item .item-tip{position:absolute;left:50%;bottom:100%;transform:translateX(-50%);background:var(--cream);padding:6px 11px;border-radius:10px;font-size:14px;white-space:nowrap;opacity:0;pointer-events:none}.world-item:hover .item-tip,.world-item:focus-visible .item-tip{opacity:1}.place{position:absolute;pointer-events:auto;background:var(--cream);padding:12px 19px;border-radius:17px;display:flex;align-items:center;gap:10px;box-shadow:0 5px 0 #254c3830,0 6px 24px #1a423633;font-size:15px;font-weight:800;white-space:nowrap;transform-origin:50% 100%;z-index:50;border:1px solid #fff5d6}.place .icon{width:21px;height:21px}.place .place-badge{background:#e9b74e;color:#263d2f;padding:2px 7px;border-radius:7px;font-size:12px}.place.active{background:var(--ink);color:var(--cream);border:2px solid var(--gold)}.place:after{content:'';position:absolute;top:100%;left:calc(50% - 6px);border:6px solid transparent;border-top-color:var(--cream)}.place.active:after{border-top-color:var(--ink)}.world-decoration{position:absolute;width:110px;height:110px;transform:translate(-50%,-80%);pointer-events:none;filter:drop-shadow(1px 5px 2px #20392938)}.world-decoration.bird{width:42px;height:42px;animation:bird-idle 4s infinite}.walk-dot{position:absolute;width:9px;height:9px;background:#fff3b8aa;border-radius:50%;transform:translate(-50%,-50%)}.destination{width:30px;height:16px;border:2px solid #fff4c0;background:#fff4c036;animation:destination 1.5s infinite}.world-pop{position:absolute;font-weight:800;font-size:22px;color:var(--ink);padding:6px 13px;border-radius:18px;background:var(--cream);transform:translate(-50%,-100%);animation:pop-float 1s forwards;white-space:nowrap;z-index:60}/* The map has its own rectangle. No task or inventory card covers it. */
.game-header{position:absolute;inset:0 0 auto;height:var(--top);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 12px;background:var(--cream);border-bottom:1px solid #becfbc;z-index:100}.game-brand{display:flex;align-items:center;gap:8px;text-align:left;font-size:1rem;letter-spacing:.1em;font-weight:800;padding:0;min-height:44px}.game-brand .icon{width:26px;height:27px}.game-brand small{display:block;font-size:.75rem;letter-spacing:0;font-weight:600;margin-top:1px;color:var(--muted)}.header-stats{display:flex;align-items:center;gap:4px}.fund-pill{display:flex;align-items:center;gap:4px;font-size:.875rem;white-space:nowrap;padding:0 8px}.fund-pill .icon{width:19px;color:#a97822}.fund-pill b{font-size:1.125rem}.round-button,.plain-icon{display:grid;place-items:center;min-width:44px;width:44px;height:44px;border-radius:12px}.round-button{background:#e9eeda;font-size:1.5rem}.plain-icon{background:transparent}#sound-btn{display:none}.fund-pill>span:last-child{display:none}.mission-card{position:absolute;bottom:calc(64px + env(safe-area-inset-bottom));height:64px;left:0;right:0;display:grid;grid-template-columns:minmax(0,1fr) 44px auto;grid-template-rows:1fr 1fr;align-content:center;column-gap:8px;padding:7px 14px;background:var(--cream);z-index:90;border-top:1px solid #bbcdba}.mission-card h1{grid-column:1;grid-row:1;font:800 1rem/1.2 Nunito,sans-serif;align-self:end}.mission-card>p,#chapter-label{display:none}.chapter-line{grid-column:2;grid-row:1 / 3;align-self:center}.mission-footer{display:contents}.mission-footer>span{grid-column:1;grid-row:2;font-size:.75rem;align-self:start;margin-top:3px;color:var(--muted)}.mission-footer button{grid-column:3;grid-row:1 / 3;min-height:44px;align-self:center;padding:8px 14px;border-radius:11px;background:var(--ink);color:var(--cream);font-size:.875rem;font-weight:800;white-space:nowrap}.world-bottom{position:absolute;inset:auto 0 0;min-height:calc(64px + env(safe-area-inset-bottom));padding:7px 12px calc(7px + env(safe-area-inset-bottom));display:flex;gap:10px;background:var(--paper);z-index:100;border-top:1px solid #e4e6d5;align-items:center;justify-content:center}.backpack-dock{min-height:49px;display:flex;align-items:center;gap:9px;text-align:left;border-radius:12px;padding:5px 11px;background:#e7ecd8;min-width:145px}.backpack-dock strong{display:block;font-size:.875rem;font-weight:800}.backpack-dock small{display:block;font-size:.75rem;color:var(--muted)}.dock-icon .icon{width:25px;height:25px}.basket-dots{display:grid;grid-template-columns:repeat(4,6px);gap:4px;margin-left:14px}.basket-dots span{height:6px;border-radius:2px;background:#becdb4}.basket-dots .full{background:#367764}.basket-dots .warning{background:#b95b39}.dock-chevron{display:none}.action-button{min-height:49px;max-width:440px;display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 20px;background:var(--ink);color:var(--cream);border-radius:12px;font-size:1rem;font-weight:800;flex:1;line-height:1.2}.action-button .icon{color:var(--gold)}kbd{font:600 .75rem Nunito,sans-serif;border:1px solid #98b3a5;padding:2px 5px;border-radius:4px}.movement-hint{display:none}.map-tools{position:absolute;right:12px;top:calc(var(--top) + 12px);display:flex;gap:5px;z-index:80}.map-tools .round-button{background:var(--cream);box-shadow:var(--shadow)}.location-tag{position:absolute;top:calc(var(--top) + 10px);left:12px;font-size:.75rem;padding:5px 9px;background:#fff9e9da;border-radius:8px;pointer-events:none;z-index:60}.toast{position:absolute;bottom:calc(var(--dock) + 12px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,6px);width:max-content;max-width:calc(100% - 32px);font-size:.875rem;line-height:1.3;background:var(--deep);color:var(--cream);padding:10px 15px;border-radius:12px;box-shadow:var(--shadow);z-index:350;opacity:0;pointer-events:none;transition:.18s}.toast.visible{opacity:1;transform:translate(-50%,0)}#joystick{display:none;position:absolute;left:14px;bottom:calc(var(--dock) + 18px + env(safe-area-inset-bottom));width:78px;height:78px;border:2px solid #fff9e9aa;border-radius:50%;background:#fff9e930;box-shadow:inset 0 0 0 10px #fff9e925;touch-action:none;z-index:85}#joystick-knob{position:absolute;top:23px;left:23px;width:28px;height:28px;border-radius:50%;background:var(--cream);pointer-events:none}.show-joystick #joystick{display:block}.world-vignette{background:radial-gradient(ellipse at center,transparent 60%,#173f4020)}.place{font-size:14px;padding:9px 12px;border-radius:12px;gap:7px}.place .icon{width:18px;height:18px}.world-item{width:70px;height:70px}.item-tip{display:none}
/* Short, useful text sits beside the activity; play owns the centre. */
.eyebrow{font-size:.75rem;letter-spacing:.09em;font-weight:800;color:var(--muted)}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:11px;font-size:1rem;font-weight:800;line-height:1.2}.primary{background:var(--ink);color:var(--cream)}.secondary{background:#e6ecd9;border:1px solid #c5d4bc}.danger{color:#9b3f2e}.action-help{font-size:.875rem;min-height:40px;padding:6px 10px;text-decoration:underline;text-underline-offset:3px;border-radius:8px}.action-help:hover{background:#e8ecd9}.welcome-scrim{position:absolute;inset:0;z-index:500;display:grid;place-items:center;background:#102e3569;backdrop-filter:blur(2px);padding:16px}.welcome-card{width:390px;max-width:100%;max-height:calc(var(--app-height,100dvh) - 32px);overflow-y:auto;background:var(--cream);border:1px solid #fff9d5;border-radius:25px;padding:25px;text-align:center;box-shadow:0 20px 70px #102f354a}.welcome-symbol{display:none}.welcome-card h2{font-size:2.25rem;line-height:1.12;margin:10px 0}.welcome-card h2 em{font-style:normal;color:#307166}.welcome-copy{font-size:1rem;line-height:1.4;color:var(--muted)}.character-choice{display:flex;align-items:center;justify-content:center;gap:8px;margin:18px 0}.character-choice button{width:58px;height:70px;padding:4px;border-radius:13px;border:2px solid transparent;background:#e6ead7}.character-choice .selected{border-color:#3e7867;background:#d1e2c4}.character-choice>span{text-align:left;font-size:.875rem;margin-left:4px}.character-choice small{display:block;font-size:.75rem;color:var(--muted);margin-top:3px}.primary.large{width:100%;justify-content:space-between;min-height:48px}.source-link{margin-top:9px;font-size:.75rem;min-height:36px;padding:6px 0;color:var(--muted)}
.craft-screen{position:absolute;inset:0;z-index:250;display:grid;grid-template-rows:52px minmax(0,1fr) 42px;overflow:hidden;background:#e7d9bc}.craft-background{position:absolute;inset:0;background:linear-gradient(#153f3426,#153f3426),url('assets/workshop.webp') center/cover;pointer-events:none}.craft-header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 12px;background:#fff9e9ed;border-bottom:1px solid #cfdbbf}.back-button{display:flex;align-items:center;gap:6px;min-height:44px;padding:7px 8px;font-size:.875rem;border-radius:9px}.back-button .icon{width:18px}.craft-brand{font-size:.75rem;letter-spacing:.1em;font-weight:800;text-align:center}.craft-brand small{display:block;font-size:.75rem;font-weight:600;letter-spacing:0;color:var(--muted);margin-top:2px}.craft-layout{position:relative;z-index:2;display:grid;grid-template-columns:180px minmax(0,720px) 190px;justify-content:center;gap:18px;min-height:0;padding:14px 20px}.craft-center{min-width:0;min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;row-gap:8px;padding:18px 22px;background:var(--cream);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.craft-title{text-align:center;min-width:0}.craft-title>.eyebrow{display:none}.craft-title h2{font-size:1.75rem;line-height:1.12;margin-bottom:6px}.craft-title p{font-size:1rem;line-height:1.3;color:var(--muted);max-width:560px;margin:auto}.craft-surface{min-height:0;min-width:0;position:relative;overflow:hidden}.craft-feedback{font-size:.875rem;line-height:1.2;color:#9b4c30;text-align:center;max-height:2.5em;overflow:auto}.craft-feedback:empty{display:none}.craft-controls{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;min-height:44px}.making-progress{font-size:.875rem;display:flex;align-items:center;gap:8px;white-space:nowrap}.making-progress .progress{width:70px;height:5px;border-radius:6px;background:#dce3ca;overflow:hidden}.progress>span{display:block;height:100%;background:#3b846c}.craft-steps{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:5px;padding:3px 9px 5px;background:#fff9e9e8}.craft-step{font-size:.75rem;padding:5px 9px;border-radius:16px;color:var(--muted);display:flex;align-items:center;gap:5px}.craft-step>span{font-size:.75rem}.craft-step.active{background:var(--ink);color:var(--cream)}.craft-step.done{background:#dce9cb;color:#2c6554}.maker-card,.craft-side{align-self:start;margin-top:18px;min-width:0}.maker-card{background:#fff9e9ed;border-radius:18px;padding:18px;text-align:center;box-shadow:var(--shadow)}.maker-portrait{width:95px;height:115px;margin:-10px auto 6px}.maker-name{font-size:.75rem;color:var(--muted);margin-bottom:10px}.maker-card p{font:600 1.2rem/1.35 Fraunces,Georgia,serif}.maker-card small{display:block;font-size:.75rem;line-height:1.4;color:var(--muted);margin-top:13px}.supply-card,.design-card{background:#fff9e9ef;border-radius:16px;padding:16px;margin-bottom:13px;box-shadow:var(--shadow)}.supply-card h3,.design-card h3{font-size:1.125rem;margin-bottom:10px}.supply-line{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:.875rem;margin:10px 0}.supply-line .sprite{width:28px;height:28px;flex:none}.supply-line span:nth-child(2){flex:1}.supply-line b{font-size:1.125rem}.recipe-note,.small-copy{font-size:.75rem;line-height:1.45;color:var(--muted)}.recipe-note{border-top:1px solid var(--line);padding-top:9px;margin-top:12px}.pattern-list{display:flex;flex-wrap:wrap;gap:5px}.pattern-btn{font-size:.875rem;min-height:44px;padding:8px 10px;border-radius:9px;border:1px solid #b9ceb4;background:#e6eddc;flex:1}.pattern-btn.active{background:var(--ink);color:var(--cream);border-color:var(--ink)}.design-card h3:not(:first-child){margin-top:18px}.row-preview{display:flex;gap:4px;margin:12px 0}.row-preview span{height:20px;flex:1;border-radius:3px}
/* Sorting targets stay on the same work surface as every item. */
[data-stage="sort"] .craft-surface{display:grid;grid-template-rows:minmax(0,1fr) 104px;gap:10px}.sort-tray{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);align-items:center;justify-items:center;gap:4px;padding:8px;background:#eee5cd;border:1px solid #ded3b4;border-radius:15px;min-height:0;overflow:hidden}.sort-item{width:100%;max-width:95px;height:100%;max-height:110px;min-height:40px;border:2px solid transparent;border-radius:12px;touch-action:none;padding:3px;cursor:grab}.sort-item .sprite{width:100%;height:100%;max-height:90px;aspect-ratio:1;object-fit:contain}.sort-item.selected{border-color:#31765e;background:#d3e4c8}.sort-item.dragging{opacity:.35;pointer-events:none}.drag-ghost{position:fixed;z-index:1500;width:78px;height:78px;pointer-events:none;filter:drop-shadow(0 6px 5px #263e3a50)}.sort-bins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:0}.sort-bin{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:6px 3px;border-radius:13px;background:#dce9cd;border:2px solid #b9cfa7;font-weight:800;font-size:1rem;line-height:1.05;text-align:center;min-height:70px}.sort-bin:nth-child(2){background:#d9e7e7;border-color:#b1d0ce}.sort-bin:nth-child(3){background:#efdfb9;border-color:#ddc286}.sort-bin .bin-symbol{width:60px;height:36px;display:flex;justify-content:center;gap:0}.bin-symbol .sprite{width:36px;height:36px;flex:none}.sort-bin small{font-size:.75rem;font-weight:600;color:#486555}.sort-bin.drop-ready{border-color:#1d5948;box-shadow:inset 0 0 0 2px #30765f}
.workshop-home{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}.home-strips{width:135px;max-height:40%;aspect-ratio:1}.workshop-home h3{font-size:1.25rem}.workshop-home p{font-size:1rem;line-height:1.35;max-width:390px;color:var(--muted)}.wash-grid{height:100%;max-width:530px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:9px;background:#cde1dc;padding:12px;border:6px solid #9bbdaf;border-radius:20px;touch-action:none}.wash-bag{position:relative;border:1px solid #9fbdae;background:#edf2d74d;border-radius:13px;padding:6px;min-height:0;touch-action:none;overflow:hidden}.wash-bag>.sprite{position:relative;height:100%;max-width:160px;margin:auto;z-index:1;filter:saturate(calc(.4 + var(--clean)*.6)) brightness(calc(.6 + var(--clean)*.4))}.wash-dirt{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);z-index:2;pointer-events:none}.wash-dirt i{background:radial-gradient(ellipse,#705228a1,transparent 70%)}.wash-check{position:absolute;bottom:5px;right:5px;width:24px;height:24px;border-radius:50%;background:#317b5f;color:white;font-size:16px;display:grid;place-items:center;z-index:3}
[data-stage="dry"] .craft-surface{display:flex;flex-direction:column;justify-content:center;gap:16px}.drying-line{display:flex;align-items:start;justify-content:center;gap:8px;padding-top:10px;border-top:3px solid #947449;margin:8px 6px}.drying-bag{width:15%;max-width:80px;aspect-ratio:.85;position:relative;transform-origin:top;animation:dry-sway 2.5s ease-in-out infinite}.drying-bag:before{content:'';position:absolute;top:-12px;left:45%;width:6px;height:19px;border-radius:2px;background:#946336;z-index:3}.dry-progress{height:9px;border-radius:12px;background:#e0e5cb;overflow:hidden;margin:0 16px}.dry-progress>span{display:block;height:100%;background:#dbad3f}.cut-caption{font-size:.875rem;text-align:center;color:var(--muted)}
[data-stage="cut"] .craft-surface{display:grid;grid-template-rows:minmax(0,1fr) 22px;gap:8px}.cut-mat{position:relative;width:100%;max-width:510px;height:100%;max-height:330px;align-self:center;justify-self:center;background:#406f58;border:8px solid #315840;border-radius:14px;touch-action:none}.plastic-sheet{position:absolute;inset:16px 19px;background:linear-gradient(130deg,#dba343,#f7d981 45%,#e5b85a);box-shadow:3px 4px 8px #20362b40;border-radius:8px;display:flex;gap:7px}.plastic-sheet.cut-finished{background:transparent;box-shadow:none}.plastic-sheet.cut-finished span{flex:1;border-radius:4px;background:linear-gradient(90deg,#dfa941,#f6d374);box-shadow:2px 3px 4px #173f4030;transform:rotate(2deg)}.cut-line{position:absolute;top:16px;bottom:16px;width:44px;transform:translateX(-50%);padding:0;border-radius:5px;touch-action:none}.cut-line>span:first-child{position:absolute;left:21px;top:0;bottom:0;width:0;border-left:3px dashed #65562b94}.cut-line:after{content:'';position:absolute;left:21px;top:0;height:var(--cut);width:3px;background:var(--cream)}.cut-dot{position:absolute;left:8px;top:-7px;width:28px;height:28px;display:grid;place-items:center;background:var(--ink);color:var(--cream);border-radius:50%;z-index:2}.cut-line.done .cut-dot{background:#317f5d}
/* The canvas flexes with actual browser height, not a tall page. */
.weave-wrap{height:100%;display:grid;grid-template-rows:24px minmax(0,1fr) 24px 44px;gap:5px;max-width:580px;margin:auto}.loom-top{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:.75rem;color:var(--muted);line-height:1.1}.loom-top>span:first-child{font-size:.875rem;font-weight:800;color:var(--ink);white-space:nowrap}.loom-top>span:last-child{text-align:right}.loom-wood{min-height:0;position:relative;overflow:hidden;border:10px solid #9f6d3f;border-top-width:14px;border-bottom-width:14px;border-radius:12px;box-shadow:0 5px 0 #755332,inset 0 2px 6px #71461b44}.loom-canvas{display:block;width:100%;height:100%;min-height:0;touch-action:none}.weave-tips{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.75rem;color:var(--muted)}.tip-key{display:inline-block;padding:1px 5px;border-radius:4px;background:#e6ebd5;color:var(--ink)}.thread-picker{display:flex;align-items:center;justify-content:center;gap:7px}.thread{position:relative;width:44px;height:44px;min-width:44px;background:var(--thread);border:4px solid #e6ddc5;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff60}.thread[aria-pressed="true"]{outline:2px solid var(--ink);outline-offset:1px}.thread[aria-pressed="true"]:after{content:'✓';color:#fff;font-weight:800;position:absolute;inset:0;display:grid;place-items:center;text-shadow:0 1px 3px #000}.completed-panel{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}.finished-bag{height:100%;max-height:340px;max-width:100%;width:auto;aspect-ratio:500/570;object-fit:contain;display:block}.completed-panel .finished-bag{min-height:0;flex:1;height:0;max-height:100%}.completed-panel h3{font-size:1.25rem}.completed-panel p{font-size:.875rem;color:var(--muted);max-width:380px}
/* Stories and choices are opened deliberately and can scroll independently. */
.dialogue{position:absolute;z-index:400;left:50%;bottom:calc(var(--dock) + 10px);transform:translateX(-50%);width:min(540px,calc(100% - 20px));padding:20px;background:var(--cream);border-radius:19px;box-shadow:var(--shadow);max-height:calc(var(--app-height,100dvh) - 86px);overflow:auto}.dialogue-portrait{float:right;width:65px;height:82px;margin:-10px 0 4px 12px}.dialogue-name{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}.dialogue h2{font-size:1.5rem;line-height:1.15;margin-bottom:8px}.dialogue p{font-size:1rem;line-height:1.4}.dialogue-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.dialogue-actions>button{flex:1}.dialogue-actions .secondary,.dialogue-actions .primary{font-size:.875rem;padding:10px 12px}.dialogue-actions .primary:first-child{flex:1.3}
dialog{border:1px solid #fff3cf;border-radius:22px;padding:27px;color:var(--ink);background:var(--cream);box-shadow:0 24px 90px #102f3570;width:min(860px,calc(100vw - 24px));max-height:calc(var(--app-height,100dvh) - 26px);overflow:auto;overscroll-behavior:contain}dialog::backdrop{background:#102f356d;backdrop-filter:blur(2px)}.modal-close{position:sticky;float:right;top:0;margin:-13px -13px 0 10px;background:#e3e9d4;z-index:4}dialog h2{font-size:1.8rem;line-height:1.15;margin:8px 35px 13px 0}dialog h3{font-size:1.3rem;margin:18px 0 8px}dialog p,dialog li{font-size:1rem;line-height:1.5;color:#476458}dialog ul,dialog ol{padding-left:22px}dialog li{margin:6px 0}.modal-note{background:#e8edd9;padding:14px 16px;border-radius:13px;margin:17px 0;font-size:1rem;line-height:1.5}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.menu-button{display:flex;align-items:center;gap:8px;text-align:left;border:1px solid #c9d7bd;background:#e9eedf;border-radius:12px;min-height:62px;padding:12px;font-size:1rem;font-weight:800}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:52px;border-top:1px solid var(--line);font-size:1rem}.setting-row input{width:22px;height:22px;accent-color:var(--ink);flex:none}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.project-card{display:flex;flex-direction:column;align-items:start;background:#f1eedb;border:1px solid #d7dfc5;padding:18px;border-radius:16px;min-width:0;position:relative}.project-symbol{width:48px;height:48px;display:grid;place-items:center;background:#d5e5c9;border-radius:14px}.project-symbol .icon{width:27px;height:27px}.project-card h3{font-size:1.4rem;line-height:1.15;margin:13px 0 9px}.project-card p{font-size:.875rem;line-height:1.4}.project-effect{font-size:.875rem;line-height:1.35;margin:14px 0;padding-top:12px;border-top:1px solid #ccd8bc;flex:1}.project-card .primary{font-size:.875rem;padding:10px 12px;width:100%}.project-card.complete{background:#dfebd4}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.story-card{background:#e9eedb;border:1px solid #d0dec3;padding:18px;border-radius:14px}.story-card.locked{opacity:.7}.story-number{font-size:.75rem;letter-spacing:.1em;color:#68805f}.story-card h3{margin:7px 0}.story-card p{font-size:.875rem}.stat-strip{display:flex;gap:10px;margin:18px 0}.stat-box{flex:1;background:#e9eedb;border:1px solid #d3dfc5;padding:14px 8px;border-radius:12px;text-align:center;font-size:.75rem;color:var(--muted)}.stat-box strong{display:block;font:600 1.9rem Fraunces,serif;color:var(--ink)}.reflection{border:1px solid #d8d9b3;background:#f3e9c7;border-radius:14px;padding:18px;margin:18px 0}.reflection h3{margin:8px 0;font-size:1.4rem}.reflection p{font-size:.875rem}.gallery{display:flex;justify-content:center;gap:12px}.gallery .finished-bag{width:28%;height:auto;max-height:230px}.basket-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:18px 0}.basket-slot{background:#eee8d5;border:1px solid #e0d8bf;border-radius:12px;padding:8px;text-align:center;min-width:0}.basket-slot .sprite{width:70px;height:70px;max-width:100%;margin:auto}.basket-slot small{font-size:.75rem;display:block;line-height:1.2}.basket-slot.empty{display:grid;place-items:center;color:#b8c5a4;min-height:78px}.map-picture{position:relative;margin:17px 0;border:1px solid #9bbaa0;border-radius:14px;overflow:hidden;aspect-ratio:4/3}.map-picture img{width:100%;height:100%;object-fit:fill}.map-you{position:absolute;width:14px;height:14px;background:#d86236;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 3px #163f40aa;transform:translate(-50%,-50%)}.map-pin{position:absolute;transform:translate(-50%,-50%);background:var(--cream);padding:7px 9px;min-height:36px;border:1px solid #e7e6c5;border-radius:9px;font-size:.75rem;font-weight:800;box-shadow:0 3px 9px #163f4040}.nearby-items{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.nearby-items button{min-height:44px;padding:8px 12px;background:#e2ecd5;border-radius:9px;font-size:.875rem}.celebrate-piece{position:absolute;top:-15px;width:7px;height:12px;pointer-events:none;z-index:800;animation:confetti 2.6s ease-out forwards}
@keyframes walk{50%{transform:translateY(-4px) rotate(2deg)}}@keyframes walk-left{0%,100%{transform:scaleX(-1)}50%{transform:scaleX(-1) translateY(-4px) rotate(2deg)}}@keyframes pop-float{to{transform:translate(-50%,-160%);opacity:0}}@keyframes dry-sway{50%{transform:rotate(6deg)}}@keyframes bird-idle{50%{transform:translate(-50%,-83%) rotate(4deg)}}@keyframes destination{50%{opacity:.5}}@keyframes confetti{to{transform:translate(var(--drift),100vh) rotate(580deg);opacity:0}}
.reduced-motion *, .reduced-motion *:before,.reduced-motion *:after{animation:none!important;transition:none!important}
@media(max-width:1100px){.craft-layout{grid-template-columns:160px minmax(0,700px);gap:12px;padding:12px}.craft-side{display:none}.craft-center{padding:14px 18px}.craft-title h2{font-size:1.5rem}}
@media(max-width:780px){.maker-card{display:none}.craft-layout{grid-template-columns:minmax(0,690px);padding:10px}.craft-center{padding:13px 14px;border-radius:17px}.craft-title h2{font-size:1.5rem}.project-grid,.story-grid{grid-template-columns:1fr}.project-card{padding:15px 15px 15px 80px}.project-symbol{position:absolute;left:15px;top:15px}.project-card h3{margin-top:0;font-size:1.3rem}.project-effect{margin:9px 0;padding-top:8px}.project-card .primary{width:auto}.story-card p{font-size:1rem}}
@media(max-width:500px){:root{--top:52px}.game-header{padding:4px 8px;gap:4px}.game-brand{font-size:.875rem;gap:6px;letter-spacing:.06em}.game-brand small{display:none}.header-stats{gap:3px}.fund-pill{padding:0 3px}.fund-pill b{font-size:1rem}.fund-pill .icon{width:16px}.round-button{width:40px;min-width:40px;height:44px;border-radius:10px}.game-brand .icon{width:24px}#full-btn,.map-tools{display:none}.mission-card{padding:6px 10px;column-gap:3px}.mission-card h1{font-size:.9375rem}.mission-footer button{padding:8px 10px}.mission-footer>span{font-size:.75rem}.world-bottom{padding-left:10px;padding-right:10px;gap:8px}.backpack-dock{min-width:118px;padding:5px 8px;gap:7px}.basket-dots{display:none}.action-button{font-size:.9375rem;padding:8px 12px;gap:7px}.action-button kbd{display:none}.location-tag{top:calc(var(--top) + 8px);left:8px}.craft-screen{grid-template-rows:52px minmax(0,1fr) 37px}.craft-header{padding:2px 7px}.craft-layout{padding:7px}.craft-center{padding:11px 12px;gap:7px;border-radius:15px}.craft-title h2{font-size:1.375rem;line-height:1.12;margin-bottom:4px}.craft-title p{font-size:1rem;line-height:1.2}.craft-brand{font-size:.75rem;letter-spacing:.04em}.craft-brand small{font-size:.75rem}.craft-steps{gap:1px;padding:2px 4px}.craft-step{padding:4px 6px;gap:3px;font-size:.75rem}.craft-step>span{font-size:.75rem}.craft-controls{gap:4px}.craft-controls .primary,.craft-controls .secondary{padding:8px 12px;font-size:.9375rem}.craft-feedback{font-size:.8125rem;line-height:1.2}.action-help{font-size:.875rem;min-height:36px;padding:5px 8px}.sort-tray{padding:5px;gap:3px}.sort-item{max-height:90px;padding:2px}.sort-bin{font-size:.875rem;line-height:1.05}.sort-bin small{font-size:.75rem}.sort-bin .bin-symbol{height:30px}.bin-symbol .sprite{height:30px;width:30px}[data-stage="sort"] .craft-surface{grid-template-rows:minmax(0,1fr) 91px;gap:8px}.sort-bins{gap:6px}.wash-grid{padding:8px;gap:7px;border-width:5px;border-radius:16px}.cut-mat{border-width:6px}.plastic-sheet{inset:13px 13px}.cut-line{top:13px;bottom:13px}.weave-wrap{gap:4px;grid-template-rows:24px minmax(0,1fr) 22px 44px}.loom-wood{border-width:7px;border-top-width:10px;border-bottom-width:10px;box-shadow:0 3px 0 #755332}.thread-picker{gap:7px}.thread{width:40px;min-width:40px;height:40px;border-width:3px}.loom-top{font-size:.75rem}.weave-tips{gap:5px;font-size:.75rem}.making-progress{font-size:.8125rem;gap:5px}.making-progress .progress{display:none}.completed-panel{gap:8px}.completed-panel h3{font-size:1.125rem}.completed-panel p{font-size:.875rem}.dialogue{padding:16px;bottom:calc(var(--dock) + 8px)}.dialogue h2{font-size:1.375rem}.dialogue p{font-size:.9375rem}.dialogue-portrait{width:56px;height:70px}dialog{padding:19px;width:calc(100vw - 16px);border-radius:17px}dialog h2{font-size:1.5rem}.modal-close{margin:-10px -10px 0 6px}.basket-slot .sprite{height:52px;width:52px}.basket-slot{padding:5px}.stat-strip{gap:7px}.stat-box{padding:11px 5px}.stat-box strong{font-size:1.6rem}.menu-grid{gap:7px}.menu-button{font-size:.875rem;padding:10px}.welcome-card{padding:22px}.welcome-card h2{font-size:2rem}}
@media(max-height:560px){:root{--dock:112px;--top:48px}.game-header{padding-top:2px;padding-bottom:2px}.mission-card{height:56px;bottom:calc(56px + env(safe-area-inset-bottom));padding-top:4px;padding-bottom:4px}.world-bottom{min-height:calc(56px + env(safe-area-inset-bottom));padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom))}.backpack-dock,.action-button{min-height:46px}.craft-screen{grid-template-rows:52px minmax(0,1fr) 32px}.craft-layout{padding:5px}.craft-center{padding:8px 10px;gap:5px}.craft-title h2{font-size:1.25rem}.craft-title p{font-size:.875rem}.craft-header{padding:0 6px}.craft-brand small{display:none}.craft-steps{padding:1px 4px}.craft-step{padding:3px 5px}.craft-controls{min-height:40px}.craft-controls .primary,.craft-controls .secondary{min-height:40px;padding:7px 11px}.action-help{min-height:34px}.sort-tray{padding:3px}.sort-item{min-height:30px;max-height:64px}.sort-bin .bin-symbol{height:23px}.bin-symbol .sprite{height:23px;width:23px}.sort-bin small{display:none}[data-stage="sort"] .craft-surface{grid-template-rows:minmax(0,1fr) 70px;gap:6px}.sort-bin{min-height:60px}.weave-wrap{grid-template-rows:20px minmax(0,1fr) 18px 38px;gap:3px}.thread{width:36px;min-width:36px;height:36px}.weave-tips{font-size:.75rem}.completed-panel h3,.completed-panel p{display:none}.maker-card,.craft-side{display:none}.craft-layout{grid-template-columns:minmax(0,700px)}.welcome-card{padding:16px;max-width:400px}.welcome-card h2{font-size:1.75rem}.welcome-copy{font-size:.875rem}.character-choice{margin:10px 0}.source-link{margin-top:3px}}
@media(max-height:440px) and (min-width:600px){.craft-screen{grid-template-rows:52px minmax(0,1fr) 29px}.craft-center{grid-template-columns:205px minmax(0,1fr);grid-template-rows:1fr auto}.craft-title{grid-column:1;grid-row:1;text-align:left;align-self:center;padding-right:12px}.craft-title p{font-size:.9375rem}.craft-surface{grid-column:2;grid-row:1 / 3}.craft-feedback{grid-column:1;grid-row:1;align-self:end;text-align:left;padding-right:10px;max-height:3.6em}.craft-controls{grid-column:1;grid-row:2;justify-content:flex-start;padding-right:8px}.craft-controls .making-progress{display:none}.weave-wrap{grid-template-rows:20px minmax(0,1fr) 0 34px;gap:2px}.weave-tips{overflow:hidden}.thread{width:32px;min-width:32px;height:32px}.sort-bins{gap:5px}[data-stage="sort"] .craft-surface{grid-template-rows:1fr 65px}.craft-steps{font-size:.75rem}.location-tag{display:none}.welcome-card{max-width:640px;display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;text-align:left}.welcome-card h2{grid-column:1;grid-row:1/3}.welcome-card>.eyebrow{display:none}.welcome-copy{grid-column:1;grid-row:3}.character-choice{grid-column:2;grid-row:1/3}.welcome-card .large{grid-column:2;grid-row:3}.source-link{grid-column:1 / 3;margin:0;min-height:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Requests make colour and construction choices matter. */
.request-list{height:100%;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:9px;max-width:540px;margin:auto}
.request-card{display:grid;grid-template-columns:65px minmax(0,1fr) 25px;align-items:center;gap:12px;padding:9px 15px;border:2px solid #ccd6bb;background:#edf0dc;border-radius:15px;text-align:left;min-height:0}
.request-card.selected{border-color:#326b56;background:#dce9ce;box-shadow:inset 0 0 0 1px #326b56}
.request-portrait{display:block;height:100%;max-height:95px;min-height:0;width:65px}.request-card strong{font:600 1.3rem/1.15 Fraunces,serif;display:block}.request-card small{display:block;color:var(--muted);font-size:.875rem;line-height:1.25;margin-top:5px}.request-tick{font-size:1.3rem;font-weight:800}
.crossing-button{min-height:44px;border:1px solid #9cbda7;background:#dfead1;padding:7px 16px;border-radius:10px;font-weight:800;font-size:1rem}.crossing-button:active{background:var(--ink);color:var(--cream)}
[data-stage="weave"] .craft-controls{column-gap:7px}[data-stage="weave"] .making-progress{flex-basis:100%;justify-content:center;font-size:.75rem;line-height:1.1}
.finish-wrap{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 44px;gap:8px}.finish-preview{height:100%;min-height:0;max-width:100%;aspect-ratio:500/570;position:relative;justify-self:center}.finish-preview canvas{width:100%;height:100%;object-fit:contain}.join-point{position:absolute;width:44px;height:44px;border:2px solid #fff8df;border-radius:50%;color:var(--cream);font-size:1rem;font-weight:800;background:var(--orange);transform:translate(-50%,-50%);box-shadow:0 0 0 3px #b9573633}.join-point.done{background:#327c5c;box-shadow:0 0 0 3px #327c5c33}.join-left{left:31%;top:37%}.join-right{left:68%;top:37%}.join-base{left:50%;top:84%}.handle-options{display:flex;justify-content:center;gap:7px}.handle-options button{min-height:44px;padding:7px 15px;border:1px solid #b4c8a8;background:#e7ecd9;border-radius:10px;font-size:.875rem}.handle-options .active{background:var(--ink);color:var(--cream);border-color:var(--ink)}.load-marks{position:absolute;display:flex;gap:7px;top:58%;left:50%;transform:translateX(-50%)}.load-marks span{width:27px;height:27px;display:grid;place-items:center;background:var(--cream);color:#69856b;border-radius:7px;box-shadow:0 2px 5px #173f4030}.load-marks .filled{background:var(--gold);color:var(--ink)}
.region-list{display:grid;gap:12px;margin:22px 0}.region-list>div{display:grid;grid-template-columns:1fr auto;gap:6px;font-size:.875rem}.region-list span{color:var(--muted)}.region-list progress{grid-column:1/-1;width:100%;height:7px;border:0;border-radius:5px;overflow:hidden;accent-color:#42816b}.region-list progress::-webkit-progress-bar{background:#d8e1c6}.region-list progress::-webkit-progress-value{background:#42816b}.design-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.design-tile{padding:15px;border:1px solid #d1dcc0;background:#ecf0dc;border-radius:15px;text-align:center}.design-tile canvas{display:block;width:100%;height:200px;object-fit:contain}.design-tile h3{font-size:1.25rem;margin:3px 0 7px}.design-tile p{font-size:.875rem;line-height:1.3}.design-tile small{display:block;font-size:.75rem;color:var(--muted);margin:8px 0 12px}.design-tile .secondary{font-size:.875rem;padding:8px 12px}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:500px){.request-card{padding:6px 9px;gap:8px;grid-template-columns:50px minmax(0,1fr) 19px}.request-portrait{width:50px;max-height:85px}.request-card strong{font-size:1.125rem}.request-card small{font-size:.8125rem}.request-list{gap:7px}.crossing-button{padding:7px 13px;font-size:.9375rem}[data-stage="weave"] .craft-controls{gap:3px 5px}.design-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.design-tile{padding:10px}.design-tile canvas{height:160px}.design-tile h3{font-size:1.125rem}.craft-step{padding:4px 5px}.craft-step>span{display:none}.craft-step.done:before{content:'✓';font-size:10px}.mission-card{grid-template-columns:minmax(0,1fr) 36px auto}.chapter-line .plain-icon{min-width:36px;width:36px}.mission-card h1{font-size:.875rem;line-height:1.1}.mission-footer>span{font-size:.6875rem;line-height:1.2}.mission-footer button{font-size:.8125rem}.game-brand{white-space:nowrap}}
@media(max-height:560px){.request-card{grid-template-columns:46px minmax(0,1fr) 20px;gap:7px;padding:5px 9px}.request-portrait{width:46px;max-height:65px}.request-card strong{font-size:1.125rem}.request-card small{font-size:.75rem;margin-top:3px}.request-list{gap:5px}.finish-wrap{grid-template-rows:minmax(0,1fr) 40px;gap:4px}.handle-options button{min-height:40px;padding:5px 9px}.join-point{width:40px;height:40px}.crossing-button{min-height:40px;padding:6px 12px}}
@media(max-height:440px) and (min-width:600px){[data-stage="weave"] .making-progress{display:none}.craft-controls .crossing-button{padding:7px 12px}.finish-wrap{grid-template-columns:minmax(0,1fr) 110px;grid-template-rows:minmax(0,1fr)}.handle-options{flex-direction:column;align-self:center}.request-card{grid-template-columns:42px minmax(0,1fr) 18px}.request-portrait{width:42px}.request-card strong{font-size:1rem}.request-card small{font-size:.75rem}.request-list{gap:4px}.craft-title{align-self:start;margin-top:16px}.craft-feedback{margin-bottom:9px}}
@media(max-width:350px){.game-brand{font-size:.75rem;gap:4px}.game-brand .icon{width:21px}.header-stats{gap:2px}.round-button{width:38px;min-width:38px}.fund-pill{gap:1px}.fund-pill .icon{width:14px}.mission-card{column-gap:2px;padding-left:8px;padding-right:8px}.mission-footer button{padding:7px 8px}.backpack-dock{min-width:108px}.backpack-dock strong{font-size:.8125rem}.action-button{font-size:.875rem}.action-button .icon{width:20px}.craft-brand{font-size:.6875rem}.craft-center{padding-left:9px;padding-right:9px}.craft-title p{font-size:.875rem}.craft-step{padding:4px 5px;font-size:.6875rem}.craft-steps{gap:2px}.sort-bin{font-size:.8125rem}.sort-bin small{font-size:.6875rem}.crossing-button{padding:6px 10px}.thread-picker{gap:5px}.thread{width:36px;min-width:36px;height:36px}}

.craft-actions{display:flex;align-items:center;gap:3px}.craft-actions .plain-icon{width:40px;min-width:40px}
@media(min-width:501px){:root{--dock:140px}.mission-card{height:76px}.mission-card h1{font-size:1rem}.mission-footer>span{font-size:.8125rem}}
@media(max-width:500px){:root{--dock:140px}.mission-card{height:76px}.mission-card h1{font-size:.9375rem;line-height:1.2}.mission-footer>span{font-size:.75rem;line-height:1.2}.craft-brand{letter-spacing:0}}
@media(max-height:560px){:root{--dock:124px}.mission-card{height:68px}.mission-card h1{font-size:.9375rem;line-height:1.15}.mission-footer>span{font-size:.75rem}.craft-actions .plain-icon{width:36px;min-width:36px}}
/* Atlas cells stay square as the available activity height changes. */
.sort-item,.wash-bag{container-type:size;display:grid;place-items:center}
.sort-item>.sprite,.wash-bag>.sprite{width:min(100cqw,100cqh);height:min(100cqw,100cqh);max-width:none;max-height:none;aspect-ratio:1;margin:auto}

.loom-pointer{position:absolute;display:grid;place-items:center;transform:translate(-50%,-50%);width:27px;height:27px;border:2px solid #214e42;border-radius:50%;background:#fff8d8;color:#214e42;box-shadow:0 0 0 4px #fff8d886;font-size:17px;font-weight:800;line-height:1;pointer-events:none;z-index:2}
.dialogue{max-height:calc(var(--app-height,100dvh) - var(--dock) - var(--top) - 20px)}

/* Version 4: the world has one next action. Everything else is opened on purpose. */
:root{--dock:122px}
.game-header{box-shadow:0 2px 9px #173f4010}.header-stats{gap:5px}.header-stats .fund-pill,#full-btn{display:none}
.header-stats .backpack-dock{position:relative;min-width:44px;width:48px;min-height:44px;height:44px;padding:8px;display:grid;place-items:center;background:#e8ecd9;border:1px solid #d4ddc7}
.backpack-dock>span:nth-child(2),.backpack-dock .basket-dots,.dock-chevron{display:none}
#basket-number{position:absolute;right:1px;top:1px;min-width:17px;height:17px;padding:0 3px;display:grid;place-items:center;background:var(--ink);color:var(--cream);border:1px solid var(--cream);font-size:10px;line-height:1;border-radius:6px;font-weight:800}
.mission-card{bottom:calc(64px + env(safe-area-inset-bottom));height:58px;grid-template-columns:minmax(0,1fr) 40px;padding:7px 16px;background:#fff9e9}
.mission-card h1{font-size:1rem;line-height:1.2}.mission-footer>span{font-size:.75rem;line-height:1.2}.mission-footer #guide-btn{display:none}
.world-bottom{padding:6px 14px calc(7px + env(safe-area-inset-bottom));min-height:calc(64px + env(safe-area-inset-bottom));border-top:0;background:#fff9e9}.action-button{min-height:50px;max-width:620px;box-shadow:0 3px 0 #102e35;font-size:1rem;border:1px solid #255856}.action-button.travelling{background:#3b645c}.action-button kbd{margin-left:auto}.action-button>.icon{margin-right:auto}.action-button>span[data-icon]{margin-right:auto}.action-button>span#interact-label{flex:1;text-align:center}
.actor.neighbour{pointer-events:auto;padding:0;border-radius:45%}.neighbour .talk-bubble{position:absolute;right:1px;top:2px;border-radius:10px 10px 10px 2px;min-width:31px;height:25px;padding:2px 5px;background:var(--cream);color:var(--ink);font:800 16px/20px Nunito,sans-serif;box-shadow:0 2px 5px #173f4033;border:1px solid #d3dfbb}.neighbour:hover .talk-bubble{background:var(--gold)}.plant-art{display:block;width:100%;height:100%;overflow:visible}
.craft-steps{gap:8px}.craft-step{padding:5px 14px;font-weight:800}.craft-step>span{display:inline}.craft-step.done:before{display:none}.craft-center{border:1px solid #fffdebaa}.craft-title p{color:#4f6a5c}.craft-title h2{letter-spacing:-.02em}.craft-screen[data-mode="project"] .craft-background{background:linear-gradient(#31583e74,#31583e74),url('assets/world.webp') center/cover}
/* A live plan makes every design choice visible before the first stitch. */
.design-studio{height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;max-width:630px;margin:auto;padding:4px}
.design-preview{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;text-align:center;padding:17px 9px;background:radial-gradient(ellipse at 50% 35%,#fffcee,#efe5c8);border:1px solid #dfd6b8;border-radius:16px;position:relative}
.studio-label{font-size:.6875rem;font-weight:800;letter-spacing:.07em;line-height:1.25;color:#526851}.design-preview .studio-label{max-width:150px;margin:auto}.design-preview canvas{display:block;width:100%;height:100%;min-height:0;object-fit:contain;filter:drop-shadow(0 5px 5px #8363381a)}.design-caption{font:600 1rem/1.2 Fraunces,serif;margin-top:3px}.studio-choices{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto 70px;gap:10px;padding:8px 0}.studio-patterns{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:8px;min-height:0}.studio-pattern{display:grid;grid-template-columns:minmax(34px,35%) 1fr 16px;align-items:center;gap:8px;border:1px solid #d1d8bf;border-radius:11px;padding:5px 8px;background:#edf0dd;text-align:left;font-size:.9375rem;font-weight:800;min-height:42px}.studio-pattern canvas{display:block;width:100%;height:100%;max-height:67px;min-height:0;object-fit:cover;border-radius:6px}.studio-pattern.selected{background:#dce9cd;border:2px solid #4b7d60;padding:4px 7px}.studio-pattern b{font-size:14px}.studio-palettes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-height:0}.studio-palette{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #d2dbc1;border-radius:10px;padding:4px 2px;background:#f1efdf;min-height:44px}.studio-palette.selected{border:2px solid #3e785f;background:#dfe9d2;padding:3px 1px}.palette-chip{width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px #173f4026;flex:none}.studio-palette small{font-size:.6875rem;font-weight:800;line-height:1.1}
/* Project activities use the same bounded surface as the making workshop. */
.site-choices{height:100%;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;max-width:530px;margin:auto}.site-choice{display:grid;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:12px;min-height:0;padding:10px 16px;background:#edf0dc;border:2px solid #d0dabe;border-radius:14px;text-align:left}.site-choice.selected{border-color:#3f795d;background:#deebcf}.site-number{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#d9e3c7;font:600 1.4rem Fraunces,serif}.site-choice.selected .site-number{color:var(--cream);background:var(--ink)}.site-choice strong{display:block;font:600 1.2rem/1.2 Fraunces,serif}.site-choice small{display:block;font-size:.8125rem;line-height:1.3;color:var(--muted);margin-top:4px}.site-check{font-weight:800;font-size:18px}
.collection-build{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 48px;gap:12px;max-width:560px;margin:auto}.collection-scene{position:relative;min-height:0;overflow:hidden;background:radial-gradient(ellipse at 50% 20%,#fcf9dc,#e2e8cd);border:1px solid #d6dec1;border-radius:16px}.build-ground{position:absolute;left:5%;right:5%;bottom:10%;height:12%;background:#9fae7340;border-radius:50%;filter:blur(3px)}.build-stand{position:absolute;inset:45% 14% 16%;opacity:.18}.build-stand span{position:absolute;top:0;bottom:0;width:9%;background:linear-gradient(90deg,#a87948,#c19a60);border-radius:3px}.build-stand span:first-child{left:6%}.build-stand span:nth-child(2){right:6%}.build-stand i{position:absolute;top:0;left:0;right:0;height:16%;background:#b38b53;border-radius:4px;box-shadow:0 3px 0 #805e38}.build-bins{position:absolute;left:18%;right:18%;top:32%;height:37%;display:flex;gap:7px;opacity:0}.build-bins>div{min-width:0;flex:1;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;border:3px solid #96ad80;border-top-width:6px;border-radius:5px 5px 11px 11px;background:linear-gradient(100deg,#c5d9ac,#e1e6c1);padding:4px}.build-bins>div:nth-child(2){border-color:#86aeae;background:#d8e7e5}.build-bins>div:nth-child(3){border-color:#c9aa6d;background:#efdfb5}.build-bins .sprite{height:100%;width:auto;aspect-ratio:1;min-height:0;max-width:100%}.build-bins small{font-size:.65rem;line-height:1.1;font-weight:800;text-align:center}.build-sign{position:absolute;top:10%;left:10%;right:10%;height:17%;display:flex;justify-content:center;align-items:center;gap:7px;background:var(--ink);color:var(--cream);border-radius:8px;font-weight:800;font-size:.75rem;letter-spacing:.035em;opacity:0}.build-sign .icon{width:19px;height:19px}.built{opacity:1}.build-pieces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.build-pieces button{border:1px solid #becdb1;background:#e5ecd6;border-radius:10px;font-size:.875rem;font-weight:800}.build-pieces button.placed{opacity:1;background:#cfe0c1;color:#376846}
.teaching-board{height:100%;display:grid;grid-template-rows:minmax(65px,1fr) minmax(68px,.7fr) auto;gap:15px;max-width:500px;margin:auto;padding:8px 16px 12px;border:1px solid #d9dbbe;border-radius:16px;background:linear-gradient(150deg,#f5edd5,#e4ecd3)}.teaching-people{display:grid;grid-template-columns:1fr 1fr 1fr;min-height:0;align-items:center;justify-items:center}.teaching-person{height:100%;min-height:0;max-width:130px;display:grid;grid-template-rows:minmax(0,1fr) auto;text-align:center}.teaching-person .character{width:auto;height:100%;aspect-ratio:1;min-height:0}.teaching-person small{font-size:.75rem;font-weight:800}.shared-idea{display:grid;justify-items:center;gap:9px;text-align:center;color:#4c7860}.shared-idea .icon{width:36px;height:36px}.shared-idea small{font-size:.75rem;line-height:1.2}.teaching-strands{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;min-height:0;padding:0 0 23px;position:relative;border-radius:10px;background:#d4d5ad}.teaching-cell{position:relative;min-height:0}.teaching-warp{position:absolute;top:0;bottom:0;left:32%;right:32%;background:repeating-linear-gradient(90deg,#d4bd82 0 4px,#e5d6a8 4px 7px);box-shadow:2px 0 3px #534a2633;border-radius:4px;z-index:1}.teaching-thread{display:none;position:absolute;top:33%;bottom:29%;left:0;right:0;background:repeating-linear-gradient(0deg,#487c79 0 3px,#5e9991 3px 5px);box-shadow:0 2px 3px #244d3840;border-radius:3px;z-index:2}.woven .teaching-thread{display:block}.teaching-cell.below .teaching-warp{z-index:3}.teaching-cell small{position:absolute;top:100%;left:0;right:0;text-align:center;font-size:.75rem;font-weight:800;padding-top:4px}.teaching-target{position:absolute;z-index:5;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:28px;display:grid;place-items:center;background:var(--cream);border:2px solid var(--ink);border-radius:50%;font-weight:800}.teaching-message{font:600 1.125rem/1.35 Fraunces,serif;text-align:center}
.garden-studio{height:100%;display:grid;grid-template-rows:minmax(70px,.7fr) minmax(100px,1fr);gap:12px;max-width:580px;margin:auto}.seed-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;min-height:0}.seed-choice{display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;min-height:0;gap:2px;padding:6px;border:2px solid #d3ddc1;border-radius:13px;background:#f0efd9}.seed-choice.selected{background:#dfe9d1;border-color:#397858}.seed-choice .plant-art{max-width:100px}.seed-choice span{font-size:.8125rem;font-weight:800}.garden-beds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-height:0;background:linear-gradient(#ebefda,#d8e1bc);border:1px solid #d2dabe;border-radius:15px;padding:10px}.garden-bed{position:relative;min-height:0;min-width:0;display:grid;grid-template-rows:minmax(0,1fr) 24px;padding:0;justify-items:center;border-radius:10px}.garden-bed .plant-art{position:relative;max-width:140px;z-index:1}.bed-soil{position:absolute;left:0;right:0;height:26%;bottom:24px;border:2px solid #a1814d;border-radius:50%;background:radial-gradient(ellipse,#b29462,#c4ab7e)}.empty-bed{align-self:end;position:relative;bottom:10%;display:grid;place-items:center;font-size:28px;width:40px;height:40px;background:#f7f0d9d9;color:#547043;border:1px dashed #74874f;border-radius:50%}.bed-label{align-self:end;font-size:.75rem;font-weight:800;line-height:1.1;z-index:2;white-space:nowrap}.watered .bed-soil{background:#688b76;border-color:#527b6c}.watered .bed-label{color:#23593f}.garden-weather{display:flex;align-items:center;justify-content:center;gap:12px;font:600 1.125rem Fraunces,serif;color:#5c7851}.garden-weather .icon{color:#b98a2d;width:38px;height:38px}
.repair-work{height:100%;display:grid;grid-template-rows:25px minmax(0,1fr) 48px;gap:8px;max-width:580px;margin:auto;padding:0 2px}.repair-request{display:flex;align-items:center;justify-content:space-between;font-size:.8125rem;color:var(--muted)}.repair-loom canvas{display:block;width:100%;height:100%}
/* Deeper reflection stays in the journal, away from the play surface. */
.journey-next{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:17px;background:#dce8cb;border:1px solid #c5d7b6;border-radius:13px;margin:20px 0}.journey-next>span{font-size:.6875rem;font-weight:800;letter-spacing:.1em}.journey-next strong{grid-column:1;font-size:1rem;line-height:1.25}.journey-next button{grid-row:1/3;grid-column:2;font-size:.875rem;padding:8px 14px}.journey-path{display:grid;gap:10px}.journey-chapter{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;border:1px solid #d9dfc7;border-radius:14px;padding:16px;background:#f2efdd}.chapter-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#e0e6cd}.journey-chapter h3{font-size:1.2rem;margin:0 0 3px}.journey-chapter p{font-size:.8125rem;line-height:1.3}.journey-chapter strong{font-size:.875rem}.journey-chapter progress{display:block;width:100%;height:5px;margin-top:9px;border:0;border-radius:5px;overflow:hidden;accent-color:#478461}.journey-chapter progress::-webkit-progress-bar{background:#d6dfc5}.journey-chapter progress::-webkit-progress-value{background:#478461}.journey-chapter.complete{background:#e7eedb}.journal-actions{display:flex;gap:8px;margin:16px 0 20px}.journal-actions button{font-size:.875rem}.journal-detail{border-top:1px solid #d0dbc2;margin-top:3px}.journal-detail summary{font-size:.875rem;font-weight:800;padding:15px 0;cursor:pointer}.field-notes{display:grid;gap:9px;margin-bottom:15px}.field-note{display:grid;grid-template-columns:60px minmax(0,1fr);gap:12px;align-items:center;background:#efeddb;padding:10px;border-radius:12px}.field-note>span{height:72px}.field-note h3{margin:0;font-size:1.125rem;line-height:1.25}.field-note .action-help{padding:5px 0;font-size:.8125rem;text-align:left}.field-note.discovered{background:#e5ecd4}.neighbour-story{text-align:center;max-width:560px;margin:auto}.story-portrait{display:block;width:110px;height:125px;margin:0 auto 14px}.neighbour-story h2{margin-right:0}.neighbour-story p{margin:auto;max-width:490px}.thought-choices{display:grid;gap:9px;margin:20px 0 2px}.thought-choices .secondary{min-height:54px;text-align:left;font-size:.9375rem;padding:12px 16px}.notebook-stamp{display:flex;gap:8px;align-items:center;justify-content:center;background:#e2ebd3;border-radius:12px;padding:12px;font-size:.875rem;margin:20px 0}.repair-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.repair-choices button{padding:10px;background:#eeedd9;border:1px solid #d3dbc0;border-radius:15px;display:flex;flex-direction:column;align-items:center;gap:8px}.repair-choices canvas{display:block;width:100%;height:200px;object-fit:contain}.repair-choices strong{font:600 1.125rem/1.2 Fraunces,serif}.repair-choices span{font-size:.75rem;color:var(--muted)}
@media(max-width:500px){:root{--dock:122px}.game-header{padding:4px 7px}.header-stats{gap:4px}.header-stats .backpack-dock{width:43px;min-width:43px}.header-stats .round-button{width:40px;min-width:40px}.game-brand{font-size:.8125rem;gap:5px}.game-brand .icon{width:22px}.mission-card{height:58px;padding:6px 12px;grid-template-columns:minmax(0,1fr) 36px}.mission-card h1{font-size:.9375rem}.mission-footer>span{font-size:.75rem}.action-button{max-width:none}.action-button>span[data-icon]{margin-right:0}.craft-steps{gap:5px}.craft-step{padding:4px 10px;font-size:.75rem}.craft-title h2{font-size:1.45rem}.design-studio{gap:10px;padding:0;grid-template-columns:minmax(0,.43fr) minmax(0,.57fr)}.design-preview{padding:12px 6px;border-radius:13px}.design-caption{font-size:.875rem}.design-preview .studio-label{font-size:.5625rem;letter-spacing:.06em}.studio-choices{padding:7px 0;gap:8px;grid-template-rows:auto minmax(0,1fr) auto 66px}.studio-patterns{gap:7px}.studio-pattern{font-size:.875rem;padding:5px;gap:6px;grid-template-columns:36% 1fr 13px}.studio-pattern.selected{padding:4px}.studio-pattern b{font-size:12px}.studio-label{font-size:.625rem}.studio-palettes{gap:4px}.palette-chip{width:27px;height:27px}.studio-palette small{font-size:.625rem}.site-choice{padding:8px 10px;gap:9px;grid-template-columns:35px minmax(0,1fr) 15px}.site-number{height:34px;width:34px;font-size:1.2rem}.site-choice strong{font-size:1.125rem}.site-choice small{font-size:.75rem}.site-choices{gap:8px}.collection-build{gap:9px;grid-template-rows:minmax(0,1fr) 44px}.build-bins{left:13%;right:13%;gap:5px}.build-sign{left:7%;right:7%;font-size:.5625rem;gap:5px}.build-bins small{font-size:.5625rem}.build-pieces button{font-size:.8125rem}.teaching-board{padding:8px 10px;gap:12px}.teaching-message{font-size:1rem;line-height:1.3}.teaching-person small,.shared-idea small{font-size:.6875rem}.teaching-person{max-width:95px}.garden-studio{gap:9px}.seed-picker{gap:7px}.garden-beds{gap:7px;padding:9px 6px}.seed-choice span{font-size:.75rem}.bed-label{font-size:.6875rem}.garden-weather{font-size:1rem;gap:8px}.repair-work{grid-template-rows:22px minmax(0,1fr) 44px;gap:7px}.journey-next{padding:13px;gap:4px 7px}.journey-next strong{font-size:.875rem}.journey-next button{font-size:.8125rem;padding:8px 10px}.journey-chapter{padding:12px 10px;gap:9px;grid-template-columns:36px minmax(0,1fr) auto}.chapter-icon{width:36px;height:36px}.chapter-icon .icon{width:21px;height:21px}.journey-chapter h3{font-size:1.125rem}.journey-chapter p{font-size:.75rem}.journey-chapter strong{font-size:.75rem}.repair-choices{gap:7px}.repair-choices button{padding:7px 5px}.repair-choices canvas{height:140px}.repair-choices strong{font-size:.875rem}.repair-choices span{font-size:.6875rem}.story-portrait{height:106px;width:96px}.craft-brand{max-width:155px}}
@media(max-height:560px){:root{--dock:112px}.mission-card{height:56px;bottom:calc(56px + env(safe-area-inset-bottom));padding-top:5px;padding-bottom:5px}.world-bottom{min-height:calc(56px + env(safe-area-inset-bottom));padding-top:4px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}.action-button{min-height:45px}.design-preview{padding:7px 5px}.studio-choices{padding:0;gap:6px;grid-template-rows:auto minmax(0,1fr) auto 52px}.studio-patterns{gap:5px}.studio-pattern{min-height:40px}.palette-chip{width:22px;height:22px}.studio-palette{gap:3px}.studio-label{font-size:.5625rem}.design-preview .studio-label{font-size:.5rem}.design-caption{font-size:.75rem}.craft-title h2{font-size:1.25rem}.site-choices{gap:6px}.site-choice{padding:6px 9px}.site-choice strong{font-size:1rem}.site-choice small{font-size:.6875rem;margin-top:3px}.collection-build{grid-template-rows:minmax(0,1fr) 40px;gap:6px}.teaching-board{gap:7px;padding:5px 10px;grid-template-rows:minmax(58px,1fr) minmax(60px,.8fr) auto}.teaching-message{font-size:.875rem;line-height:1.25}.shared-idea{gap:4px}.shared-idea .icon{width:28px;height:28px}.garden-studio{grid-template-rows:minmax(60px,.65fr) minmax(85px,1fr);gap:7px}.seed-choice{padding:3px}.garden-beds{padding:5px}.repair-work{grid-template-rows:20px minmax(0,1fr) 40px;gap:5px}.craft-step{padding:3px 9px}}
@media(max-height:440px) and (min-width:600px){.design-studio{gap:12px;grid-template-columns:44% minmax(0,1fr)}.design-preview{padding:7px}.studio-choices{grid-template-rows:auto minmax(0,1fr) auto 48px;gap:4px}.studio-pattern{min-height:32px;grid-template-columns:32% 1fr 16px;padding:3px 6px;font-size:.8125rem}.studio-pattern.selected{padding:2px 5px}.studio-pattern canvas{max-height:39px}.studio-patterns{gap:4px}.palette-chip{width:20px;height:20px}.studio-palette{flex-direction:row;min-height:40px;gap:5px}.studio-palette small{font-size:.625rem}.studio-label{font-size:.5625rem}.teaching-board{grid-template-rows:minmax(55px,1fr) minmax(60px,.8fr) auto;gap:6px}.teaching-message{font-size:.875rem}.garden-studio{grid-template-columns:120px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:8px}.seed-picker{grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr));gap:5px}.seed-choice{grid-template-columns:45px 1fr;grid-template-rows:1fr;align-items:center;padding:2px 6px;gap:4px}.garden-weather{flex-direction:column;text-align:center;font-size:.9375rem}.repair-work{grid-template-rows:19px minmax(0,1fr) 35px;gap:4px}.site-choice small{font-size:.75rem}.site-choice{padding:5px 10px}.collection-build{grid-template-rows:minmax(0,1fr) 40px;gap:6px}.build-sign{font-size:.625rem}.build-bins small{font-size:.5625rem}}
@media(max-width:350px){.header-stats{gap:3px}.header-stats .round-button{width:38px;min-width:38px}.header-stats .backpack-dock{width:41px;min-width:41px}.game-brand{font-size:.75rem;gap:4px}.mission-card h1{font-size:.875rem}.mission-footer>span{font-size:.6875rem}.craft-step{font-size:.6875rem;padding:4px 8px}.craft-steps{gap:3px}.design-studio{gap:7px;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr)}.studio-pattern{grid-template-columns:31% 1fr 10px;gap:4px;font-size:.8125rem}.studio-pattern b{font-size:10px}.studio-palette small{font-size:.5625rem}.studio-palettes{gap:3px}.palette-chip{width:21px;height:21px}.site-choice{grid-template-columns:30px minmax(0,1fr) 12px;gap:7px}.site-number{height:28px;width:28px;font-size:1rem}.site-choice small{font-size:.6875rem}.build-pieces button{font-size:.75rem}.repair-work .thread-picker{gap:5px}}

/* Version 5: the first-visit card must shrink with the usable screen. */
.welcome-scrim{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;min-width:0;min-height:0;padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));overflow:hidden}
.welcome-card{display:block;box-sizing:border-box;width:100%;max-width:390px;min-width:0;min-height:0;max-height:100%;padding:23px 22px 15px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:24px;text-align:center;scrollbar-width:thin}
.welcome-card>*{min-width:0;max-width:100%;overflow-wrap:break-word}.welcome-card>.eyebrow{display:block;font-size:.6875rem;letter-spacing:.09em;line-height:1.35}.welcome-card h2{font-size:clamp(1.625rem,7.2vw,2.25rem);line-height:1.12;margin:10px 0 12px}.welcome-card h2 em{font-size:inherit}.welcome-copy{font-size:.9375rem;line-height:1.4;max-width:310px;margin:auto}
.character-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;margin:16px 0;min-width:0}.explorer-label{font-size:.8125rem;font-weight:800;line-height:1.2}.explorer-options{display:grid;grid-template-columns:72px 72px;gap:12px;justify-content:center}.character-choice button{width:72px;height:82px;min-width:0;padding:4px;flex:none;border-radius:14px}.character-choice .character{width:100%;height:100%}.character-choice .pace-note{font-size:.75rem;line-height:1.2;margin:0;color:var(--muted)}.welcome-card .primary.large{width:100%;min-width:0;min-height:48px;font-size:1rem;white-space:normal;gap:10px;padding:11px 15px}.welcome-footer{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;margin-top:6px}.welcome-footer .source-link{font-size:.75rem;line-height:1.35;white-space:normal;max-width:100%;padding:6px 4px;min-height:32px;margin:0}.build-label{font-size:.625rem;line-height:1.2;color:var(--muted);letter-spacing:.04em}
@media(max-height:560px){.welcome-card{width:100%;max-width:390px;max-height:100%;padding:15px 17px 10px}.welcome-card h2{font-size:clamp(1.625rem,7vw,1.875rem);margin:8px 0 9px}.welcome-copy{font-size:.875rem;line-height:1.35}.character-choice{margin:11px 0;gap:5px}.explorer-options{grid-template-columns:64px 64px;gap:11px}.character-choice button{height:70px;width:64px}.welcome-footer{margin-top:4px;gap:1px}}
@media(max-height:440px) and (min-width:600px){.welcome-card{width:100%;max-width:660px;max-height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto auto;gap:8px 24px;padding:15px 22px 10px;text-align:left}.welcome-card>.eyebrow{grid-column:1;grid-row:1;display:block}.welcome-card h2{grid-column:1;grid-row:2;font-size:1.75rem;line-height:1.1;margin:0}.welcome-copy{grid-column:1;grid-row:3;font-size:.875rem;line-height:1.35;margin:0}.character-choice{grid-column:2;grid-row:1/3;margin:0;align-self:center;text-align:center}.welcome-card .primary.large{grid-column:2;grid-row:3;align-self:center;min-height:44px}.welcome-footer{grid-column:1/-1;grid-row:4;display:flex;flex-direction:row;justify-content:space-between;gap:10px;margin:0}.welcome-footer .source-link{min-height:28px;text-align:left;padding:4px 0}.build-label{flex:none}}
