@import url("https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@500;600&display=swap");:root{color-scheme:light;--indigo-900:#12141b;--indigo-800:#1e1b4b;--indigo-700:#3730a3;--indigo-600:#4338ca;--indigo-100:#e9e7fb;--indigo-50:#f7f7fd;--accent-soft:#eeeefb;--paper:#f5f5f2;--paper-2:#fafaf8;--card:#fff;--hairline:#e4e4df;--hairline-2:#efefea;--border-strong:#dcdcd6;--segment:#f1f1ec;--text:#15171c;--text-2:#4a4f5c;--body:#2d313b;--muted:#6b7080;--faint:#9097a6;--success:#15803d;--danger:#b42318;--warning:#b45309;--p1:#c8102e;--p2:#d9480f;--p3:#a16207;--p4:#2563eb;--p1-ink:#9f1239;--p2-ink:#9a3412;--p3-ink:#854d0e;--p4-ink:#1e40af;--neg-bg:#ffe4e9;--neg-ink:#9f1239;--pos-bg:#dcfce7;--pos-ink:#14532d;--warn-bg:#fef3c7;--warn-ink:#713f12;--ext-bg:#e6f4f1;--ext-ink:#134e48;--dl-bg:#fff1e7;--dl-ink:#7c2d12;--font-ui:"Geist","Segoe UI",system-ui,sans-serif;--font-mono:"Geist Mono",ui-monospace,monospace;--shadow-card:none;--topbar:60px}*{box-sizing:border-box}body,html{margin:0}body{background:var(--paper);color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--indigo-700)}a:hover{color:var(--indigo-800)}::selection{background:var(--indigo-100)}button,input,select,textarea{font-family:var(--font-ui);font-size:13.5px}:focus-visible{outline:2px solid var(--indigo-600);outline-offset:2px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--indigo-700)}h1.page{font-size:26px;letter-spacing:-.02em;margin:0 0 4px}h1.page,h2.h{font-weight:600}h2.h{margin:0;font-size:15px}p.sub{color:var(--text-2);margin:0 0 22px;font-size:14.5px;max-width:760px}.card{border:1px solid var(--hairline);border-radius:14px;padding:16px}.card,.panel{background:var(--card)}.panel{border:1px solid var(--hairline);border-radius:16px;overflow:hidden}.panel-head{display:flex;align-items:center;gap:8px;padding:14px 20px;border-bottom:1px solid var(--hairline-2)}.panel-head h2{margin:0;font-size:15px;font-weight:600;flex:1 1}.panel-head a{font-size:13px;font-weight:500;text-decoration:none}.label{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.mono{font-family:var(--font-mono)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--border-strong);background:var(--card);border-radius:8px;font-weight:500;font-size:13px;cursor:pointer;white-space:nowrap;text-decoration:none}.btn,.btn:hover{color:var(--text)}.btn:hover{background:var(--paper-2)}.btn.primary{background:var(--indigo-700);color:#fff;border-color:var(--indigo-700);font-weight:600}.btn.primary:hover{background:var(--indigo-800);border-color:var(--indigo-800);color:#fff}.btn.dark{background:var(--text);color:#fff;border-color:var(--text);font-weight:600}.btn.dark:hover{background:#000;color:#fff}.btn.soft{background:var(--accent-soft);color:var(--indigo-700);border-color:transparent;font-weight:600}.btn.soft:hover{background:var(--indigo-100);color:var(--indigo-700)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn.ghost:hover{background:var(--segment)}.btn.danger{color:var(--danger)}.btn.lg{height:42px;padding:0 16px;border-radius:10px;font-size:13.5px}.btn.icon{width:34px;padding:0}.btn:disabled{opacity:.45;cursor:default}.input{width:100%;min-width:0;height:40px;border:1px solid var(--border-strong);border-radius:10px;padding:0 12px;background:#fff;color:var(--text);font-size:14px}textarea.input{height:auto;padding:10px 12px;line-height:1.55;resize:vertical}.input:focus{outline:3px solid var(--indigo-100);border-color:var(--indigo-600)}.field{display:flex;flex-direction:column;gap:4px}.field>label,.field>span{font-size:12.5px;font-weight:500;color:var(--text-2)}.chip{border-radius:6px;padding:2px 8px;font-size:11.5px;font-weight:600;color:#fff;white-space:nowrap}.chip,.dot{display:inline-block}.dot{width:8px;height:8px;flex:none}.dot,.pill{border-radius:999px}.pill{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--hairline);background:#fff;color:var(--text);font-weight:500;font-size:12.5px;cursor:pointer;white-space:nowrap}.pill.on{background:var(--text);border-color:var(--text);color:#fff}.seg,.tabs{display:inline-flex;flex-wrap:wrap;gap:2px;background:var(--segment);border-radius:10px;padding:3px;margin-bottom:16px}.seg{margin-bottom:0}.tab{height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:0;border-radius:8px;background:transparent;font-weight:500;font-size:13px;color:var(--text-2);cursor:pointer;text-decoration:none}.tab.on,.tab:hover{color:var(--text)}.tab.on{background:#fff;font-weight:600;box-shadow:0 1px 2px rgba(18,20,27,.08)}.grid-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:12px;gap:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;align-items:start}.empty{color:var(--muted);font-size:13.5px;padding:22px;text-align:center}.note{padding:11px 14px;font-size:13px;color:var(--text-2)}.ai-out,.note{background:var(--indigo-50);border:1px solid #e3e2f8;border-radius:12px}.ai-out{white-space:pre-wrap;padding:12px 14px;font-size:13.5px;line-height:1.6;color:var(--body)}.stat{background:var(--card);border:1px solid var(--hairline);border-radius:14px;padding:16px;text-decoration:none;color:var(--text);display:block}a.stat:hover{border-color:var(--border-strong);color:var(--text)}.stat .k{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-2);font-weight:500}.stat .v{font-family:var(--font-mono);font-size:30px;font-weight:600;margin-top:6px;letter-spacing:-.02em;line-height:1.2}.stat .s{font-size:12.5px;color:var(--muted)}.ellipsis{text-overflow:ellipsis}.ellipsis,.sr-only{white-space:nowrap;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0 0 0 0)}.tw-main{max-width:1240px;padding:28px 32px 60px;margin:0 auto}.tw-main:has(.full-bleed){max-width:none;padding:0}.tw-hamburger{display:none;position:fixed;top:11px;left:12px;z-index:60;width:38px;height:38px;border-radius:10px;border:1px solid var(--hairline);background:var(--card);color:var(--text);align-items:center;justify-content:center;cursor:pointer}.tw-backdrop{display:none}.nav-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:#c9ccd6;text-decoration:none;font-size:13.5px}.nav-link:hover{background:#1c1f2a;color:#fff}.nav-link.on{background:#252836;color:#fff;font-weight:500}.mail-page{display:flex;flex-direction:column;height:calc(100vh - var(--topbar))}.mail{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(340px,440px) minmax(0,1fr);background:#fff}.mail-list{border-right:1px solid var(--hairline);display:flex;flex-direction:column;min-height:0;min-width:0}.mail-row{display:flex;gap:10px;padding:12px 16px;border-bottom:1px solid var(--hairline-2);cursor:pointer}.mail-row:hover{background:var(--paper-2)}.mail-row.on{background:var(--accent-soft);border-bottom-color:#e6e6f8}.mail-group{padding:14px 16px 4px;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.mail-back{display:none}.cal{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:20px;gap:20px;padding:20px 24px 32px;align-items:start}@media (max-width:1100px){.cal{grid-template-columns:1fr}}@media (max-width:860px){.input,input,select,textarea{font-size:16px!important}.tw-sidebar{position:fixed!important;left:0;top:0;height:100vh!important;z-index:55;transform:translateX(-102%);transition:transform .22s ease}.tw-sidebar.open{transform:translateX(0);box-shadow:0 0 44px rgba(0,0,0,.45)}.tw-hamburger{display:inline-flex}.tw-backdrop.show{display:block;position:fixed;inset:0;z-index:50;background:rgba(10,10,20,.4)}.tw-topbar{padding:0 16px 0 60px!important}.tw-main{padding:20px 16px 60px}.grid2{grid-template-columns:1fr}.mail-page{height:auto;min-height:calc(100vh - var(--topbar))}.mail{grid-template-columns:minmax(0,1fr)}.mail-list{border-right:0}.mail.reading .mail-list,.mail:not(.reading) .mail-reader{display:none}.mail-back{display:inline-flex}.cal{padding:16px}.hide-sm{display:none!important}}