:root{--desk:#1f6f8b;--panic:#7a1616;--win:#ececec;--title:#10267a;--title2:#3a6fd8;--ink:#111;--ok:#1f9d55;--bad:#d23;--stress:0}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:color-mix(in oklab, var(--desk), var(--panic) calc(var(--stress) * 1%));color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-family:Segoe UI,system-ui,sans-serif;transition:background .5s;overflow:hidden}body:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 3px,#0000000d 3px 4px);position:fixed;inset:0}button{font:inherit;cursor:pointer;background:#ddd;border:2px solid #555;border-color:#fff #555 #555 #fff;padding:4px 10px}button:active{border-color:#555 #fff #fff #555}button:disabled{opacity:.5;cursor:default}.screen{place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:auto}.panel{background:var(--win);border:2px solid #555;border-color:#fff #555 #555 #fff;width:100%;max-width:520px;max-height:100%;padding:16px;overflow:auto;box-shadow:4px 4px #00000059}.panel h1{margin:0 0 8px;font-size:22px}.desktop{position:fixed;inset:56px 0 44px}.win,.card{background:var(--win);border:2px solid #555;border-color:#fff #555 #555 #fff;flex-direction:column;display:flex;box-shadow:4px 4px #00000059}.win{touch-action:none;cursor:pointer;max-height:300px;animation:.15s ease-out pop;position:absolute}@keyframes pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}.win .title,.card .title{background:linear-gradient(90deg, var(--title), var(--title2));color:#fff;justify-content:space-between;padding:3px 6px;font-size:13px;font-weight:700;display:flex}.win .body{flex:1;min-height:40px;padding:8px;font-size:15px;line-height:1.3}.win .hint{color:#555;padding:0 8px 6px;font-size:11px}.win.kind-alert .title{background:linear-gradient(90deg,#7a1616,#d23)}.win.kind-meeting .title{background:linear-gradient(90deg,#444,#888)}.win .text{margin-bottom:4px}.win.kind-video .title{background:linear-gradient(90deg,#7a0000,#e53935)}.win.kind-terminal .title{background:linear-gradient(90deg,#111,#444)}.win.back .title{background:linear-gradient(90deg,#7a4a00,#c98a1a)}.body.hold{cursor:pointer}.body.hold .bar{margin:6px 0 4px}.body.hold .hint{padding:0}.body.terminal .cmd{color:#9f9;white-space:pre-wrap;background:#111;margin:4px 0 6px;padding:4px 6px;font-family:ui-monospace,Menlo,monospace;font-size:13px;display:block}.body.terminal .prompt{align-items:center;gap:4px;font-family:ui-monospace,Menlo,monospace;display:flex}.body.terminal input{-webkit-user-select:text;user-select:text;padding:2px 6px;font-family:inherit;font-size:14px}.body.wrong{animation:.1s 4 shake}.dragzone{align-items:flex-start;gap:10px;margin-top:6px;display:flex}.file{cursor:grab;touch-action:none;white-space:nowrap;background:#fff;border:1px solid #777;padding:4px 8px}.file.dragging{cursor:grabbing;z-index:9;position:relative;box-shadow:3px 3px #0006}.folders{flex-wrap:wrap;gap:6px;display:flex}.folder{background:#e6e6c8;border:1px solid #888;padding:6px 8px;font-size:13px}.body.video{padding:0 8px 6px}.player{color:#fff;background:#000;height:120px;margin-top:6px;position:relative;overflow:hidden}.caption{font-size:13px;position:absolute;top:8px;left:8px}.playbar{background:red;height:4px;position:absolute;bottom:0;left:0}.catch{color:#000;background:#fff;border-radius:50%;width:28px;height:28px;padding:0;font-weight:700;transition:left .25s linear,top .25s linear;position:absolute;transform:translate(-50%,-50%)}.actions{justify-content:flex-end;padding:0 8px 6px;display:flex}button.small{padding:2px 8px;font-size:12px}.win.urgent{animation:.12s infinite shake}.win.holding{outline:3px solid var(--ok)}@keyframes shake{0%{transform:translate(1px)}50%{transform:translate(-1px,1px)}to{transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){.win,.win.urgent,.taskbar .dot,.body.wrong,.pet.happy .dog,.pet.restless .dog{animation:none}.pet .heart{animation-duration:10ms}}.bar{background:#bbb;border:1px solid #777;height:8px;margin:0 8px 6px}.bar i{height:100%;display:block}.bar.deadline i{background:var(--bad)}.bar.progress i{background:var(--ok)}.stressbar{color:#fff;z-index:5;background:#222;border:2px solid #fff;width:180px;padding:4px;font-size:12px;position:fixed;top:8px;right:8px}.stressbar .track{background:#444;height:10px;margin-top:3px}.stressbar .track i{background:linear-gradient(90deg, var(--ok), #e8b400, var(--bad));height:100%;display:block}.taskbar{height:44px;padding:0 8px;padding-bottom:env(safe-area-inset-bottom);z-index:5;background:#c8c8c8;border-top:2px solid #fff;align-items:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.taskbar .spacer{flex:1}.taskbar .clock{font-variant-numeric:tabular-nums;font-weight:700}.taskbar .queue{gap:4px;display:flex}.taskbar .dot{background:var(--title2);width:10px;height:10px;animation:.6s infinite alternate blink}.taskbar .dot.kind-alert{background:var(--bad)}@keyframes blink{0%{opacity:.3}to{opacity:1}}.pet{--fx:0;--fy:0;left:calc(6px + var(--fx) * (100vw - 60px));top:calc(4px + var(--fy) * (100dvh - 60px));z-index:5;cursor:grab;touch-action:none;background:0 0;border:0;padding:4px;font-size:32px;line-height:1;position:fixed}.pet:active{border:0}.pet.dragging{cursor:grabbing;transform:scale(1.1)}.pet .dog{display:inline-block;position:relative}.pet.happy .dog{animation:.5s ease-in-out wag}.pet.restless .dog{animation:.8s ease-in-out fidget}@keyframes fidget{0%,to{transform:none}20%{transform:translateY(-6px)rotate(-6deg)}40%{transform:translateY(0)}60%{transform:translateY(-4px)rotate(6deg)}80%{transform:translateY(0)}}.pet .name{color:#fff;text-shadow:0 1px 2px #000000b3;text-overflow:ellipsis;white-space:nowrap;max-width:90px;margin-top:2px;font-size:11px;font-weight:700;display:block;overflow:hidden}@keyframes wag{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg)scale(1.1)}75%{transform:rotate(12deg)scale(1.1)}}.pet .heart{pointer-events:none;font-size:16px;font-style:normal;animation:.9s ease-out forwards float;position:absolute;bottom:70%}@keyframes float{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-44px)}}.pet .cama{background:radial-gradient(at 50% 35%,#d9a066 0 45%,#8b5a2b 46%);border-radius:50%;height:16px;position:absolute;bottom:0;left:-2px;right:-2px;box-shadow:0 2px #5a3a1a}.pet.bed{padding:4px 6px 8px}.pet.bed .dog{top:-2px}@media (width<=700px){.win .body{font-size:14px}.stressbar{width:130px}.desktop{inset:48px 0 44px}.taskbar{gap:4px;font-size:13px}.taskbar .lbl{display:none}.pet{font-size:26px}.body.hold .hint{display:none}.player{height:90px}}.row{border-bottom:1px solid #ccc;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.row:last-child{border-bottom:0}.panel h2{margin:14px 0 6px;font-size:16px}.ranking{margin:0;padding-left:22px}.ranking li{justify-content:space-between;padding:2px 0;display:flex}button.big{margin:8px 0;padding:8px 18px;font-size:18px}input{font:inherit;background:#fff;border:2px solid #fff;border-color:#555 #fff #fff #555;flex:1;min-width:0;padding:4px 8px}.shop{z-index:6;cursor:default;width:min(420px,100% - 32px);max-height:calc(100% - 80px);top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.shop .body{overflow:auto}.win .x,.card .x{color:#fff;cursor:pointer;background:0 0;border:0;padding:0 4px;font-weight:700}.meeting{z-index:6;cursor:default;width:min(380px,100% - 32px);padding-bottom:8px;top:40%;left:50%;transform:translate(-50%,-50%)}.meeting button{margin:0 8px}.overlay{z-index:7;background:#0000008c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.agenda{z-index:6;cursor:default;width:min(420px,100% - 32px);max-height:calc(100% - 80px);top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.agenda .row.past{opacity:.45;text-decoration:line-through}.agenda .row.next{font-weight:700}.agenda .when{font-variant-numeric:tabular-nums;min-width:48px}.agenda .what{flex:1}.panel code,.win code{color:#9f9;background:#222;padding:1px 5px;font-family:ui-monospace,Menlo,monospace}.videolayer{z-index:6;cursor:default;width:min(420px,100% - 32px);top:45%;left:50%;transform:translate(-50%,-50%)}.file.blocked{pointer-events:none;opacity:.5}.catch{border:0}.start{padding:56px 16px 16px;position:fixed;inset:0 0 44px;overflow:auto}.start-grid{grid-template-columns:1.2fr 1fr .9fr;grid-template-areas:"hero upgrades top""pet upgrades top";align-items:start;gap:16px;max-width:1100px;margin:0 auto;display:grid}.start-grid.no-top{grid-template-columns:1.2fr 1fr;grid-template-areas:"hero upgrades""pet upgrades";max-width:880px}.card-hero{grid-area:hero}.card-upgrades{grid-area:upgrades}.card-pet{grid-area:pet}.card-top{grid-area:top}.card.floating{z-index:2;margin:0;position:absolute}.card.dragging{z-index:3;box-shadow:8px 8px #00000059}.card .title.grab{cursor:grab;touch-action:none}.card.dragging .title{cursor:grabbing}.card .title-right{align-items:center;gap:6px;display:flex}.card .title .x{padding:0 5px;line-height:1}.card .body{padding:12px 14px}.card-hero h1{letter-spacing:-.5px;margin:0 0 6px;font-size:30px;line-height:1.1}.card-hero .tagline{margin:0 0 10px;font-size:16px}.legend{color:#444;flex-wrap:wrap;gap:4px 12px;margin:0 0 14px;font-size:13px;display:flex}.cta{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.cta .big{margin:0}button.secondary{background:#fff2b3}button.pulse{animation:1.2s ease-in-out infinite alternate pulse}@keyframes pulse{0%{box-shadow:0 0 #e8b40000}to{box-shadow:0 0 0 5px #e8b4008c}}.first{color:#7a4a00;margin:6px 0 0;font-size:14px}.stats{margin:12px 0 2px}.server{color:#555;margin:0}.menubar{z-index:4}.menubar button{text-overflow:ellipsis;white-space:nowrap;max-width:40vw;overflow:hidden}.pet-row{gap:10px}.emojis{gap:6px;display:flex}.emojis button{padding:2px 6px;font-size:22px;line-height:1.2}.emojis button.picked{background:#fff2b3;border-color:#555 #fff #fff #555}.hint-pet{color:#555;margin:8px 0 0}.secret{background:#f4f4f4;border-color:#ccc #eee #eee #ccc}.secret-ok{color:#7a4a00;font-weight:700}.tutor{bottom:52px;left:8px;right:8px;bottom:calc(52px + env(safe-area-inset-bottom));z-index:6;background:#fffbe6;border:2px solid #555;border-color:#fff #555 #555 #fff;align-items:flex-start;gap:10px;max-width:640px;margin:0 auto;padding:8px 12px;font-size:14px;line-height:1.35;animation:.15s ease-out pop;display:flex;position:fixed;box-shadow:4px 4px #00000059}.tutor .avatar{font-size:30px;line-height:1}.tutor .say{flex:1;min-width:0}.tutor .who{margin-bottom:2px;font-weight:700}.tutor .note{color:#7a4a00;margin-top:4px;font-style:italic}.tutor-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.tutor-actions .big{margin:0}.tutor-actions .quit{color:#555;background:0 0;border-color:#0000;margin-left:auto;text-decoration:underline}@media (width<=700px){.start{padding:50px 12px 12px}.start-grid,.start-grid.no-top{grid-template-columns:1fr;grid-template-areas:"hero""top""upgrades""pet";gap:12px}.card-hero h1{font-size:26px}.tutor{padding:6px 10px;font-size:13px}.tutor .avatar{font-size:24px}}@media (prefers-reduced-motion:reduce){button.pulse,.tutor{animation:none}}
