:root{--bg:#f4f5f8;--panel:#fff;--text:#1d2433;--muted:#6b7385;--line:#e2e5ec;--brand:#1f2a44;--accent:#3b6cf6;--accent-soft:#e8eefe;--danger:#d33b3b;--danger-soft:#fdecec;--ok:#1f9d61;--warn:#b7791f;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans CJK SC,sans-serif;font-size:15px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--bg:#12151c;--panel:#1b1f29;--text:#e6e8ee;--muted:#9099ad;--line:#2c3240;--brand:#0d1018;--accent:#7097ff;--accent-soft:#24304d;--danger:#f06b6b;--danger-soft:#3a2125;--ok:#4fc68e;--warn:#e0a84f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0}a{color:var(--accent);text-decoration:none}code{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}h1,h2,h3,h4{margin:0 0 8px;line-height:1.3}h2{font-size:1.3rem}h3{font-size:1.05rem}hr{border:0;border-top:1px solid var(--line);margin:18px 0}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--line);background:var(--panel);border-radius:8px;width:100%;min-height:40px;padding:9px 11px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}textarea{resize:vertical}button{border:1px solid var(--line);background:var(--panel);cursor:pointer;white-space:nowrap;border-radius:8px;min-height:38px;padding:8px 14px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--danger);border-color:var(--danger);background:var(--panel)}button.primary.danger{background:var(--danger);color:#fff}button.ghost{background:0 0;border-color:#0000}button.small{min-height:32px;padding:4px 10px;font-size:.88rem}button.block{width:100%}.danger-text{color:var(--danger)}.muted{color:var(--muted)}.small{font-size:.86rem}.warn{color:var(--warn)}.pad{padding:16px 4px}.pre{white-space:pre-wrap;word-break:break-word}.center{place-items:center;min-height:100vh;padding:16px;display:grid}.login{flex-direction:column;gap:12px;width:min(380px,100%);display:flex}.topbar{z-index:20;padding:8px 16px;padding-top:max(8px, env(safe-area-inset-top));background:var(--brand);color:#fff;align-items:center;gap:10px;display:flex;position:sticky;top:0}.topbar button{color:#fff}.brand{color:#fff;white-space:nowrap;font-weight:600}.game-select{color:#fff;background:#ffffff1a;border-color:#ffffff40;width:auto;max-width:220px;min-height:34px;margin-left:auto;padding:4px 8px}.game-select option{color:#000}.menu-btn{padding:4px 8px;font-size:1.2rem;display:none}.body{max-width:1200px;margin:0 auto;display:flex}.sidebar{flex-shrink:0;align-self:flex-start;width:190px;padding:16px 8px;position:sticky;top:52px}.sidebar a{color:var(--text);border-radius:8px;padding:8px 12px;display:block}.sidebar a:hover{background:var(--accent-soft)}.sidebar a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-title{color:var(--muted);margin:14px 12px 4px;font-size:.8rem}.nav-title:first-child{margin-top:0}.content{flex:1;min-width:0;padding:20px 16px 60px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.page-head h2{margin:0}h3.section{margin:22px 0 10px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.card.narrow{max-width:640px}.card>h3{margin-bottom:12px}.notice{border-radius:8px;margin:8px 0;padding:10px 12px}.notice.err{background:var(--danger-soft);color:var(--danger)}.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.tile-label{color:var(--muted);font-size:.86rem}.tile-value{font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:600}.tile-sub{color:var(--muted);font-size:.8rem}.kv{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}.kv dt{color:var(--muted)}.kv dd{word-break:break-word;min-width:0;margin:0}.list{flex-direction:column;gap:8px;display:flex}.row{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);align-items:center;gap:12px;padding:10px 14px;display:flex}a.row:hover,.row-main.link:hover .row-title{color:var(--accent)}.row-main{min-width:0;color:var(--text);flex:1}.row-title{word-break:break-word;font-weight:500}.row-sub{color:var(--muted);word-break:break-word;font-size:.86rem}.row-side{text-align:right;flex-shrink:0}.row.failed{border-color:var(--danger)}.detail{flex-wrap:wrap;gap:2px 12px;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.actions.end{justify-content:flex-end;margin-top:12px}.inline{gap:8px;display:flex}.searchbar{gap:8px;margin-bottom:10px;display:flex}.pager{justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:12px;display:flex}.tabs button{background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0}.tabs button.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.badge{vertical-align:1px;background:var(--accent-soft);color:var(--accent);border-radius:99px;margin-left:4px;padding:0 7px;font-size:.78rem;line-height:1.7;display:inline-block}.badge:first-child{margin-left:0}.badge.doing{color:var(--ok);background:#e3f6ec}.badge.next{background:var(--accent-soft);color:var(--accent)}.badge.later{background:var(--bg);color:var(--muted);border:1px solid var(--line)}@media (prefers-color-scheme:dark){.badge.doing{background:#1d3a2c}}.date{color:var(--muted);font-variant-numeric:tabular-nums}.entry-head{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.entry ul{margin:8px 0 0;padding-left:20px}.sched{align-items:flex-start;gap:10px;display:flex}.sched.dragging{opacity:.4}.sched-main{flex:1;min-width:0}.sort{flex-direction:column;display:flex}.sort button{min-height:26px;padding:0 8px}.post .author{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.post .pre{margin-bottom:10px}.two-col{grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;display:grid}.two-col .card{flex-direction:column;gap:10px;display:flex}.two-col .card>button{align-self:flex-start}.grant-line{grid-template-columns:1fr 96px auto;align-items:center;gap:6px;display:grid}.grant-line:not(:has(button)){grid-template-columns:1fr 96px}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field-label{font-size:.88rem;font-weight:500}.field-hint{color:var(--muted);font-size:.8rem}.modal-bg{z-index:50;background:#0a0e1880;justify-content:center;align-items:flex-start;padding:6vh 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--panel);border-radius:12px;width:min(520px,100%);box-shadow:0 10px 40px #00000040}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.modal-head h3{margin:0}.modal-body{padding:16px}.keybox{background:var(--bg);border:1px dashed var(--accent);-webkit-user-select:all;user-select:all;border-radius:8px;margin:12px 0;padding:12px}.toasts{left:50%;bottom:max(20px, env(safe-area-inset-bottom));z-index:100;flex-direction:column;gap:8px;width:min(420px,100% - 32px);display:flex;position:fixed;transform:translate(-50%)}.toast{color:#fff;background:var(--ok);border-radius:8px;padding:10px 14px;box-shadow:0 4px 16px #0003}.toast.err{background:var(--danger)}@media (width<=760px){.menu-btn{display:block}.topbar{gap:6px;padding-left:8px;padding-right:8px}.game-select{max-width:44vw}.logout{padding:4px 6px}.sidebar{z-index:15;background:var(--panel);width:auto;height:calc(100dvh - 50px);display:none;position:fixed;inset:50px 0 0;overflow-y:auto}.sidebar.open{display:block}.sidebar a{padding:12px 14px}.content{padding:16px 16px 60px}.two-col{grid-template-columns:1fr}.row{flex-wrap:wrap}.row-side{text-align:left;width:100%}.row>.actions{justify-content:flex-end;width:100%}.tiles{grid-template-columns:1fr 1fr}.tile-value{font-size:1.4rem}}a.button{border:1px solid var(--line);background:var(--panel);min-height:38px;color:inherit;border-radius:8px;justify-content:center;align-items:center;padding:8px 14px;text-decoration:none;display:flex}a.button:hover{border-color:var(--accent)}.login-or{color:var(--muted,#888);align-items:center;gap:10px;font-size:.85rem;display:flex}.login-or:before,.login-or:after{content:"";background:var(--line);flex:1;height:1px}.login .small{font-size:.82rem}
