:root{--ink: #f3e9d2;--dim: #b6a888;--panel: rgba(22, 18, 26, .82);--edge: #5b4a3a;--amber: #f0b44c;--good: #8fd18a;--bad: #ef7a6a;--mono: "Menlo", "SFMono-Regular", "Consolas", monospace;--sans: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#07060b;font-family:var(--sans);color:var(--ink);user-select:none}#view{position:fixed;inset:0;width:100vw;height:100vh;image-rendering:pixelated;image-rendering:crisp-edges;display:block}#ui{position:fixed;inset:0;pointer-events:none}#ui .live{pointer-events:auto}button{font-family:inherit;cursor:pointer}.panel{background:var(--panel);border:2px solid var(--edge);box-shadow:0 0 0 2px #0009,4px 4px #00000073;border-radius:3px}#clock{position:absolute;left:14px;top:14px;padding:8px 12px 9px;display:flex;gap:14px;align-items:center}#clock .when{line-height:1.1}#clock .day{font-size:12px;color:var(--dim);letter-spacing:1px}#clock .time{font-family:var(--mono);font-size:26px;font-weight:700;color:var(--amber);text-shadow:2px 2px 0 #000}.speeds{display:flex;gap:4px}.speeds button{width:30px;height:28px;border:2px solid var(--edge);background:#2a2230;color:var(--dim);font-size:12px;border-radius:2px;font-family:var(--mono)}.speeds button.on{background:var(--amber);color:#1a1208;border-color:#ffd98a}#money{position:absolute;right:14px;top:14px;padding:8px 14px;text-align:right;min-width:150px}#money .cash{font-family:var(--mono);font-size:24px;font-weight:700;color:#9fe39a;text-shadow:2px 2px 0 #000}#money .cash.low{color:var(--bad)}#money .rent{font-size:12px;color:var(--dim);margin-top:2px}#money .rent.warn{color:var(--bad)}#money .float{position:absolute;right:14px;top:40px;font-family:var(--mono);font-weight:700;animation:floatUp 1.6s ease-out forwards;text-shadow:1px 1px 0 #000}@keyframes floatUp{to{transform:translateY(-26px);opacity:0}}#needs{position:absolute;left:14px;bottom:14px;padding:10px 12px;width:300px}#needs .mood{display:flex;align-items:center;gap:10px;margin-bottom:8px;cursor:help}#needs .face{font-size:30px;line-height:1;filter:drop-shadow(2px 2px 0 #000)}#needs .moodbar{flex:1}#needs .moodlabel{font-size:12px;color:var(--dim);display:flex;justify-content:space-between}.bar{height:10px;background:#120e14;border:1px solid #3a3040;position:relative;overflow:hidden}.bar i{position:absolute;left:0;top:0;bottom:0;background:var(--c, var(--amber));transition:width .4s;box-shadow:inset 0 -3px #00000040}.bar.low i{animation:blink .8s steps(2) infinite}@keyframes blink{50%{opacity:.45}}#needs .row{display:grid;grid-template-columns:22px 34px 1fr 26px;align-items:center;gap:6px;font-size:12px;margin-top:4px}#needs .row .v{font-family:var(--mono);color:var(--dim);text-align:right;font-size:11px}#needs .moodlets{display:none;margin-top:8px;border-top:1px dashed var(--edge);padding-top:6px;font-size:12px}#needs:hover .moodlets,#needs.pinned .moodlets{display:block}.moodlets div{display:flex;justify-content:space-between;padding:1px 0}.moodlets .p{color:var(--good)}.moodlets .n{color:var(--bad)}#queue{position:absolute;left:50%;bottom:14px;transform:translate(-50%);display:flex;gap:6px;align-items:flex-end}#queue .q{width:52px;height:52px;position:relative;display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer}#queue .q.first{width:64px;height:64px;font-size:30px;border-color:var(--amber)}#queue .q .x{position:absolute;right:-6px;top:-6px;width:18px;height:18px;border-radius:50%;background:#7a2a24;color:#fff;font-size:11px;display:none;align-items:center;justify-content:center;border:1px solid #000}#queue .q:hover .x{display:flex}#queue .q .prog{position:absolute;left:3px;right:3px;bottom:3px;height:4px;background:#000}#queue .q .prog i{position:absolute;left:0;top:0;bottom:0;background:var(--amber)}#queue .q.auto{opacity:.7;border-style:dashed}#queue .label{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:6px;white-space:nowrap;font-size:12px;padding:3px 8px}#corner{position:absolute;right:14px;bottom:14px;display:flex;gap:8px;align-items:flex-end}#corner button{width:58px;height:58px;font-size:26px;position:relative;color:var(--ink)}#corner button small{position:absolute;bottom:2px;left:0;right:0;font-size:10px;color:var(--dim)}#corner .badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:10px;background:#d33;font-size:11px;display:flex;align-items:center;justify-content:center;padding:0 5px;font-family:var(--mono);border:2px solid #000}#toasts{position:absolute;top:84px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px}.toast{padding:7px 14px;font-size:14px;animation:toastIn .25s ease-out,toastOut .4s ease-in forwards 3.6s;max-width:520px;text-align:center}.toast.good{border-color:#4d7a46}.toast.bad{border-color:#8a3b30}@keyframes toastIn{0%{transform:translateY(-8px);opacity:0}}@keyframes toastOut{to{opacity:0;transform:translateY(-6px)}}#pie{position:absolute;width:0;height:0}#pie .title{position:absolute;transform:translate(-50%,-50%);padding:4px 10px;font-size:13px;white-space:nowrap;color:var(--amber)}#pie button{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;padding:6px 12px;font-size:14px;color:var(--ink);animation:pop .16s ease-out backwards}#pie button:hover{background:#3b2f22;border-color:var(--amber)}#pie button.off{color:#786d5c;cursor:not-allowed}#pie button.off:hover{background:var(--panel);border-color:var(--edge)}#pie button .why{display:block;font-size:11px;color:#a07060}@keyframes pop{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}}#hover{position:absolute;padding:3px 8px;font-size:12px;transform:translate(14px,10px);white-space:nowrap}#phone{position:absolute;right:24px;bottom:90px;width:300px;height:590px;background:#111;border-radius:34px;padding:12px;border:3px solid #2b2b2b;box-shadow:0 0 0 2px #000,10px 12px #00000080;transform:translateY(30px);opacity:0;transition:transform .25s,opacity .25s;pointer-events:none}#phone.open{transform:none;opacity:1;pointer-events:auto}#phone .screen{width:100%;height:100%;background:#f6f6f4;border-radius:24px;overflow:hidden;color:#1d1d1f;display:flex;flex-direction:column;font-size:13px}#phone .status{display:flex;justify-content:space-between;padding:10px 18px 4px;font-weight:600;font-family:var(--mono);font-size:12px}#phone .apphead{display:flex;align-items:center;gap:8px;padding:6px 14px 10px;font-weight:700;font-size:16px;border-bottom:1px solid #e6e6e6}#phone .apphead button{border:0;background:none;font-size:18px;padding:0 4px;color:#333}#phone .body{flex:1;overflow-y:auto;padding:10px 14px 14px}#phone .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 8px;padding:18px 8px}#phone .app{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:none;font-size:12px;color:#333;position:relative}#phone .app span{width:56px;height:56px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 2px #00000026}#phone .app b{position:absolute;top:-4px;right:8px;background:#e33;color:#fff;border-radius:9px;font-size:10px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center}#phone .wallpaper{background:linear-gradient(170deg,#2c2f6e,#c06a8a 55%,#f2a35a);color:#fff}#phone .wallpaper .big{font-family:var(--mono);font-size:54px;font-weight:700;text-align:center;margin-top:26px;text-shadow:0 2px 0 rgba(0,0,0,.25)}#phone .wallpaper .date{text-align:center;opacity:.85}#phone .card{background:#fff;border-radius:12px;padding:10px 12px;margin-bottom:10px;box-shadow:0 1px #00000014}#phone .card h4{margin:0 0 4px;font-size:14px}#phone .muted{color:#8a8a8e;font-size:12px}#phone .btn{border:0;border-radius:8px;padding:8px 12px;font-weight:700;font-size:13px;background:#f0b44c;color:#1a1208}#phone .btn.green{background:#2ebd85;color:#fff}#phone .btn.red{background:#f6465d;color:#fff}#phone .btn.grey{background:#e6e6e8;color:#333}#phone .btn:disabled{opacity:.45;cursor:not-allowed}#phone .row2{display:flex;justify-content:space-between;align-items:center;gap:8px}#phone .msg{padding:8px 0;border-bottom:1px solid #eee}#phone .msg .from{font-weight:700}#phone .msg.unread .from:after{content:" ●";color:#e33;font-size:10px}#phone .ticker{font-family:var(--mono);font-size:28px;font-weight:700}#phone .up{color:#2ebd85}#phone .down{color:#f6465d}#phone canvas{width:100%;height:130px;display:block;background:#fff;border-radius:8px}#phone .disclaimer{font-size:10px;color:#aaa;margin-top:8px}#phone .needrow{display:grid;grid-template-columns:40px 1fr 32px;gap:6px;align-items:center;margin:4px 0;font-size:12px}#phone .needrow .bar{background:#eee;border-color:#ddd}#phone .setting{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #eee}#phone select,#phone input[type=range]{font-family:inherit}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#05040a8c;pointer-events:auto}.modal{padding:22px 26px;min-width:360px;max-width:520px}.modal h2{margin:0 0 12px;color:var(--amber);font-size:22px;letter-spacing:2px}.modal p{color:var(--dim);line-height:1.7;margin:6px 0;font-size:14px}.modal .stat{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dashed #3b3140;font-size:14px}.modal .stat b{font-family:var(--mono)}.modal .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.mbtn{padding:9px 18px;font-size:15px;background:#2a2230;color:var(--ink);border:2px solid var(--edge);border-radius:3px}.mbtn:hover{border-color:var(--amber)}.mbtn.primary{background:var(--amber);color:#1a1208;border-color:#ffd98a;font-weight:700}#title{background:radial-gradient(ellipse at 50% 120%,rgba(240,140,90,.35),transparent 60%),linear-gradient(180deg,#0a0a1ebf,#0a060ee0);flex-direction:column;gap:6px}#title h1{font-size:64px;margin:0;letter-spacing:10px;color:var(--amber);text-shadow:4px 4px 0 #3a1a10,0 0 30px rgba(240,180,76,.35)}#title .sub{color:var(--dim);letter-spacing:3px;margin-bottom:26px}#title .menu{display:flex;flex-direction:column;gap:10px;width:240px}#title .menu .mbtn{width:100%;padding:12px;font-size:17px}#title .foot{position:absolute;bottom:18px;color:#6a5f50;font-size:12px}.keys{display:grid;grid-template-columns:110px 1fr;gap:6px 14px;font-size:14px;color:var(--dim)}.keys kbd{font-family:var(--mono);background:#2a2230;border:1px solid var(--edge);border-bottom-width:3px;padding:1px 6px;border-radius:3px;color:var(--ink);font-size:12px}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;background:#07060b;pointer-events:auto;font-size:14px;color:var(--dim)}#loading .bar{width:260px}#pausedTag{position:absolute;top:18px;left:50%;transform:translate(-50%);padding:4px 14px;color:var(--amber);font-weight:700;letter-spacing:4px;display:none}#sleepTag{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:40px;color:#c9c6ff;text-shadow:3px 3px 0 #000;display:none;letter-spacing:6px;font-family:var(--mono)}
