:root{--ink:#1d3557;--ink-soft:#46607f;--paper:#fffaf1;--paper-edge:#f0dcb4;--cream:#fdf3e1;--sheet:#fdf4e2f7;--green:#1f9d55;--green-dark:#157a45;--green-soft:#d8f3dc;--warn-soft:#ffe3d2;--warn:#9b2226;--hint-soft:#fff4c2;--gold:#f2c14e;--gold-dark:#b07d1a;--wood:#d7a35c;--wood-dark:#b98345;--shadow:0 4px 0 #1d35572e, 0 10px 24px #1d355724;--font:ui-rounded, "SF Pro Rounded", "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;font-family:var(--font);color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#cfe6ee;margin:0;overflow:hidden}#game{touch-action:none;position:fixed;inset:0}#game canvas{touch-action:none;width:100%;height:100%;display:block}#ui{pointer-events:none;position:fixed;inset:0}button{color:inherit;touch-action:manipulation;cursor:pointer;font-family:inherit}button:focus-visible{outline-offset:3px;outline:4px solid #4cc9f0}#status{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.vignette{pointer-events:none;background:radial-gradient(75% 70% at 50% 48%,#0000 60%,#12263438 100%);position:absolute;inset:0}.hud{z-index:30;pointer-events:none;gap:10px;display:flex;position:absolute}.gear-button{width:56px;height:56px;box-shadow:var(--shadow);pointer-events:auto;background:#ffffffeb;border:0;border-radius:50%;flex:none;align-self:center;place-items:center;padding:0;display:grid}.gear-button svg{width:34px;height:34px}.gear-button:focus-visible{outline:4px solid var(--gold-dark);outline-offset:2px}.pill{height:100%;box-shadow:var(--shadow);pointer-events:auto;background:#fffffff2;border-radius:999px;align-items:center;gap:10px;padding:0 18px 0 8px;font-weight:800;display:flex}.pill[hidden]{display:none}.pill svg{aspect-ratio:1;flex:none;height:78%}.pill .count{font-variant-numeric:tabular-nums;line-height:1}.pill.bump{animation:.42s cubic-bezier(.3,1.6,.5,1) bump}.wallet{position:relative}.wallet .gain{background:var(--green);color:#fff;white-space:nowrap;box-shadow:var(--shadow);border-radius:999px;margin-top:8px;padding:4px 12px;font-weight:900;animation:1.4s ease-out forwards gain;position:absolute;top:100%;left:50%}@keyframes gain{0%{opacity:0;transform:translate(-50%,10px)scale(.6)}15%{opacity:1;transform:translate(-50%)scale(1.1)}25%{transform:translate(-50%)scale(1)}75%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-12px)}}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.spots{transition:opacity .22s;position:absolute;inset:0}.spots.hidden{opacity:0;visibility:hidden}.spot{pointer-events:auto;will-change:transform;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:0;display:flex;position:absolute;top:0;left:0}.spot .badge{min-height:56px;box-shadow:var(--shadow);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:6px 16px 6px 8px;font-size:20px;font-weight:800;display:flex}.spot .badge svg{flex:none;width:44px;height:44px}.spot .badge:after{content:"";z-index:-1;background:#fff;border-radius:3px;width:18px;height:18px;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)rotate(45deg)}.spot.soon .badge{color:var(--ink-soft);background:#ffffffdb}.spot.soon .badge svg{filter:saturate(.7);opacity:.85}.spot .soon-tag{color:#7a5a32;letter-spacing:.01em;font-size:13px;font-weight:700;display:block}.spot .text{flex-direction:column;align-items:flex-start;line-height:1.05;display:flex}.spot.play .badge{outline:4px solid var(--gold);background:linear-gradient(#fffbe6,#fff)}.spot.play .bob{animation:1.6s ease-in-out infinite bob}.spot .bob{position:relative}.spot .ping{color:#fff;background:#e63946;border-radius:50%;place-items:center;width:30px;height:30px;font-size:20px;font-weight:900;display:grid;position:absolute;top:-10px;right:-10px;box-shadow:0 2px #0003}.spot.wiggle .bob{animation:.5s wiggle}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}.toast{background:var(--ink);color:#fff;box-shadow:var(--shadow);z-index:40;border-radius:999px;padding:12px 22px;font-size:20px;font-weight:800;transition:transform .26s cubic-bezier(.3,1.4,.5,1);position:absolute;top:18px;left:50%;transform:translate(-50%,-220%)}.toast.show{transform:translate(-50%)}.note{background:var(--paper);border:3px solid var(--paper-edge);width:max-content;max-width:min(560px,100% - 32px);color:var(--ink);text-align:center;box-shadow:var(--shadow);pointer-events:auto;z-index:55;border-radius:20px;padding:14px 22px;font-size:20px;font-weight:800;line-height:1.3;transition:transform .3s;position:absolute;bottom:18px;left:50%;transform:translate(-50%,160%)}.note.show{transform:translate(-50%)}.errand-pill{background:var(--gold);min-height:56px;color:var(--ink);text-align:left;box-shadow:var(--shadow);z-index:35;border:0;border-radius:999px;align-items:center;gap:10px;padding:6px 18px 6px 10px;font-size:18px;font-weight:800;line-height:1.15;animation:1.6s ease-in-out infinite bob;display:flex;position:absolute;top:16px;right:16px}.errand-pill[hidden],.errand-pill.away{display:none}.errand-pill svg{flex:none;width:40px;height:40px}.overlay{visibility:hidden;position:absolute;inset:0}.overlay.open{visibility:visible}.overlay>*{pointer-events:auto;position:absolute}.overlay [hidden]{display:none!important}.overlay .sheet{background:var(--sheet);pointer-events:none;transition:transform .42s cubic-bezier(.2,.9,.3,1),opacity .3s}.overlay .dock{background:linear-gradient(#ffffff2e, #0000) top / 100% 10px no-repeat, repeating-linear-gradient(90deg, var(--wood) 0 54px, var(--wood-dark) 54px 56px);pointer-events:none;border-top:8px solid #c4893e;transition:transform .42s cubic-bezier(.2,.9,.3,1);box-shadow:0 -6px 20px #1d35572e}.overlay:not(.shown) .dock,.overlay:not(.shown) .coin,.overlay:not(.shown) .action,.overlay:not(.shown) .tray-slot,.overlay:not(.shown) .tray-hint{transform:translateY(120%)}.overlay:not(.shown) .sheet{opacity:0}.overlay:not(.shown) .receipt,.overlay:not(.shown) .message,.overlay:not(.shown) .given,.overlay:not(.shown) .bubble,.overlay:not(.shown) .close{opacity:0;transform:translateY(16px)}.overlay .receipt,.overlay .message,.overlay .given,.overlay .bubble,.overlay .close,.overlay .coin,.overlay .action,.overlay .tray-slot,.overlay .tray-hint{transition:transform .38s cubic-bezier(.2,.9,.3,1),opacity .26s}.sheet-title{color:#8a5a14;pointer-events:none;justify-content:center;align-items:center;gap:16px;font-size:34px;font-weight:900;display:flex}.sheet-title svg{aspect-ratio:1;height:80%;max-height:110px}.overlay:not(.shown) .sheet-title{opacity:0}.receipt{background:var(--paper);border:3px solid var(--paper-edge);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;justify-content:space-evenly;padding:10px 18px;font-weight:600;display:flex;overflow:hidden}.receipt .row{align-items:center;gap:10px;min-height:0;display:flex}.receipt .row svg{flex:none;width:1.5em;height:1.5em}.receipt .row .left{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.receipt .row .right{font-variant-numeric:tabular-nums;white-space:nowrap}.receipt .row.total{border-top:2px dashed var(--paper-edge);padding-top:4px;font-weight:800}.receipt .row.paid{font-weight:800}.receipt .row.paid svg.note-50{color:#8e5fbf}.receipt .row.paid svg.note-100{color:#f08a24}.message{background:var(--hint-soft);border-radius:16px;align-items:center;padding:0 16px;font-weight:800;line-height:1.15;display:flex}.message.attention{background:var(--warn-soft);color:var(--warn)}.message.success{background:var(--green-soft);color:#146c43}.given{pointer-events:none;justify-content:center;align-items:center;display:flex}.given span{white-space:nowrap;background:#fffffff2;border-radius:999px;padding:4px 24px;font-weight:800;box-shadow:0 2px #1d35571f}.bubble{box-shadow:var(--shadow);pointer-events:none;background:#fff;border-radius:18px;max-width:320px;padding:12px 16px;font-size:18px;font-weight:800;line-height:1.2}.bubble:after{content:"";left:var(--tail,50%);background:#fff;border-radius:3px;width:20px;height:20px;position:absolute;bottom:-10px;transform:translate(-50%)rotate(45deg)}.bubble .keep{white-space:nowrap}.bubble.hidden{display:none}.close{color:var(--ink);box-shadow:var(--shadow);background:#fff;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.close svg{width:46%;height:46%}.coin{color:#5b3a12;background:radial-gradient(circle at 34% 28%,#fffffff2 0 9%,#0000 24%),radial-gradient(circle,#ffe08a 0 52%,#f2c14e 53% 64%,#e0a93a 65% 100%);border:0;border-radius:50%;place-items:center;padding:0;font-weight:900;line-height:1;display:grid;box-shadow:inset 0 -5px #78480a59,0 4px #a8741c,0 8px 14px #1d355738}.coin.silver{color:#2f3a45;background:radial-gradient(circle at 34% 28%,#fffffff2 0 9%,#0000 24%),radial-gradient(circle,#f4f7fa 0 52%,#c9d1d9 53% 64%,#a7b1bc 65% 100%);box-shadow:inset 0 -5px #3c46554d,0 4px #7d8894,0 8px 14px #1d355738}.coin .value{font-size:.36em}.coin .unit{opacity:.8;margin-top:-.35em;font-size:.16em;font-weight:800}.coin .face{flex-direction:column;align-items:center;display:flex}.coin:active{transform:translateY(3px)scale(.97);box-shadow:inset 0 -3px #78480a59,0 1px #a8741c}.tray-slot.coin{animation:.26s cubic-bezier(.3,1.5,.5,1) drop}@keyframes drop{0%{opacity:0;transform:translateY(-30px)scale(.6)}to{opacity:1;transform:translateY(0)scale(1)}}.tray-hint{color:#6b3f12;pointer-events:none;border:3px dashed #6b3f1273;border-radius:18px;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:flex}.tray-hint.filled{color:#0000;border-color:#0000}.shake{animation:.42s shake}@keyframes shake{0%,to{translate:0}20%{translate:-10px}40%{translate:9px}60%{translate:-6px}80%{translate:4px}}.action{border:0;border-radius:18px;font-weight:900;box-shadow:0 5px #00000038,0 10px 18px #1d35572e}.action:active{transform:translateY(4px);box-shadow:0 1px #00000038}.action.clear{color:#6b3f12;background:#fff6e8}.action.done{background:var(--green);color:#fff}.action.done.next{background:var(--green-dark);animation:1.4s ease-in-out infinite glow}@keyframes glow{0%,to{box-shadow:0 5px #00000038,0 0 #1f9d5580}50%{box-shadow:0 5px #00000038,0 0 0 12px #1f9d5500}}.fly-coin{pointer-events:none;z-index:50;width:54px;height:54px;margin:-27px 0 0 -27px;transition:transform .72s cubic-bezier(.45,0,.55,1);position:absolute}.fly-coin>div{width:100%;height:100%;transition:transform .72s cubic-bezier(.2,-.6,.6,1)}.fly-coin svg{filter:drop-shadow(0 4px 4px #00000040);width:100%;height:100%}.confetti{pointer-events:none;z-index:45;border-radius:3px;width:14px;height:22px;animation:1.1s cubic-bezier(.2,.7,.4,1) forwards confetti;position:absolute;box-shadow:0 1px #00000026}@keyframes confetti{0%{opacity:1;transform:translate(0)rotate(0)}75%{opacity:1}to{transform:translate(var(--dx), var(--dy)) rotate(var(--rot));opacity:0}}.stats{color:#fff;white-space:pre;z-index:60;background:#0009;border-radius:8px;padding:6px 10px;font:12px/1.3 ui-monospace,Menlo,monospace;position:absolute;bottom:8px;right:8px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}html.calm *,html.calm :before,html.calm :after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.read-aloud{display:none}html.can-speak .read-aloud{pointer-events:auto;background:#fff;border:0;border-radius:50%;place-items:center;width:48px;height:48px;padding:0;display:grid;box-shadow:0 3px #1d35572e}html.can-speak .read-aloud svg{width:30px;height:30px}.read-aloud:focus-visible{outline:4px solid var(--gold-dark);outline-offset:2px}.read-wrap{flex-shrink:0;position:relative}html.can-speak .read-wrap>.say,html.can-speak .overlay .message{padding-right:64px}.stall-read{z-index:3;position:absolute}.read-wrap>.read-aloud{position:absolute;top:50%;right:6px;transform:translateY(-50%)}.job-progress{justify-content:center;gap:10px;display:flex}.job-progress .dot{background:#e4d6b8;border-radius:50%;width:16px;height:16px}.job-progress .dot.done{background:var(--green)}.job-progress .dot.now{background:var(--gold);outline:3px solid var(--gold-dark)}.job-visual{flex-direction:column;align-items:center;gap:8px;display:flex}.job-visual[hidden]{display:none}.v-row,.v-groups{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.v-group{border:3px dashed var(--paper-edge);background:#fff;border-radius:14px;padding:6px}.v-group .v-row{max-width:132px}.v-icon svg{width:38px;height:38px;display:block}.v-group .v-icon svg{width:28px;height:28px}.v-more{font-size:var(--big,40px);color:var(--ink-soft);font-weight:900}.v-series{gap:10px;display:flex}.v-cell{border:3px solid var(--paper-edge);text-align:center;min-width:64px;font-size:var(--big,40px);background:#fff;border-radius:14px;padding:10px 12px;font-weight:900}.v-cell.v-gap{border-style:dashed;border-color:var(--gold-dark);color:var(--gold-dark)}.v-list{flex-direction:column;gap:6px;width:100%;display:flex}.v-line{background:#fff;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:6px 12px;display:grid}.v-line .v-icon svg{width:34px;height:34px}.v-value{font-variant-numeric:tabular-nums;font-weight:900}.v-value.minus{color:var(--warn)}.v-grid{gap:4px;max-width:100%;display:grid}.v-grid .v-icon svg{width:26px;height:26px}.v-rect{background:#b9e4a0;border:4px solid #2f9e6b;border-radius:6px;width:min(100%,300px);position:relative}.v-cut{background:#e8dcc0;border-bottom:3px dashed #8a5a33;border-left:3px dashed #8a5a33;position:absolute;top:0;right:0}.v-w,.v-h{background:#fff;border-radius:8px;padding:2px 8px;font-weight:900;position:absolute}.v-w{bottom:-18px;left:50%;transform:translate(-50%)}.v-h{top:50%;left:-14px;transform:translate(-50%,-50%)}.v-blocks{--u:12px;justify-content:center;align-items:flex-end;gap:calc(var(--u) * 1.5);flex-wrap:wrap;display:flex}.v-blocks.small{--u:6px}.v-hundreds{max-width:calc(var(--u) * 30 + 8px);flex-wrap:wrap;gap:4px;display:flex}.v-tens{gap:3px;display:flex}.v-ones{grid-template-columns:repeat(5, var(--u));gap:3px;display:grid}.b-hundred,.b-ten,.b-one{box-sizing:border-box;background-image:linear-gradient(90deg,#1d355738 1px,#0000 1px),linear-gradient(#1d355738 1px,#0000 1px);background-size:var(--u) var(--u);border-radius:2px;display:block}.b-hundred{width:calc(var(--u) * 10);height:calc(var(--u) * 10);background-color:#8fd3a8;border:2px solid #2f9e6b}.b-ten{width:var(--u);height:calc(var(--u) * 10);background-color:#8cc4ee;border:2px solid #2f6fa6}.b-one{width:var(--u);height:var(--u);background-color:#f6c445;border:2px solid #b8860b}.job-tag{color:#1d4f73;background:#e8f6fb;border-radius:999px;align-self:center;padding:6px 14px;font-weight:900}.job-tag[hidden],.job-grew[hidden]{display:none}.job-grew{text-align:center;background:#fff4cc;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-weight:900;display:flex}.job-grew svg{flex:none;width:32px;height:32px}.v-percent{border:3px solid var(--paper-edge);background:#fff;border-radius:13px;width:100%;height:26px;overflow:hidden}.v-fill{background:var(--green);height:100%}.worked{background:#e8f6fb;border-radius:16px;margin:0;padding:10px 16px 10px 40px;font-weight:800;line-height:1.5}.worked[hidden],.job-foot:empty,.job-slip:empty{display:none}.secondary-job{background:var(--cream);color:#6b3f12}.slip{font-variant-numeric:tabular-nums;background:#fffdf7 repeating-linear-gradient(#0000 0 31px,#1d35570d 31px 32px);border-radius:6px;flex-direction:column;gap:4px;padding:14px 16px;display:flex;box-shadow:0 3px #1d35571f,0 8px 16px #1d35571a}.slip-note{text-align:center;color:var(--ink-soft);font-weight:800}.slip-title{text-align:center;letter-spacing:.04em;margin-bottom:4px;font-weight:900}.slip-row{justify-content:space-between;gap:12px;display:flex}.slip-total{border-top:2px dashed var(--ink-soft);padding-top:6px;font-size:1.15em;font-weight:900}.slip-minus .slip-right{color:var(--warn)}.slip-gap{margin-top:6px}.slip-wallet{color:var(--green-dark);font-weight:900}.receipt-card{z-index:55;width:min(380px,100% - 32px);font-size:18px;font-weight:700;transition:transform .3s;position:absolute;bottom:18px;left:50%;transform:translate(-50%,160%)}.receipt-card.show{transform:translate(-50%)}.offers{gap:10px;display:grid}.offer{min-height:var(--button,72px);text-align:left;background:#fff;border:0;border-radius:18px;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;padding:8px 16px;display:grid;box-shadow:0 5px #1d355733,0 8px 14px #1d355724}.offer svg{grid-row:span 2;width:44px;height:44px}.offer .who{font-size:var(--body,20px);font-weight:900}.offer .what{font-size:calc(var(--body,20px) * .95);color:var(--ink-soft);font-weight:800}.offer.on{outline:4px solid var(--gold-dark);background:var(--hint-soft)}.activity .panel{background:var(--sheet);border:3px solid var(--paper-edge);box-shadow:var(--shadow);border-radius:26px;flex-direction:column;gap:12px;padding:16px 20px 20px;transition:transform .42s cubic-bezier(.2,.9,.3,1),opacity .3s;display:flex;overflow:hidden auto}.activity:not(.shown) .panel{opacity:0;transform:translateY(40px)}.activity[data-mode=side]:not(.shown) .panel{transform:translate(60px)}.activity:not(.shown) .close{opacity:0}.activity .close{transition:opacity .26s}.panel-title{font-size:var(--title,28px);color:#8a5a14;align-items:center;gap:12px;font-weight:900;display:flex}.panel-title svg{flex:none;width:1.8em;height:1.8em}.panel-body{min-height:0;font-size:var(--body,20px);flex-direction:column;flex:1;gap:14px;font-weight:700;display:flex}.say{background:var(--hint-soft);border-radius:16px;flex-shrink:0;align-items:center;min-height:2.6em;padding:8px 16px;font-weight:800;line-height:1.2;display:flex}.say[data-phase=bite]{color:#9b2226;background:#ffd6a5;animation:.5s ease-in-out infinite pulse}.say[data-phase=caught],.say.good{background:var(--green-soft);color:#146c43}.say[data-phase=missed],.say[data-phase=early],.say[data-phase=full],.say.bad{background:var(--warn-soft);color:var(--warn)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.big-button{min-height:var(--button,72px);background:var(--green);color:#fff;font-size:calc(var(--button,72px) * .36);border:0;border-radius:20px;justify-content:center;align-items:center;gap:14px;padding:0 24px;font-weight:900;display:flex;box-shadow:0 6px #00000038,0 10px 18px #1d35572e}.big-button svg{flex:none;width:1.5em;height:1.5em}.big-button:active{transform:translateY(4px);box-shadow:0 2px #00000038}.big-button:disabled{opacity:.45;cursor:default}.big-button.pull{background:#1f78c1}.big-button.bite{background:#e63946;animation:.4s ease-in-out infinite pulse}.big-button.secondary{color:#6b3f12;background:#fff6e8}.basket{background:#ffffffb3;border-radius:16px;grid-template-columns:repeat(10,1fr);gap:4px;padding:10px;display:grid}.basket .slot svg{opacity:.16;filter:grayscale();width:100%;height:auto;transition:opacity .2s,transform .3s cubic-bezier(.3,1.6,.5,1)}.basket .slot.full svg{opacity:1;filter:none;transform:scale(1.08)}.basket-count{text-align:center;font-weight:900;font-size:calc(var(--body,20px) * 1.2)}.net-level{color:var(--ink-soft);letter-spacing:.15em;justify-content:center;align-items:center;gap:8px;display:flex}.net-level svg{width:2em;height:2em}.activity[data-mode=bottom] .panel-title{font-size:calc(var(--title,28px) * .85)}.house-tools:empty,.house-foot:empty,.house-shop:empty{display:none}.house-tools{flex-wrap:wrap;gap:10px;display:flex}.house-heading{margin-bottom:6px;font-weight:900}.house-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.house-grid .shop-card.on{outline:4px solid var(--gold-dark);background:var(--hint-soft)}.house-foot{flex-direction:column;gap:10px;display:flex}.accounts{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.account{background:#ffffffd9;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:10px;display:flex}.account>svg,.piggy{width:calc(var(--button,72px) * 1.05);height:calc(var(--button,72px) * 1.05)}.piggy{display:block;position:relative}.piggy svg{z-index:1;width:100%;height:100%;position:relative}.piggy .fill{z-index:2;opacity:.85;mix-blend-mode:multiply;background:linear-gradient(#ffe08a,#f2c14e);border-radius:40% 40% 50% 50%;height:0;max-height:50%;transition:height .5s cubic-bezier(.3,1.4,.5,1);position:absolute;bottom:18%;left:18%;right:18%}.piggy.jiggle{animation:.42s wiggle}.amount{white-space:nowrap;font-size:calc(var(--big,44px) * .72);font-variant-numeric:tabular-nums;font-weight:900;line-height:1}.accounts .arrow svg{width:44px;height:44px;transform:rotate(90deg)}.moves{flex-direction:column;gap:10px;display:flex}.move-row{align-items:center;gap:10px;display:flex}.move-label{min-width:4.4em;font-weight:900}.chip{min-height:max(48px, calc(var(--button,72px) * .8));background:var(--green);color:#fff;font-size:calc(var(--button,72px) * .34);border:0;border-radius:16px;flex:1;justify-content:center;align-items:center;gap:6px;font-weight:900;display:flex;box-shadow:0 5px #0003}.chip svg{width:1.2em;height:1.2em}.chip.out{color:#6b3f12;background:#fff6e8}.chip:disabled{opacity:.35;cursor:default}.chip:active{transform:translateY(3px);box-shadow:0 2px #0003}.goal{background:#ffffffd9;border-radius:18px;flex-direction:column;gap:6px;padding:10px 14px;display:flex}.goal-head{align-items:center;gap:10px;font-weight:900;display:flex}.goal-head svg{width:2.2em;height:2.2em}.goal-bar{background:#e8dcc4;border-radius:999px;height:22px;overflow:hidden}.goal-bar span{background:linear-gradient(90deg,#4cc9f0,#2f9e6b);border-radius:999px;width:0;height:100%;transition:width .5s;display:block}.goal-text{color:var(--ink-soft);font-weight:800}.goal-buy:empty,.say:empty{display:none}.read-wrap:has(>.say:empty){display:none}.activity-bank[data-mode=bottom][data-wide=true] .panel-body{grid-template-columns:1fr 1fr;grid-auto-rows:min-content;align-content:start;column-gap:18px;display:grid}.activity-bank[data-mode=bottom][data-wide=true] .panel-body>*{grid-column:1}.activity-bank[data-mode=bottom][data-wide=true] .goal{grid-area:1/2/span 2}.activity-bank[data-mode=bottom][data-wide=true] .goal-buy{grid-area:3/2}.rate-card,.loan-card{background:#ffffffd9;border-radius:18px;flex-direction:column;gap:8px;padding:10px 14px;display:flex}.rate-card[hidden],.loan-card[hidden]{display:none}.card-head{align-items:center;gap:10px;font-weight:900;display:flex}.card-head svg{flex:none;width:2em;height:2em}.rate-sum{font-size:calc(var(--big,44px) * .6);font-variant-numeric:tabular-nums;font-weight:900}.card-note{color:var(--ink-soft);font-weight:700;line-height:1.3}.preview{font-variant-numeric:tabular-nums;grid-template-columns:auto 1fr;gap:2px 12px;font-weight:800;display:grid}.goal-chips{flex-wrap:wrap;gap:8px;display:flex}.goal-chip{min-height:48px;font:inherit;background:#fff;border:0;border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 6px;font-weight:800;display:flex;box-shadow:0 3px #1d35572e}.goal-chip svg{width:36px;height:36px}.goal-chip.on{background:var(--gold);outline:3px solid var(--gold-dark)}.offers-two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.loan-offer{font:inherit;text-align:left;background:#fff;border:0;border-radius:16px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex;box-shadow:0 5px #1d355733,0 8px 14px #1d355724}.loan-offer b{font-size:1.15em}.loan-offer.on{outline:4px solid var(--gold-dark);background:var(--hint-soft)}.loan-row{flex-wrap:wrap;gap:10px;display:flex}.loan-row .chip{flex:auto}.verdict{border-radius:14px;padding:8px 12px;font-weight:900}.verdict.ok{background:var(--green-soft);color:var(--green-dark)}.verdict.no{background:var(--warn-soft);color:var(--warn)}.practice-text{font-weight:800;line-height:1.4}.price-board{color:#fdfbf3;background:#2e3b33;border:6px solid #a87443;border-radius:18px;grid-template-columns:auto 1fr;grid-template-areas:"day trend""main main";align-items:center;gap:4px 12px;padding:12px 16px;display:grid;box-shadow:inset 0 0 0 2px #ffffff14}.price-day{grid-area:day;align-items:center;gap:6px;font-weight:800;display:flex}.price-day svg,.price-trend svg{width:1.5em;height:1.5em}.price-trend{grid-area:trend;justify-self:end;align-items:center;gap:6px;font-weight:800;display:flex}.price-trend[data-trend=up]{color:#9be7b8}.price-trend[data-trend=down]{color:#ffb3b8}.price-main{font-size:var(--big,44px);grid-area:main;justify-content:center;align-items:center;gap:12px;font-weight:900;display:flex}.price-main svg{width:1.3em;height:1.3em}.sell-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.sell-row[hidden],.fish-row[hidden],.sum[hidden]{display:none}.sell-label{text-align:center;font-weight:900;font-size:calc(var(--body,20px) * 1.2);flex:1}.round-button{width:var(--button,72px);height:var(--button,72px);color:var(--ink);background:#fff;border:0;border-radius:50%;place-items:center;padding:0;display:grid;box-shadow:0 5px #1d355733,0 8px 14px #1d355724}.round-button svg{width:44%;height:44%}.round-button:disabled{opacity:.35}.fish-row{flex-wrap:wrap;justify-content:center;gap:2px;min-height:34px;display:flex}.fish-row span svg{width:34px;height:34px}.sum{text-align:center;font-size:var(--big,44px);letter-spacing:.02em;font-weight:900}.answers.pick{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.choice{min-height:var(--button,72px);font-size:calc(var(--button,72px) * .42);background:#fff;border:0;border-radius:18px;justify-content:center;align-items:center;gap:10px;font-weight:900;display:flex;box-shadow:0 5px #1d355733,0 8px 14px #1d355724}.choice svg{width:1.1em;height:1.1em}.choice:active,.key:active,.round-button:active{transform:translateY(3px);box-shadow:0 2px #1d355733}.answers.type{flex-direction:column;gap:10px;display:flex}.typed{min-height:max(48px, calc(var(--button,72px) * .9));border:3px solid var(--paper-edge);font-size:var(--big,44px);font-variant-numeric:tabular-nums;background:#fff;border-radius:16px;place-items:center;font-weight:900;display:grid}.pad{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.key{min-height:max(48px, calc(var(--button,72px) * .78));font-size:calc(var(--button,72px) * .38);background:#fff;border:0;border-radius:14px;place-items:center;font-weight:900;display:grid;box-shadow:0 4px #1d355733}.key svg{width:1.2em;height:1.2em}.key.ok{background:var(--green);color:#fff}.market-foot:empty{display:none}.activity-market[data-mode=bottom][data-wide=true] .panel-body{grid-template-columns:1fr 1fr;grid-auto-rows:min-content;align-content:start;column-gap:18px;display:grid}.activity-market[data-mode=bottom][data-wide=true] .panel-body>*{grid-column:1}.activity-market[data-mode=bottom][data-wide=true] .answers,.activity-market[data-mode=bottom][data-wide=true] .market-foot{grid-area:1/2/span 5;align-self:start}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;display:grid}.shop-card{background:#fff;border:0;border-radius:18px;flex-direction:column;align-items:center;gap:4px;min-height:132px;padding:10px 6px;font-weight:800;display:flex;box-shadow:0 5px #1d355729,0 8px 14px #1d35571a}.shop-card>svg{width:56px;height:56px}.shop-card .name{font-size:17px}.shop-card .price{color:#8a5a14;align-items:center;gap:4px;font-size:20px;font-weight:900;display:flex}.shop-card .price svg{width:22px;height:22px}.shop-card.locked{opacity:.5}.shop-card:active{transform:translateY(3px);box-shadow:0 2px #1d355729}.net-card{background:#ffffffd9;border-radius:18px;align-items:center;gap:12px;padding:10px 12px;display:flex}.net-info{flex:1;align-items:center;gap:10px;line-height:1.25;display:flex}.net-info svg{flex:none;width:52px;height:52px}.net-card .chip{flex:none;min-width:120px}.net-done{color:#146c43;align-items:center;gap:6px;font-weight:900;display:flex}.net-done svg{width:28px;height:28px}.placer{box-shadow:var(--shadow);pointer-events:auto;z-index:35;background:#fff;border-radius:999px;align-items:center;gap:12px;padding:8px 8px 8px 14px;font-size:22px;font-weight:900;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.placer[hidden]{display:none}.placer>svg{width:44px;height:44px}.placer .placer-cancel{width:52px;height:52px;position:static}@media (width<=700px){.placer{top:auto;bottom:16px}}.shop-work{z-index:1;background:var(--sheet);box-shadow:0 20px 0 var(--sheet);margin-top:auto;padding-top:8px;position:sticky;bottom:0}@media (height<=820px){.shop-card{min-height:0;padding:8px 6px}.shop-card>svg{width:44px;height:44px}}.start{pointer-events:auto;z-index:50;background:radial-gradient(#fdf4e28c,#1d355773);place-items:center;padding:16px;transition:opacity .38s;display:grid;position:absolute;inset:0}.start[hidden]{display:none}.start.leaving{opacity:0}.start-card{background:var(--paper);border:3px solid var(--paper-edge);width:min(640px,100%);max-height:100%;box-shadow:var(--shadow);border-radius:28px;flex-direction:column;align-items:center;gap:16px;padding:24px;transition:transform .38s;display:flex;overflow:auto}.start.leaving .start-card{transform:scale(.94)translateY(12px)}.start-title{color:#8a5a14;letter-spacing:.01em;align-items:center;gap:14px;margin:0;font-size:clamp(34px,7vw,54px);font-weight:900;display:flex}.start-title svg{width:1.2em;height:1.2em}.start-ask{align-items:center;gap:10px;margin:0;font-size:clamp(18px,3.4vw,24px);font-weight:800;display:flex}.start-ask svg{width:1.8em;height:1.8em}.grade-grid{grid-template-columns:repeat(5,1fr);gap:10px;width:100%;display:grid}.grade-chip{background:#fff;border:0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;min-height:72px;line-height:1;display:flex;box-shadow:0 5px #1d35572e,0 8px 14px #1d35571a}.grade-chip b{font-size:34px;font-weight:900}.grade-chip span{color:var(--ink-soft);font-size:14px;font-weight:800}.grade-chip.on{background:var(--gold);outline:4px solid #b07d1a}.grade-chip:active{transform:translateY(3px);box-shadow:0 2px #1d35572e}.start-play{--button:80px;width:100%}.start-play[hidden]{display:none}.start-help,.transfer-who,.form-error{text-align:center;overflow-wrap:anywhere;width:100%;margin:0;font-weight:800;line-height:1.3}.form-error{min-height:1.2em;color:var(--warn);font-size:22px}.form-error:not(:empty){background:var(--warn-soft);border-radius:14px;padding:8px 12px}.form-error.ok:not(:empty){color:var(--green-dark);background:var(--green-soft)}.confirm-box{background:var(--hint-soft);text-align:center;border-radius:18px;flex-direction:column;gap:10px;width:100%;padding:14px;font-size:20px;font-weight:800;line-height:1.3;display:flex}.confirm-box[hidden]{display:none}.confirm-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.start-actions{flex-direction:column;gap:10px;width:100%;display:flex}.start-actions .big-button{width:100%}.profile-list{flex-direction:column;gap:12px;width:100%;display:flex}.profile-button,.profile-chosen{text-align:left;background:#fff;border:0;border-radius:22px;grid-template-columns:76px minmax(0,1fr);align-items:center;column-gap:14px;width:100%;min-height:104px;padding:12px 16px;display:grid;box-shadow:0 5px #1d35572e,0 8px 14px #1d35571a}.profile-face{grid-row:span 2;width:76px;height:76px}.profile-face svg{width:76px;height:76px;display:block}.profile-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:clamp(22px,4vw,30px);font-weight:900;line-height:1.1;overflow:hidden}.profile-code{letter-spacing:.04em;color:var(--ink-soft);font-size:16px;font-weight:800}.profile-button:active{transform:translateY(3px);box-shadow:0 2px #1d35572e}.avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;display:grid}.avatar-choice{background:#fff;border:0;border-radius:18px;place-items:center;min-height:76px;display:grid;box-shadow:0 5px #1d35572e}.avatar-choice svg{width:52px;height:52px}.figure-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;width:100%;display:grid}.figure-choice{background:#fff;border:0;border-radius:16px;place-items:center;min-height:64px;padding:4px 0;display:grid;box-shadow:0 5px #1d35572e}.figure-choice svg{width:48px;height:48px}.figure-choice.on,.avatar-choice.on,.diff-choice.on{background:var(--gold);outline:4px solid #b07d1a}.diff-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;display:grid}.diff-choice{background:#fff;border:0;border-radius:18px;min-height:72px;font-size:clamp(18px,3vw,24px);font-weight:900;box-shadow:0 5px #1d35572e}.name-input,.code-box,.import-box{border:3px solid var(--paper-edge);width:100%;color:var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border-radius:18px;font-family:inherit;font-weight:800}.name-input{min-height:72px;padding:0 16px;font-size:28px}.code-box,.import-box{resize:none;min-height:140px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:18px;line-height:1.35}@media (height<=520px){.start-card{gap:10px;padding:14px}.grade-chip{min-height:54px}.start-play{--button:60px}}.adult-link{min-height:48px;font:inherit;color:var(--ink-soft);background:0 0;border:0;border-radius:999px;padding:0 18px;font-weight:800;text-decoration:underline}.adult-link:focus-visible{outline:4px solid var(--gold)}.start-links{flex-wrap:wrap;justify-content:center;gap:8px 20px;display:flex}.adult{pointer-events:auto;z-index:60;background:#1d35578c;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.adult[hidden]{display:none}.adult-card{background:var(--paper);border:3px solid var(--paper-edge);width:min(760px,100%);max-height:100%;box-shadow:var(--shadow);-webkit-user-select:text;user-select:text;border-radius:24px;flex-direction:column;gap:14px;padding:20px 22px 24px;font-size:18px;line-height:1.45;display:flex;overflow:auto}.adult-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.adult-title{color:#8a5a14;align-items:center;gap:10px;margin:0;font-size:28px;font-weight:900;display:flex}.adult-title svg{width:36px;height:36px}.adult-close{background:#fff;border:0;border-radius:50%;flex:none;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 3px #00000026}.adult-close svg{width:26px;height:26px}.adult-gate{flex-direction:column;gap:12px;display:flex}.adult-ask{font-size:22px;font-weight:900}.adult-input{border:3px solid var(--paper-edge);min-height:60px;font:inherit;color:var(--ink);background:#fff;border-radius:16px;padding:0 16px;font-size:26px;font-weight:900}.adult-input:focus-visible{outline:4px solid var(--gold)}.adult-error,.adult-notice{color:var(--warn);margin:0;font-weight:800}.adult-error:empty{display:none}.adult-notice{background:var(--green-soft);color:#146c43;border-radius:14px;padding:10px 14px}.adult-actions{flex-wrap:wrap;gap:10px;display:flex}.adult-actions .big-button{--button:56px;flex:200px}.big-button.danger{background:#b42318}.adult-confirm{background:var(--warn-soft);color:var(--warn);border-radius:14px;flex:100%;margin:0;padding:10px 14px;font-weight:800}.adult-tabs,.adult-chips{flex-wrap:wrap;gap:8px;display:flex}.adult-tab,.adult-chip{border:3px solid var(--paper-edge);min-height:48px;font:inherit;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:999px;max-width:100%;padding:0 16px;font-weight:800;overflow:hidden}.adult-tab.on,.adult-chip.on{background:var(--gold);border-color:var(--gold-dark)}.adult-tab:focus-visible,.adult-chip:focus-visible,.adult-close:focus-visible{outline:4px solid var(--gold-dark);outline-offset:2px}.adult-sheet{flex-direction:column;gap:10px;display:flex}.adult-h2,.adult-h3{margin:0;font-weight:900}.adult-h2{font-size:24px}.adult-h3{font-size:20px}.adult-meta,.adult-text,.adult-small,.adult-note{margin:0}.adult-meta{color:var(--ink-soft);font-weight:700}.adult-small{color:var(--ink-soft);font-size:15px}.adult-note{background:#fff4cc;border-radius:14px;padding:10px 14px;font-weight:700}.skill-rows{flex-direction:column;gap:8px;display:flex}.skill-row{border:2px solid var(--paper-edge);break-inside:avoid;background:#fff;border-radius:14px;padding:8px 12px}.skill-top{justify-content:space-between;gap:10px;font-weight:900;display:flex}.skill-band{white-space:nowrap;background:#eef2f6;border-radius:999px;padding:0 10px}.band-practise .skill-band{background:var(--warn-soft);color:var(--warn)}.band-growing .skill-band{color:#7a5200;background:#fff4cc}.band-sure .skill-band{background:var(--green-soft);color:#146c43}.skill-bar{background:#eef2f6;border-radius:5px;height:10px;margin:6px 0 4px;overflow:hidden}.skill-bar span{background:var(--green);height:100%;display:block}.band-practise .skill-bar span{background:#d9822b}.skill-detail{color:var(--ink-soft);font-size:15px}.adult-list{margin:0;padding-left:22px}.plan-card{border:2px solid var(--paper-edge);break-inside:avoid;background:#fff;border-radius:16px;padding:12px 14px}.plan-rows{flex-direction:column;gap:6px;margin-top:6px;display:flex}.plan-row{grid-template-columns:7.5em 1fr;gap:10px;display:grid}.plan-band{font-weight:900}.plan-what{flex-direction:column;display:flex}.plan-areas{color:var(--ink-soft);font-size:15px}.lesson{grid-template-columns:4.5em 1fr;gap:4px 10px;margin:6px 0 0;display:grid}.lesson dt{font-weight:900}.lesson dd{margin:0}.settings-card{width:min(560px,100%)}.setting-row{border-top:2px solid var(--paper-edge);justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.setting-words{flex-direction:column;gap:2px;display:flex}.setting-label{font-size:20px;font-weight:900}.setting-help{color:var(--ink-soft);font-size:15px}.setting-help.warn{color:var(--warn);font-weight:700}.switch{min-width:112px;min-height:52px;font:inherit;color:var(--ink);background:#eee5d3;border:3px solid #c8b48c;border-radius:999px;flex:none;align-items:center;gap:10px;padding:0 8px 0 14px;font-weight:900;display:flex}.switch .switch-text{text-align:left;flex:1}.switch .switch-knob{background:#fff;border-radius:50%;width:34px;height:34px;box-shadow:0 2px #0003}.switch.on{background:var(--green-dark);color:#fff;border-color:#0f5c33}.switch:focus-visible{outline:4px solid var(--gold-dark);outline-offset:2px}@media (width<=480px){.adult{padding:8px}.adult-card{padding:14px;font-size:17px}.plan-row{grid-template-columns:1fr;gap:0}}@media print{html.print-adult,html.print-adult body{background:#fff;height:auto;overflow:visible}html.print-adult #game,html.print-adult #status,html.print-adult #ui>:not(.adult){display:none!important}html.print-adult #ui,html.print-adult .adult{background:0 0;padding:0;display:block;position:static}html.print-adult .adult-card{width:auto;max-height:none;box-shadow:none;background:#fff;border:0;padding:0;font-size:12pt;overflow:visible}html.print-adult .no-print{display:none!important}html.print-adult .skill-row,html.print-adult .plan-card{border-color:#ccc}}.tutor-hand{pointer-events:none;z-index:45;will-change:transform;width:64px;height:64px;position:absolute;top:0;left:0}.tutor-hand[hidden],.tutor-card[hidden]{display:none}.tutor-hand svg{transform-origin:30% 10%;filter:drop-shadow(0 4px 4px #0000004d);width:100%;height:100%;animation:1.1s ease-in-out infinite tap;transform:rotate(-20deg)}.tutor-hand.down svg{transform-origin:50%;animation-name:tap-down;transform:rotate(180deg)}@keyframes tap-down{0%,to{transform:rotate(180deg)translateY(10px)}50%{transform:rotate(180deg)translate(0)scale(.92)}}@keyframes tap{0%,to{transform:rotate(-20deg)translate(6px,10px)}50%{transform:rotate(-20deg)translate(0)scale(.92)}}.tutor-card{color:#fff;box-shadow:var(--shadow);pointer-events:auto;z-index:44;will-change:transform;background:#1d3557;border-radius:20px;align-items:center;gap:6px;padding:6px 6px 6px 12px;display:flex;position:absolute;top:0;left:0}.tutor-text{white-space:nowrap;align-items:center;gap:10px;font-size:22px;font-weight:900;display:flex}.tutor-text svg{background:#fff;border-radius:12px;width:44px;height:44px;padding:4px}.tutor-skip{color:#fff;background:#ffffff29;border:0;border-radius:50%;place-items:center;width:48px;height:48px;padding:0;display:grid}.tutor-skip svg{width:40%;height:40%}
