:root{--bg: #0a0e10;--panel: #10171b;--panel2: #141d22;--edge: #1e2b31;--edge2: #35525f;--ink: #dce8ea;--ink2: #eafffd;--dim: #6d8288;--cyan: #2bd9e8;--teal: #0f8f86;--amber: #ffae2b;--green: #3de58a;--red: #e0443f;--bad: #ff6a66;--warn: var(--amber);--ok: var(--green);--violet: #b8a1ff;--mono: ui-monospace, "Cascadia Code", Consolas, monospace;--sans: "Segoe UI", system-ui, -apple-system, sans-serif;--radius: 14px;--tab-h: 62px;color-scheme:dark}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg: #d5ded9;--panel: #f7faf8;--panel2: #eef3f0;--edge: #cfd9d3;--edge2: #9fb0a8;--ink: #17231f;--ink2: #0b1512;--dim: #4a5a54;--cyan: #2946c4;--teal: #a9bdf4;--amber: #8f5608;--green: #1b6e46;--red: #b4322b;--bad: #b4322b;--violet: #6a55b5;color-scheme:light}}:root[data-theme=light]{--bg: #d5ded9;--panel: #f7faf8;--panel2: #eef3f0;--edge: #cfd9d3;--edge2: #9fb0a8;--ink: #17231f;--ink2: #0b1512;--dim: #4a5a54;--cyan: #2946c4;--teal: #a9bdf4;--amber: #8f5608;--green: #1b6e46;--red: #b4322b;--bad: #b4322b;--violet: #6a55b5;color-scheme:light}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom))}button,input,select,textarea{font-family:inherit;font-size:16px;color:inherit}button{cursor:pointer}a{color:var(--cyan)}.app{max-width:560px;margin:0 auto;padding:0 16px 16px}.head{padding:14px 0 6px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.head h1{font-size:22px;font-weight:700;letter-spacing:-.01em}.head .who{font-size:13px;color:var(--dim);margin-left:auto}.asof{font-size:13px;color:var(--dim);margin:0 0 12px}.asof.off{color:var(--amber)}.card{background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius);padding:14px;margin-bottom:12px}.card h2{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:800;margin-bottom:8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.card h2 .r{margin-left:auto;font-weight:400;letter-spacing:0;text-transform:none}.meta{font-size:13px;color:var(--dim)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.top{align-items:flex-start}.stack>*+*{margin-top:8px}.line{border-top:1px solid var(--edge);margin:10px 0}.strip{background:var(--panel2);border:1px solid var(--edge);border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:15px}.sword{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em;padding:4px 10px;border-radius:999px;border:1px solid;white-space:nowrap;display:inline-block;line-height:1.4;text-transform:uppercase;vertical-align:middle}.sword.sw-ok{color:var(--green);border-color:color-mix(in srgb,var(--green) 40%,transparent);background:color-mix(in srgb,var(--green) 6%,transparent)}.sword.sw-warn{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 45%,transparent);background:color-mix(in srgb,var(--amber) 7%,transparent)}.sword.sw-bad{color:var(--bad);border-color:color-mix(in srgb,var(--red) 50%,transparent);background:color-mix(in srgb,var(--red) 8%,transparent)}.sword.sw-info{color:var(--cyan);border-color:color-mix(in srgb,var(--cyan) 40%,transparent);background:color-mix(in srgb,var(--cyan) 6%,transparent)}.sword.sw-viol{color:var(--violet);border-color:color-mix(in srgb,var(--violet) 45%,transparent)}.sword.sw-dim{color:var(--dim);border-color:var(--edge)}.sword.sw-off{color:var(--dim);border-color:var(--edge2);background:var(--panel2)}.btn{min-height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--edge2);background:var(--panel2);color:var(--ink);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--cyan);color:var(--bg);border-color:var(--cyan)}.btn.danger{border-color:var(--red);color:var(--bad)}.btn.wide{width:100%}.btn.small{min-height:36px;padding:0 12px;font-size:14px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.armed{background:var(--amber);color:var(--bg);border-color:var(--amber)}.seg{display:inline-flex;border:1px solid var(--edge2);border-radius:12px;overflow:hidden}.seg button{min-height:40px;padding:0 14px;border:none;background:transparent;color:var(--dim)}.seg button.on{background:var(--cyan);color:var(--bg);font-weight:700}.in{min-height:44px;padding:8px 12px;border-radius:10px;border:1px solid var(--edge2);background:var(--panel2);color:var(--ink);width:100%}textarea.in{min-height:80px;resize:vertical}label.f{display:block;font-size:13px;color:var(--dim);margin-bottom:4px}.chk{display:flex;gap:10px;align-items:center;min-height:44px}.chk input{width:22px;height:22px}.shift{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:10px 0;border-top:1px solid var(--edge)}.shift:first-of-type{border-top:none}.shift .d{font-weight:700}.shift .t{font-family:var(--mono);font-size:14px}.shift.today{background:color-mix(in srgb,var(--cyan) 6%,transparent);margin:0 -8px;padding:10px 8px;border-radius:10px;border-top:none}.shift .link{color:var(--cyan);background:none;border:none;padding:0;font-size:14px;min-height:32px}.post{padding:12px 0;border-top:1px solid var(--edge)}.post:first-of-type{border-top:none;padding-top:0}.post .by{font-size:13px;color:var(--dim);display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:4px}.post .body{white-space:pre-wrap}.reacts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.reacts button{min-height:36px;padding:0 10px;border-radius:999px;border:1px solid var(--edge2);background:transparent;color:var(--dim);font-size:13px}.reacts button.on{border-color:var(--cyan);color:var(--cyan)}.comment{font-size:14px;padding:6px 0 0 12px;border-left:2px solid var(--edge);margin-top:6px}.tabbar{position:fixed;left:0;right:0;bottom:0;height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--panel);border-top:1px solid var(--edge);display:flex;z-index:50}.tabbar button{flex:1;border:none;background:transparent;color:var(--dim);font-size:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px}.tabbar button .g{font-size:20px;line-height:1}.tabbar button.on{color:var(--cyan);font-weight:700}.tabbar button .n{position:absolute;margin-top:-30px;margin-left:28px;background:var(--amber);color:var(--bg);border-radius:999px;font-size:11px;padding:0 6px;font-weight:800}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:90}.sheet{position:fixed;left:0;right:0;bottom:0;background:var(--panel);border-top:1px solid var(--edge2);border-radius:18px 18px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));max-height:88vh;overflow:auto;z-index:100;max-width:560px;margin:0 auto}.sheet h3{font-size:18px;margin-bottom:10px}.toast{position:fixed;left:16px;right:16px;bottom:calc(var(--tab-h) + 14px);background:var(--panel2);border:1px solid var(--edge2);border-radius:12px;padding:10px 14px;z-index:200;font-size:15px}.toast.bad{border-color:var(--red)}.empty{color:var(--dim);font-size:15px;padding:8px 0}.q{font-family:var(--mono);font-size:12px;color:var(--dim)}.auth{max-width:420px;margin:40px auto;padding:0 16px}.auth h1{font-size:24px;margin-bottom:6px}.auth p{color:var(--dim);margin-bottom:14px}.logo{width:44px;height:44px;margin-bottom:12px}
