:root{color-scheme:dark;--paper: #f4ead2;--ink: #2b2118;--accent: #8a2f22;--leaf: #2f5a2a}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;overflow:hidden;background:#0d0b08;color:#fff;font-family:Manjari,system-ui,sans-serif;user-select:none}canvas#game{position:fixed;inset:0;width:100%;height:100%;display:block}#hud{position:fixed;inset:0;pointer-events:none}#crosshair{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:#ffffffbf;box-shadow:0 0 3px #0009}#prompt{position:absolute;left:50%;top:calc(50% + 26px);transform:translate(-50%);font-size:15px;padding:5px 12px 3px;border-radius:14px;background:#140e0873;opacity:0;transition:opacity .15s;white-space:nowrap;text-shadow:0 1px 2px #000}#prompt.show{opacity:1}#prompt b{display:inline-block;min-width:18px;padding:1px 5px 0;margin-right:5px;border-radius:4px;background:#fff0d2eb;color:#2b2118;font-size:12px;text-align:center}#prompt i{margin:0 8px;opacity:.5;font-style:normal}#caption{position:absolute;left:50%;top:18%;transform:translate(-50%);max-width:min(560px,90vw);text-align:center;font-size:16px;padding:8px 16px 6px;border-radius:10px;background:#140e088c;opacity:0;transition:opacity .4s;text-shadow:0 1px 2px #000;line-height:1.45}#caption.show{opacity:1}#radiocap{position:absolute;right:18px;top:18px;max-width:320px;font-size:13px;padding:7px 12px 5px;border-radius:10px;background:#281a0c73;opacity:0;transition:opacity .6s;line-height:1.4}#radiocap.show{opacity:.9}#radiocap .st{display:block;font-size:11px;opacity:.7}#subs{position:absolute;left:22px;bottom:26px;width:min(560px,60vw);display:flex;flex-direction:column;gap:6px}.sub{font-size:17px;line-height:1.4;padding:6px 12px 4px;border-radius:10px;background:#0f0a0680;text-shadow:0 1px 2px #000;transition:opacity .6s,transform .6s;animation:subin .25s ease-out}.sub.out{opacity:0!important;transform:translateY(-6px)}.sub.player{background:#3c280f8c}.sub.heated{background:#5a140c8c}.sub .who{font-weight:700;margin-right:8px}.ml{font-family:Manjari,sans-serif}.en{display:block;font-size:12.5px;opacity:.72;margin-top:1px}.en-main{font-size:16px}@keyframes subin{0%{opacity:0;transform:translateY(6px)}}#choices{position:absolute;right:22px;bottom:26px;width:min(360px,40vw);display:none;flex-direction:column;gap:5px;pointer-events:auto}#choices.show{display:flex;animation:subin .2s ease-out}#choices .ct{font-size:13px;opacity:.8;padding:0 4px 2px;text-shadow:0 1px 2px #000}#choices .ct .en{display:inline;margin-left:6px}#choices .opt{font-size:15.5px;padding:6px 10px 4px;border-radius:9px;background:#f4ead2e6;color:var(--ink);cursor:pointer;line-height:1.35}#choices .opt:hover{background:#fff}#choices .opt b{display:inline-block;width:20px;height:20px;line-height:21px;margin-right:8px;border-radius:50%;background:var(--accent);color:#fff;text-align:center;font-size:12px}#choices .opt .en{display:inline;margin-left:6px;font-size:12px;opacity:.6}#choices .timer{height:3px;background:#ffffff26;border-radius:2px;overflow:hidden}#choices .timer div{height:100%;width:100%;background:#ffe6b4b3}#hint{position:absolute;left:50%;bottom:12px;transform:translate(-50%);font-size:12px;opacity:0;transition:opacity 1s;text-shadow:0 1px 2px #000}#hint.show{opacity:.65}.screen{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:#0c09068c;backdrop-filter:blur(3px);z-index:10}.screen.show{display:flex}#loading{background:radial-gradient(ellipse at 50% 35%,#3a2a18,#120d08 75%)}.paper{background:var(--paper);color:var(--ink);padding:34px 44px 28px;border-radius:6px;width:min(420px,92vw);text-align:center;box-shadow:0 20px 60px #00000080;position:relative}.paper:before{content:"";position:absolute;inset:8px;border:1px solid rgba(138,47,34,.25);border-radius:3px;pointer-events:none}.paper.wide{width:min(560px,94vw);text-align:left}.ml-title{font-family:Manjari,sans-serif;font-weight:700;font-size:56px;margin:0;color:var(--accent);letter-spacing:1px}h2{margin:0 0 14px;color:var(--accent)}.tag{font-style:italic;margin:4px 0 18px;opacity:.8}.small{font-size:13px;opacity:.75}button{font-family:inherit;display:block;width:100%;margin:8px 0;padding:10px 14px 8px;border:1px solid rgba(43,33,24,.3);border-radius:6px;background:#fffaf0;color:var(--ink);font-size:15px;cursor:pointer}button:hover{background:#fff;border-color:var(--accent)}button.big{background:var(--accent);color:#fff;border-color:var(--accent);font-size:17px}button.big:hover{background:#a33a2b}button.link{background:none;border:none;font-size:12px;opacity:.6;text-decoration:underline}.bar{height:4px;background:#2b211826;border-radius:2px;margin:14px 0 8px;overflow:hidden}#loadbar{height:100%;width:0;background:var(--accent);transition:width .2s}.steam{height:36px;position:relative}.steam span{position:absolute;bottom:0;left:50%;width:6px;height:26px;border-radius:3px;background:#2b21182e;animation:steam 2.4s infinite ease-in-out}.steam span:nth-child(2){margin-left:-12px;animation-delay:.6s}.steam span:nth-child(3){margin-left:12px;animation-delay:1.2s}@keyframes steam{0%{transform:translateY(8px) scaleY(.6);opacity:0}50%{opacity:1}to{transform:translateY(-14px) scaleY(1.1) skew(10deg);opacity:0}}.grid{display:grid;grid-template-columns:1fr 1.3fr;gap:10px 14px;align-items:center;margin-bottom:8px}.grid select,.grid input[type=range]{width:100%;font-family:inherit}table.keys{width:100%;border-collapse:collapse;font-size:14px}table.keys td{padding:5px 4px;border-bottom:1px dashed rgba(43,33,24,.2)}table.keys td:first-child{font-weight:700;width:34%;color:var(--accent)}#memory{background:#0a0806d1}.postcard{display:flex;width:min(900px,94vw);min-height:480px;background:#f6efdc;color:var(--ink);border-radius:4px;box-shadow:0 30px 80px #0009;transform:rotate(-1deg);animation:cardin 1.2s ease-out;position:relative}@keyframes cardin{0%{transform:rotate(-4deg) translateY(30px);opacity:0}}.pc-left{flex:1.1;padding:22px;border-right:1px dashed rgba(43,33,24,.3);position:relative}.pc-left img{width:100%;height:100%;object-fit:cover;border:8px solid #fff;box-shadow:0 3px 10px #00000040;transform:rotate(1.2deg);filter:sepia(.25) saturate(1.1)}.stamp{position:absolute;right:8px;top:6px;width:70px;height:84px;background:#fff;border:3px dotted #c8b8a0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--accent);transform:rotate(6deg)}.stamp span{font-size:22px;font-weight:700}.stamp small{font-size:12px}.pc-right{flex:1;padding:28px 30px 20px;display:flex;flex-direction:column}.pc-right .ml-title{font-size:46px}.day{letter-spacing:4px;font-size:13px;margin:2px 0 12px;opacity:.7}#pclist{list-style:none;padding:0;margin:0;font-size:15px;line-height:1.75;font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive}#pclist li:before{content:"— ";opacity:.5}.moment{font-style:italic;font-size:14px;margin:12px 0 6px;opacity:.85}.bye{margin-top:auto;font-size:20px;font-weight:700;color:var(--accent)}.bye .ml{font-size:15px;font-weight:400;color:var(--ink);opacity:.7}.pcbtns{display:flex;gap:8px}.pcbtns button{margin:6px 0 0}@media(max-width:720px){.postcard{flex-direction:column;transform:none}.pc-left{height:220px;flex:none}#subs{width:70vw}#choices{width:80vw;right:10vw;bottom:120px}}#touch{display:none}body.touch #touch{display:block}body.touch #crosshair{width:4px;height:4px;margin:-2px;opacity:.6}#tStick{position:absolute;width:120px;height:120px;border-radius:50%;background:#ffffff14;border:2px solid rgba(255,255,255,.25);opacity:0;transition:opacity .15s}#tStick.on{opacity:1}#tKnob{position:absolute;left:34px;top:34px;width:52px;height:52px;border-radius:50%;background:#fff0d28c;box-shadow:0 2px 8px #00000059}#tPause{position:absolute;top:max(10px,env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px));width:44px;height:44px;border-radius:12px;background:#140e0880;color:#f3d9a4;font-size:15px;display:flex;align-items:center;justify-content:center;pointer-events:auto;letter-spacing:-2px}#tFast{position:absolute;top:max(10px,env(safe-area-inset-top,0px));right:max(64px,calc(env(safe-area-inset-right,0px) + 54px));width:44px;height:44px;border-radius:12px;background:#140e0880;color:#f3d9a4;font-size:16px;display:flex;align-items:center;justify-content:center;pointer-events:auto}#tFast.on{background:#8a2f22d9;color:#fff}#tAct{position:absolute;right:max(22px,env(safe-area-inset-right,0px));bottom:max(24px,env(safe-area-inset-bottom,0px));display:none;flex-direction:column;align-items:center;gap:4px;pointer-events:auto}#tAct.on{display:flex}#tAct .ring{width:84px;height:84px;border-radius:50%;background:#8a2f22d9;border:3px solid rgba(255,240,210,.85);display:flex;align-items:center;justify-content:center;font-size:34px;box-shadow:0 4px 14px #0006}#tAct:active .ring{transform:scale(.94)}#tActLabel{max-width:140px;text-align:center;font-size:12px;line-height:1.25;padding:3px 8px 2px;border-radius:8px;background:#140e0899;text-shadow:0 1px 2px #000}#tSide{position:absolute;right:max(18px,env(safe-area-inset-right,0px));bottom:max(146px,calc(env(safe-area-inset-bottom,0px) + 136px));display:flex;flex-direction:column-reverse;align-items:flex-end;gap:7px;pointer-events:auto}.tsb{padding:8px 13px 6px;border-radius:20px;background:#140e089e;border:1.5px solid rgba(255,240,210,.5);color:#fff;font-size:13px;white-space:nowrap}.tsb:active{background:#8a2f22d9}.tsrow{display:flex;gap:8px}.tsb.round{width:42px;height:42px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px}body.touch #prompt{display:none}body.touch #subs{left:50%;transform:translate(-50%);bottom:auto;top:58px;width:min(46vw,420px);align-items:center}body.touch .sub{font-size:14px;padding:4px 10px 3px}body.touch #choices{right:auto;left:50%;transform:translate(-50%);bottom:18px;width:min(44vw,380px)}body.touch #choices .opt{font-size:15px;padding:11px 12px 9px}body.touch #radiocap{display:none}body.touch #orders{width:min(200px,30vw);font-size:12px}body.touch #caption{top:auto;bottom:46%;font-size:13px;padding:5px 12px 3px}#tRotate{display:none}@media(orientation:portrait){body.touch #tRotate{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;background:#120d08;color:#f3d9a4;font-size:18px;padding:24px}body.touch #tRotate span{font-size:15px;opacity:.75}}#paper{position:fixed;inset:0;display:none;align-items:center;justify-content:center;pointer-events:none;z-index:5}#paper.show{display:flex}.np{background:#ece6d6;color:#1e1a14;width:min(520px,92vw);padding:22px 28px 16px;box-shadow:0 20px 60px #0009;transform:rotate(-1.2deg);font-family:Manjari,Georgia,serif}.np .mast{font-size:34px;font-weight:700;border-bottom:3px double #333;padding-bottom:4px;margin-bottom:10px;text-align:center}.np .mast small{font-size:14px;font-weight:400}.np h3{font-size:26px;margin:6px 0 0}.np h4{font-size:17px;margin:12px 0 0;border-top:1px solid #bbb;padding-top:8px}.np .en{font-size:12.5px;opacity:.7;margin:2px 0;font-family:Georgia,serif;font-style:italic}.np .foot{font-size:11px;text-align:right;opacity:.5;margin-top:12px}.credit{font-size:12.5px;margin:14px 0 0;opacity:.8}.credit.big{font-size:15px;margin:0 0 12px;opacity:1;line-height:1.6}.credit a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.credit a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.feedback{display:inline-block;margin-top:10px;font-size:13.5px;color:var(--accent);text-decoration:underline;text-underline-offset:2px}.feedback:hover{color:#a33a2b}.feedback:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#orders{position:absolute;left:max(16px,env(safe-area-inset-left,0px));top:16px;width:min(250px,42vw);display:none;flex-direction:column;gap:6px;padding:9px 11px 8px;border-radius:10px;background:#140e088c;text-shadow:0 1px 2px #000;font-size:14px;line-height:1.35}#orders.show{display:flex}#orders .oh{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;opacity:.7}#orders .oh small{letter-spacing:0;text-transform:none;margin-left:4px}#orders .ord{padding:5px 0 1px 8px;border-left:3px solid rgba(243,217,164,.6)}#orders .ord.wait{border-left-color:#e6a23c}#orders .ord.late{border-left-color:#e05a47}#orders .ord.cash{border-left-color:#7fbf7a;padding-bottom:4px}#orders .who{font-weight:700;color:#f3d9a4}#orders .who span,#orders .cash span{font-weight:400;color:#fff;opacity:.65;font-size:12px}#orders small{font-size:11.5px;opacity:.7}#orders ul{list-style:none;margin:1px 0 0;padding:0}#orders li.done{opacity:.45}@media(max-width:720px){#orders{font-size:12.5px;width:46vw}}
