: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{background:var(--win);touch-action:none;cursor:pointer;border:2px solid #555;border-color:#fff #555 #555 #fff;flex-direction:column;max-height:240px;animation:.15s ease-out pop;display:flex;position:absolute;box-shadow:4px 4px #00000059}@keyframes pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}.win .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.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{animation:none}}.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}}@media (width<=700px){.win .body{font-size:14px}.stressbar{width:130px}.desktop{inset:48px 0 44px}.taskbar{gap:4px;font-size:13px}.win:not(.meeting) .hint{display:none}}.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{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}
