.hub{--paper: #f7f6f3;--tile: #ffffff;--line: #e7e4dd;--ink: #16191f;--dim: #6b7280;--mini: #1f2937;--mini-bg: #ffffff;min-height:100vh;background:radial-gradient(70rem 34rem at 50% -14rem,#ffffff,transparent 70%),var(--paper);color:var(--ink)}.hub-page{max-width:860px;margin:0 auto;padding:34px 20px 64px}.hub-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:34px}.hub-brand{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;letter-spacing:-.01em;color:var(--ink);margin-bottom:12px}.hub-brand svg{color:#4800ff}.hub-colon{color:#4800ff}.hub-hello{font-size:33px;font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:0}.hub-sub{margin:7px 0 0;font-size:13.5px;color:var(--dim)}.hub-btn{font:inherit;font-size:13px;font-weight:600;color:var(--ink);background:var(--tile);border:1px solid #ddd8ce;border-radius:10px;padding:9px 14px;text-decoration:none;display:inline-block;cursor:pointer;transition:background .14s ease,border-color .14s ease}.hub-btn:hover{background:#fffdf9;border-color:#c9c2b4}.hub-btn:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.hub-eyebrow{font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-bottom:12px}.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:14px}.hub-eyebrow-more{margin-top:30px}.hub-more{display:flex;flex-direction:column;gap:2px}.hub-more-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;text-decoration:none;color:var(--ink);transition:background .14s ease}.hub-more-item:hover{background:var(--tile)}.hub-more-item:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.hub-more-dot{width:8px;height:8px;border-radius:50%;background:var(--app);flex:0 0 auto}.hub-more-name{font-size:13.5px;font-weight:700}.hub-more-note{font-size:12.5px;color:var(--dim)}@media(max-width:460px){.hub-more-item{flex-wrap:wrap}.hub-more-note{width:100%;padding-left:18px}}.tile{--app: #2563eb;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:0;text-align:left;font:inherit;color:var(--ink);background:var(--tile);border:1px solid color-mix(in srgb,var(--app) 38%,var(--line));border-radius:18px;padding:0;cursor:pointer;box-shadow:0 1px 2px #181b220d;transition:transform .2s cubic-bezier(.2,.7,.3,1),border-color .2s ease,box-shadow .2s ease;animation:tile-in .46s cubic-bezier(.2,.7,.3,1) backwards;animation-delay:calc(var(--i, 0) * 55ms)}.tile:before{content:"";position:absolute;inset:0 0 auto;height:72%;background:radial-gradient(105% 130% at 18% 0%,var(--app),transparent 62%);opacity:.17;transition:opacity .22s ease;pointer-events:none}.tile:hover,.tile:focus-visible{transform:translateY(-3px);border-color:color-mix(in srgb,var(--app) 55%,var(--line));box-shadow:0 16px 30px -16px color-mix(in srgb,var(--app) 60%,transparent),0 2px 6px #181b220f}.tile:hover:before,.tile:focus-visible:before{opacity:.33}.tile:focus-visible{outline:2px solid var(--app);outline-offset:3px}.tile:active{transform:translateY(-1px)}.tile-art{display:block;width:100%;height:auto;padding:18px 18px 6px}.tile-body{display:block;padding:4px 18px 17px}.tile-name{display:flex;align-items:center;gap:7px;font-size:16px;font-weight:750;letter-spacing:-.01em}.tile-blurb{display:block;margin-top:4px;font-size:12.5px;line-height:1.4;color:var(--dim)}@keyframes tile-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.mini-move{transition:transform .32s cubic-bezier(.2,.7,.3,1)}.mini-fade{transition:opacity .26s ease,fill-opacity .26s ease}.mini-grow{transition:width .34s cubic-bezier(.2,.7,.3,1)}.tile:hover .m-fill,.tile:focus-visible .m-fill{fill-opacity:1}.tile:hover .m-show,.tile:focus-visible .m-show{opacity:1}.tile:hover .m-advance,.tile:focus-visible .m-advance{transform:translateY(12px)}.tile:hover .m-sweep,.tile:focus-visible .m-sweep{width:88px}.tile:hover .m-seek,.tile:focus-visible .m-seek{transform:translate(-46px,14px)}.tile:hover .m-rise,.tile:focus-visible .m-rise{transform:translateY(-5px)}.m-tap{opacity:0}.tile:hover .m-tap,.tile:focus-visible .m-tap{animation:ping .72s ease-out}@keyframes ping{0%{opacity:.5;transform:scale(.55)}to{opacity:0;transform:scale(2.7)}}.hub-empty{margin-top:26px;border:1px dashed #d6d0c4;border-radius:16px;padding:20px;display:grid;gap:12px;justify-items:start}.hub-empty p{margin:0;color:var(--dim);font-size:13.5px;max-width:46ch}.hub-cta{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:700}.hub-cta:hover{background:#2b303a;border-color:#2b303a}.hub-loading{min-height:100vh;display:grid;place-items:center;color:var(--dim);font-size:13.5px}@media(prefers-reduced-motion:reduce){.tile{animation:none}.tile,.tile:before,.mini-move,.mini-fade,.mini-grow{transition:none}.tile:hover,.tile:focus-visible{transform:none}.tile:hover .m-advance,.tile:hover .m-seek{transform:none}.tile:hover .m-tap,.tile:focus-visible .m-tap{animation:none}}:root{--bg: #f4f6f9;--surface: #ffffff;--raised: #f1f5f9;--border: #e2e8f0;--border-strong: #cbd5e1;--text: #1b2430;--text-dim: #64748b;--text-faint: #94a3b8;--live: #dc2626;--next: #d97706;--ok: #16a34a;--accent: #4800ff;--accent-press: #3a00cc;--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "Cascadia Mono", Consolas, monospace;--r-sm: 8px;--r-md: 10px;--r-lg: 16px;--shadow-card: 0 2px 8px rgba(16, 24, 40, .08)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14.5px;line-height:1.5;-webkit-font-smoothing:antialiased}.eyebrow{font-weight:700;font-size:11.5px;letter-spacing:.02em;color:var(--text-dim)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.panel,.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.btn{font-family:var(--font-ui);font-weight:600;font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:9px 14px;min-height:40px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.btn:hover{background:var(--raised)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-accent{background:var(--accent);border-color:var(--accent-press);color:#fff}.btn-accent:hover{background:var(--accent-press)}.btn-accept{background:var(--ok);border-color:#15803d;color:#fff}.btn-accept:hover{background:#15803d}.field{font-family:var(--font-ui);font-size:14px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:9px 12px;min-height:40px;width:100%}.field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #4800ff26}textarea.field{resize:vertical}.tally{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:#eef2ff;color:#4338ca;border:1px solid transparent}.tally-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.chip-date{width:40px;flex:none;text-align:center;background:#eef2ff;border-radius:var(--r-md);padding:5px 0;font-size:9px;font-weight:800;color:#6366f1;text-transform:uppercase}.chip-date b{display:block;font-size:15px;color:#312e81}.row{display:flex;align-items:center;gap:10px;min-height:44px}.greeting{font-size:20px;font-weight:800}.page{max-width:720px;margin:0 auto;padding:18px 14px 90px;display:grid;gap:14px}@media(min-width:768px){.page{padding:26px 22px 40px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
