:root{--bg: #0a0a0e;--bg-raise: #131318;--bg-hover: #191921;--bg-inset: #0e0e13;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--text: #e9eaf0;--text-2: #9a9daa;--text-3: #5e6170;--accent: #6c78e6;--accent-bright: #8b95f0;--accent-soft: rgba(108, 120, 230, .14);--green: #4ade80;--green-soft: rgba(74, 222, 128, .1);--amber: #fbbf24;--red: #f87171;--red-soft: rgba(248, 113, 113, .1);--cyan: #67e8f9;--cyan-soft: rgba(103, 232, 249, .1);--font-display: "Schibsted Grotesk", "Segoe UI", sans-serif;--font-body: "Hanken Grotesk", "Segoe UI", sans-serif;--font-mono: "Spline Sans Mono", "Cascadia Code", Consolas, monospace;--radius: 10px;--radius-sm: 7px;--ease-out: cubic-bezier(.22, 1, .36, 1);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(640px 320px at 50% -120px,rgba(108,120,230,.16),transparent 70%),radial-gradient(rgba(255,255,255,.022) 1px,transparent 1px);background-size:auto,26px 26px}#root{position:relative;z-index:1}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;color:var(--text)}h1{font-size:26px}a{color:var(--accent-bright);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}::selection{background:#6c78e659}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rise{animation:rise .45s var(--ease-out) both}.stagger>*{animation:rise .45s var(--ease-out) both}.stagger>*:nth-child(1){animation-delay:.02s}.stagger>*:nth-child(2){animation-delay:.06s}.stagger>*:nth-child(3){animation-delay:.1s}.stagger>*:nth-child(4){animation-delay:.14s}.stagger>*:nth-child(5){animation-delay:.18s}.stagger>*:nth-child(6){animation-delay:.22s}.stagger>*:nth-child(7){animation-delay:.26s}.stagger>*:nth-child(8){animation-delay:.3s}@media (prefers-reduced-motion: reduce){.rise,.stagger>*{animation:none}*{transition-duration:.01ms!important}}.app-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:24px;padding:0 24px;height:54px;border-bottom:1px solid var(--line);background:#0a0a0ebf;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--text);white-space:nowrap}.logo-mark{width:18px;height:18px;border-radius:5px;background:linear-gradient(135deg,var(--accent-bright),#4a55c7);box-shadow:0 0 14px #6c78e68c;position:relative;flex-shrink:0}.logo-mark:after{content:"";position:absolute;top:5px;right:4px;bottom:4px;left:4px;border-radius:2px;border:1.5px solid rgba(255,255,255,.85);border-top-width:4px}.app-nav{display:flex;gap:4px}.nav-link{padding:5px 11px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;color:var(--text-2);transition:color .15s,background .15s}.nav-link:hover{color:var(--text);background:var(--bg-hover);text-decoration:none}.nav-link.active{color:var(--text);background:var(--accent-soft)}.header-right{margin-left:auto;display:flex;align-items:center}.app-main{max-width:1080px;margin:0 auto;padding:28px 24px 80px}.hero{text-align:center;margin-top:96px}.hero h1{font-size:40px;letter-spacing:-.03em;margin-bottom:8px;background:linear-gradient(180deg,#f2f3f8,#a3a8c0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero p{color:var(--text-2);font-size:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-body);font-size:13.5px;font-weight:500;border-radius:var(--radius-sm);padding:7px 14px;cursor:pointer;border:1px solid transparent;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,transform .1s}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:default;opacity:.45;transform:none}.btn-primary{background:linear-gradient(180deg,#6d79e8,#5560d4);color:#fff;border-color:#ffffff1f;box-shadow:0 1px 2px #0006,0 0 16px #6c78e640}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#7b86ee,#616cdb)}.btn-ghost{background:transparent;color:var(--text-2);border-color:var(--line-strong)}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:#ffffff47;background:var(--bg-hover)}.btn-danger{background:transparent;color:var(--red);border-color:#f871714d}.btn-danger:hover:not(:disabled){background:var(--red-soft);border-color:#f8717180}.btn-sm{padding:4px 10px;font-size:12.5px}.btn-done{background:var(--green-soft);color:var(--green);border-color:#4ade8040;cursor:default}.field-label{display:block;font-family:var(--font-mono);font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:6px}.input,.select{font-family:var(--font-body);font-size:14px;color:var(--text);background:var(--bg-inset);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 11px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--text-3)}.input:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6c78e62e}.select{cursor:pointer}.checkbox-label{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-2);cursor:pointer}.checkbox-label input{accent-color:var(--accent)}.panel{background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:inset 0 1px #ffffff0a,0 8px 24px #00000040}.card{background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:10px;box-shadow:inset 0 1px #ffffff0a;transition:border-color .15s,transform .15s,box-shadow .15s}.card:hover{border-color:var(--line-strong);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff0d,0 8px 20px #00000059}.card h3{margin:0 0 4px;font-size:15.5px;font-weight:600}.card-meta{font-family:var(--font-mono);font-size:12px;color:var(--text-2);margin:0 0 6px}.card-link{font-size:13px}.subpanel{background:var(--bg-inset);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin-bottom:14px}.subpanel-title{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:8px}.pill{display:inline-block;font-family:var(--font-mono);font-size:11px;border-radius:999px;padding:2px 9px;margin-right:6px;background:var(--accent-soft);color:var(--accent-bright)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-inset);padding:2px;gap:2px}.seg button{border:none;background:transparent;color:var(--text-2);font-family:var(--font-body);font-size:13px;font-weight:500;padding:4px 12px;border-radius:5px;cursor:pointer;transition:background .15s,color .15s}.seg button:hover{color:var(--text)}.seg button.active{background:var(--bg-hover);color:var(--text);box-shadow:inset 0 1px #ffffff0f,0 1px 2px #0006}.suggest{position:absolute;top:100%;left:0;right:0;z-index:20;margin-top:4px;background:#17171f;border:1px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:0 12px 32px #0000008c;overflow:hidden}.suggest-item{padding:8px 12px;font-size:13.5px;color:var(--text-2);cursor:pointer}.suggest-item:hover{background:var(--accent-soft);color:var(--text)}.status-line{font-size:13.5px;color:var(--text-2)}.muted{color:var(--text-2)}.faint{color:var(--text-3);font-size:13px}.interp{font-size:13px;color:var(--accent-bright);font-family:var(--font-mono)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.toolbar-count{font-family:var(--font-mono);font-size:12px;color:var(--text-3)}.pager{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px}.pager-info{font-family:var(--font-mono);font-size:12px;color:var(--text-2)}.cal-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.cal-head h2{margin:0;font-size:18px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg-raise)}.cal-weekday{padding:8px 6px;text-align:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--text-3);border-bottom:1px solid var(--line);background:var(--bg-inset)}.cal-cell{min-height:116px;padding:7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cal-cell:nth-child(7n){border-right:none}.cal-cell:nth-last-child(-n+7){border-bottom:none}.cal-cell.out{background:var(--bg-inset)}.cal-daynum{display:block;text-align:center;margin-bottom:4px;font-family:var(--font-mono);font-size:11.5px;color:var(--text-2)}.cal-cell.out .cal-daynum{color:var(--text-3)}.cal-daynum.today{color:#fff;background:var(--accent);border-radius:999px;padding:2px 7px;display:inline-block;margin-left:50%;transform:translate(-50%);box-shadow:0 0 10px #6c78e680}.cal-event{display:block;font-size:12px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 4px;border-radius:4px;margin-bottom:1px}.cal-event:hover{background:var(--accent-soft);color:var(--text);text-decoration:none}.cal-dot{color:var(--amber)}.cal-more{font-size:11px;color:var(--text-3);padding-left:4px}.gcal-frame{border:1px solid var(--line);border-radius:var(--radius);width:100%;height:640px;background:#fff}.row-url{font-size:12.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono)}.row-status{font-family:var(--font-mono);font-size:11px;color:var(--text-3)}
