:root{--sky:#5fbfb9;--ink:#373f42;--paper:#f4f4ef;--paper-shadow:#373f4261;--blue:#66bde6;--blue-dark:#3f8fb8;--yellow:#f3c258;--yellow-dark:#b8862f;--red:#c25959;--orange:#de794e;--green:#8cc48c;--muted:#7d8a88;--veil:#5fbfb92e;--font-title:"Bungee", "Arial Black", Impact, sans-serif;--font-label:"Silkscreen", "Courier New", monospace;--font-hand:"Patrick Hand SC", "Comic Sans MS", "Chalkboard SE", cursive;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{height:100%}body{background:var(--sky);color:var(--ink);font-family:var(--font-hand);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}canvas#game{width:100%;height:100%;display:block;position:fixed;inset:0}button{font:inherit;color:inherit}button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.paper{background:var(--paper);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--paper-shadow);clip-path:polygon(.6% 2%,99.2% 0,100% 97.5%,1.2% 100%)}.layer{pointer-events:none;position:fixed;inset:0}.layer>*{pointer-events:auto}#title{z-index:30;padding-bottom:calc(5vh + env(safe-area-inset-bottom,0px));flex-direction:column;justify-content:flex-end;align-items:center;display:flex}#title>*{pointer-events:none}#start{pointer-events:auto;font-family:var(--font-label);letter-spacing:.1em;color:#fff;-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill;background:var(--yellow);border:2.5px solid var(--ink);cursor:pointer;box-shadow:inset 0 -6px 0 var(--yellow-dark), 4px 5px 0 var(--paper-shadow);clip-path:polygon(0 5%,100% 0,99% 100%,1% 95%);opacity:0;padding:12px 38px 13px;font-size:clamp(17px,2.2vw,22px);font-weight:700;transform:scale(0)}#start.in{animation:.5s cubic-bezier(.2,1.6,.4,1) forwards popin}#start.in:hover{opacity:1;animation:none;transform:scale(1.06)rotate(-1.5deg)}#start.press{opacity:1;transition:transform 80ms;animation:none;transform:scale(.88,.8)}#start.out{opacity:1;transition:transform .25s cubic-bezier(.5,-.6,.7,.3);animation:none;transform:scale(0)}@keyframes popin{0%{opacity:1;transform:scale(0)rotate(6deg)}to{opacity:1;transform:scale(1)rotate(-1deg)}}#tagline{color:#eaf7f3;text-shadow:0 2px #373f4259;opacity:0;text-align:center;margin-top:14px;padding:0 16px;font-size:clamp(15px,1.8vw,18px);transition:opacity .8s}#tagline.in{opacity:1}#hud{z-index:10;opacity:0;transition:opacity .6s}#hud.on{opacity:1}#hud:not(.on) *{pointer-events:none}#daycard{top:calc(14px + env(safe-area-inset-top,0px));left:calc(14px + env(safe-area-inset-left,0px));pointer-events:none;min-width:190px;padding:10px 14px 12px;position:absolute}#daycard .dname{font-family:var(--font-label);letter-spacing:.06em;font-size:18px;font-weight:700}#daycard .drow{justify-content:space-between;align-items:baseline;gap:12px;display:flex}#daycard .clock{font-family:var(--font-label);font-variant-numeric:tabular-nums;font-size:22px}#daycard .week{font-family:var(--font-label);color:var(--muted);letter-spacing:.08em;font-size:11px}.bar{border:2px solid var(--ink);background:#dfe4dc;height:12px;margin-top:8px;position:relative}.bar i{background:var(--orange);width:0%;position:absolute;inset:0 auto 0 0}.barlabel{justify-content:space-between;margin-top:4px;font-size:15px;display:flex}#stopped{top:calc(164px + env(safe-area-inset-top,0px));left:calc(18px + env(safe-area-inset-left,0px));font-family:var(--font-label);letter-spacing:.08em;background:var(--ink);color:var(--paper);opacity:0;pointer-events:none;padding:5px 10px;font-size:12px;transition:opacity .3s;position:absolute;transform:rotate(-2deg)}#stopped.on{opacity:1}.bar.animo{height:8px;margin-top:6px}.bar.animo i{background:var(--green);transition:width .4s}.bar.animo.low i{background:var(--red)}#respiro{left:50%;top:calc(124px + env(safe-area-inset-top,0px));text-align:center;opacity:0;pointer-events:none;min-width:200px;padding:6px 14px 8px;font-size:16px;transition:opacity .3s;position:absolute;transform:translate(-50%)rotate(1deg)}#respiro.on{opacity:1}#respiro b{font-family:var(--font-label);background:var(--green);border:2px solid var(--ink);margin-right:4px;padding:1px 6px;font-size:11px}#respiro small{color:var(--muted);font-size:14px}#respiro .bar{height:7px;margin-top:5px}#respiro .bar i{background:var(--green)}body.talking #respiro{opacity:0}#quests{top:calc(200px + env(safe-area-inset-top,0px));left:calc(14px + env(safe-area-inset-left,0px));pointer-events:none;flex-direction:column;gap:10px;width:250px;display:flex;position:absolute}body.talking #quests{opacity:0;transition:opacity .15s}.quest{animation:.45s cubic-bezier(.2,.9,.3,1.3) both qin;animation-delay:calc(var(--i) * 80ms);padding:7px 12px 9px}.quest:nth-child(2n){transform:rotate(.8deg)}.quest:nth-child(odd){transform:rotate(-.6deg)}@keyframes qin{0%{opacity:0;translate:-24px}}.quest .qk{font-family:var(--font-label);letter-spacing:.1em;color:var(--muted);justify-content:space-between;align-items:center;font-size:10px;display:flex}.quest .qk span{background:var(--blue);color:#fff;border:2px solid var(--ink);padding:1px 6px}.quest.main .qk span{background:var(--yellow);color:var(--ink)}.quest .qt{font-family:var(--font-label);color:var(--ink);font-variant-numeric:tabular-nums;font-size:15px}.quest.low .qt{color:var(--red);animation:.5s ease-in-out infinite alternate qpulse}@keyframes qpulse{to{scale:1.18}}.quest .qtitle{font-family:var(--font-title);margin-top:4px;font-size:15px;line-height:1.05}.quest .qtext{margin-top:2px;font-size:16px;line-height:1.12}.quest:not(.main) .qtitle{font-size:13px}.quest:not(.main) .qtext{color:#4b5658;font-size:15px}.side{right:calc(14px + env(safe-area-inset-right,0px));flex-direction:column;gap:14px;display:flex;position:absolute}.side.top{top:calc(14px + env(safe-area-inset-top,0px))}.side.bottom{bottom:calc(18px + env(safe-area-inset-bottom,0px));transition:opacity .2s,transform .25s}body.talking .side.bottom{opacity:0;pointer-events:none;transform:translate(10px)}.sbtn{cursor:pointer;place-items:center;width:58px;height:58px;padding:0;display:grid}.sbtn svg{width:32px;height:32px}.sbtn:hover{transform:rotate(-3deg)scale(1.04)}.sbtn:active{transform:scale(.95)}#prompt{left:50%;bottom:calc(150px + env(safe-area-inset-bottom,0px));font-family:var(--font-label);letter-spacing:.06em;cursor:pointer;white-space:nowrap;padding:8px 14px;font-size:14px;display:none;position:absolute;transform:translate(-50%)rotate(-1deg)}#prompt.on{display:block}#prompt b{background:var(--blue);color:#fff;border:2px solid var(--ink);margin-right:6px;padding:1px 7px}#hint{left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));text-align:center;opacity:0;pointer-events:none;max-width:calc(100vw - 160px);padding:8px 16px;font-size:17px;transition:opacity .6s;position:absolute;transform:translate(-50%)}#hint.on{opacity:1}body.talking #hint.on{opacity:0;transition:opacity .15s}#toast{left:50%;top:calc(22px + env(safe-area-inset-top,0px));text-align:center;opacity:0;pointer-events:none;padding:8px 22px 10px;transition:opacity .5s,transform .5s;position:absolute;transform:translate(-50%,-14px)rotate(-1.5deg)}#toast.on{opacity:1;transform:translate(-50%)rotate(-1.5deg)}#toast .t{font-family:var(--font-title);font-size:clamp(20px,3vw,30px);line-height:1.05}#toast .s{color:#56625f;font-size:16px}#bubbles{z-index:8}#bubbles>*{pointer-events:none}.bubble{background:var(--paper);border:2px solid var(--ink);max-width:220px;box-shadow:3px 3px 0 var(--paper-shadow);transform-origin:50% 100%;white-space:normal;border-radius:3px 10px 4px 9px;width:max-content;padding:7px 12px 8px;font-size:17px;line-height:1.15;display:none;position:absolute;top:0;left:0}.bubble:after{content:"";background:var(--paper);border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);width:14px;height:14px;margin-left:-7px;position:absolute;bottom:-10px;left:50%;transform:rotate(45deg)}.bubble.on{display:block}.bubble.click{pointer-events:auto;cursor:pointer}.marker{background:var(--paper);border:2px solid var(--ink);transform-origin:50%;width:26px;height:26px;font-family:var(--font-label);text-align:center;font-size:15px;font-weight:700;line-height:22px;display:none;position:absolute;top:0;left:0}.marker.on{display:block}.marker.quest{background:var(--yellow)}.marker.side{background:var(--blue);color:#fff}.marker.goal{width:30px;height:30px;font-size:17px;line-height:26px}.marker.read{background:#dff1ee;border-radius:50%}.marker span{display:block;transform:rotate(-45deg)}.marker.read span{transform:none}.emote{font-family:var(--font-label);background:var(--paper);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--paper-shadow);padding:4px 10px;font-size:22px;font-weight:700;display:none;position:absolute;top:0;left:0}.emote.on{display:block}:root{--card:#f8f8f4;--card-low:#e4ebe7;--card-shadow:#7f98a1;--tag-shadow:#4f6a74}#dialog{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:20;width:min(800px,100vw - 40px);display:none;position:fixed;transform:translate(-50%)}#dialog.on{animation:.34s cubic-bezier(.2,.9,.3,1.25) dlgIn;display:block}@keyframes dlgIn{0%{opacity:0;transform:translate(-50%)translateY(28px)}}#dport{border:3px solid var(--ink);width:112px;height:112px;box-shadow:inset 0 0 0 4px #fff, inset 0 0 0 5.5px var(--ink), 4px 5px 0 var(--card-shadow);pointer-events:none;display:none;position:absolute;bottom:calc(100% + 2px);left:8px}#dialog.port #dport{animation:.42s cubic-bezier(.2,1.55,.4,1) portIn;display:block}@keyframes portIn{0%{transform:translateY(18px)scale(.55)}}#dname{z-index:3;white-space:nowrap;font-family:var(--font-label);letter-spacing:.05em;color:#fff;background:var(--tag,var(--blue));border:2.5px solid var(--ink);box-shadow:inset 0 -4px 0 #0000002b, inset 0 2px 0 #ffffff59, 3px 4px 0 var(--tag-shadow);-webkit-text-stroke:1.3px var(--ink);paint-order:stroke fill;border-radius:2px;padding:7px 18px 9px;font-size:19px;font-weight:700;line-height:1;position:absolute;top:-17px;left:20px;transform:rotate(-2.2deg)}#dialog.port #dname{left:136px}#dbox{z-index:0;isolation:isolate;box-sizing:border-box;cursor:pointer;text-align:center;flex-direction:column;justify-content:center;min-height:104px;padding:28px 78px 26px 46px;display:flex;position:relative}#dbox:before{content:"";z-index:-1;background:var(--card);border:2.5px solid var(--ink);box-shadow:inset 0 -5px 0 var(--card-low), 5px 6px 0 var(--card-shadow);border-radius:3px 6px 4px 7px;position:absolute;inset:0;transform:skew(-2.2deg)rotate(-.3deg)}#dtext{font-family:var(--font-hand);letter-spacing:.035em;text-transform:uppercase;color:var(--ink);overflow-wrap:anywhere;font-size:clamp(19px,2.3vw,25px);line-height:1.32;display:block}#dtext .w{white-space:nowrap;display:inline-block}#dtext .c{display:inline-block}#dtext .c.h{visibility:hidden}#dtext .c.in{animation:.24s cubic-bezier(.2,1.7,.45,1) both chIn}@keyframes chIn{0%{opacity:0;transform:translateY(.42em)scale(.25)rotate(-14deg)}}#dtext .c.em{color:var(--tagd,#c25959)}#dtext .c.em>i{animation:1.15s ease-in-out infinite wave;animation-delay:calc(var(--k) * -.11s);font-style:normal;display:inline-block}@keyframes wave{50%{transform:translateY(-.16em)rotate(2deg)}}#dnext{cursor:pointer;background:var(--card);border:2.5px solid var(--ink);width:52px;height:52px;box-shadow:inset 0 -4px 0 var(--card-low), 4px 5px 0 var(--card-shadow);place-items:center;padding:0;display:grid;position:absolute;bottom:-16px;right:-14px;transform:skew(-2.2deg)}#dnext svg{width:24px;height:24px;animation:.85s ease-in-out infinite nudge}#dnext.wait svg{opacity:.3;animation:none}#dnext{transition:opacity .15s}#dialog.choosing #dnext{opacity:0;pointer-events:none}@keyframes nudge{50%{transform:translate(3px)}}#choices{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:16px;display:none}#choices.on{display:flex}#choices button{font-family:var(--font-hand);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;background:var(--card);border:2.5px solid var(--ink);box-shadow:inset 0 -4px 0 var(--card-low), 3px 4px 0 var(--card-shadow);padding:9px 18px 11px;font-size:20px;transition:transform .12s;transform:rotate(-1deg)}#choices button.main{background:var(--yellow);box-shadow:inset 0 -4px 0 var(--yellow-dark), 3px 4px 0 var(--card-shadow)}#choices button:hover,#choices button.sel{transform:rotate(-1.5deg)translateY(-2px)scale(1.04)}#choices button.sel{outline:3px solid var(--blue);outline-offset:3px}body.talking.portrait #bubbles{opacity:0}#bubbles{transition:opacity .2s}.panel{z-index:25;right:calc(86px + env(safe-area-inset-right,0px));width:min(340px,100vw - 120px);padding:18px 20px;display:none;position:fixed}.panel.on{animation:.25s cubic-bezier(.2,.9,.3,1.4) pop;display:block}@keyframes pop{0%{opacity:0;transform:scale(.85)rotate(-3deg)}}.panel h2{font-family:var(--font-label);letter-spacing:.06em;margin:0 0 12px;font-size:17px;font-weight:700}.panel h3{font-family:var(--font-label);letter-spacing:.08em;color:var(--muted);margin:14px 0 4px;font-size:12px;font-weight:700}#menu{top:calc(14px + env(safe-area-inset-top,0px));max-height:calc(100dvh - 80px);overflow:auto}.task{border-bottom:1.5px dashed #c5ccc6;align-items:flex-start;gap:10px;padding:6px 0;font-size:19px;line-height:1.15;display:flex}.task .box{border:2px solid var(--ink);width:18px;height:18px;font-family:var(--font-label);flex:none;place-items:center;margin-top:2px;font-size:13px;display:grid}.task.done{color:var(--muted);text-decoration:line-through}.task.done .box{background:var(--green)}.keys{color:#4e5a5b;margin-top:14px;font-size:16px;line-height:1.4}.keys kbd{font-family:var(--font-label);border:1.5px solid var(--ink);background:#fff;padding:0 4px;font-size:11px}.small{font-family:var(--font-label);letter-spacing:.06em;background:var(--paper);border:2px solid var(--ink);cursor:pointer;margin-top:12px;padding:6px 10px;font-size:11px}#wardrobe{bottom:calc(18px + env(safe-area-inset-bottom,0px))}.wrow{grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;margin:8px 0;display:grid}.wrow button{background:var(--blue);border:2px solid var(--ink);cursor:pointer;color:#fff;width:34px;height:34px;font-family:var(--font-label);padding:0;font-size:16px;font-weight:700}.wrow .lbl{text-align:center;font-size:19px}.wrow .lbl small{font-family:var(--font-label);letter-spacing:.08em;color:var(--muted);font-size:10px;display:block}#emotes{bottom:calc(18px + env(safe-area-inset-bottom,0px));width:auto}#emotes .grid{grid-template-columns:repeat(3,56px);gap:10px;display:grid}#emotes .grid button{background:var(--paper);border:2px solid var(--ink);cursor:pointer;height:50px;font-family:var(--font-label);box-shadow:2px 2px 0 var(--paper-shadow);font-size:20px;font-weight:700}#fade{z-index:40;background:var(--sky);opacity:0;pointer-events:none;place-items:center;transition:opacity .7s;display:grid;position:fixed;inset:0}#fade.on{opacity:1;pointer-events:auto}#fade.see{background:var(--veil)}#fade .card{text-align:center;max-width:86vw;padding:26px 40px;transform:rotate(-1.5deg)}#fade .card .k{font-family:var(--font-label);letter-spacing:.12em;color:var(--muted);font-size:14px}#fade .card .t{font-family:var(--font-title);color:var(--ink);margin:8px 0;font-size:clamp(34px,6vw,60px);line-height:1.05}#fade .card .s{font-size:22px}#fade .card .btns{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px;display:flex}#fade .card .btns button{font-family:var(--font-label);letter-spacing:.06em;border:2px solid var(--ink);background:var(--yellow);cursor:pointer;box-shadow:3px 3px 0 var(--paper-shadow);padding:10px 18px;font-size:15px;font-weight:700}#fade .card .btns button.alt{background:var(--paper)}#joy{z-index:12;pointer-events:none;background:#f4f4ef40;border:2px solid #373f4299;border-radius:50%;width:120px;height:120px;display:none;position:fixed}#joy i{background:var(--paper);border:2px solid var(--ink);border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;position:absolute;top:50%;left:50%}#jumpbtn{z-index:12;right:calc(90px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));width:64px;height:64px;font-family:var(--font-label);font-size:11px;font-weight:700;display:none;position:fixed}body.touch.playing #jumpbtn{place-items:center;display:grid}body.talking #jumpbtn,body.talking #prompt{display:none}body.touch #hint{max-width:calc(100vw - 200px);font-size:15px}@media (width<=560px){#daycard{min-width:150px;padding:8px 10px}#daycard .dname{font-size:14px}#daycard .clock{font-size:17px}.sbtn{width:48px;height:48px}.sbtn svg{width:26px;height:26px}.side{gap:10px}#dbox{min-height:92px;padding:26px 50px 20px 22px}#dtext{font-size:18px}#dport{width:78px;height:78px;left:4px}#dialog.port #dname{left:96px}#dname{padding:6px 12px 8px;font-size:14px;top:-15px;left:12px}#choices button{padding:8px 12px 10px;font-size:17px}.panel{left:max(12px, env(safe-area-inset-left,0px));right:calc(70px + env(safe-area-inset-right,0px));width:auto}#dialog{left:max(12px, env(safe-area-inset-left,0px));right:max(12px, env(safe-area-inset-right,0px));width:auto;transform:none}#dnext{width:46px;height:46px;bottom:-14px;right:-6px}#dialog.on{animation:.3s cubic-bezier(.2,.9,.3,1.25) dlgInM}@keyframes dlgInM{0%{opacity:0;transform:translateY(24px)}}#prompt{bottom:calc(110px + env(safe-area-inset-bottom,0px));font-size:12px}#stopped{top:calc(136px + env(safe-area-inset-top,0px))}#quests{top:calc(170px + env(safe-area-inset-top,0px));gap:7px;width:min(220px,100vw - 100px)}.quest{padding:5px 9px 7px}.quest .qtitle{font-size:13px}.quest .qtext{font-size:14px}.quest:not(.main) .qtext{display:none}#prompt{left:calc(50% - 30px)}#hint,body.touch #hint{max-width:none;left:16px;right:76px;bottom:calc(98px + env(safe-area-inset-bottom,0px));font-size:15px;transform:none}#prompt.on~#hint{bottom:calc(158px + env(safe-area-inset-bottom,0px))}#toast{top:calc(96px + env(safe-area-inset-top,0px))}#respiro{top:auto;bottom:calc(200px + env(safe-area-inset-bottom,0px));font-size:14px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}#start{opacity:1;transform:none}}
