:root{--bg:#0d1117;--card:#161b22;--bd:#30363d;--fg:#e6edf3;--mut:#8b949e}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font:14px/1.45 system-ui,Segoe UI,Arial}a{color:#58a6ff}header{padding:12px 20px;border-bottom:1px solid var(--bd);display:flex;align-items:center;gap:14px;flex-wrap:wrap}h1{font-size:18px;margin:0}.mut{color:var(--mut)}.spacer{flex:1 1}.tabs{display:flex;gap:6px}.tab{background:transparent;color:var(--mut);border:1px solid transparent;border-radius:7px;padding:6px 14px;cursor:pointer;font-size:14px}.tab.active{border-color:var(--bd)}.tab.active,button,select{background:var(--card);color:var(--fg)}button,select{border:1px solid var(--bd);border-radius:7px;padding:5px 10px;cursor:pointer}.center-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.landing{text-align:center}.landing .logo{font-size:56px}.landing h1{font-size:28px;margin:8px 0 4px}.login-box{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:12px;min-width:280px}.login-box h1{font-size:18px;margin:0}.login-box input[type=password]{background:var(--bg);color:var(--fg);border:1px solid var(--bd);border-radius:7px;padding:8px 10px;font-size:14px}.login-box .err{color:#f85149;margin:0;font-size:13px}.navlink{text-decoration:none;color:var(--mut)}.navlink:hover{color:var(--fg)}.board{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px;padding:16px;align-items:start}.col{background:#0b0f14;border:1px solid var(--bd);border-radius:10px;padding:8px;min-height:120px}.col h2{font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin:4px 6px 10px;color:var(--mut);display:flex;justify-content:space-between}.card{background:var(--card);border:1px solid var(--bd);border-left:3px solid var(--ec);border-radius:8px;padding:8px 10px;margin-bottom:8px}.card .ep{font-size:11px;color:var(--ec);font-weight:600;margin-bottom:3px}.card .tx{font-size:13px}.chips{margin-top:6px;display:flex;gap:4px;flex-wrap:wrap}.chip{font-size:10px;padding:1px 6px;border-radius:10px;background:#21262d;color:var(--mut);border:1px solid var(--bd)}.chip.paid{background:#3b2a12;color:#e3b341;border-color:#7a5b18}.col.done .card{opacity:.7}.dash{padding:16px 20px;max-width:1100px;margin:0 auto}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px;margin-bottom:14px}.stat{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:14px}.stat .num{font-size:18px;font-weight:600}.stat .lbl{font-size:12px;color:var(--mut);margin-top:2px}.panel{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:14px;margin-bottom:14px}.panel h2{font-size:14px;margin:0 0 10px}.err{color:#f85149;font-size:13px}.todo-bar{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.todo-input{flex:1 1;min-width:160px;padding:6px 10px}.todo-input,input[type=date]{background:var(--bg);color:var(--fg);border:1px solid var(--bd);border-radius:7px}input[type=date]{padding:5px 8px}.todo-list{list-style:none;margin:0;padding:0}.todo-list li{padding:5px 2px;border-bottom:1px solid #21262d}.todo-list li,.todo-list li label{display:flex;align-items:center;gap:8px}.todo-list li label{flex:1 1;cursor:pointer}.todo-list li.done span{text-decoration:line-through;color:var(--mut)}.todo-list .x{background:transparent;border:0;color:var(--mut);cursor:pointer;padding:2px 6px}.todo-list .x:hover{color:#f85149}.backlog-list{list-style:none;margin:0;padding:0}.backlog-list li{display:flex;align-items:baseline;gap:8px;padding:4px 0;border-bottom:1px solid #21262d;flex-wrap:wrap}.backlog-list li.done .tx{text-decoration:line-through;color:var(--mut)}.st{font-size:10px;padding:1px 7px;border-radius:10px;border:1px solid var(--bd);background:#21262d;color:var(--mut);white-space:nowrap}.st.wip{color:#3fb950;border-color:#2e5638}.st.queued{color:#d29922;border-color:#6b5618}.st.blocked{color:#f85149;border-color:#6e2a28}.st.done{color:#8b949e}.ptable{width:100%;border-collapse:collapse;font-size:13px}.ptable th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--bd);cursor:pointer;color:var(--mut);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ptable td{padding:6px 8px;border-bottom:1px solid #21262d}.ptable td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.prow{cursor:pointer}.prow:hover{background:var(--card)}.pdetail td{background:#0b0f14;font-size:13px}.plan-list{list-style:none;margin:0;padding:0}.plan-task{padding:6px 2px;border-bottom:1px solid #21262d}.plan-task label{display:flex;gap:10px;cursor:pointer;align-items:flex-start;line-height:1.45}.plan-task input{margin-top:3px;flex-shrink:0}.plan-task.done span{color:var(--mut);text-decoration:line-through}.plan-task code{background:#0b0f14;padding:1px 5px;border-radius:4px}.plan-md{padding:4px 2px;font-size:13px;color:var(--mut)}.plan-md h3{font-size:13px;color:var(--fg);border-bottom:1px solid var(--bd);padding-bottom:3px;margin:12px 0 4px}.plan-md blockquote{border-left:3px solid var(--bd);margin:6px 0;padding-left:10px}.plan-md p{margin:4px 0}.pwide{max-width:1280px}.star{color:#e3b341}.nsfw-chip{display:inline-block;min-width:22px;text-align:center;padding:1px 6px;color:#0d1117;font-weight:700;font-size:12px}.badge,.nsfw-chip{border-radius:10px}.badge{font-size:11px;padding:1px 8px;border:1px solid var(--bd);background:#21262d;color:var(--mut);white-space:nowrap}.badge.ai_confirmed{color:#bc8cff;border-color:#5a3d8a}.badge.ai_probable{color:#d2a8ff;border-color:#4a3570}.badge.real{color:#3fb950;border-color:#2e5638}.badge.aggregator,.badge.spam{color:#f85149;border-color:#6e2a28}.badge.ambiguous{color:#d29922;border-color:#6b5618}.tdthumb{width:46px}.thumb{object-fit:cover;cursor:pointer}.thumb,.thumb-empty{width:40px;height:40px;border-radius:8px;border:1px solid var(--bd)}.thumb-empty{display:flex;align-items:center;justify-content:center;color:var(--mut)}.rank{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:10px;gap:10px}.rank-card{display:flex;gap:10px;background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:10px;cursor:pointer}.rank-card img{width:74px;height:74px;object-fit:cover;border-radius:8px;border:1px solid var(--bd)}.rank-card .no-img{width:74px;height:74px;display:flex;align-items:center;justify-content:center;color:var(--mut)}.rank-card .info{flex:1 1;min-width:0}.rank-card .row1{display:flex;justify-content:space-between;align-items:center;gap:8px}.rank-card .desc{font-size:12px;margin-top:6px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pfull .kv{display:grid;grid-template-columns:140px 1fr;grid-gap:4px 10px;gap:4px 10px;font-size:13px;margin:10px 0}.pfull .kv dt{color:var(--mut)}.pfull .kv dd{margin:0}.pfull h3{font-size:13px;margin:14px 0 6px;border-bottom:1px solid var(--bd);padding-bottom:3px}.pfull .shots{display:flex;gap:8px;flex-wrap:wrap}.pfull .shots img{max-height:200px;border-radius:8px;border:1px solid var(--bd);cursor:zoom-in}.pfull .expost{display:flex;gap:10px;margin:8px 0;align-items:flex-start}.pfull .expost img{width:110px;border-radius:8px;border:1px solid var(--bd);cursor:zoom-in}.pfull .expost .likes{color:#f778ba;font-weight:600}.pfull .lessons{white-space:pre-wrap;font-size:13px;background:#0b0f14;border:1px solid var(--bd);border-radius:8px;padding:10px}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:50;cursor:zoom-out}.lightbox img{max-width:92vw;max-height:92vh;border-radius:8px}.decisions{margin-bottom:18px}.decision{border-top:1px solid #21262d;padding:8px 0}.decision .q{margin:0 0 6px;font-size:13px}.decision .a{margin:0;color:#3fb950;font-size:13px}.decision .reply{display:flex;gap:8px;align-items:flex-start}.decision textarea{flex:1 1;background:var(--bg);color:var(--fg);border:1px solid var(--bd);border-radius:7px;padding:6px 10px;font:inherit;resize:vertical}.docs{display:grid;grid-template-columns:300px 1fr;grid-gap:0;gap:0;height:calc(100vh - 52px)}.docnav{border-right:1px solid var(--bd);overflow:auto;padding:10px 8px}.docnav .grp{font-size:11px;text-transform:uppercase;color:var(--mut);margin:12px 8px 4px}.docnav .item{display:block;width:100%;text-align:left;background:transparent;border:0;color:var(--fg);padding:5px 8px;border-radius:6px;cursor:pointer;font-size:13px}.docnav .item.active,.docnav .item:hover{background:var(--card)}.docnav .item.active{border:1px solid var(--bd)}.docview{overflow:auto;padding:18px 28px}.docview h1,.docview h2,.docview h3{border-bottom:1px solid var(--bd);padding-bottom:4px}.docview pre{background:#0b0f14;padding:10px;border-radius:6px;overflow:auto}.docview code{background:#0b0f14;padding:1px 5px;border-radius:4px}.docview table{border-collapse:collapse;margin:8px 0}.docview td,.docview th{border:1px solid var(--bd);padding:4px 8px}.docview blockquote{border-left:3px solid var(--bd);margin:6px 0;padding-left:10px;color:var(--mut)}.docview a{text-decoration:none}