@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/manrope-400-normal.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/manrope-500-normal.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/manrope-600-normal.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/manrope-700-normal.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/manrope-800-normal.ttf)format("truetype")}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/pixelify-sans.ttf)format("truetype")}:root{--scroll-track:#eef1e8;--scroll-thumb:#a3ad9f;--scroll-thumb-hover:#6f7a6f;--scroll-radius:8px}@supports not selector(::-webkit-scrollbar){*{scrollbar-color:var(--scroll-thumb) var(--scroll-track)}}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-corner{background:var(--scroll-track)}::-webkit-scrollbar-thumb{border:3px solid var(--scroll-track);border-radius:var(--scroll-radius);background:var(--scroll-thumb);min-height:32px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}:root{--surface:#f7f8f3;--ink:#24352b;--forest:#284b37;--muted:#7a847a;--line:#e6e9e0;color:var(--ink);background:var(--surface);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Manrope,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{min-width:340px;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:4px;outline:3px solid #88ab64}svg{vertical-align:middle;flex-shrink:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}a{color:inherit}::selection{color:#243c25;background:#d5e7bd}.pixel-font{font-family:Pixelify Sans,monospace}.button{border:0;border-radius:12px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:12px 20px;font-size:13px;font-weight:650;line-height:1.5;text-decoration:none;transition:background-color .15s,color .15s,transform .15s;display:inline-flex}.button:active:not(:disabled){transform:scale(.96)}.button-primary{color:#faffef;background:#294e37}.button-primary:hover:not(:disabled){background:#3d6342}.button-secondary{color:#46613b;background:#e8eee1}.button-secondary:hover:not(:disabled){background:#dce7d1}.icon-button{width:44px;height:44px;color:inherit;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dialog-shell{width:min(500px,100% - 32px);color:var(--ink);background:#fcfcf8;border:0;border-radius:22px;max-height:calc(100svh - 40px);padding:28px;overflow-y:auto;box-shadow:0 25px 100px #14281533}.dialog-shell::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1e33266b}.connection-screen{background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100svh;padding:24px;display:flex}.connection-screen>h1{font:500 28px Pixelify Sans,monospace}.connection-mark{color:#34583b}.connection-card{background:#fff;border:1px solid #e2e5df;border-radius:16px;width:min(440px,100%);padding:32px;box-shadow:0 6px 24px #00000014}.connection-brand{letter-spacing:-1px;align-items:center;gap:9px;width:fit-content;font-size:25px;font-weight:800;text-decoration:none;display:flex}.connection-brand svg{color:#6f8d4c}.connection-card h1{letter-spacing:-.5px;margin:28px 0 10px;font:500 34px/1.15 Pixelify Sans,monospace}.connection-card p{color:#626e66;margin:0 0 24px;font-size:15px;line-height:1.6}.connection-card form{gap:12px;display:grid}.connection-card label{font-size:13px;font-weight:650}.connection-card input{color:#292f2c;letter-spacing:2px;background:#fff;border:1px solid #7c8c7e;border-radius:10px;width:100%;min-height:52px;padding:12px 14px;font-size:17px}.connection-card input:focus-visible{border-color:#292f2c;outline:none;box-shadow:0 0 0 1px #292f2c}.connection-card .button{border-radius:10px;min-height:52px;font-size:15px}.connection-card .connection-error{color:#a94738;background:#fae8e3;border-radius:10px;margin:0;padding:12px 14px}.connection-parent{color:#789164;justify-content:center;align-items:center;gap:8px;min-height:44px;margin-top:15px;font-size:12px;text-decoration:none;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --p-voice-spin{syntax:"<angle>";inherits:false;initial-value:0deg}.p-voice{z-index:60;padding:max(20px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));background:color-mix(in srgb, var(--p-bg,#fff) 78%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.2);color:var(--p-ink,#292f2c);grid-template-rows:1fr auto;place-items:center;animation:.22s ease-out both p-voice-in;display:grid;position:fixed;inset:0}.p-voice-close{top:max(16px, env(safe-area-inset-top));border:1px solid var(--p-line,#e2e5df);background:var(--p-surface,#fff);width:44px;height:44px;color:var(--p-ink,#292f2c);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:absolute;right:16px}.p-voice-close:hover{background:var(--p-raised,#f2f3ef)}.p-voice-stage{text-align:center;flex-direction:column;align-items:center;gap:22px;width:min(100%,560px);display:flex}.p-voice-orb{--level:0;isolation:isolate;aspect-ratio:1;cursor:pointer;color:#ffffffeb;width:min(58vmin,280px);box-shadow:0 0 calc(30px + var(--level) * 90px) calc(var(--level) * 16px) rgb(91 150 255/calc(.28 + var(--level) * .4)), inset 0 -18px 40px #143ca040;transform:scale(calc(1 + var(--level) * .18));background:radial-gradient(circle at 50% 60%,#6fa6ff,#3f78ea);border:0;border-radius:50%;place-items:center;margin-block:28px;padding:0;transition:transform 70ms linear,box-shadow 70ms linear;display:grid;position:relative;overflow:hidden}.p-voice-orb:before{content:"";z-index:-1;background:conic-gradient(from var(--p-voice-spin), #e3f1ff, #8cc2ff, #3d7cf5, var(--p-accent,#8baa91), #b3dbff, #e3f1ff);filter:blur(30px);animation:9s linear infinite p-voice-swirl;position:absolute;inset:-30%}.p-voice-orb:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(circle at 32% 26%,#ffffffd9,#fff0 40%),radial-gradient(circle at 70% 85%,#0a287840,#0000 55%);border-radius:50%;position:absolute;inset:0}.p-voice-orb:focus-visible{outline:3px solid var(--p-focus,#88ab64);outline-offset:8px}.p-voice-orb:disabled{cursor:progress}.p-voice-orb>.game-ui-icon,.p-voice-orb>svg{z-index:2;opacity:.85;filter:drop-shadow(0 2px 6px #143ca059);position:relative}.p-voice-cloud{z-index:0;filter:blur(12px);mix-blend-mode:soft-light;transform:scale(calc(.9 + var(--level) * .35));background:radial-gradient(circle at 40% 40%,#fffc,#a0cdff40 55%,#0000 72%);border-radius:44% 56% 52% 48%/50% 44% 56% 50%;animation:7s ease-in-out infinite p-voice-morph;position:absolute;inset:14%}.p-voice-cloud-b{background:radial-gradient(circle at 60% 55%,#78b4ffbf,#0000 70%);animation-duration:5.5s;animation-direction:reverse;inset:26% 8% 10% 22%}.p-voice-thinking:before{animation-duration:1.6s}.p-voice-thinking .p-voice-cloud{animation-duration:2.2s}.p-voice-idle:before{animation-duration:16s}.p-voice-idle{filter:saturate(.85)}.p-voice-status{color:var(--p-muted,#626e66);letter-spacing:.01em;margin:0;font-size:15px;font-weight:600}.p-voice-microphone{max-width:100%;color:var(--p-muted,#626e66);align-items:center;gap:8px;margin-top:-12px;font-size:13px;display:inline-flex}.p-voice-microphone>span:not(.sr-only){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p-voice-microphone select{border:1px solid var(--p-line,#e2e5df);background:var(--p-surface,#fff);max-width:min(320px,70vw);min-height:36px;color:var(--p-ink,#292f2c);font:inherit;text-overflow:ellipsis;cursor:pointer;border-radius:999px;padding:0 28px 0 10px}.p-voice-microphone select:focus-visible{outline:3px solid var(--p-focus,#88ab64);outline-offset:1px}.p-voice-transcript{gap:10px;width:100%;min-height:96px;display:grid}.p-voice-transcript p{margin:0}.p-voice-heard{color:var(--p-ink,#292f2c);font-size:20px;line-height:1.4}.p-voice-hint{color:var(--p-muted,#626e66);font-size:16px}.p-voice-reply{color:var(--p-muted,#626e66);font-size:17px;line-height:1.5}.p-voice-changes{flex-wrap:wrap;justify-content:center;gap:8px;margin:2px 0 0;padding:0;list-style:none;display:flex}.p-voice-changes li{background:var(--p-accent-soft,#e4ede2);color:var(--p-accent-ink,#2d4a33);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:600;animation:.26s ease-out both p-voice-in;display:inline-flex}.p-voice-problem{background:var(--p-danger-bg,#fbe9e6);color:var(--p-danger-ink,#8a2f22);border-radius:12px;padding:10px 14px;font-size:14px}.p-voice-type{gap:8px;width:min(100%,560px);display:flex}.p-voice-type input{border:1px solid var(--p-control-line,#7c8c7e);background:var(--p-surface,#fff);min-width:0;min-height:48px;color:var(--p-ink,#292f2c);font:inherit;border-radius:12px;flex:1;padding:0 14px;font-size:15px}.p-voice-type input:focus-visible{outline:3px solid var(--p-focus,#88ab64);outline-offset:1px}.p-voice-type .button{min-height:48px}.p-voice-button{min-width:48px;padding-inline:14px}.p-heading-actions{align-items:center;gap:10px;display:flex}@keyframes p-voice-in{0%{opacity:0;transform:translateY(6px)}}@keyframes p-voice-swirl{to{--p-voice-spin:360deg}}@keyframes p-voice-morph{0%,to{border-radius:44% 56% 52% 48%/50% 44% 56% 50%;rotate:0deg}33%{border-radius:58% 42% 46% 54%/42% 58% 44% 56%;rotate:60deg}66%{border-radius:48% 52% 60% 40%/56% 46% 54% 44%;rotate:-40deg}}@media (prefers-reduced-motion:reduce){.p-voice,.p-voice-orb,.p-voice-orb:before,.p-voice-cloud,.p-voice-changes li{transition:none;animation:none}}@media (width<=480px){.p-voice-heard{font-size:18px}.p-voice-type{flex-direction:column}}.p-alert-list{gap:14px;margin-bottom:40px;display:grid}.p-alert{padding:20px 24px}.p-alert-top{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.p-alert-top time{color:var(--p-muted);margin-left:auto;font-size:12px}.p-alert-badge{border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:650;display:inline-flex}.p-alert-support .p-alert-badge{background:var(--p-danger-bg);color:var(--p-danger-ink)}.p-alert-blocked .p-alert-badge{background:var(--p-warning-bg);color:var(--p-warning-ink)}.p-alert-reply .p-alert-badge{background:var(--p-info-bg);color:var(--p-info-ink)}.p-alert-fresh{background:var(--p-accent-soft);color:var(--p-accent-ink);border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700}.p-alert-new{border-color:var(--p-control-line)}.p-alert-message{background:var(--p-raised);color:var(--p-ink);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:12px;margin:16px 0 0;padding:12px 14px;font-size:15px;line-height:1.6}.p-alert-message>span{color:var(--p-muted);white-space:normal;margin-bottom:3px;font-size:12px;font-weight:600;display:block}.p-alert-answer{margin-top:10px;font-size:13px}.p-alert-answer summary{min-height:36px;color:var(--p-muted);cursor:pointer;align-items:center;font-weight:600;display:flex}.p-alert-answer p{border:1px dashed var(--p-control-line);color:var(--p-ink);overflow-wrap:anywhere;border-radius:12px;padding:10px 14px;line-height:1.6}.p-alert-note{color:var(--p-muted);margin-top:12px;font-size:13px;line-height:1.7}@media (width<=650px){.p-alert{padding:16px}.p-alert-top time{order:3;width:calc(100% - 60px);margin-left:0}.p-alert-top .icon-button{margin-left:auto}}.cal{--cal-ease:cubic-bezier(.2, .8, .2, 1);--cal-row:64px;gap:8px;min-width:0;display:grid;container:cal/inline-size}.cal-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.cal-heading{justify-content:center;align-items:center;gap:10px;min-width:0;display:flex}.cal-title{white-space:nowrap;margin:0;overflow:hidden}.cal-title>span{display:inline-block}.cal-title>span[data-motion=enter]{animation:cal-title-in .26s var(--cal-ease) both}.cal-nav{cursor:pointer;place-items:center;padding:0;display:grid}.cal-nav-prev .cal-nav-icon{rotate:180deg}.cal-weekdays,.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-weekdays>span{text-align:center;text-overflow:clip;white-space:nowrap;overflow:hidden}.cal-viewport{display:grid;overflow:hidden}.cal-grid{grid-area:1/1;grid-template-rows:repeat(6, minmax(var(--cal-row), auto))}.cal-grid[data-motion=enter]{animation:cal-enter .32s var(--cal-ease) both}.cal-grid[data-motion=leave]{animation:cal-leave .32s var(--cal-ease) both;pointer-events:none}.cal-day{text-align:left;cursor:pointer;flex-direction:column;align-items:stretch;gap:4px;min-width:0;margin:0;display:flex}.cal-date{font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;line-height:1;display:grid}.cal-events{gap:3px;min-width:0;display:grid}.cal-event{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-more{white-space:nowrap}@container cal (width<=600px){.cal-day{align-items:center}.cal-events{flex-wrap:wrap;justify-content:center;gap:3px;display:flex}.cal-event{border-radius:50%;width:7px;height:7px;padding:0!important;font-size:0!important}.cal-more{display:none}}@keyframes cal-enter{0%{opacity:0;transform:translateX(calc(var(--cal-dir) * 36%))}}@keyframes cal-leave{to{opacity:0;transform:translateX(calc(var(--cal-dir) * -36%))}}@keyframes cal-title-in{0%{opacity:0;transform:translateX(calc(var(--cal-dir) * 24px))}}@media (prefers-reduced-motion:reduce){.cal-grid[data-motion=leave]{display:none}.cal-grid[data-motion=enter],.cal-title>span[data-motion=enter]{animation:.16s linear both cal-fade}}@keyframes cal-fade{0%{opacity:0}}.p-calendar-legend{color:var(--p-muted);flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.p-calendar-legend>span{align-items:center;gap:8px;display:inline-flex}.p-calendar-legend>span:before{content:"";background:var(--p-accent-secondary);border-radius:50%;width:10px;height:10px}.p-calendar-legend>span[data-by=child]:before{background:var(--p-info-ink)}.p-calendar{--cal-row:clamp(72px, calc((100dvh - 390px) / 6), 140px);gap:0;padding:20px}.p-calendar .cal-header{padding-bottom:16px}.p-calendar .cal-title{letter-spacing:-.4px;font-size:22px;font-weight:700;line-height:1.3}.p-calendar .cal-nav{border:1px solid var(--p-line);background:var(--p-surface);width:48px;height:48px;color:var(--p-ink);transition:background-color .1s var(--ease-out), border-color .1s var(--ease-out), transform .1s var(--ease-out);border-radius:50%}.p-calendar .cal-nav:hover{border-color:var(--p-control-line);background:var(--p-raised)}.p-calendar .cal-nav:active{transform:scale(.94)}.p-calendar .cal-today{background:var(--p-raised);min-height:36px;color:var(--p-ink);animation:p-pop .15s var(--ease-out);border:0;border-radius:999px;padding:0 12px;font-size:13px;font-weight:650}.p-calendar .cal-today:hover{background:var(--p-selected)}.p-calendar .cal-weekdays{color:var(--p-muted);letter-spacing:.3px;text-transform:uppercase;padding-bottom:8px;font-size:12px;font-weight:650}.p-calendar .cal-grid{border:1px solid var(--p-line);background:var(--p-line);border-radius:12px;gap:1px;overflow:hidden}.p-calendar .cal-day{background:var(--p-surface);color:var(--p-ink);transition:background-color .1s var(--ease-out);border:0;border-radius:0;padding:8px}.p-calendar .cal-day:hover{background:var(--p-raised)}.p-calendar .cal-day:focus-visible{z-index:1;outline-offset:-2px;position:relative}.p-calendar .cal-day[data-outside]{background:color-mix(in srgb, var(--p-raised) 55%, var(--p-surface))}.p-calendar .cal-day[data-outside] .cal-date,.p-calendar .cal-day[data-past] .cal-date{color:var(--p-muted)}.p-calendar .cal-day[aria-pressed=true]{background:var(--p-accent-soft)}.p-calendar .cal-date{font-size:13px;font-weight:650}.p-calendar .cal-day[aria-current=date] .cal-date{background:var(--p-accent-soft);color:var(--p-accent-ink);box-shadow:0 0 0 2px var(--p-primary)}.p-calendar .cal-event{background:var(--p-accent-soft);color:var(--p-accent-ink);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600;line-height:1.5}.p-calendar .cal-event[data-by=child]{background:var(--p-info-bg);color:var(--p-info-ink)}.p-calendar .cal-day[data-past] .cal-event{opacity:.7}.p-calendar .cal-more{color:var(--p-muted);padding-left:8px;font-size:12px;font-weight:650}.p-calendar-dialog .p-dialog-heading h2 small{color:var(--p-muted);font-size:12px;font-weight:600;display:block}.p-app .cal-plan{gap:20px;padding:16px 0 24px;display:grid}.p-app .cal-plan-list{margin:0;padding:0;list-style:none;display:grid}.p-app .cal-plan-event{min-height:60px;animation:p-pop .15s var(--ease-out);align-items:center;gap:12px;padding:6px 0;display:flex}.p-app .cal-plan-event+.cal-plan-event{border-top:1px solid var(--p-line)}.p-app .cal-plan-dot{background:var(--p-accent-secondary);border-radius:50%;flex:none;width:10px;height:10px}.p-app .cal-plan-event[data-by=child] .cal-plan-dot{background:var(--p-info-ink)}.p-app .cal-plan-copy{flex:1;min-width:0;display:grid}.p-app .cal-plan-copy strong{overflow-wrap:anywhere;font-size:15px;font-weight:650}.p-app .cal-plan-copy small{color:var(--p-muted);font-size:13px}.p-app .cal-plan-trash{width:44px;height:44px;color:var(--p-muted);transition:background-color .1s var(--ease-out), color .1s var(--ease-out);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin-right:-10px;display:grid}.p-app .cal-plan-trash:hover:not(:disabled){background:var(--p-danger-bg);color:var(--p-danger-ink)}.p-app .cal-plan-confirm{animation:p-pop .15s var(--ease-out);flex:none;gap:4px;display:flex}.p-app .cal-plan-confirm button{border:0;border-radius:999px;min-height:40px;padding:0 14px;font-size:13px;font-weight:650}.p-app .cal-plan-keep{color:var(--p-ink);text-underline-offset:3px;background:0 0;text-decoration:underline}.p-app .cal-plan-keep:hover:not(:disabled){background:var(--p-raised)}.p-app .cal-plan-delete{background:var(--p-danger-ink);color:var(--p-surface)}.p-app .cal-plan-empty,.p-app .cal-plan-note{color:var(--p-muted);font-size:14px}.p-app .cal-plan-form{gap:16px;padding-top:4px;display:grid}.p-app .cal-plan-field{gap:8px;font-size:13px;font-weight:650;display:grid}.p-app .cal-plan-field input{border:1px solid var(--p-control-line);background:var(--p-surface);width:100%;min-height:52px;color:var(--p-ink);transition:border-color .1s var(--ease-out), box-shadow .1s var(--ease-out);border-radius:10px;padding:12px 14px;font-size:15px;font-weight:500}.p-app .cal-plan-field input:hover:not(:disabled){border-color:var(--p-ink)}.p-app .cal-plan-field input:focus-visible{border-color:var(--p-ink);box-shadow:0 0 0 1px var(--p-ink);outline:none}.p-app .cal-plan-field input::placeholder{color:var(--p-muted);opacity:.85}.p-app .cal-plan-repeat{border:0;margin:0;padding:0}.p-app .cal-plan-repeat legend{padding:0 0 8px;font-size:13px;font-weight:650}.p-app .cal-plan-repeat>div{background:var(--p-raised);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;display:grid}.p-app .cal-plan-repeat label{min-height:40px;color:var(--p-muted);cursor:pointer;transition:background-color .15s var(--ease-out), color .15s var(--ease-out), box-shadow .15s var(--ease-out);border-radius:9px;place-items:center;font-size:14px;font-weight:650;display:grid;position:relative}.p-app .cal-plan-repeat input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.p-app .cal-plan-repeat label:hover{color:var(--p-ink)}.p-app .cal-plan-repeat label:has(input:checked){background:var(--p-surface);color:var(--p-ink);box-shadow:0 1px 3px var(--p-shadow-strong)}.p-app .cal-plan-repeat label:has(input:focus-visible){outline:2px solid var(--p-focus);outline-offset:2px}.p-app .cal-plan-preview{background:var(--p-accent-soft);color:var(--p-accent-ink);border-radius:10px;padding:10px 14px;font-size:13px;line-height:1.6}.p-app .cal-plan-error{background:var(--p-danger-bg);color:var(--p-danger-ink);border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.6}.p-app .cal-plan-submit{background-color:var(--p-primary);background-image:linear-gradient(180deg, color-mix(in srgb, var(--p-primary) 84%, white), var(--p-primary));min-height:48px;color:var(--p-on-primary);box-shadow:0 1px 2px var(--p-shadow-color);transition:background-color .1s var(--ease-out), transform .1s var(--ease-out);border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:650;display:inline-flex}.p-app .cal-plan-submit:hover:not(:disabled){background-image:none}.p-app .cal-plan-submit:active:not(:disabled){transform:scale(.98)}@container cal (width<=600px){.p-calendar .cal-event{background:var(--p-accent-secondary)}.p-calendar .cal-event[data-by=child]{background:var(--p-info-ink)}}@media (width<=650px){.p-calendar{--cal-row:clamp(52px, calc((100dvh - 440px) / 6), 96px);padding:14px 10px 10px}.p-calendar .cal-header{padding-bottom:12px}.p-calendar .cal-title{font-size:18px}.p-calendar .cal-nav{width:44px;height:44px}.p-calendar .cal-weekdays{letter-spacing:0;font-size:11px}.p-calendar .cal-day{padding:6px 2px}.p-app .cal-plan{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}.p-alarm-card{align-items:center;gap:16px;margin-bottom:24px;padding:20px 24px;display:flex}.p-alarm-symbol{width:48px;height:48px;color:var(--p-accent-ink);background:var(--p-accent-soft);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.p-alarm-copy{flex:1;min-width:0}.p-alarm-copy h2{letter-spacing:-.3px;font-size:17px;font-weight:700}.p-alarm-copy p{color:var(--p-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:10px;margin-top:5px;font-size:13px;display:flex}.p-alarm-status{color:var(--p-muted);background:var(--p-raised);border-radius:999px;align-items:center;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.p-alarm-enabled{color:var(--p-accent-ink);background:var(--p-accent-soft)}.p-alarm-card>.button{flex-shrink:0}.p-alarm-notice{color:var(--p-accent-ink);animation:p-message-out .25s var(--ease-out) 4.75s forwards;font-size:13px;margin:-13px 0 22px!important}.p-alarm-dialog form{margin-top:24px}.p-alarm-dialog input[type=time]{font-variant-numeric:tabular-nums;min-height:70px;font-size:28px}.p-alarm-toggle{border-bottom:1px solid var(--p-line);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;display:flex}.p-alarm-toggle>span{gap:3px;display:grid}.p-alarm-toggle strong{font-size:14px;font-weight:650}.p-alarm-toggle small{color:var(--p-muted);font-size:12px}.p-alarm-toggle input{appearance:none;border:1px solid var(--p-control-line);background:var(--p-raised);cursor:pointer;border-radius:20px;flex-shrink:0;width:48px;height:28px;margin:0;position:relative}.p-alarm-toggle input:after{content:"";background:var(--p-muted);border-radius:50%;width:20px;height:20px;transition:transform .12s,background-color .12s;position:absolute;top:3px;left:3px}.p-alarm-toggle input:checked{background:var(--p-primary);border-color:var(--p-primary)}.p-alarm-toggle input:checked:after{background:var(--p-on-primary);transform:translate(20px)}.p-alarm-explanation{color:var(--p-muted);font-size:13px;line-height:1.7;margin-top:17px!important}@media (width<=600px){.p-alarm-card{flex-wrap:wrap;gap:12px;padding:20px}.p-alarm-symbol{width:40px;height:40px}.p-alarm-copy{flex-basis:calc(100% - 52px)}.p-alarm-card>.button{width:100%}}@media (prefers-reduced-motion:reduce){.p-alarm-toggle input:after{transition:none}}.p-app,.p-app[data-theme=sage]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--p-bg:#fff;--p-surface:#fff;--p-raised:#f2f3ef;--p-ink:#292f2c;--p-muted:#626e66;--p-line:#e2e5df;--p-control-line:#7c8c7e;--p-accent:#8baa91;--p-accent-secondary:#6f8c75;--p-accent-soft:#e4ede2;--p-accent-ink:#35503c;--p-primary:#2f523d;--p-on-primary:#fffdf7;--p-selected:#d5e3d3;--p-gold-bg:#f5e8cc;--p-gold-ink:#79602c;--p-warning-bg:#f7e7cf;--p-warning-ink:#80612d;--p-danger-bg:#fae8e3;--p-danger-ink:#a94738;--p-info-bg:#e5edf0;--p-info-ink:#365d6b;--p-focus:#416c4b;--p-backdrop:#1a1e1a73;--p-shadow-color:#292f2c12;--p-shadow-strong:#0000001f}:root:has(.p-app){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--p-bg:#fff;--p-surface:#fff;--p-raised:#f2f3ef;--p-ink:#292f2c;--p-muted:#626e66;--p-line:#e2e5df;--p-control-line:#7c8c7e;--p-accent:#8baa91;--p-accent-secondary:#6f8c75;--p-accent-soft:#e4ede2;--p-accent-ink:#35503c;--p-primary:#2f523d;--p-on-primary:#fffdf7;--p-selected:#d5e3d3;--p-gold-bg:#f5e8cc;--p-gold-ink:#79602c;--p-warning-bg:#f7e7cf;--p-warning-ink:#80612d;--p-danger-bg:#fae8e3;--p-danger-ink:#a94738;--p-info-bg:#e5edf0;--p-info-ink:#365d6b;--p-focus:#416c4b;--p-backdrop:#1a1e1a73;--p-shadow-color:#292f2c12;--p-shadow-strong:#0000001f}.p-app[data-theme=apricot]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--p-bg:#fffcf8;--p-surface:#fffcf8;--p-raised:#faebdd;--p-ink:#34312f;--p-muted:#75675b;--p-line:#efdfd0;--p-control-line:#98785f;--p-accent:#f4a978;--p-accent-secondary:#d98268;--p-accent-soft:#fbe0ca;--p-accent-ink:#7a422b;--p-primary:#874531;--p-on-primary:#fff9f0;--p-selected:#f5ccad;--p-gold-bg:#f8e3b2;--p-gold-ink:#775623;--p-warning-bg:#f7dfc1;--p-warning-ink:#835426;--p-danger-bg:#f8ded7;--p-danger-ink:#9d3f30;--p-info-bg:#eee7df;--p-info-ink:#5c5f6a;--p-focus:#99513c;--p-backdrop:#2a1e1673;--p-shadow-color:#34312f14;--p-shadow-strong:#3c1e0f24}:root:has(.p-app[data-theme=apricot]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--p-bg:#fffcf8;--p-surface:#fffcf8;--p-raised:#faebdd;--p-ink:#34312f;--p-muted:#75675b;--p-line:#efdfd0;--p-control-line:#98785f;--p-accent:#f4a978;--p-accent-secondary:#d98268;--p-accent-soft:#fbe0ca;--p-accent-ink:#7a422b;--p-primary:#874531;--p-on-primary:#fff9f0;--p-selected:#f5ccad;--p-gold-bg:#f8e3b2;--p-gold-ink:#775623;--p-warning-bg:#f7dfc1;--p-warning-ink:#835426;--p-danger-bg:#f8ded7;--p-danger-ink:#9d3f30;--p-info-bg:#eee7df;--p-info-ink:#5c5f6a;--p-focus:#99513c;--p-backdrop:#2a1e1673;--p-shadow-color:#34312f14;--p-shadow-strong:#3c1e0f24}.p-app[data-theme=cocoa]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--p-bg:#171412;--p-surface:#241e19;--p-raised:#342820;--p-ink:#f1e6d5;--p-muted:#bbaa97;--p-line:#4b3c30;--p-control-line:#9b7958;--p-accent:#9b7958;--p-accent-secondary:#c6a27a;--p-accent-soft:#3b2c20;--p-accent-ink:#e2c3a0;--p-primary:#c6a27a;--p-on-primary:#211a14;--p-selected:#51402e;--p-gold-bg:#463720;--p-gold-ink:#e4bf75;--p-warning-bg:#43301d;--p-warning-ink:#e7b77a;--p-danger-bg:#482822;--p-danger-ink:#f0b29b;--p-info-bg:#273534;--p-info-ink:#b5cbc3;--p-focus:#e6bc89;--p-backdrop:#000000a6;--p-shadow-color:#00000038;--p-shadow-strong:#00000080}:root:has(.p-app[data-theme=cocoa]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--p-bg:#171412;--p-surface:#241e19;--p-raised:#342820;--p-ink:#f1e6d5;--p-muted:#bbaa97;--p-line:#4b3c30;--p-control-line:#9b7958;--p-accent:#9b7958;--p-accent-secondary:#c6a27a;--p-accent-soft:#3b2c20;--p-accent-ink:#e2c3a0;--p-primary:#c6a27a;--p-on-primary:#211a14;--p-selected:#51402e;--p-gold-bg:#463720;--p-gold-ink:#e4bf75;--p-warning-bg:#43301d;--p-warning-ink:#e7b77a;--p-danger-bg:#482822;--p-danger-ink:#f0b29b;--p-info-bg:#273534;--p-info-ink:#b5cbc3;--p-focus:#e6bc89;--p-backdrop:#000000a6;--p-shadow-color:#00000038;--p-shadow-strong:#00000080}.p-swatch-sage{--p-swatch-base:#fff;--p-swatch-accent:#8baa91}.p-swatch-apricot{--p-swatch-base:#fffcf8;--p-swatch-accent:#f4a978}.p-swatch-cocoa{--p-swatch-base:#171412;--p-swatch-accent:#9b7958}.p-app{--surface:var(--p-surface);--ink:var(--p-ink);--ease-out:cubic-bezier(0, 0, .2, 1);background:var(--p-bg);min-height:100dvh;color:var(--p-ink);-webkit-font-smoothing:antialiased;font:14px/1.5 Manrope,sans-serif}.p-app *,.p-app :before,.p-app :after{box-sizing:border-box}.p-app h1,.p-app h2,.p-app h3,.p-app p{margin:0}.p-app button,.p-app input,.p-app select{font:inherit}.p-app button{cursor:pointer}.p-app button:disabled{cursor:wait}.p-app a{color:inherit;text-decoration:none}.p-app button:focus-visible,.p-app a:focus-visible,.p-app summary:focus-visible,.p-app input:focus-visible,.p-app select:focus-visible{outline:2px solid var(--p-focus);outline-offset:3px}.p-app ::selection{background:var(--p-selected);color:var(--p-ink)}:is(.p-app,:root:has(.p-app)){--scroll-track:var(--p-raised);--scroll-thumb:var(--p-control-line);--scroll-thumb-hover:var(--p-accent-ink)}.p-app .button{min-height:48px;transition:background-color .1s var(--ease-out), box-shadow .1s var(--ease-out), transform .1s var(--ease-out);border-radius:10px;padding:12px 20px;font-size:14px;font-weight:650}.p-app .button:active:not(:disabled){transform:scale(.97)}.p-app .button-primary{background-color:var(--p-primary);background-image:linear-gradient(180deg, color-mix(in srgb, var(--p-primary) 84%, white), var(--p-primary));color:var(--p-on-primary);box-shadow:0 1px 2px var(--p-shadow-color)}.p-app .button-primary:hover:not(:disabled){background-color:var(--p-primary);color:var(--p-on-primary);background-image:none}.p-app .button-secondary{background:var(--p-surface);color:var(--p-ink);box-shadow:inset 0 0 0 1px var(--p-control-line)}.p-app .button-secondary:hover:not(:disabled){background:var(--p-raised);color:var(--p-ink);box-shadow:inset 0 0 0 1px var(--p-ink)}.p-app .icon-button{width:44px;height:44px;color:var(--p-muted);transition:background-color .1s var(--ease-out), color .1s var(--ease-out);border-radius:50%;flex-shrink:0}.p-app .icon-button:hover:not(:disabled){background:var(--p-raised);color:var(--p-ink)}.p-app .icon-button:active:not(:disabled){transform:scale(.94)}.p-skip{z-index:200;background:var(--p-surface);color:var(--p-ink);border-radius:10px;padding:12px 18px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.p-skip:focus{transform:translateY(0)}.p-shell{max-width:1184px;margin:0 auto;padding:0 32px 80px}.p-topbar{z-index:40;background:color-mix(in srgb, var(--p-surface) 86%, transparent);border-bottom:1px solid var(--p-line);-webkit-backdrop-filter:saturate(180%)blur(14px);position:sticky;top:0}.p-topbar-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;max-width:1184px;min-height:80px;margin:0 auto;padding:0 32px;display:grid}.p-brand{color:var(--p-ink);letter-spacing:-.8px;justify-self:start;align-items:center;gap:9px;font-size:27px;line-height:1;display:inline-flex}.p-brand-mark{color:var(--p-accent-secondary);font-size:31px;line-height:.7}.p-route-nav{align-items:center;gap:4px;display:flex}.p-route-nav a{min-height:48px;color:var(--p-muted);transition:color .1s var(--ease-out), background-color .1s var(--ease-out);border-radius:999px;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;display:inline-flex;position:relative}.p-route-nav a:hover{color:var(--p-ink);background:var(--p-raised)}.p-route-nav a[aria-current=page]{color:var(--p-ink)}.p-route-nav a[aria-current=page]:after{content:"";background:var(--p-ink);border-radius:2px;height:2px;position:absolute;bottom:5px;left:18px;right:18px}.p-header-actions{justify-self:end;align-items:center;gap:6px;display:flex}.p-inbox-button{width:44px;height:44px;color:var(--p-ink);transition:background-color .1s var(--ease-out), transform .1s var(--ease-out);border-radius:50%;place-items:center;display:grid;position:relative}.p-inbox-button:hover,.p-inbox-button[aria-current=page]{background:var(--p-raised)}.p-inbox-button:active{transform:scale(.94)}.p-nav-count{background:var(--p-danger-ink);min-width:18px;height:18px;color:var(--p-surface);box-shadow:0 0 0 2px var(--p-surface);text-align:center;font-variant-numeric:tabular-nums;border-radius:9px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:3px;right:1px}.p-menu{position:relative}.p-menu summary{cursor:pointer;list-style:none}.p-menu summary::-webkit-details-marker{display:none}.p-profile-menu summary{border:1px solid var(--p-line);background:var(--p-surface);height:44px;color:var(--p-ink);transition:box-shadow .1s var(--ease-out);border-radius:999px;align-items:center;gap:12px;padding:0 5px 0 14px;display:flex}.p-profile-menu summary:hover,.p-profile-menu[open] summary{box-shadow:0 2px 6px var(--p-shadow-strong)}.p-avatar{width:32px;height:32px;color:var(--p-on-primary);background:var(--p-primary);border-radius:50%;flex-shrink:0;place-items:center;font-family:Pixelify Sans,monospace;font-size:20px;display:grid}.p-menu-panel{z-index:30;border:1px solid var(--p-line);background:var(--p-surface);width:280px;color:var(--p-ink);box-shadow:0 4px 24px var(--p-shadow-strong);transform-origin:100% 0;animation:p-pop .15s var(--ease-out);border-radius:14px;padding:8px 0;position:absolute;top:calc(100% + 10px);right:0}.p-menu-profile{border-bottom:1px solid var(--p-line);align-items:center;gap:12px;margin-bottom:8px;padding:8px 16px 14px;display:flex}.p-menu-profile .p-avatar{width:40px;height:40px;font-size:24px}.p-menu-profile>span:last-child{min-width:0}.p-menu-profile strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650;display:block;overflow:hidden}.p-menu-profile small{color:var(--p-muted);align-items:center;gap:6px;font-size:12px;display:flex}.p-mode-dot{background:var(--p-accent-secondary);border-radius:50%;width:6px;height:6px}.p-menu-panel>button{width:100%;min-height:44px;color:var(--p-ink);text-align:left;transition:background-color .1s var(--ease-out);background:0 0;border:0;align-items:center;gap:12px;padding:0 16px;font-size:14px;display:flex}.p-menu-panel>button:hover{background:var(--p-raised)}.p-theme-options{border:0;border-top:1px solid var(--p-line);margin:8px 0 0;padding:0}.p-theme-options legend{float:left;width:100%;color:var(--p-muted);padding:12px 16px 4px;font-size:12px;font-weight:650}.p-theme-option{clear:both;cursor:pointer;min-height:44px;transition:background-color .1s var(--ease-out);align-items:center;gap:12px;padding:0 16px;font-size:14px;display:flex}.p-theme-option:hover{background:var(--p-raised)}.p-theme-option input{width:18px;height:18px;accent-color:var(--p-primary);margin:0 0 0 auto}.p-theme-swatch{border:1px solid var(--p-control-line);background:linear-gradient(135deg, var(--p-swatch-base) 50%, var(--p-swatch-accent) 50%);border-radius:50%;width:24px;height:24px;display:inline-flex}.p-page-heading{justify-content:space-between;align-items:center;gap:24px;margin:40px 0 28px;display:flex}.p-page-heading>div{min-width:0}.p-page-heading h1{letter-spacing:-.8px;overflow-wrap:anywhere;font-size:clamp(28px,3vw,34px);font-weight:700;line-height:1.2}.p-page-heading p{color:var(--p-muted);margin-top:6px;font-size:15px}.p-page-heading>.button{flex-shrink:0}.p-feedback:empty{display:none}.p-notice,.p-error{background:var(--p-accent-soft);color:var(--p-accent-ink);animation:p-pop .15s var(--ease-out);border-radius:12px;align-items:center;gap:10px;margin-bottom:20px;padding:6px 6px 6px 16px;font-size:14px;display:flex}.p-notice>.icon-button,.p-error>.icon-button{width:36px;height:36px;color:inherit;margin-left:auto}.p-error{background:var(--p-danger-bg);color:var(--p-danger-ink)}.p-app .p-message{animation:p-pop .15s var(--ease-out), p-message-out .25s var(--ease-out) 4.75s forwards}.p-summary-grid{grid-template-columns:minmax(340px,.95fr) minmax(0,1.55fr);gap:24px;margin-bottom:24px;display:grid}.p-card{background:var(--p-surface);border:1px solid var(--p-line);border-radius:16px;min-width:0}.p-today-card,.p-week-card{padding:24px}.p-card-title{justify-content:space-between;align-items:center;gap:14px;display:flex}.p-card-title h2{letter-spacing:-.3px;font-size:18px;font-weight:700}.p-today-date{color:var(--p-muted);font-size:13px}.p-today-progress{align-items:center;gap:22px;padding:24px 0;display:flex}.p-ring{flex:0 0 116px;width:116px;height:116px;position:relative}.p-ring>svg{width:100%;height:100%;transform:rotate(-90deg)}.p-ring circle{fill:none;stroke-width:8px}.p-ring-track{stroke:var(--p-raised)}.p-ring-fill{stroke:var(--p-primary);stroke-linecap:round;transition:stroke-dasharray .25s var(--ease-out)}.p-ring>span{flex-direction:column;justify-content:center;align-items:center;padding-bottom:1px;display:flex;position:absolute;inset:0}.p-ring strong{letter-spacing:-1px;font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1.2}.p-ring small{color:var(--p-muted);letter-spacing:-.5px;font-size:18px;font-weight:500}.p-ring>span>span{color:var(--p-muted);margin-top:2px;font-size:12px}.p-today-copy{min-width:0}.p-today-copy>strong{font-size:16px;font-weight:650;line-height:1.5;display:block}.p-today-copy>p{color:var(--p-muted);margin-top:4px;font-size:13px;line-height:1.6}.p-text-button{min-height:44px;color:var(--p-ink);text-underline-offset:3px;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0;text-decoration:underline;display:inline-flex;font-size:14px!important;font-weight:650!important}.p-text-button:hover:not(:disabled){color:var(--p-accent-ink)}.p-screen-summary{border-top:1px solid var(--p-line);justify-content:space-between;align-items:center;gap:12px;padding-top:20px;display:flex}.p-screen-summary>div{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:650;display:flex}.p-screen-summary>strong{letter-spacing:-.8px;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.p-screen-summary>strong>span{color:var(--p-muted);letter-spacing:0;font-size:14px;font-weight:500}.p-clock-status{background:var(--p-raised);color:var(--p-muted);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.p-clock-help{color:var(--p-muted);font-size:13px;line-height:1.6;margin-top:6px!important}.p-time-actions{gap:8px;margin-top:18px;display:flex}.p-time-actions .button{white-space:nowrap;flex:1;gap:6px;min-height:44px;padding-inline:8px;font-size:13px}.p-status-blocked{background:var(--p-warning-bg);color:var(--p-warning-ink)}.p-status-approved{background:var(--p-accent-soft);color:var(--p-accent-ink)}.p-week-heading{align-items:flex-start;gap:10px}.p-week-heading>div:first-child{min-width:0}.p-week-heading p{color:var(--p-muted);margin-top:4px;font-size:13px}.p-week-navigation{flex-shrink:0;align-items:center;margin:-8px -8px 0 0;display:flex}.p-chevron-left{transform:rotate(180deg)}.p-today-button{min-height:44px;color:var(--p-ink);text-underline-offset:3px;background:0 0;border:0;border-radius:999px;padding:0 8px;text-decoration:underline;font-size:13px!important;font-weight:650!important}.p-today-button:hover{background:var(--p-raised)}.p-week-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0 20px;display:grid}.p-week-stats>div+div{border-left:1px solid var(--p-line);padding-left:18px}.p-week-stats dt{color:var(--p-muted);white-space:nowrap;font-size:13px}.p-week-stats dd{letter-spacing:-.8px;font-variant-numeric:tabular-nums;align-items:center;gap:6px;margin:4px 0 0;font-size:26px;font-weight:700;line-height:1.3;display:flex}.p-week-stats dd small{color:var(--p-muted);letter-spacing:-.3px;margin-left:-4px;font-size:16px;font-weight:500}.p-week-stats dd svg{color:var(--p-accent-secondary)}.p-week-stats>div:last-child dd svg{color:var(--p-gold-ink)}.p-week-calendar{grid-template-columns:repeat(7,minmax(44px,1fr));gap:4px;padding-top:8px;display:grid}.p-day{min-width:44px;color:var(--p-muted);transition:background-color .1s var(--ease-out), color .1s var(--ease-out);background:0 0;border:0;border-radius:14px;flex-direction:column;align-items:center;padding:10px 4px;display:flex}.p-day:hover{background:var(--p-raised);color:var(--p-ink)}.p-day-selected,.p-day-selected:hover{background:var(--p-accent-soft);color:var(--p-accent-ink)}.p-day-count{font-variant-numeric:tabular-nums;font-size:12px;line-height:1.3}.p-day-count>span{opacity:.8}.p-day-bar{background:var(--p-raised);border-radius:999px;width:16px;height:64px;margin:12px 0;display:block;position:relative;overflow:hidden}.p-day-bar>span{background:var(--p-primary);transition:height .25s var(--ease-out);border-radius:999px;position:absolute;bottom:0;left:0;right:0}.p-day-selected .p-day-bar{background:var(--p-selected)}.p-day-name{font-size:12px}.p-day-date{font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;min-width:28px;height:28px;margin-top:4px;font-size:12px;font-weight:700;display:grid}.p-day-today .p-day-date{outline:1px solid var(--p-accent-ink);outline-offset:-1px}.p-day-selected .p-day-date{background:var(--p-primary);color:var(--p-on-primary)}.p-quest-board{scroll-margin-top:96px;overflow:hidden}.p-board-heading{justify-content:space-between;align-items:center;gap:16px;padding:24px 24px 16px;display:flex}.p-board-heading h2{letter-spacing:-.4px;font-size:20px;font-weight:700}.p-board-heading>div>span{color:var(--p-muted);margin-top:2px;font-size:13px;display:block}.p-board-heading .icon-button{box-shadow:inset 0 0 0 1px var(--p-line);color:var(--p-ink)}.p-filters{border-bottom:1px solid var(--p-line);scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent;align-items:center;gap:24px;padding:0 24px;display:flex;overflow:auto}.p-filter{min-height:48px;color:var(--p-muted);transition:color .1s var(--ease-out);background:0 0;border:0;flex-shrink:0;align-items:center;gap:8px;padding:0 0 2px;display:inline-flex;position:relative;font-size:14px!important;font-weight:600!important}.p-filter:hover,.p-filter-active{color:var(--p-ink)}.p-filter-active:after{content:"";background:var(--p-ink);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:0;right:0}.p-filter>span{background:var(--p-warning-bg);min-width:20px;height:20px;color:var(--p-warning-ink);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;padding:0 6px;font-size:12px;display:grid}.p-quest{align-items:flex-start;gap:16px;padding:20px 24px;display:flex}.p-quest+.p-quest{border-top:1px solid var(--p-line)}.p-place-icon{background:var(--p-accent-soft);height:44px;color:var(--p-accent-ink);border-radius:50%;flex:0 0 44px;place-items:center;display:grid}.p-quest-content{flex:1;min-width:0;padding-top:2px}.p-quest-title{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.p-quest h3{letter-spacing:-.1px;overflow-wrap:anywhere;text-wrap:pretty;font-size:15px;font-weight:650;line-height:1.5}.p-rewards{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;display:flex}.p-rewards>span{white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:650;line-height:1.6}.p-xp{background:var(--p-accent-soft);color:var(--p-accent-ink)}.p-gold{background:var(--p-gold-bg);color:var(--p-gold-ink)}.p-quest-meta{color:var(--p-muted);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px;font-size:13px;display:flex}.p-quest-meta>span+span:not(.p-quest-status):before{content:"·";color:var(--p-control-line);margin-right:10px}.p-quest-status{border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:600;line-height:1.5;display:inline-flex}.p-status-pending{background:var(--p-warning-bg);color:var(--p-warning-ink)}.p-status-neutral{background:var(--p-raised);color:var(--p-muted)}.p-review-actions{gap:8px;margin-top:14px;display:flex}.p-review-actions .button{min-height:40px;padding:8px 16px;font-size:13px}.p-retire-button{margin:-4px -10px 0 -4px}.p-app .p-retire-button:hover{background:var(--p-danger-bg);color:var(--p-danger-ink)}.p-empty{text-align:center;padding:48px 24px}.p-empty>svg{color:var(--p-accent-secondary);margin-bottom:12px}.p-empty h3{font-size:16px;font-weight:650}.p-empty p{color:var(--p-muted);margin-top:4px;font-size:14px}.p-empty .p-text-button{margin-top:8px}.p-app .p-dialog{background:var(--p-surface);width:min(568px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--p-ink);box-shadow:0 8px 28px var(--p-shadow-strong);border:0;border-radius:16px;margin:auto;padding:0 24px;overflow-y:auto}.p-dialog[open]{animation:p-dialog-in .2s var(--ease-out)}.p-dialog::backdrop{background:var(--p-backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.p-dialog[open]::backdrop{animation:p-fade-in .2s var(--ease-out)}.p-dialog-heading{z-index:2;border-bottom:1px solid var(--p-line);background:var(--p-surface);grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;min-height:64px;margin:0 -24px 4px;padding:0 12px;display:grid;position:sticky;top:0}.p-dialog-heading h2{letter-spacing:-.1px;text-align:center;overflow-wrap:anywhere;grid-column:2;font-size:16px;font-weight:700;line-height:1.3}.p-dialog-heading .icon-button{width:36px;height:36px;color:var(--p-ink);grid-area:1/1}.p-dialog-description{color:var(--p-muted);font-size:15px;line-height:1.6;margin-top:16px!important}.p-field{flex-direction:column;gap:8px;min-width:0;margin-top:20px;font-size:13px;font-weight:650;display:flex}.p-field input,.p-field select{border:1px solid var(--p-control-line);background:var(--p-surface);width:100%;min-width:0;min-height:52px;color:var(--p-ink);accent-color:var(--p-primary);transition:border-color .1s var(--ease-out), box-shadow .1s var(--ease-out);border-radius:10px;padding:12px 14px;font-size:15px;font-weight:500}.p-field input:hover:not(:disabled),.p-field select:hover:not(:disabled){border-color:var(--p-ink)}.p-app .p-field input:focus-visible,.p-app .p-field select:focus-visible{border-color:var(--p-ink);box-shadow:0 0 0 1px var(--p-ink);outline:none}.p-field input::placeholder{color:var(--p-muted);opacity:.85}.p-field select{appearance:none;background:var(--p-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23626e66' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center;cursor:pointer;padding-right:44px}.p-app[data-theme=cocoa] .p-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23bbaa97' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.p-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.p-weekday-field{border:0;margin:20px 0 0;padding:0}.p-weekday-field legend{padding:0 0 8px;font-size:13px;font-weight:650}.p-weekday-field>div{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.p-weekday{border:1px solid var(--p-line);background:var(--p-surface);min-width:44px;min-height:44px;color:var(--p-ink);transition:border-color .1s var(--ease-out), background-color .1s var(--ease-out);border-radius:999px;padding:0;font-weight:600;font-size:14px!important}.p-weekday:hover{border-color:var(--p-ink)}.p-weekday-selected,.p-weekday-selected:hover{border-color:var(--p-ink);background:var(--p-ink);color:var(--p-surface)}.p-schedule-preview{background:var(--p-accent-soft);color:var(--p-accent-ink);border-radius:10px;padding:10px 14px;font-size:13px;line-height:1.6;margin-top:12px!important}.p-date-zone{color:var(--p-muted);font-size:13px;margin-top:12px!important}.p-dialog-error{background:var(--p-danger-bg);color:var(--p-danger-ink);border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.6;margin-top:20px!important}.p-dialog-actions{z-index:2;border-top:1px solid var(--p-line);background:var(--p-surface);justify-content:space-between;align-items:center;gap:12px;margin:24px -24px 0;padding:16px 24px;display:flex;position:sticky;bottom:0}.p-dialog-actions .button{min-width:120px}.p-dialog-actions .button-secondary{min-width:0;box-shadow:none;text-underline-offset:3px;background:0 0;margin-left:-12px;padding-inline:12px;text-decoration:underline}.p-dialog-actions .button-secondary:hover:not(:disabled){background:var(--p-raised);box-shadow:none}.p-minute-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.p-minute-option{border:1px solid var(--p-line);background:var(--p-surface);min-height:44px;color:var(--p-ink);transition:border-color .1s var(--ease-out);border-radius:999px;padding:0 6px;font-weight:600;font-size:14px!important}.p-minute-option:hover{border-color:var(--p-ink)}.p-minute-selected,.p-minute-selected:hover{border-color:var(--p-ink);background:var(--p-ink);color:var(--p-surface)}.p-pair-code{border:1px dashed var(--p-control-line);background:var(--p-accent-soft);color:var(--p-accent-ink);border-radius:14px;flex-direction:column;align-items:center;gap:8px;margin-top:20px;padding:24px 12px;display:flex}.p-pair-code>span{font-size:13px}.p-pair-code strong{letter-spacing:3px;overflow-wrap:anywhere;max-width:100%;font-size:32px;font-weight:500}.p-app .p-button-danger{background:var(--p-danger-ink);color:var(--p-surface);box-shadow:none}.p-app .p-button-danger:hover:not(:disabled){background:color-mix(in srgb, var(--p-danger-ink) 88%, black);color:var(--p-surface)}@keyframes p-pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}}@keyframes p-fade-in{0%{opacity:0}}@keyframes p-message-out{to{opacity:0;transform:translateY(-4px)}}@keyframes p-dialog-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}@keyframes p-sheet-in{0%{transform:translateY(100%)}}@media (width<=1050px){.p-shell,.p-topbar-inner{padding-inline:24px}.p-summary-grid{grid-template-columns:minmax(320px,.95fr) minmax(0,1.4fr);gap:20px}.p-today-card,.p-week-card{padding:22px}.p-today-progress{gap:16px}.p-ring{flex-basis:108px;width:108px;height:108px}.p-week-stats{gap:8px}.p-week-stats>div+div{padding-left:10px}.p-week-calendar{gap:2px}}@media (width<=880px){.p-summary-grid{grid-template-columns:minmax(0,1fr)}.p-today-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:0 24px;display:grid}.p-today-card>.p-card-title{grid-column:1/-1}.p-today-progress{grid-row:2/5;padding:20px 0}.p-screen-summary{border-top:0;padding-top:0}.p-clock-help{align-self:start}.p-time-actions{margin-top:10px}.p-day-bar{height:70px}}@media (width<=650px){.p-shell{padding:0 16px 48px}.p-topbar-inner{grid-template-columns:1fr auto;gap:4px 8px;min-height:0;padding:10px 16px 4px}.p-brand{gap:7px;font-size:25px}.p-brand-mark{font-size:28px}.p-route-nav{grid-area:2/1/auto/-1;justify-content:center}.p-route-nav a{flex:1;justify-content:center;gap:6px;min-height:44px;padding-inline:8px;font-size:14px}.p-header-actions{gap:4px}.p-menu-panel{width:min(280px,100vw - 32px)}.p-page-heading{align-items:flex-start;gap:12px;margin:24px 0 20px}.p-page-heading h1{letter-spacing:-.6px;font-size:28px}.p-page-heading p{font-size:14px}.p-page-heading>.button{gap:6px;min-height:44px;padding:10px 14px;font-size:13px}.p-summary-grid{gap:16px;margin-bottom:16px}.p-today-card{padding:20px;display:block}.p-today-progress{gap:20px;padding:20px 0}.p-screen-summary{border-top:1px solid var(--p-line);padding-top:16px}.p-time-actions{margin-top:14px}.p-week-card{padding:20px 14px 14px}.p-week-heading{gap:4px;padding-left:4px}.p-week-navigation{margin-right:-6px}.p-week-stats{grid-template-columns:1fr 1fr;gap:16px 20px;margin:20px 6px 14px}.p-week-stats>div+div{border-left:0;padding-left:0}.p-week-stats>div:nth-child(2n){border-left:1px solid var(--p-line);padding-left:20px}.p-week-calendar{gap:0}.p-day{padding-inline:1px}.p-day-bar{height:60px}.p-board-heading{padding:20px 20px 12px}.p-filters{gap:20px;padding-inline:20px}.p-quest{gap:12px;padding:18px 20px}.p-place-icon{flex-basis:40px;height:40px}.p-quest-title{display:block}.p-rewards{margin-top:8px}.p-quest-status{margin-left:0}.p-review-actions{margin:14px 0 0 -52px}.p-app .p-dialog{border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0;padding:0 20px}.p-dialog[open]{animation:p-sheet-in .25s var(--ease-out)}.p-dialog-heading{margin-inline:-20px}.p-dialog-actions{padding:14px 20px calc(14px + env(safe-area-inset-bottom));margin-inline:-20px}.p-form-row{gap:10px}.p-weekday-field>div{gap:4px}}@media (width<=420px){.p-week-card{padding-inline:10px}.p-week-heading p{max-width:155px}.p-week-navigation{margin-right:-3px}.p-weekday{min-width:40px}}@media (prefers-reduced-motion:reduce){.p-app *,.p-app :before,.p-app :after,.p-dialog::backdrop{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (prefers-reduced-motion:reduce){.child-app button.game-panel:active:not(:disabled),.child-app .world-dpad button:active:not(:disabled),.child-app .world-jump:active:not(:disabled){translate:none}}@keyframes game-pop{0%{opacity:0;transform:translateY(8px)scale(.97)}}@keyframes game-fade{0%{opacity:0}}@media (prefers-reduced-motion:no-preference){.child-app dialog[open]{animation:.16s cubic-bezier(0,0,.2,1) game-pop}.child-app dialog[open]::backdrop{animation:.16s ease-out game-fade}}.burst{z-index:3;pointer-events:none;width:0;height:0;position:absolute;top:45%;left:50%}.burst>i{left:calc(var(--size) / -2);top:calc(var(--size) / -2);width:var(--size);height:var(--size);background:var(--colour);animation:reward-fly .7s cubic-bezier(.12, .75, .3, 1) var(--delay) both;position:absolute}.burst-stars>i{clip-path:polygon(33% 0,67% 0,67% 33%,100% 33%,100% 67%,67% 67%,67% 100%,33% 100%,33% 67%,0 67%,0 33%,33% 33%);width:calc(var(--size) * 1.6);height:calc(var(--size) * 1.6)}.burst-dust{top:74%}.burst-dust>i{opacity:.9;animation-duration:.52s}.burst-leaves>i{animation-name:reward-fly-fall;animation-duration:.9s}.reward-celebration{z-index:40;pointer-events:none;color:#39291f;background:radial-gradient(circle at 50% 45%,#fff0be59,#14181099 70%);place-items:center;font-family:Pixelify Sans,monospace;animation:.26s ease-out both reward-fade-in;display:grid;position:fixed;inset:0;overflow:hidden}.reward-rays{background:repeating-conic-gradient(#ffe89652 0deg 9deg,#0000 9deg 18deg);border-radius:50%;width:170vmax;height:170vmax;animation:14s linear infinite reward-spin;position:absolute;top:45%;left:50%;translate:-50% -50%;-webkit-mask-image:radial-gradient(circle,#000 0 12%,#0000 55%);mask-image:radial-gradient(circle,#000 0 12%,#0000 55%)}.reward-coins{pointer-events:none;position:absolute;inset:0}.reward-coins>i{top:-48px;left:var(--left);filter:drop-shadow(2px 2px #0000004d);width:30px;height:30px;animation:reward-coin-fall var(--duration) cubic-bezier(.45, 0, .75, .6) var(--delay) both;position:absolute}.reward-card{box-sizing:border-box;border:8px solid #0000;border-image:var(--game-ui-frame,url(/assets/learnspace-ui/window-frame.svg)) 8 fill / 8px / 0 stretch;background:#f6e5b7 padding-box padding-box;flex-direction:column;align-items:center;gap:6px;min-width:min(300px,84vw);padding:14px 26px 18px;animation:.64s cubic-bezier(.2,1.6,.4,1) both reward-card-in;display:flex;position:relative;box-shadow:3px 3px #00000059}.reward-card>.burst{top:30%}.reward-solo{place-items:center;animation:.64s cubic-bezier(.2,1.6,.4,1) both reward-card-in;display:grid;position:relative}.reward-solo>.reward-emblem{width:176px;height:176px;margin:0}.reward-solo>.burst{top:50%}.reward-emblem{filter:drop-shadow(0 0 18px #ffd664e6);width:104px;height:104px;margin-top:-64px;animation:2.6s ease-in-out infinite reward-emblem-bob}.reward-lines{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.reward-line{font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-size:46px;line-height:1.05;animation:.5s cubic-bezier(.2,1.5,.4,1) both reward-line-in;display:inline-flex}.reward-line small{color:#6e5037;font-size:22px}.reward-xp{animation-delay:.26s}.reward-xp .game-ui-icon{color:#e09a2a;animation:1.6s ease-in-out .5s infinite reward-spin-y}.reward-gold{animation-delay:.42s}.reward-gold .game-ui-icon{color:#b8741a}.reward-loss,.reward-loss .game-ui-icon{color:#b33a2e}@keyframes reward-fly{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--dx), var(--dy)) scale(.3);opacity:0}}@keyframes reward-fly-fall{0%{opacity:1;transform:translate(0)rotate(0)}55%{transform:translate(var(--dx), var(--dy)) rotate(180deg);opacity:1}to{transform:translate(var(--dx), calc(var(--dy) + 60px)) rotate(320deg);opacity:0}}@keyframes reward-fade-in{0%{opacity:0}}@keyframes reward-spin{to{rotate:360deg}}@keyframes reward-coin-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{transform:translateY(calc(100dvh + 96px)) rotate(calc(var(--spin) * 540deg));opacity:1}}@keyframes reward-card-in{0%{opacity:0;transform:scale(.3)translateY(40px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes reward-emblem-bob{50%{transform:translateY(-6px)rotate(8deg)}}@keyframes reward-line-in{0%{opacity:0;transform:translate(-30px)scale(.6)}}@keyframes reward-spin-y{0%,60%,to{transform:scaleX(1)}30%{transform:scaleX(-1)}}@media (width<=520px){.reward-line{font-size:40px}}@media (prefers-reduced-motion:reduce){.burst,.reward-coins{display:none}.reward-celebration,.reward-celebration *{animation:none!important}}.world-shell{background:#29412e;width:100%;height:100%;position:relative;overflow:hidden}.world-map{outline:none;width:100%;height:100%;position:relative;overflow:hidden}.world-art{width:100%;height:100%;image-rendering:pixelated;-webkit-user-select:none;user-select:none;touch-action:none;cursor:crosshair;display:block}.world-place{cursor:pointer;will-change:transform;background:0 0;border:0;place-items:end center;width:44px;height:48px;padding:0 0 2px;display:grid;position:absolute;top:0;left:0}.world-place-badge{color:#fff6d8;font-variant-numeric:tabular-nums;background:#c4533a;border:2px solid #39291f;place-items:center;min-width:24px;height:26px;padding:0 4px;font:700 18px/1 Pixelify Sans,monospace;animation:1.2s steps(2,jump-none) infinite world-place-bob;display:grid;position:relative;box-shadow:inset -2px -2px #8f3324,inset 2px 2px #e07a5f,0 0 0 1px #c4533a,3px 3px #00000059}.world-place:not(.world-place-near):hover .world-place-badge{background:#d6654a}.world-place:not([data-tasks]):not(.world-place-near){visibility:hidden}.world-place-key,.world-place-tap,.world-place-near .world-place-count{display:none}.world-place-near .world-place-key{display:inline}.world-place-near .world-place-badge{color:#39291f;background:#f8c943;animation:.18s steps(3,jump-none) world-place-pop,1.2s steps(2,jump-none) .18s infinite world-place-bob;box-shadow:inset -2px -2px #c9921e,inset 2px 2px #fff0a8,0 0 0 1px #f8c943,3px 3px #00000059}.world-place-near:hover .world-place-badge{background:#ffdb6e}.world-place:focus-visible{outline-offset:2px;outline:2px solid #fff1a8}@keyframes world-place-bob{50%{translate:0 -3px}}@keyframes world-place-pop{0%{scale:.6}60%{scale:1.15}}.world-error{color:#842f37;background:#fff5de;border-radius:8px;margin:0;padding:20px;position:absolute;top:45%;left:50%;transform:translate(-50%)}.world-controls{left:max(16px,env(safe-area-inset-left));bottom:max(22px,env(safe-area-inset-bottom));pointer-events:none;align-items:flex-end;gap:12px;display:flex;position:absolute}.world-dpad{pointer-events:auto;gap:4px;display:none}.world-dpad button{touch-action:none;width:48px;height:48px;padding:0;font:24px Pixelify Sans,monospace}.world-dpad button:disabled,.world-jump:disabled{opacity:.5;cursor:default}.world-jump{pointer-events:auto;touch-action:manipulation;cursor:pointer;width:48px;min-height:48px;padding:0;font:14px Pixelify Sans,monospace;display:none}.world-dpad button:focus-visible,.world-jump:focus-visible{outline-offset:-5px;outline:2px solid #39291f}@media (pointer:coarse),(width<=700px){.world-dpad{grid-template-rows:repeat(2,48px);grid-template-columns:repeat(3,48px);display:grid}.world-dpad button:first-child{grid-area:2/1}.world-dpad button:nth-child(2){grid-area:1/2}.world-dpad button:nth-child(3){grid-area:2/2}.world-dpad button:nth-child(4){grid-area:2/3}.world-jump{display:block}}@media (pointer:coarse){.world-place-near .world-place-key{display:none}.world-place-near .world-place-tap{font-size:15px;display:inline}}@media (prefers-reduced-motion:reduce){.world-place-badge,.world-place-near .world-place-badge{animation:none}}.wake-alarm-control{--wake-cream:#fff4dd;--wake-surface:#fffbef;--wake-ink:#54452f;--wake-muted:#7c6d51;--wake-line:#dac9a4;--wake-green:#5d793e;--wake-light:#e7edcf;--wake-gold:#ae7c35;--wake-red:#964b37;color:var(--wake-ink);pointer-events:auto;font:14px/1.5 Manrope,sans-serif}.wake-alarm-control *,.wake-alarm-control :before,.wake-alarm-control :after{box-sizing:border-box}.wake-alarm-control h2,.wake-alarm-control h3,.wake-alarm-control p{margin:0}.wake-alarm-control button,.wake-alarm-control select,.wake-alarm-control input{font:inherit}.wake-alarm-control button{cursor:pointer}.wake-alarm-control button:disabled{cursor:default;opacity:.6}.wake-alarm-control button:focus-visible,.wake-alarm-control input:focus-visible,.wake-alarm-control select:focus-visible{outline-offset:4px;outline:3px solid #5f8048}.wake-dialog{background:var(--wake-surface);width:min(480px,100vw - 28px);max-height:calc(100dvh - 32px);color:var(--wake-ink);border:2px solid #685438;border-radius:16px;padding:25px;font:14px/1.5 Manrope,sans-serif;overflow:auto;box-shadow:0 6px #493d2b2b,0 30px 90px #172b2255}.wake-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#203828a6}.wake-alarm-time{align-items:baseline;gap:14px;display:flex}.wake-alarm-time>strong{letter-spacing:-1px;font-variant-numeric:tabular-nums;font-size:34px;font-weight:650}.wake-alarm-time>span{color:var(--wake-muted);font-size:13px}.wake-description{color:var(--wake-muted);text-wrap:pretty;font-size:14px;line-height:1.75;margin-top:12px!important}.wake-audio-readiness{color:#86612d;background:#f5e8ce;border-radius:9px;align-items:center;gap:8px;margin-top:20px;padding:11px 12px;font-size:12px;display:flex}.wake-audio-ready{color:#526c38;background:var(--wake-light)}.wake-button{background:var(--wake-light);min-height:46px;color:var(--wake-green);border:1px solid #6d824d;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 15px;display:inline-flex;font-size:13px!important;font-weight:650!important}.wake-button-primary{background:var(--wake-green);color:#fffbe9;border-color:var(--wake-green)}.wake-settings>.wake-button{width:100%;margin-top:11px}.wake-sounds{border:0;margin:24px 0 0;padding:0}.wake-sounds legend{padding:0 0 10px;font-size:13px;font-weight:650}.wake-sound-row{border-top:1px solid var(--wake-line);justify-content:space-between;align-items:center;gap:8px;min-height:53px;display:flex}.wake-sound-row>label{cursor:pointer;flex:1;align-items:center;gap:10px;min-height:48px;font-size:13px;display:flex}.wake-sound-row input,.wake-screen-toggle input{accent-color:var(--wake-green);width:17px;height:17px;margin:0}.wake-preview-button,.wake-stop-preview{min-height:44px;color:var(--wake-green);background:0 0;border:0;align-items:center;gap:6px;padding:0 7px;display:inline-flex;font-size:12px!important;font-weight:600!important}.wake-stop-preview{padding-inline:0}.wake-screen-toggle{border-top:1px solid var(--wake-line);cursor:pointer;align-items:center;gap:10px;min-height:48px;margin-top:15px;padding-top:12px;font-size:13px;display:flex}.wake-screen-status{color:var(--wake-muted);font-size:12px;line-height:1.7;margin-top:5px!important}.wake-page-requirement{color:var(--wake-muted);font-size:12px;line-height:1.75;margin-top:18px!important}.wake-error{color:var(--wake-red);background:#f9e4d8;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.65;margin-top:15px!important}.wake-retry{width:100%;margin-top:12px}@media (prefers-reduced-motion:reduce){.wake-alarm-control *,.wake-alarm-control :before,.wake-alarm-control :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.wake-alarm-control{--wake-cream:#f6e5b7;--wake-surface:#f6e5b7;--wake-ink:#39291f;--wake-muted:#6e5037;--wake-line:#d9b77d}.wake-audio-readiness,.wake-error{border-radius:0}.wake-button{color:#39291f;background:#e8c983;border:2px solid #8c592f;border-radius:0;box-shadow:inset 2px 2px #fff0c7,inset -2px -2px #bb8a4c}.wake-button-primary{color:#39291f;background:#e8c983;border-color:#8c592f}.wake-button-primary:hover:not(:disabled){background:#f3d693}.wake-preview-button,.wake-stop-preview{color:#425c2e}.wake-alarm-control .wake-dialog.wake-active-dialog{width:auto;max-width:none;height:auto;max-height:none;box-shadow:none;overscroll-behavior:contain;background:#39291f;border:0;margin:0;padding:0;animation:none;inset:0;overflow:hidden}.wake-dialog.wake-active-dialog[open]{display:flex}.wake-dialog.wake-active-dialog:focus{outline:none}.wake-dialog.wake-active-dialog::backdrop{background:#1d1410}.wake-scene{--ink:#39291f;isolation:isolate;background:var(--field-colour);color:var(--ink);-webkit-tap-highlight-color:transparent;flex:1;font-family:Pixelify Sans,monospace;display:flex;position:relative;overflow:hidden}.wake-field{z-index:0;background:var(--field) 0 0 / 576px 576px repeat, var(--field-colour);image-rendering:pixelated;animation:60s linear infinite wake-field-drift;position:absolute;inset:-48px}.wake-sunrise{z-index:1;pointer-events:none;background:radial-gradient(120% 70% at 50% -12%, rgb(255 222 150/calc(var(--dawn) * .7)), rgb(255 190 120/calc(var(--dawn) * .25)) 45%, transparent 75%);mix-blend-mode:screen;animation:6s ease-in-out infinite wake-breathe;position:absolute;inset:0}.wake-tint{z-index:1;pointer-events:none;mix-blend-mode:multiply;opacity:.85;position:absolute;inset:0}.wake-ambient{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.wake-mote{left:var(--left);opacity:0;width:4px;height:4px;animation:wake-mote var(--duration) linear var(--delay) infinite;background:#fffbe0;position:absolute;bottom:-12px;box-shadow:0 0 8px 2px #fff6b0b3}.wake-drifter{top:-16px;left:var(--left);width:var(--size);height:var(--size);background:var(--colour);animation:wake-drift var(--duration) linear var(--delay) infinite backwards;position:absolute;box-shadow:2px 2px #00000026}.wake-drifter-winter{box-shadow:0 0 6px #fffc}.wake-active-body{width:100%;max-width:880px;min-height:0;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));flex-direction:column;flex:1;margin:0 auto;display:flex;position:relative}.wake-active-body>.wake-challenge-only{flex-direction:column;flex:1;min-height:0;display:flex}.wake-active-body .wake-challenge{flex-direction:column;flex:1;min-height:0;margin:0;display:flex}.wake-active-body .wake-error,.wake-active-body .wake-retry{z-index:4;position:relative}.wake-panel{border:8px solid #0000;border-image:var(--game-ui-frame) 8 fill / 8px / 0 stretch;color:var(--ink);background:#f6e5b7 padding-box padding-box;box-shadow:3px 3px #00000059}.wake-hud{z-index:4;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;animation:.42s cubic-bezier(.2,1.4,.4,1) both wake-drop-in;display:flex;position:relative}.wake-hud-reward{align-items:center;gap:12px;min-height:58px;padding:2px 12px 2px 8px;display:flex}.wake-clock{flex-shrink:0;width:34px;height:30px}.wake-clock-ringing{transform-origin:50% 80%;animation:1.1s ease-in-out infinite wake-ring}.wake-hud-stat{font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:24px;line-height:1;animation:.42s cubic-bezier(.2,1.6,.4,1) wake-tick;display:inline-flex}.wake-hud-stat small{color:#6e5037;font-size:14px}.wake-hud-xp .game-ui-icon{color:#e09a2a}.wake-hud-gold .game-ui-icon{color:#b8741a}.wake-hud-loss,.wake-hud-loss .game-ui-icon{color:#b33a2e}.wake-hud-progress{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;min-height:58px;padding:4px 10px;display:flex}.wake-pip{background:#e3cf9c;border:2px solid #8c592f;width:14px;height:14px;box-shadow:inset 2px 2px #fff0c7}.wake-pip-on{background:#f2c14e;border-color:#8c4f14;animation:.38s cubic-bezier(.2,1.8,.4,1) wake-pip;box-shadow:inset -2px -2px #c9781e,inset 2px 2px #fff4c2,0 0 8px #f8c94399}.wake-board{z-index:2;touch-action:manipulation;-webkit-user-select:none;user-select:none;flex:1;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:10px;min-height:280px;display:grid;position:relative}.wake-board>button{min-width:0;min-height:0;color:inherit;font:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:0;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;padding:0;display:grid;position:relative}.wake-alarm-control .wake-board>button:disabled{opacity:1;cursor:default}.wake-alarm-control .wake-board>button:focus-visible{outline:none}.wake-board>button:focus-visible:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#ffec96bf,#ffd66e4d 60%,#0000);border-radius:50%;position:absolute;inset:4%}@media (orientation:portrait){.wake-memory-board{grid-template-columns:repeat(2,minmax(0,1fr))}}.wake-hole-art{filter:drop-shadow(0 3px #1e140a40);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.wake-mole-body{transform-box:fill-box;transform-origin:50% 100%;transition:transform .16s ease-in;transform:translateY(17px)}.wake-hole[data-mole=up] .wake-mole-body{transition:transform .2s cubic-bezier(.2,1.7,.4,1);animation:.9s ease-in-out .2s infinite wake-mole-idle;transform:translateY(0)}.wake-hole[data-mole=bonked] .wake-mole-body{animation:.52s ease-in both wake-mole-bonk;transform:translateY(17px)}.wake-hole:active:not(:disabled) .wake-hole-art{scale:.96}.wake-card{perspective:900px}.wake-card-inner{width:min(100%,220px);height:min(100%,260px);transform-style:preserve-3d;transition:transform .46s cubic-bezier(.3,1.4,.5,1);position:relative}.wake-card[data-face=up] .wake-card-inner{transform:rotateY(180deg)}.wake-card:active:not(:disabled,[aria-disabled]) .wake-card-inner{scale:.96}.wake-card[aria-disabled]{cursor:default}.wake-card-face{backface-visibility:hidden;border:8px solid #0000;border-image:var(--game-ui-frame) 8 / 8px / 0 stretch;place-items:center;display:grid;position:absolute;inset:0;box-shadow:3px 4px #0000004d}.wake-card-back{background:repeating-conic-gradient(#6a9a45 0 25%, #5d8a3c 0 50%) 0 0 / 16px 16px padding-box;box-shadow:inset 0 0 0 4px #4b7330,3px 4px #0000004d}.wake-card-back .wake-crop{animation:2.4s ease-in-out infinite wake-bob}.wake-card-front{background:#fff4dd padding-box padding-box;transform:rotateY(180deg)}.wake-card[data-matched] .wake-card-front{background:#fff8c8 padding-box padding-box;box-shadow:0 0 0 4px #f8c943,0 0 26px 4px #f8c943a6,3px 4px #0000004d}.wake-card[data-matched] .wake-card-inner{animation:.52s cubic-bezier(.2,1.6,.4,1) wake-match}.wake-card[data-matched] .wake-crop{animation:1.6s ease-in-out infinite wake-bob}.wake-card[data-wrong] .wake-card-inner{animation:.38s ease-in-out wake-shake-flip}.wake-card[data-wrong] .wake-card-front{background:#f6c9bd padding-box padding-box}.wake-crop{--s:5;width:calc(16px * var(--s));height:calc(16px * var(--s));background:url(/assets/farm/crops.png) calc(var(--x) * var(--s) * -1px) calc(var(--y) * var(--s) * -1px) / calc(256px * var(--s)) calc(224px * var(--s)) no-repeat;image-rendering:pixelated;filter:drop-shadow(3px 3px #39291f47);display:block}@media (width<=420px),(height<=560px){.wake-crop{--s:4}}@media (width>=900px) and (height>=700px){.wake-crop{--s:6}}@keyframes wake-field-drift{to{transform:translate(48px,48px)}}@keyframes wake-breathe{50%{opacity:.75}}@keyframes wake-mote{0%{opacity:0;transform:translate(0)}12%{opacity:.9}85%{opacity:.7}to{opacity:0;transform:translate(var(--drift), -105dvh)}}@keyframes wake-drift{0%{opacity:0;transform:translate(0)rotate(0)}8%{opacity:1}25%{transform:translate(calc(var(--sway) * 1px), 25dvh) rotate(90deg)}50%{transform:translate(calc(var(--sway) * -.5px), 50dvh) rotate(180deg)}75%{transform:translate(calc(var(--sway) * 1px), 75dvh) rotate(270deg)}to{opacity:1;transform:translateY(calc(100dvh + 32px))rotate(360deg)}}@keyframes wake-drop-in{0%{opacity:0;transform:translateY(-24px)}}@keyframes wake-ring{0%,50%,to{rotate:0deg}5%,15%,25%,35%{translate:-1px;rotate:-14deg}10%,20%,30%,40%{translate:1px;rotate:14deg}}@keyframes wake-tick{0%{filter:brightness(1.4);transform:scale(1.35)}}@keyframes wake-pip{0%{transform:scale(1.8)rotate(25deg)}}@keyframes wake-mole-idle{50%{transform:translateY(0)scale(1.04,.96)}}@keyframes wake-mole-bonk{0%{transform:translateY(0)scale(1.25,.62)}25%{transform:translateY(0)scale(.92,1.06)}55%{transform:translateY(0)scale(1)}to{transform:translateY(17px)scale(1)}}@keyframes wake-bob{50%{transform:translateY(-5px)}}@keyframes wake-match{0%{transform:rotateY(180deg)scale(1)}40%{transform:rotateY(180deg)scale(1.12)rotate(-3deg)}70%{transform:rotateY(180deg)scale(.97)rotate(2deg)}to{transform:rotateY(180deg)scale(1)}}@keyframes wake-shake-flip{0%,to{transform:rotateY(180deg)translate(0)}20%,60%{transform:rotateY(180deg)translate(-9px)}40%,80%{transform:rotateY(180deg)translate(9px)}}@media (width<=520px){.wake-hud-reward{gap:9px;padding-right:8px}.wake-hud-stat{font-size:20px}.wake-hud-stat small{font-size:12px}.wake-hud-progress{gap:4px;max-width:46%;padding:4px 6px}.wake-pip{width:11px;height:11px}.wake-board{gap:8px}}.npc-dialogue{inset:auto 0 max(16px, env(safe-area-inset-bottom,0px));color:#39291f;width:min(100% - 16px,720px);max-height:calc(100dvh - 32px);box-shadow:none;filter:drop-shadow(4px 4px #0000007a);font-synthesis:none;overflow-wrap:anywhere;overscroll-behavior:contain;background:#f6e5b7 padding-box padding-box;border:16px solid #0000;border-image:url(/assets/learnspace-ui/window-frame.svg) 8 fill/16px;margin:0 auto;padding:8px 12px;font:1.5rem/1.3 Pixelify Sans,ui-monospace,monospace;position:fixed;overflow-y:auto;container:dialogue/inline-size}.npc-dialogue::backdrop{background:#090c1385}.npc-dialogue *{font-variant-ligatures:no-common-ligatures}.dialogue-page{overflow-wrap:anywhere;gap:12px;min-width:0;display:grid}.dialogue-page--character{grid-template-columns:128px minmax(0,1fr)}.dialogue-page--character>.character-portrait{grid-area:1/1/3}.dialogue-page--character>.dialogue-nameplate,.dialogue-page--character>.dialogue-text{grid-column:2}.dialogue-page--character>.dialogue-choices,.dialogue-page--character>.dialogue-page-number,.dialogue-page--character>.dialogue-voice-controls{grid-column:1/-1}.dialogue-nameplate{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.dialogue-nameplate h2{letter-spacing:0;border-bottom:4px double #b57b43;margin:0;padding:0 4px 4px;font-size:1.75rem;font-weight:500}.dialogue-text{min-height:3.9em;color:inherit;font:inherit;margin:0}.dialogue-word[data-speaking=true]{background:#e8c983;box-shadow:0 2px #8c592f}.dialogue-voice-controls{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.dialogue-replay{color:#6e5037;min-height:44px;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:8px;font-size:1rem;display:inline-flex}.dialogue-replay--playback{display:inline-grid}.dialogue-replay--playback>span,.dialogue-replay--playback:after{grid-area:1/1}.dialogue-replay--playback:after{content:attr(data-reserved-label);visibility:hidden}.dialogue-replay:hover:not(:disabled),.dialogue-replay:focus-visible{color:#39291f;background:#e8c983}.dialogue-replay:focus-visible{outline-offset:-2px;outline:2px solid #8c592f}.dialogue-replay:disabled{opacity:.55;cursor:default}.dialogue-voice-status{color:#6e5037;font-size:1rem}.dialogue-choices{border-top:4px double #b57b43;gap:4px;padding-top:8px;display:grid}.dialogue-choice,.dialogue-advance{cursor:pointer;min-width:0;min-height:44px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:8px;display:flex}.dialogue-choice>span{min-width:0}.dialogue-advance{justify-self:end}.dialogue-advance>.game-ui-icon{rotate:90deg}.dialogue-advance:focus,.dialogue-choice:focus{outline-offset:-2px;color:#39291f;background:#e8c983;outline:2px solid #8c592f}.dialogue-choice:disabled,.dialogue-advance:disabled{cursor:wait;opacity:.6}.menu-cursor{visibility:hidden}.dialogue-choice:focus .menu-cursor{visibility:visible}.dialogue-page-number{color:#6e5037;font-variant-numeric:tabular-nums;text-align:right;font-size:1rem}.character-portrait{background:#f6e5b7;flex:none;width:128px;height:128px;display:block;position:relative;overflow:hidden}.smith-portrait{image-rendering:pixelated;background:#f6e5b7 url(/assets/farm/smith.png) -64px -48px/256px 256px no-repeat}.librarian-portrait{image-rendering:pixelated;background:#f6e5b7 url(/assets/farm/old-man.png) -48px -48px/256px 256px no-repeat}.housekeeper-portrait{image-rendering:pixelated;background:#f6e5b7 url(/assets/farm/girl2.png) -64px -48px/256px 256px no-repeat}.dog-portrait{image-rendering:pixelated;background:#f6e5b7 url(/assets/farm/dog.png) 0 -120px/128px 256px no-repeat}.angler-portrait{image-rendering:pixelated;background:#f6e5b7 url(/assets/farm/angler.png) -64px -24px/256px 256px no-repeat}.gardener-portrait{image-rendering:pixelated;background:#f6e5b7 url(/assets/farm/girl1-basket.png) -64px -48px/256px 256px no-repeat}.npc-quest-count{color:#fff6d8;background:#c4533a;border:2px solid #39291f;padding:0 6px;font-size:1rem;line-height:1.4}@container dialogue (width<=12em){.dialogue-page--character>.character-portrait{grid-area:auto/1/auto/-1}.dialogue-page--character>.dialogue-nameplate{grid-column:1/-1}}@media (width<=480px),(height<=500px) and (orientation:landscape){.npc-dialogue{padding:4px 8px;font-size:1.25rem}.dialogue-nameplate h2{font-size:1.5rem}.dialogue-page{gap:8px}.dialogue-page--character{grid-template-columns:64px minmax(0,1fr)}.dialogue-page--character>.character-portrait{grid-row:1}.dialogue-page--character>.dialogue-text{grid-column:1/-1}.character-portrait{width:64px;height:64px}.smith-portrait{background-position:-32px -24px;background-size:128px 128px}.librarian-portrait{background-position:-24px -24px;background-size:128px 128px}.housekeeper-portrait{background-position:-32px -24px;background-size:128px 128px}.dog-portrait{background-position:0 -60px;background-size:64px 128px}.angler-portrait{background-position:-32px -12px;background-size:128px 128px}.gardener-portrait{background-position:-32px -24px;background-size:128px 128px}}@media (width<=700px){.npc-dialogue{max-height:calc(100% - 8px)}}.spark-portrait,.spark-settings-portrait{image-rendering:pixelated;background:#f6e5b7 url(/assets/learnspace-ui/spark-portrait.png) 50%/128px 128px no-repeat}.spark-dialogue .dialogue-page--character>.spark-reply{grid-column:2;gap:8px;min-width:0;display:grid}.spark-dialogue .dialogue-page--character>.spark-actions{border-top:4px double #b57b43;grid-column:1/-1;gap:8px;padding-top:8px;display:grid}.spark-badge{color:#39291f;background:#cfe3ef;border:2px solid #39291f;padding:0 6px;font-size:1rem;line-height:1.4}.spark-question{color:#6e5037;margin:0;font-size:1rem}.spark-question>span{color:#8c592f}.spark-thinking{color:#6e5037}.spark-dots:after{content:"…";vertical-align:bottom;width:1ch;animation:1.2s steps(4,jump-none) infinite spark-dots;display:inline-block;overflow:hidden}@keyframes spark-dots{0%{width:0}to{width:1ch}}.spark-sent,.spark-error{align-items:center;gap:6px;margin:0;padding:6px 8px;font:600 13px/1.5 Manrope,sans-serif;display:flex}.spark-sent{color:#425c2e;background:#e4ebd5}.spark-error{color:#842f37;background:#f9e4d8}.spark-suggestions{flex-wrap:wrap;gap:6px;display:flex}.spark-suggestion{color:#39291f;cursor:pointer;background:#fff0c7;border:2px solid #d9b77d;min-height:40px;padding:4px 10px;font:1rem Pixelify Sans,monospace}.spark-suggestion:hover,.spark-suggestion:focus-visible{background:#e8c983;border-color:#8c592f;outline:none}.spark-composer{align-items:stretch;gap:8px;display:flex}.spark-composer input{box-sizing:border-box;color:#39291f;background:#fffaf0;border:2px solid #8c592f;border-radius:0;flex:1;min-width:0;height:44px;padding:6px 10px;font:15px Manrope,sans-serif}.spark-composer input:focus-visible{outline-offset:1px;outline:2px solid #39291f}.spark-composer input:disabled{opacity:.6}.spark-buttons{box-sizing:border-box;background:#e8c983;border:2px solid #8c592f;flex:none;height:44px;display:flex;box-shadow:inset 2px 2px #fff0c7,inset -2px -2px #bb8a4c}.spark-buttons>button{color:#39291f;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;height:100%;margin:0;font:1.1rem Pixelify Sans,monospace;display:inline-flex}.spark-buttons>button:hover:not(:disabled){background:#f3d693}.spark-buttons>button:disabled{cursor:default;opacity:.45}.spark-buttons>button:focus-visible{outline-offset:-4px;outline:2px solid #39291f}.spark-mic{--level:0;width:44px;padding:0;border-right:2px solid #8c592f!important}.spark-mic[data-state=listening]{color:#842f37;box-shadow:inset 0 0 0 calc(2px + var(--level) * 6px) #c4533a;background:#f2b8a2!important}.spark-mic[data-state=hearing]{animation:1s steps(2,jump-none) infinite spark-mic-wait;opacity:1!important}.spark-send{padding:0 14px}@keyframes spark-mic-wait{50%{background:#f3d693}}.spark-settings-hero{align-items:center;gap:12px;display:flex}.spark-settings-portrait{background-size:64px 64px;border:2px solid #d9b77d;flex:none;width:64px;height:64px}.spark-name-field{gap:6px;font-size:18px;display:grid}.spark-name-field input{color:#39291f;background:#fffaf0;border:2px solid #8c592f;border-radius:0;min-height:44px;padding:6px 10px;font:18px Pixelify Sans,monospace}.spark-name-field input[aria-invalid=true]{border-color:#c4533a}.spark-name-field input:focus-visible{outline-offset:1px;outline:2px solid #39291f}.spark-name-help{color:#6e5037;margin:-6px 0 0;font:12px/1.5 Manrope,sans-serif}.spark-name-invalid{color:#842f37}.spark-voices{border:0;margin:0;padding:0}.spark-voices legend{padding:0 0 6px;font-size:18px}.spark-voice-row{border-top:2px solid #d9b77d;justify-content:space-between;align-items:center;gap:8px;min-height:52px;display:flex}.spark-voice-row>label{cursor:pointer;flex:1;align-items:center;gap:10px;min-height:48px;display:flex}.spark-voice-row>label>span{gap:1px;display:grid}.spark-voice-row strong{font:500 17px Pixelify Sans,monospace}.spark-voice-row small{color:#6e5037;font:12px Manrope,sans-serif}.spark-voice-row input{accent-color:#5d793e;flex:none;width:18px;height:18px;margin:0}.spark-voice-row input:focus-visible{outline-offset:3px;outline:2px solid #39291f}.spark-preview{color:#425c2e;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;min-height:44px;padding:0 8px;font:600 12px Manrope,sans-serif;display:inline-flex}.spark-preview:disabled{cursor:default;opacity:.55}@media (width<=480px),(height<=500px) and (orientation:landscape){.spark-portrait{background-size:64px 64px}.spark-dialogue .dialogue-page--character>.spark-reply{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.spark-dots:after,.spark-mic[data-state=hearing]{animation:none}}.game-menu{width:min(520px,100% - 28px);max-height:calc(100dvh - 40px);padding:0;font-family:Pixelify Sans,monospace;overflow-y:auto}.game-menu::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#20382878}.game-menu-top{z-index:1;color:#39291f;background:#f6e5b7;border-bottom:2px solid #d9b77d;align-items:center;gap:4px;padding:5px 5px 10px 10px;display:flex;position:sticky;top:0}.game-menu-top:has(.game-menu-back){padding-left:5px}.game-menu-back-icon{rotate:180deg}.game-menu-top h2{flex:1;align-items:center;gap:10px;min-width:0;margin:0;font:500 24px/1.2 Pixelify Sans,monospace;display:flex}.game-menu-list{gap:8px;padding:18px 10px 12px;display:grid}.game-menu-item{color:#39291f;text-align:left;background:#fff0c7;border:2px solid #d9b77d;align-items:center;gap:10px;min-height:56px;padding:0 14px 0 8px;font:20px Pixelify Sans,monospace;display:flex}.game-menu-item>span:last-child{gap:2px;display:grid}.game-menu-item small{color:#6e5037;font:12px Manrope,sans-serif}.game-menu-item:not(:disabled):is(:hover,:focus-visible){background:#e8c983;border-color:#8c592f}.game-menu-item:not(:disabled):is(:hover,:focus-visible) .menu-cursor{visibility:visible}.child-app .game-menu-item:focus-visible{outline:none}.game-menu-pane{color:#39291f;gap:12px;padding:18px 10px 12px;display:grid}.game-menu-pane .wake-alarm-time{margin-top:0}.game-menu-note{color:#6e5037;margin:0;font:13px/1.6 Manrope,sans-serif}.keybind-list{margin:0;padding:0;list-style:none;display:grid}.keybind-row{border-bottom:2px solid #d9b77d;justify-content:space-between;align-items:center;gap:12px;min-height:52px;font-size:18px;display:flex}.keybind-key{color:#39291f;text-align:center;background:#e8c983;border:2px solid #8c592f;min-width:76px;min-height:40px;padding:4px 10px;font:17px Pixelify Sans,monospace;box-shadow:inset 2px 2px #fff0c7,inset -2px -2px #bb8a4c}button.keybind-key:hover{background:#f3d693}.keybind-key[aria-pressed=true]{background:#fff0c7;min-width:132px;animation:1s steps(2,jump-none) infinite keybind-listen}kbd.keybind-key{box-shadow:none;color:#6e5037;background:0 0;border-color:#d9b77d;place-items:center;display:inline-grid}.keybind-row-fixed{color:#6e5037;border-bottom:0}@keyframes keybind-listen{50%{border-color:#c4533a}}.game-menu-status{color:#425c2e;min-height:1.6em;margin:0;font:600 13px/1.6 Manrope,sans-serif}.game-menu-button{color:#39291f;background:#e8c983;border:2px solid #8c592f;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 12px;font:600 13px Manrope,sans-serif;display:flex;box-shadow:inset 2px 2px #fff0c7,inset -2px -2px #bb8a4c}.game-menu-button:hover:not(:disabled){background:#f3d693}.game-menu-toggle{cursor:pointer;border-bottom:2px solid #d9b77d;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:10px 0;display:flex}.game-menu-toggle>span{gap:3px;display:grid}.game-menu-toggle strong{font:500 18px Pixelify Sans,monospace}.game-menu-toggle small{color:#6e5037;font:12px/1.5 Manrope,sans-serif}.game-menu-toggle input{accent-color:#5d793e;flex-shrink:0;width:20px;height:20px;margin:0}.game-menu-toggle input:focus-visible{outline-offset:3px;outline:2px solid #39291f}.game-menu-hint{color:#6e5037;align-items:center;gap:8px;margin:0;padding:4px 12px 14px;font:14px Pixelify Sans,monospace;display:flex}.game-menu-hint kbd{background:#f6e5b7;border:2px solid #39291f;padding:2px 6px;font:13px Pixelify Sans,monospace;box-shadow:inset 1px 1px #fff0c7,inset -1px -1px #d9b77d}@media (pointer:coarse),(width<=700px){.game-menu-hint{display:none}}@media (prefers-reduced-motion:reduce){.keybind-key[aria-pressed=true]{border-color:#c4533a;animation:none}}.child-app .game-menu:has(.game-calendar){width:min(680px,100% - 28px)}.game-calendar{gap:14px}.game-calendar .cal{--cal-row:58px;gap:6px}.game-calendar .cal-title{font:500 22px/1.2 Pixelify Sans,monospace}.game-calendar .cal-heading{gap:8px}.game-calendar .cal-nav,.game-calendar .cal-today{color:#39291f;background:#e8c983;border:2px solid #8c592f;border-radius:0;min-width:44px;min-height:44px;box-shadow:inset 2px 2px #fff0c7,inset -2px -2px #bb8a4c}.game-calendar .cal-today{padding:0 10px;font:16px Pixelify Sans,monospace}.game-calendar .cal-nav:hover,.game-calendar .cal-today:hover{background:#f3d693}.game-calendar .cal-nav:active,.game-calendar .cal-today:active{translate:1px 1px}.game-calendar .cal-weekdays{color:#6e5037;font:600 11px Manrope,sans-serif}.game-calendar .cal-grid{gap:3px}.game-calendar .cal-day{color:#39291f;background:#fff0c7;border:2px solid #d9b77d;border-radius:0;padding:4px;font:16px Pixelify Sans,monospace}.game-calendar .cal-day:hover{background:#f3d693;border-color:#8c592f}.game-calendar .cal-day[data-outside]{color:#9e906c;background:#f6e5b7;border-color:#0000}.game-calendar .cal-day[data-past]:not([data-outside]){color:#6e5037}.game-calendar .cal-day[aria-pressed=true]{background:#e8c983;border-color:#39291f}.game-calendar .cal-date{width:26px;height:26px}.game-calendar .cal-day[aria-current=date] .cal-date{color:#842f37;background:#fffaf0;box-shadow:0 0 0 2px #c4533a}.game-calendar .cal-event{color:#24425a;background:#cfe3ef;padding:1px 4px;font:600 10px/1.4 Manrope,sans-serif}.game-calendar .cal-event[data-by=child]{color:#425c2e;background:#e4ebd5}.game-calendar .cal-more{color:#6e5037;font:600 10px Manrope,sans-serif}@container cal (width<=600px){.game-calendar .cal-event{background:#3f6e8c;border-radius:0;width:6px;height:6px}.game-calendar .cal-event[data-by=child]{background:#5d793e}}.game-calendar-day{border-top:4px double #b57b43;gap:10px;padding-top:12px;display:grid}.game-calendar-day h3{align-items:baseline;gap:10px;margin:0;font:500 20px Pixelify Sans,monospace;display:flex}.game-calendar-day h3 small{color:#842f37;font:600 12px Manrope,sans-serif}.game-calendar .cal-plan{gap:12px;display:grid}.game-calendar .cal-plan-list{margin:0;padding:0;list-style:none;display:grid}.game-calendar .cal-plan-event{border-bottom:2px solid #d9b77d;align-items:center;gap:10px;min-height:52px;display:flex}.game-calendar .cal-plan-dot{background:#3f6e8c;flex:none;width:10px;height:10px;box-shadow:1px 1px #39291f}.game-calendar .cal-plan-event[data-by=child] .cal-plan-dot{background:#5d793e}.game-calendar .cal-plan-copy{flex:1;gap:1px;min-width:0;display:grid}.game-calendar .cal-plan-copy strong{overflow-wrap:anywhere;font:500 17px Pixelify Sans,monospace}.game-calendar .cal-plan-copy small{color:#6e5037;font:12px Manrope,sans-serif}.game-calendar .cal-plan-trash{color:#842f37;background:0 0;border:0;flex:none;place-items:center;width:44px;height:44px;display:grid}.game-calendar .cal-plan-trash:hover:not(:disabled){background:#f9e4d8}.game-calendar .cal-plan-confirm{flex:none;gap:6px;display:flex}.game-calendar .cal-plan-confirm button{color:#39291f;background:#e8c983;border:2px solid #8c592f;min-height:40px;padding:0 10px;font:15px Pixelify Sans,monospace;box-shadow:inset 2px 2px #fff0c7,inset -2px -2px #bb8a4c}.game-calendar .cal-plan-confirm .cal-plan-delete{color:#fffaf0;background:#c4533a;border-color:#842f37;box-shadow:inset 2px 2px #dd7a5f,inset -2px -2px #8f3527}.game-calendar .cal-plan-empty,.game-calendar .cal-plan-note{color:#6e5037;margin:0;font:13px/1.6 Manrope,sans-serif}.game-calendar .cal-plan-form{gap:10px;display:grid}.game-calendar .cal-plan-field{gap:6px;font-size:18px;display:grid}.game-calendar .cal-plan-field input{color:#39291f;background:#fffaf0;border:2px solid #8c592f;border-radius:0;min-height:44px;padding:6px 10px;font:15px Manrope,sans-serif}.game-calendar .cal-plan-field input:focus-visible{outline-offset:1px;outline:2px solid #39291f}.game-calendar .cal-plan-repeat{border:0;margin:0;padding:0}.game-calendar .cal-plan-repeat legend{padding:0 0 6px;font-size:18px}.game-calendar .cal-plan-repeat>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.game-calendar .cal-plan-repeat label{cursor:pointer;background:#fff0c7;border:2px solid #d9b77d;place-items:center;min-height:44px;font:17px Pixelify Sans,monospace;display:grid;position:relative}.game-calendar .cal-plan-repeat input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.game-calendar .cal-plan-repeat label:hover{border-color:#8c592f}.game-calendar .cal-plan-repeat label:has(input:checked){background:#c8d9a8;border-color:#425c2e;box-shadow:inset 2px 2px #e4ebd5,inset -2px -2px #8fa86a}.game-calendar .cal-plan-repeat label:has(input:focus-visible){outline-offset:2px;outline:2px solid #39291f}.game-calendar .cal-plan-preview{color:#425c2e;background:#e4ebd5;margin:0;padding:6px 8px;font:600 13px/1.5 Manrope,sans-serif}.game-calendar .cal-plan-error{color:#842f37;background:#f9e4d8;margin:0;padding:6px 8px;font:600 13px/1.5 Manrope,sans-serif}.game-calendar .cal-plan-submit{color:#39291f;cursor:pointer;background:#e8c983;border:2px solid #8c592f;justify-content:center;align-items:center;gap:8px;min-height:44px;font:18px Pixelify Sans,monospace;display:flex;box-shadow:inset 2px 2px #fff0c7,inset -2px -2px #bb8a4c}.game-calendar .cal-plan-submit:hover:not(:disabled){background:#f3d693}.game-calendar .cal-plan-submit .game-ui-icon{display:none}.game-calendar :is(.cal-plan-submit,.cal-plan-confirm button):disabled{cursor:default;opacity:.6}@media (prefers-reduced-motion:reduce){.game-calendar :is(.cal-nav,.cal-today):active{translate:none}}.key-hints{left:max(16px, env(safe-area-inset-left));bottom:max(16px, env(safe-area-inset-bottom));color:#39291f;pointer-events:auto;align-items:center;gap:14px;margin:0;padding:4px 8px 4px 10px;font:15px Pixelify Sans,monospace;animation:.16s steps(3,jump-none) both key-hints-in;display:flex;position:absolute}.key-hints kbd{color:#39291f;background:#fff0c7;border:2px solid #39291f;place-items:center;min-width:24px;height:24px;padding:0 5px;font:13px/1 Pixelify Sans,monospace;display:inline-grid;box-shadow:inset -2px -2px #d9b77d}.key-hints-walk{color:#6e5037;justify-items:center;gap:3px;font-size:13px;display:grid}.key-hints-pad{grid-template-columns:repeat(3,auto);gap:2px;display:grid}.key-hints ul{border-left:2px solid #d9b77d;grid-template-columns:repeat(3,auto);gap:5px 14px;margin:0;padding:0 0 0 14px;list-style:none;display:grid}.key-hints li{white-space:nowrap;align-items:center;gap:6px;display:flex}.key-hints-hide{color:#6e5037;font:inherit;cursor:pointer;background:0 0;border:0;border-left:2px solid #d9b77d;align-self:stretch;align-items:center;gap:6px;padding:0 2px 0 12px;display:flex}.key-hints-hide:hover{color:#39291f}@keyframes key-hints-in{0%{opacity:0;translate:0 6px}}@media (pointer:coarse),(width<=700px){.key-hints{display:none}}@media (prefers-reduced-motion:reduce){.key-hints{animation:none}}.child-app,.wake-alarm-control{--scroll-track:#ead7a6;--scroll-thumb:#c9a46a;--scroll-thumb-hover:#b48a4c;--scroll-radius:0;--game-ui-ink:#39291f;--game-ui-muted:#6e5037;--game-ui-parchment:#f6e5b7;--game-ui-line:#d9b77d;--game-ui-frame:url(/assets/learnspace-ui/window-frame.svg)}.game-ui-icon{vertical-align:middle;color:inherit;flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex}.game-ui-icon>svg.game-icon{width:100%;height:100%;box-shadow:none;color:inherit;fill:currentColor;shape-rendering:crispedges;background:0 0;border:0;margin:0;padding:0;display:block;overflow:visible}.game-ui-icon .game-icon__shadow{fill:#39291f;opacity:.18}.game-ui-icon>img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;filter:drop-shadow(1px 1px #39291f);display:block}.child-app :is(.game-panel,.world-dpad button,.world-jump,.child-message,.world-error){border:8px solid #0000;border-image:var(--game-ui-frame) 8 fill / 8px / 0 stretch;background:var(--game-ui-parchment) padding-box;color:var(--game-ui-ink);border-radius:0;box-shadow:2px 2px #00000059}.child-app :is(.child-journal-dialog,.game-menu),.wake-alarm-control .wake-dialog{color:#39291f;background:#f6e5b7 padding-box padding-box;border:16px solid #0000;border-image:url(/assets/learnspace-ui/window-frame.svg) 8 fill/16px;border-radius:0;box-shadow:4px 4px #0006}.child-app button:focus-visible,.wake-alarm-control button:focus-visible,.wake-alarm-control input:focus-visible,.wake-alarm-control select:focus-visible{outline-offset:-5px;outline:2px solid #39291f}.child-app button.game-panel:hover:not(:disabled),.child-app .world-dpad button:hover:not(:disabled),.child-app .world-jump:hover:not(:disabled){filter:brightness(1.035)}.child-app button.game-panel:active:not(:disabled),.child-app .world-dpad button:active:not(:disabled),.child-app .world-jump:active:not(:disabled){translate:1px 1px}@media (prefers-reduced-motion:reduce){.child-app button.game-panel:active:not(:disabled),.child-app .world-dpad button:active:not(:disabled),.child-app .world-jump:active:not(:disabled){translate:none}}.child-app ::-webkit-scrollbar-thumb{border:2px solid #8c592f;box-shadow:inset 2px 2px #e8c983,inset -2px -2px #9c7440}.child-app ::-webkit-scrollbar-track{box-shadow:inset 2px 0 #d9b77d}@media (prefers-reduced-motion:no-preference){.child-app dialog[open]{animation:.16s cubic-bezier(0,0,.2,1) game-pop}.child-app dialog[open]::backdrop{animation:.16s ease-out game-fade}}.child-app{--hud-height:60px;color:#39291f;background:#29412e;width:100%;height:100dvh;min-height:480px;font-family:Pixelify Sans,monospace;position:relative;overflow:hidden}.child-world{position:absolute;inset:0}.game-hud{inset:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) auto max(16px,env(safe-area-inset-left));pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:absolute}.game-hud .game-panel{box-sizing:border-box;height:var(--hud-height)}.game-player{align-items:center;gap:8px;padding:0 8px 0 2px;display:flex}.game-player>img{width:40px;height:40px;image-rendering:pixelated}.game-player-info{gap:3px;width:112px;display:grid}.game-player-info strong{white-space:nowrap;justify-content:space-between;align-items:baseline;gap:8px;font-size:17px;font-weight:500;line-height:1;display:flex}.game-player-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.game-player-level{color:#6e5037;flex-shrink:0;font-size:13px}.game-player progress{appearance:none;background:#e1cf9e;border:1px solid #8c592f;width:100%;height:6px;display:block;overflow:hidden}.game-player progress::-webkit-progress-bar{background:#e1cf9e}.game-player progress::-webkit-progress-value{background:#86a85b}.game-player progress::-moz-progress-bar{background:#86a85b}.game-player-xp{color:#6e5037;font-size:11px;line-height:1}.game-wallet{color:#a06f24;font-variant-numeric:tabular-nums;border-left:2px solid #d9b77d;align-self:stretch;align-items:center;gap:4px;padding-left:8px;font-size:18px;display:flex}.game-hud-right{align-items:flex-start;gap:10px;display:flex}.game-paused{color:#39291f;align-items:center;gap:8px;padding:0 12px 0 8px;font-size:14px;display:flex}.game-journal{color:#6e5037;font:inherit;cursor:pointer;pointer-events:auto;align-items:center;gap:8px;padding:0 12px 0 8px;display:flex}.game-journal>span{text-align:left;gap:3px;font-size:12px;line-height:1;display:grid}.game-journal strong{color:#39291f;font-variant-numeric:tabular-nums;font-size:20px;font-weight:500;line-height:1}.game-menu-open{width:var(--hud-height);color:#6e5037;cursor:pointer;pointer-events:auto;place-items:center;padding:0;display:none}.game-spark{color:#6e5037;font:inherit;cursor:pointer;pointer-events:auto;align-items:center;gap:6px;padding:0 12px 0 0;display:flex;position:relative}.game-spark-alert{color:#fffaf0;background:#c4533a;border:2px solid #39291f;place-items:center;width:22px;height:22px;font:500 16px/1 Pixelify Sans,monospace;animation:1.6s steps(2,jump-none) infinite game-spark-alert;display:grid;position:absolute;top:-14px;right:-14px;box-shadow:inset 2px 2px #dd7a5f,inset -2px -2px #8f3527,2px 2px #00000059}@keyframes game-spark-alert{50%{translate:0 -3px}}.game-spark>span:last-child{text-align:left;gap:3px;font-size:12px;line-height:1;display:grid}.game-spark strong{color:#39291f;text-overflow:ellipsis;white-space:nowrap;max-width:9ch;font-size:20px;font-weight:500;line-height:1;overflow:hidden}.game-spark-avatar{flex:none;width:48px;height:40px;position:relative;overflow:hidden}.game-spark-avatar>img{width:96px;max-width:none;height:96px;image-rendering:pixelated;position:absolute;top:-19px;left:-25px}.child-message{left:50%;top:calc(max(16px,env(safe-area-inset-top)) + var(--hud-height) + 14px);color:#842f37;align-items:center;max-width:calc(100% - 32px);padding:3px 4px 3px 10px;font:14px Manrope,sans-serif;display:flex;position:absolute;transform:translate(-50%)}.child-journal-dialog{width:min(470px,100% - 28px);max-height:calc(100dvh - 40px);padding:0;overflow-y:auto}.child-journal-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#20382878}.child-journal-dialog-top{z-index:1;color:#39291f;background:#f6e5b7;border-bottom:2px solid #d9b77d;justify-content:space-between;align-items:center;padding:5px 5px 10px 10px;display:flex;position:sticky;top:0}.child-journal-dialog-top>span{align-items:center;gap:10px;font:24px Pixelify Sans,monospace;display:flex}.child-journal{padding:16px 8px 18px}.child-journal-heading{color:#6e5037;gap:6px;margin-bottom:16px;font:15px Pixelify Sans,monospace;display:grid}.child-journal-heading progress{appearance:none;background:#e1cf9e;border:2px solid #8c592f;width:100%;height:10px;display:block}.child-journal-heading progress::-webkit-progress-bar{background:#e1cf9e}.child-journal-heading progress::-webkit-progress-value{background:#86a85b}.child-journal-heading progress::-moz-progress-bar{background:#86a85b}.child-quest-list{gap:12px;display:grid}.child-quest{background:#fff0c7;border:2px solid #d9b77d;border-radius:0;padding:14px}.child-quest-approved{background:#e9e6bb}.child-quest-top{align-items:center;gap:12px;display:flex}.child-quest-copy{flex:1;min-width:0;display:grid}.child-quest-icon{color:#977b4c;background:#eee4c6;border-radius:0;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.child-quest-icon-blue{color:#718e8b;background:#e5e9e1}.child-quest-icon-green{color:#7b9659;background:#e4ebd5}.child-quest-reward{text-align:right;color:#6a8240;flex-shrink:0;gap:2px;font:16px Pixelify Sans,monospace;display:grid}.child-quest-reward>span:last-child{color:#9a7530;font-size:15px}.child-quest h3{color:#39291f;overflow-wrap:anywhere;margin:0 0 2px;font:650 15px/1.4 Manrope,sans-serif}.child-quest-location{color:#6e5037;font:12px Manrope,sans-serif}.child-quest-submit{color:#39291f;background:#e8c983;border:2px solid #8c592f;border-radius:0;justify-content:space-between;align-items:center;width:100%;min-height:44px;margin-top:12px;padding:0 12px;font:600 13px Manrope,sans-serif;transition:background-color .12s;display:flex;box-shadow:inset 2px 2px #fff0c7,inset -2px -2px #bb8a4c}.child-quest-submit:hover:not(:disabled){background:#f3d693}.child-quest-status{color:#ad8e50;border-radius:0;align-items:center;gap:7px;min-height:32px;margin-top:8px;font:12px Manrope,sans-serif;display:flex}.child-quest-status-approved{color:#7b9451}.child-empty{text-align:center;color:#9e906c;place-items:center;min-height:170px;display:grid}.child-empty p{margin:15px 0 7px;font:15px Manrope,sans-serif}.child-empty>span{font:12px Manrope,sans-serif}.child-journal-total{color:#6e5037;justify-content:space-between;align-items:center;padding:0 10px 22px;font:16px Pixelify Sans,monospace;display:flex}.child-journal-total>span{align-items:center;gap:6px;display:flex}.game-reward-waiting{font:inherit;cursor:pointer;pointer-events:auto;align-items:center;gap:10px;padding:4px 18px 4px 6px;animation:1.2s steps(2,jump-none) infinite game-reward-bob;display:flex;position:absolute;top:40%;left:50%;translate:-50% -50%}.game-reward-coin{filter:drop-shadow(2px 2px #0000004d);width:40px;height:40px}.game-reward-waiting>span{color:#6e5037;text-align:left;white-space:nowrap;gap:3px;font-size:14px;line-height:1;display:grid}.game-reward-waiting strong{color:#39291f;font-size:24px;font-weight:500}@keyframes game-reward-bob{50%{translate:-50% calc(-50% - 4px)}}@media (pointer:coarse),(width<=700px){.game-menu-open{display:grid}}@media (width<=560px){.child-app{--hud-height:52px}.game-hud{inset:max(10px,env(safe-area-inset-top)) 10px auto;gap:8px}.game-player>img{width:32px;height:32px}.game-player-info{width:84px}.game-player-info strong{font-size:15px}.game-wallet{padding-left:6px;font-size:16px}.game-hud-right{flex-direction:column-reverse;align-items:flex-end;gap:8px}.game-spark{padding-right:0}.game-spark>span:last-child{display:none}.child-journal{padding-inline:4px}.child-journal-dialog-top>span{gap:7px;font-size:23px}.child-journal-total{padding-inline:4px}}@media (prefers-reduced-motion:reduce){.child-quest-submit{transition:none}.game-spark-alert,.game-reward-waiting{animation:none}}
