:root{--bg: #0f1419;--bg2: #161b22;--panel: #1c2330;--border: #2a3344;--text: #e7ecf3;--muted: #93a0b4;--muted2: #6b7a90;--accent: #3b82f6;--accent2: #60a5fa;--chip: #243044;--chip-on: #2563eb;--ok: #34d399;--warn: #fbbf24;--radius: 12px;--shadow: 0 8px 24px rgba(0, 0, 0, .35);--sidebar-w: 260px;--content-max: 1680px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,.sidebar,.main,.feed,*{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar,.sidebar::-webkit-scrollbar,*::-webkit-scrollbar{width:0;height:0;display:none}html,body{margin:0;padding:0;background:var(--bg);color:var(--text)}body{min-height:100vh}a{color:var(--accent2);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:var(--content-max);margin:0 auto;padding:20px 28px 40px}header.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:linear-gradient(135deg,#1a2332,#121821);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);margin-bottom:18px}.brand{display:flex;align-items:center;gap:12px}.logo{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:grid;place-items:center;font-weight:800;font-size:16px}.brand h1{margin:0;font-size:20px;font-weight:700;letter-spacing:.02em}.brand .sub{color:var(--muted);font-size:12.5px;margin-top:2px}.badges{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:12.5px;font-weight:600;border:1px solid var(--border);background:var(--panel);color:var(--muted)}.badge.ok{color:var(--ok);border-color:#1a4a3a;background:#102820}.badge.err{color:#f87171;border-color:#5a2a2a;background:#2a1515}.layout{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);gap:20px;align-items:start}.sidebar{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto;padding:14px;background:var(--bg2);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:18px}.side-block{display:flex;flex-direction:column;gap:8px}.side-title{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted2)}.date-picker{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 12px;border-radius:10px;border:1px solid #2b4a7a;background:#152033;width:100%}.date-label{color:var(--accent2);font-size:12px;font-weight:600;flex-shrink:0}.date-picker select{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;min-width:0;border:none;background:transparent;color:var(--text);font-size:13.5px;font-weight:700;padding:4px 22px 4px 2px;cursor:pointer;outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%6093c5fd' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center}.date-picker select option{background:#1c2330;color:var(--text)}.tabs{display:flex;flex-direction:column;gap:4px;padding:0;background:transparent;border:none;margin:0}.tab{width:100%;text-align:left;padding:10px 12px;border:none;cursor:pointer;background:transparent;color:var(--muted);border-radius:9px;font-size:13.5px;font-weight:600;transition:.15s ease;display:flex;align-items:center;justify-content:space-between;gap:8px}.tab:hover{color:var(--text);background:#1e2736}.tab.active{background:var(--accent);color:#fff;box-shadow:0 4px 12px #3b82f64d}.tab .count{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;background:#ffffff1f;font-weight:700;flex-shrink:0}.tab.active .count{background:#ffffff40}.tab-label-short{display:none}.tab-label-long{display:inline}.filters{display:flex;flex-direction:column;gap:4px;margin:0;align-items:stretch}.filters .label{display:none}.filter{border:1px solid var(--border);background:var(--chip);color:var(--muted);padding:8px 12px;border-radius:9px;cursor:pointer;font-size:12.5px;font-weight:600;text-align:left;width:100%}.filter:hover{color:var(--text);border-color:#3d4d66}.filter.on{background:var(--chip-on);color:#fff;border-color:var(--chip-on)}.main{min-width:0}.note{background:#1a2433;border:1px dashed #334155;color:var(--muted);padding:9px 14px;border-radius:10px;font-size:12.5px;margin-bottom:12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s,transform .15s}.card:hover{border-color:#3d5270;transform:translateY(-1px)}.card.clickable{cursor:pointer}.card.clickable:hover .open-hint{background:#2563eb;color:#fff;border-color:#2563eb}.card.visited{background:#151a22;border-color:#243044;opacity:.72}.card.visited .card-title{color:#9aa8bc;font-weight:600}.card.visited .card-summary{color:#7d8a9c}.card.visited .chip{color:#7a93b0;background:#1a2838;border-color:#2a3a4e}.card.visited .open-hint{background:#1a2838;color:#7a93b0;border-color:#2a3a4e}.card-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chip{font-size:11px;font-weight:700;color:#93c5fd;background:#1e3a5f;border:1px solid #2a4f7a;padding:2px 9px;border-radius:999px}.rank{font-size:11px;font-weight:800;color:var(--warn);background:#3a2e10;border:1px solid #6b5420;padding:2px 7px;border-radius:6px}.card-title{margin:0;font-size:17px;line-height:1.4;font-weight:700;color:#f1f5fb;letter-spacing:.01em}.card-summary{margin:0;color:#a8b4c8;font-size:13.5px;line-height:1.6;flex:1}.card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:2px;padding-top:8px;border-top:1px solid rgba(42,51,68,.7)}.meta{color:var(--muted2);font-size:11.5px;font-weight:500}.btn{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:7px;font-size:12px;font-weight:700;background:#1e3a5f;color:#93c5fd;border:1px solid #2a4f7a;text-decoration:none!important}.btn:hover{background:#2563eb;color:#fff;border-color:#2563eb}.btn[aria-disabled=true]{opacity:.45;pointer-events:none;cursor:default}.empty{text-align:center;color:var(--muted);padding:48px 24px;border:1px dashed var(--border);border-radius:var(--radius);grid-column:1 / -1}footer.foot{margin-top:24px;padding:14px 4px 0;border-top:1px solid var(--border);color:var(--muted2);font-size:12px;line-height:1.7}footer.foot code{background:#1c2433;padding:1px 6px;border-radius:4px;color:var(--muted)}@media(max-width:1200px)and (min-width:901px){:root{--sidebar-w: 220px;--content-max: 1200px}.card-title{font-size:16px}.wrap{padding:16px 20px 32px}}@media(max-width:900px){html,body{max-width:100%;overflow-x:clip}.wrap{max-width:100%;padding:8px 10px calc(16px + env(safe-area-inset-bottom,0px));padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px));padding-top:max(8px,env(safe-area-inset-top,0px))}header.top{padding:8px 10px;margin-bottom:8px;border-radius:10px}.logo{width:28px;height:28px;font-size:13px;border-radius:7px}.brand h1{font-size:15px}.layout{display:flex;flex-direction:column;gap:10px}.sidebar{position:sticky;top:0;z-index:40;max-height:none;overflow:visible;gap:8px;border:none;border-radius:0;background:#0f1419f0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 16px #00000040;width:auto;max-width:none;align-self:stretch;box-sizing:border-box;margin-left:-10px;margin-right:-10px;padding:8px 10px 10px;min-width:0}.side-block{gap:0;width:100%;min-width:0;align-self:stretch;box-sizing:border-box}.side-title,.date-label{display:none}.date-picker{width:100%;padding:0;min-height:0;border:1px solid #2b4a7a;background:#152033;border-radius:8px}.date-picker select{width:100%;font-size:14px;font-weight:700;padding:9px 28px 9px 12px;background-position:right 10px center}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%;min-width:0;box-sizing:border-box;flex-direction:unset;flex-wrap:unset;overflow:visible;padding:0;margin:0;scroll-snap-type:none}.tab{width:100%;min-width:0;box-sizing:border-box;flex:unset;white-space:nowrap;text-align:center;justify-content:center;padding:8px;min-height:36px;border-radius:8px;font-size:13px;scroll-snap-align:unset}.tab-label-long{display:none}.tab-label-short{display:inline}.tab .count{margin-left:4px}.filters{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;width:100%;min-width:0;box-sizing:border-box;overflow:visible;padding:0;margin:0;scroll-snap-type:none;align-items:stretch}.filter{flex:1 1 auto;width:auto;min-width:max-content;max-width:100%;box-sizing:border-box;white-space:nowrap;text-align:center;padding:6px 10px;min-height:32px;border-radius:999px;font-size:12px;scroll-snap-align:unset;overflow:hidden}.note{display:none!important}.grid{grid-template-columns:1fr;gap:10px}.card{padding:12px;border-radius:12px}.card:hover{transform:none}.card-title{font-size:15.5px;line-height:1.45}.card-summary{font-size:13px}.card-foot{gap:8px}.btn,.open-hint{min-height:34px;padding:7px 11px;font-size:12px}.empty{padding:32px 14px}}@media(max-width:420px){.wrap{padding-left:max(8px,env(safe-area-inset-left,0px));padding-right:max(8px,env(safe-area-inset-right,0px))}.sidebar{width:auto;margin-left:-8px;margin-right:-8px;padding-left:8px;padding-right:8px;box-sizing:border-box}.brand h1{font-size:14.5px}.tab{padding:7px 6px;font-size:12.5px}.filter{padding:5px 8px;font-size:11.5px}.card-title{font-size:15px}}
