@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;900&display=swap");:root{color-scheme:light;--gray-25:#FCFCFD;--gray-50:#F9FAFB;--gray-100:#F2F4F7;--gray-200:#EAECF0;--gray-300:#D0D5DD;--gray-400:#98A2B3;--gray-500:#667085;--gray-600:#475467;--gray-700:#344054;--gray-800:#1D2939;--gray-900:#101828;--black:#000000;--white:#FFFFFF;--ink-900:var(--gray-900);--ink-800:var(--gray-800);--ink-700:var(--gray-700);--ink-600:var(--gray-600);--ink-500:var(--gray-500);--ink-400:var(--gray-400);--ink-300:var(--gray-400);--ink-200:var(--gray-300);--ink-150:var(--gray-200);--ink-100:var(--gray-200);--ink-75:var(--gray-200);--ink-50:var(--gray-100);--ink-25:var(--gray-50);--paper:var(--gray-50);--paper-soft:var(--gray-50);--paper-warm:var(--gray-25);--brand-25:#F1FBFB;--brand-50:#E7F8F8;--brand-100:#D2EEEE;--brand-200:#C3E1E1;--brand-300:#7AC5C3;--brand-400:#4FB3B1;--brand-500:#319795;--brand-600:#2C7A7B;--brand-700:#1F5F5E;--brand-800:#0D5856;--brand-900:#083F3E;--teal-900:var(--brand-800);--teal-700:var(--brand-600);--teal-500:var(--brand-500);--teal-400:var(--brand-300);--teal-200:var(--brand-200);--teal-100:var(--brand-100);--teal-75:var(--brand-50);--teal-50:var(--brand-25);--orange-700:#C05621;--orange-600:#D26417;--orange-500:#DD6B20;--orange-400:#F38744;--orange-300:#FDB022;--orange-200:#FEDF89;--orange-100:#FEF0C7;--orange-50:#FFF3EB;--orange-25:#FFFAF5;--grade-again:#D92D20;--grade-again-bg:#FEF3F2;--grade-hard:#BA24D5;--grade-hard-bg:#FDF4FF;--grade-good:var(--brand-500);--grade-good-bg:var(--brand-50);--grade-easy:#079455;--grade-easy-bg:#ECFDF3;--bg-canvas:var(--gray-50);--bg-surface:#FFFFFF;--bg-surface-2:var(--gray-50);--bg-elevated:#FFFFFF;--bg-sidebar:#FFFFFF;--bg-overlay:rgba(16,24,40,0.55);--app-chrome-height:56px;--app-chrome-bg:var(--bg-sidebar);--fg-primary:var(--gray-900);--fg-secondary:var(--gray-700);--fg-tertiary:var(--gray-600);--fg-quaternary:var(--gray-500);--fg-placeholder:var(--gray-500);--fg-disabled:var(--gray-400);--fg-on-brand:#FFFFFF;--fg-on-dark:#FFFFFF;--fg-brand:var(--brand-500);--fg-1:var(--fg-primary);--fg-2:var(--fg-secondary);--fg-3:var(--fg-tertiary);--fg-4:var(--fg-quaternary);--fg-5:var(--fg-placeholder);--fg-accent:var(--brand-500);--border-primary:var(--gray-300);--border-secondary:var(--gray-200);--border-tertiary:var(--gray-100);--border-disabled:var(--gray-200);--border-brand:var(--brand-500);--border-error:var(--grade-again);--border-1:var(--border-secondary);--border-2:var(--border-secondary);--border-3:var(--border-tertiary);--border-focus:var(--brand-500);--action-primary-bg:var(--gray-900);--action-primary-bg-hover:#000000;--action-primary-fg:#FFFFFF;--action-secondary-bg:#FFFFFF;--action-secondary-bg-hover:var(--gray-50);--action-secondary-fg:var(--gray-700);--action-secondary-border:var(--gray-300);--action-tertiary-fg:var(--gray-600);--action-tertiary-fg-hover:var(--gray-700);--action-brand-bg:var(--brand-500);--action-brand-bg-hover:var(--brand-600);--action-brand-fg:#FFFFFF;--action-danger-bg:var(--grade-again);--action-danger-bg-hover:#B42318;--action-danger-fg:#FFFFFF;--focus-ring:0 0 0 4px rgba(49,151,149,0.24);--focus-ring-error:0 0 0 4px rgba(217,45,32,0.24);--focus-ring-gray:0 0 0 4px rgba(152,162,179,0.20);--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-2xl:12px;--radius-3xl:16px;--radius-4xl:20px;--radius-pill:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--shadow-xs:0 1px 2px 0 rgba(16,24,40,0.05);--shadow-sm:0 1px 3px 0 rgba(16,24,40,0.10),0 1px 2px 0 rgba(16,24,40,0.06);--shadow-md:0 4px 8px -2px rgba(16,24,40,0.10),0 2px 4px -2px rgba(16,24,40,0.06);--shadow-lg:0 12px 16px -4px rgba(16,24,40,0.08),0 4px 6px -2px rgba(16,24,40,0.03);--shadow-xl:0 20px 24px -4px rgba(16,24,40,0.08),0 8px 8px -4px rgba(16,24,40,0.03);--font-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace}[data-theme=dark]{color-scheme:dark;--gray-25:#0B0F19;--gray-50:#101828;--gray-100:#1D2939;--gray-200:#344054;--gray-300:#475467;--gray-400:#667085;--gray-500:#98A2B3;--gray-600:#D0D5DD;--gray-700:#EAECF0;--gray-800:#F2F4F7;--gray-900:#F9FAFB;--white:#131A2B;--paper:#0B0F19;--paper-soft:#101828;--paper-warm:#0B0F19;--bg-canvas:#0B0F19;--bg-surface:#131A2B;--bg-surface-2:#1D2939;--bg-elevated:#1D2939;--bg-sidebar:#0E141F;--bg-overlay:rgba(0,0,0,0.72);--border-primary:#344054;--border-secondary:#1F2937;--border-tertiary:#1A2233;--border-1:#1F2937;--border-2:#1F2937;--border-3:#1A2233;--brand-25:#082222;--brand-50:#0C2E2E;--brand-100:#103D3C;--brand-200:#134E4C;--grade-again-bg:rgba(217,45,32,0.16);--grade-hard-bg:rgba(186,36,213,0.18);--grade-good-bg:rgba(49,151,149,0.20);--grade-easy-bg:rgba(7,148,85,0.18);--action-primary-bg:#F9FAFB;--action-primary-bg-hover:#FFFFFF;--action-primary-fg:#101828;--action-secondary-bg:#1D2939;--action-secondary-bg-hover:#344054;--action-secondary-fg:#EAECF0;--action-secondary-border:#344054;--shadow-xs:0 1px 2px 0 rgba(0,0,0,0.30);--shadow-sm:0 1px 3px 0 rgba(0,0,0,0.45),0 1px 2px 0 rgba(0,0,0,0.30);--shadow-md:0 4px 8px -2px rgba(0,0,0,0.50),0 2px 4px -2px rgba(0,0,0,0.35);--shadow-lg:0 12px 16px -4px rgba(0,0,0,0.55),0 4px 6px -2px rgba(0,0,0,0.35);--shadow-xl:0 20px 24px -4px rgba(0,0,0,0.55),0 8px 8px -4px rgba(0,0,0,0.35)}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--gray-25:#0B0F19;--gray-50:#101828;--gray-100:#1D2939;--gray-200:#344054;--gray-300:#475467;--gray-400:#667085;--gray-500:#98A2B3;--gray-600:#D0D5DD;--gray-700:#EAECF0;--gray-800:#F2F4F7;--gray-900:#F9FAFB;--white:#131A2B;--paper:#0B0F19;--paper-soft:#101828;--paper-warm:#0B0F19;--bg-canvas:#0B0F19;--bg-surface:#131A2B;--bg-surface-2:#1D2939;--bg-elevated:#1D2939;--bg-sidebar:#0E141F;--bg-overlay:rgba(0,0,0,0.72);--border-primary:#344054;--border-secondary:#1F2937;--border-tertiary:#1A2233;--border-1:#1F2937;--border-2:#1F2937;--border-3:#1A2233;--brand-25:#082222;--brand-50:#0C2E2E;--brand-100:#103D3C;--brand-200:#134E4C;--grade-again-bg:rgba(217,45,32,0.16);--grade-hard-bg:rgba(186,36,213,0.18);--grade-good-bg:rgba(49,151,149,0.20);--grade-easy-bg:rgba(7,148,85,0.18);--action-primary-bg:#F9FAFB;--action-primary-bg-hover:#FFFFFF;--action-primary-fg:#101828;--action-secondary-bg:#1D2939;--action-secondary-bg-hover:#344054;--action-secondary-fg:#EAECF0;--action-secondary-border:#344054;--shadow-xs:0 1px 2px 0 rgba(0,0,0,0.30);--shadow-sm:0 1px 3px 0 rgba(0,0,0,0.45),0 1px 2px 0 rgba(0,0,0,0.30);--shadow-md:0 4px 8px -2px rgba(0,0,0,0.50),0 2px 4px -2px rgba(0,0,0,0.35);--shadow-lg:0 12px 16px -4px rgba(0,0,0,0.55),0 4px 6px -2px rgba(0,0,0,0.35);--shadow-xl:0 20px 24px -4px rgba(0,0,0,0.55),0 8px 8px -4px rgba(0,0,0,0.35)}}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:var(--bg-canvas)}body{font-family:var(--font-sans);color:var(--fg-secondary);font-size:16px;line-height:24px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .16s ease,color .16s ease}.app-chrome-bar{display:flex;align-items:center;flex-shrink:0;height:var(--app-chrome-height);box-sizing:border-box;border-bottom:1px solid var(--border-secondary);background:var(--app-chrome-bg)}.sidebar-shell{--sidebar-motion:240ms cubic-bezier(0.4,0,0.2,1);transition:width var(--sidebar-motion)}.sidebar-shell__brand{transition:padding var(--sidebar-motion)}.sidebar-shell__brand-link{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden;transition:opacity var(--sidebar-motion),max-width var(--sidebar-motion),transform var(--sidebar-motion)}.sidebar-shell--collapsed .sidebar-shell__brand-link{opacity:0;max-width:0;transform:translateX(-6px);pointer-events:none}.sidebar-shell--expanded .sidebar-shell__brand-link{opacity:1;max-width:180px;transform:translateX(0);flex:1 1 auto}.sidebar-shell__brand-text{white-space:nowrap;overflow:hidden;transition:opacity var(--sidebar-motion),max-width var(--sidebar-motion),transform var(--sidebar-motion)}.sidebar-shell--collapsed .sidebar-shell__brand-text{opacity:0;max-width:0;transform:translateX(-8px)}.sidebar-shell--expanded .sidebar-shell__brand-text{opacity:1;max-width:120px;transform:translateX(0)}.sidebar-shell__toggle{position:relative;width:32px;height:32px;flex-shrink:0;margin-left:auto;border:0;padding:0;border-radius:8px;background:transparent;color:var(--fg-quaternary);cursor:pointer}.sidebar-shell--collapsed .sidebar-shell__toggle{margin-left:0}.sidebar-shell__toggle i{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;transition:opacity var(--sidebar-motion),transform var(--sidebar-motion)}.sidebar-shell__toggle i.is-visible{opacity:1;transform:scale(1) rotate(0deg);pointer-events:auto}.sidebar-shell__toggle i.is-hidden{opacity:0;transform:scale(.92) rotate(-8deg);pointer-events:none}.sidebar-shell__nav{transition:padding var(--sidebar-motion)}.sidebar-shell__nav-label{white-space:nowrap;overflow:hidden;transition:opacity var(--sidebar-motion),max-width var(--sidebar-motion),transform var(--sidebar-motion)}.sidebar-shell--collapsed .sidebar-shell__nav-label{opacity:0;max-width:0;transform:translateX(-6px)}.sidebar-shell--expanded .sidebar-shell__nav-label{opacity:1;max-width:120px;transform:translateX(0)}.sidebar-shell__nav-item,.sidebar-shell__user-footer{transition:padding var(--sidebar-motion),gap var(--sidebar-motion)}.sidebar-shell__user-meta{min-width:0;overflow:hidden;transition:opacity var(--sidebar-motion),max-width var(--sidebar-motion),transform var(--sidebar-motion)}.sidebar-shell--collapsed .sidebar-shell__user-meta{opacity:0;max-width:0;transform:translateX(-6px);pointer-events:none}.sidebar-shell--expanded .sidebar-shell__user-meta{opacity:1;max-width:140px;transform:translateX(0);flex:1 1 auto}.sidebar-shell__user-actions{display:flex;align-items:center;gap:4px}.sidebar-shell--collapsed .sidebar-shell__user-actions{flex-direction:column}.sidebar-shell--expanded .sidebar-shell__user-actions{flex-direction:row}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,select,textarea{font-family:inherit}.display-2xl{font:700 72px/90px var(--font-sans)}.display-2xl,.display-xl{letter-spacing:-.02em;color:var(--fg-primary)}.display-xl{font:700 60px/72px var(--font-sans)}.display-lg{font:600 48px/60px var(--font-sans)}.display-lg,.display-md{letter-spacing:-.02em;color:var(--fg-primary)}.display-md{font:600 36px/44px var(--font-sans)}.display-sm{font:600 30px/38px var(--font-sans)}.display-sm,.display-xs{letter-spacing:-.01em;color:var(--fg-primary)}.display-xs{font:600 24px/32px var(--font-sans)}.text-xl{font-size:20px;line-height:30px}.text-lg{font-size:18px;line-height:28px}.text-md{font-size:16px;line-height:24px}.text-sm{font-size:14px;line-height:20px}.text-xs{font-size:12px;line-height:18px}.muted{color:var(--fg-quaternary)}.subtle{color:var(--fg-placeholder)}.accent{color:var(--fg-brand)}.due{color:var(--orange-500)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;cursor:pointer;font-family:var(--font-sans);font-weight:500;white-space:nowrap;transition:background .15s ease,color .15s ease,opacity .15s ease,box-shadow .15s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-primary{background:var(--action-primary-bg);color:var(--action-primary-fg);padding:10px 20px;border-radius:var(--radius-pill);font-size:14px;line-height:20px}.btn-primary:hover:not(:disabled){background:var(--action-primary-bg-hover)}.btn-secondary{background:var(--action-secondary-bg);color:var(--action-secondary-fg);border:1px solid var(--action-secondary-border);padding:9px 19px;border-radius:var(--radius-pill);font-size:14px;line-height:20px}.btn-secondary:hover:not(:disabled){background:var(--action-secondary-bg-hover)}.btn-ghost{background:var(--bg-surface);color:var(--fg-secondary);border:1px solid var(--border-secondary);padding:9px 19px;border-radius:var(--radius-pill);font-size:14px;line-height:20px}.btn-ghost:hover:not(:disabled){background:var(--bg-surface-2)}.btn-danger{background:var(--action-danger-bg);color:var(--action-danger-fg);padding:10px 20px;border-radius:var(--radius-pill);font-size:14px;line-height:20px}.btn-sm{padding:8px 16px;font-size:13px;line-height:16px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font:500 13px/16px var(--font-sans);color:var(--fg-secondary)}.input,.textarea{width:100%;border-radius:var(--radius-md);border:1px solid var(--border-primary);background:var(--bg-surface);color:var(--fg-primary);font:400 14px/20px var(--font-sans);outline:none;transition:border-color .15s,box-shadow .15s}.input{padding:10px 14px}.textarea{padding:12px 14px;line-height:22px;resize:vertical;min-height:200px}.input:focus,.textarea:focus{border-color:var(--border-focus);box-shadow:var(--focus-ring)}.input::placeholder,.textarea::placeholder{color:var(--fg-placeholder)}.surface{background:var(--bg-surface);border:1px solid var(--border-secondary);border-radius:var(--radius-lg)}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill);font:500 12px/16px var(--font-sans)}.chip-new{background:var(--brand-100);color:var(--brand-800)}.chip-due{background:var(--orange-50);color:var(--orange-700)}.chip-neutral{background:var(--bg-surface-2);color:var(--fg-secondary)}.chip-dot{width:6px;height:6px;border-radius:50%;background:currentColor}[data-theme=dark] .chip-new{color:var(--brand-200);background:var(--brand-100)}[data-theme=dark] .chip-due{color:var(--orange-200);background:rgba(221,107,32,.16)}.stack{flex-direction:column}.row,.stack{display:flex}.row{align-items:center}.spacer{flex:1 1}.notice{padding:10px 14px;border-radius:var(--radius-md);font:400 13px/18px var(--font-sans);border:1px solid transparent}.notice-info{background:var(--brand-50);color:var(--brand-800);border-color:var(--brand-200)}.notice-error{background:var(--grade-again-bg);color:var(--grade-again);border-color:rgba(217,45,32,.32)}.notice-warn{background:var(--orange-50);color:var(--orange-700);border-color:var(--orange-200)}[data-theme=dark] .notice-info{color:var(--brand-200)}[data-theme=dark] .notice-warn{color:var(--orange-200)}