.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 16px;background:radial-gradient(circle at top,rgba(99,102,241,.16),transparent 65%)}.auth-card{width:min(420px,100%);background:var(--bg-card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-sm);padding:32px 28px;display:flex;flex-direction:column;gap:20px}.auth-card__header h1{font-size:1.6rem;margin:0;text-align:center}.auth-card__branding{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.auth-card__badge{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--accent)}.auth-card__error{background:#f8717129;border:1px solid rgba(248,113,113,.32);color:#fecaca;padding:12px 14px;border-radius:12px;font-size:.95rem}.auth-card__actions{display:flex;justify-content:center}.auth-card__footer{font-size:.85rem;color:var(--text-muted);text-align:center}@media (max-width: 480px){.auth-card{padding:28px 20px}}.auth-card .gsi-material-button{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-appearance:none;background-color:#f8f9fa;background-image:none;border:none;border-radius:20px;box-sizing:border-box;color:#202124;cursor:pointer;font-family:Roboto,Arial,sans-serif;font-size:14px;height:40px;letter-spacing:.25px;outline:none;overflow:hidden;padding:0 12px;position:relative;text-align:center;transition:background-color .218s,border-color .218s,box-shadow .218s;vertical-align:middle;white-space:nowrap;width:300px;max-width:400px;min-width:min-content}.auth-card .gsi-material-button .gsi-material-button-icon{height:20px;margin-right:12px;min-width:20px;width:20px}.auth-card .gsi-material-button .gsi-material-button-content-wrapper{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;height:100%;justify-content:center;position:relative;width:100%}.auth-card .gsi-material-button .gsi-material-button-contents{flex-grow:0;font-family:Roboto,Arial,sans-serif;font-weight:600;color:#202124;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.auth-card .gsi-material-button .gsi-material-button-state{transition:opacity .218s;bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.auth-card .gsi-material-button-hidden-label{display:none}.auth-card .gsi-material-button:disabled{cursor:default;background-color:#ffffff61}.auth-card .gsi-material-button:disabled .gsi-material-button-state{background-color:#1f1f1f1f}.auth-card .gsi-material-button:disabled .gsi-material-button-contents,.auth-card .gsi-material-button:disabled .gsi-material-button-icon{opacity:.38}.auth-card .gsi-material-button:not(:disabled):active .gsi-material-button-state,.auth-card .gsi-material-button:not(:disabled):focus .gsi-material-button-state{background-color:#001d35;opacity:.12}.auth-card .gsi-material-button:not(:disabled):hover{box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.auth-card .gsi-material-button:not(:disabled):hover .gsi-material-button-state{background-color:#001d35;opacity:.08}:root{color-scheme:light;font-family:Inter,GitLab Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:"ss01" on,"cv09" on;--bg-canvas: #f8f7fb;--bg-surface: #ffffff;--bg-subtle: #f2edff;--bg-card: #ffffff;--bg-header: rgba(255, 255, 255, .9);--bg-gradient: radial-gradient(circle at 0% -20%, rgba(249, 236, 255, .9) 0%, rgba(255, 255, 255, .85) 40%, transparent 70%), #f8f7fb;--auth-gradient: radial-gradient(circle at 0 -20%, rgba(252, 109, 38, .24) 0%, transparent 55%), radial-gradient(circle at 80% -10%, rgba(169, 137, 245, .18) 0%, transparent 60%), #f8f7fb;--overlay-backdrop: rgba(23, 19, 33, .32);--border: #dcd4ef;--border-strong: #c0b4e6;--divider: #ebe3fb;--text-primary: #171321;--text-secondary: #444557;--text-muted: #6f7082;--text-inverse: #ffffff;--accent: #7759c2;--accent-strong: #4e2ca3;--accent-bright: #a989f5;--accent-soft: #f1edff;--accent-gradient: linear-gradient(135deg, #fc6d26 0%, #a989f5 45%, #7759c2 100%);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 8px 16px rgba(23, 19, 33, .08);--shadow-md: 0 16px 32px rgba(23, 19, 33, .12);--shadow-lg: 0 24px 48px rgba(23, 19, 33, .16);--primary-shadow: 0 10px 20px rgba(119, 89, 194, .24);--danger-text: #c61a3d;--danger-border: #f4c3cf;--danger-bg: var(--bg-surface);--danger-hover-border: #c61a3d;--danger-hover-bg: #fff5f6;--danger-hover-text: #a11833;--error-text: #b32135;--error-surface: #fff1f4;--error-border: #f2b5bf;--chart-axis: #6f7082;--chart-grid: #dcd4ef;--chart-tooltip-bg: #ffffff;--chart-tooltip-border: #dcd4ef;--chart-tooltip-text: #171321;--tooltip-shadow: 0 12px 24px rgba(23, 19, 33, .12)}:root[data-theme=dark]{color-scheme:dark;--bg-canvas: #0f1222;--bg-surface: #141a2e;--bg-subtle: #11182b;--bg-card: #1a2238;--bg-header: rgba(14, 18, 30, .86);--bg-gradient: radial-gradient(circle at 0% -30%, rgba(119, 89, 194, .18) 0%, transparent 55%), radial-gradient(circle at 80% -20%, rgba(252, 109, 38, .12) 0%, transparent 60%), #0f1222;--auth-gradient: radial-gradient(circle at 0 -20%, rgba(252, 109, 38, .26) 0%, transparent 50%), radial-gradient(circle at 80% -10%, rgba(169, 137, 245, .24) 0%, transparent 65%), #0f1222;--overlay-backdrop: rgba(5, 7, 16, .72);--border: #27324d;--border-strong: #39476d;--divider: #1f2a45;--text-primary: #f5f6ff;--text-secondary: #d2d8ff;--text-muted: #939ec9;--text-inverse: #080b18;--accent: #a989f5;--accent-strong: #c7b7ff;--accent-bright: #e8e0ff;--accent-soft: rgba(169, 137, 245, .18);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 10px 20px rgba(5, 7, 16, .6);--shadow-md: 0 18px 36px rgba(5, 7, 16, .65);--shadow-lg: 0 28px 48px rgba(5, 7, 16, .72);--primary-shadow: 0 14px 28px rgba(169, 137, 245, .28);--danger-text: #ffb8c6;--danger-border: rgba(255, 153, 173, .6);--danger-bg: rgba(71, 15, 27, .48);--danger-hover-border: #ff99ad;--danger-hover-bg: rgba(255, 120, 150, .35);--danger-hover-text: #ffe6eb;--error-text: #ff99ad;--error-surface: rgba(182, 40, 72, .2);--error-border: rgba(255, 153, 173, .6);--chart-axis: #939ec9;--chart-grid: rgba(147, 158, 201, .4);--chart-tooltip-bg: #1d243d;--chart-tooltip-border: #2e3b62;--chart-tooltip-text: #f5f6ff;--tooltip-shadow: 0 18px 32px rgba(4, 6, 18, .55)}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100vh}body{background:var(--bg-gradient);background-color:var(--bg-canvas);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;transition:background .3s ease,color .3s ease}img,svg{display:block}a{color:var(--accent);text-decoration:none}a:hover,a:focus-visible{text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:1rem}button{cursor:pointer}main{display:block}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);height:100vh;background:transparent;position:relative;transition:grid-template-columns .2s cubic-bezier(.33,1,.68,1);overflow:hidden}.app-shell--sidebar-collapsed{grid-template-columns:88px minmax(0,1fr)}.app-shell__sidebar{background:var(--bg-subtle);border-right:1px solid var(--divider);padding:28px 20px 20px;display:flex;flex-direction:column;gap:20px;width:100%;height:100vh;transition:width .2s cubic-bezier(.33,1,.68,1),padding .2s cubic-bezier(.33,1,.68,1),gap .2s cubic-bezier(.33,1,.68,1)}.app-shell__sidebar--collapsed{width:100%;padding-inline:16px;align-items:center;gap:16px}.app-shell__main{display:flex;flex-direction:column;min-width:0;background:transparent;transition:padding .2s cubic-bezier(.33,1,.68,1);height:100vh;overflow-y:auto}.app-shell__header{position:sticky;top:0;z-index:5;background:var(--bg-header);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--divider);padding:12px 24px}.app-shell__content{padding:28px 40px 48px;display:flex;flex-direction:column;gap:32px;max-width:1160px;width:100%;margin:0 auto;transition:padding .2s cubic-bezier(.33,1,.68,1),max-width .2s cubic-bezier(.33,1,.68,1);flex:1}.app-shell__overlay{display:none;background:transparent;border:none}.stack{display:grid;gap:16px}.feature-status{display:inline-flex;align-items:center;gap:12px;font-size:.95rem;color:var(--text-secondary)}.error{color:var(--error-text)}.primary,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 20px;border-radius:var(--radius-sm);font-weight:600;line-height:1;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease}.primary{background:var(--accent);border:1px solid transparent;color:var(--text-inverse);box-shadow:var(--primary-shadow)}.gl-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;min-height:36px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-weight:600;transition:background .2s cubic-bezier(.33,1,.68,1),border-color .2s cubic-bezier(.33,1,.68,1),color .2s cubic-bezier(.33,1,.68,1),box-shadow .2s cubic-bezier(.33,1,.68,1)}.gl-button svg{width:18px;height:18px}.gl-button-tertiary{background:transparent;color:var(--text-secondary)}.gl-button-tertiary:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.gl-button-tertiary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gl-button-tertiary[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.app-shell__collapse.gl-button-tertiary[aria-pressed=true]{background:transparent;border-color:transparent;color:var(--text-secondary)}.app-shell__collapse.gl-button-tertiary[aria-pressed=true]:hover,.app-shell__collapse.gl-button-tertiary[aria-pressed=true]:focus-visible{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.gl-button-icon{width:32px;min-height:32px;padding:0}.primary:hover{background:var(--accent-strong)}.primary:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.primary:focus-visible{outline:2px solid var(--accent-bright);outline-offset:2px}.ghost{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary)}.ghost:hover{border-color:var(--accent);color:var(--accent-strong)}.ghost:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ghost:disabled{opacity:.48;cursor:not-allowed;border-color:var(--border);color:var(--text-muted)}.ghost--danger{color:var(--danger-text);border-color:var(--danger-border);background:var(--danger-bg)}.ghost--danger:hover{border-color:var(--danger-hover-border);background:var(--danger-hover-bg);color:var(--danger-hover-text)}.ghost--danger:focus-visible{outline-color:var(--danger-hover-border)}.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;width:40px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-secondary);transition:background .2s ease,border-color .2s ease,color .2s ease}.icon-button:hover,.icon-button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.icon-button--ghost{border-color:transparent}.icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar{display:flex;flex-direction:column;gap:24px;flex:1;min-height:0}.sidebar--collapsed{align-items:center;gap:16px}.sidebar__body{flex:1;overflow-y:auto;width:100%;padding-bottom:12px}.sidebar--collapsed .sidebar__body{padding-bottom:8px}.sidebar__logo{display:flex;flex-direction:column;gap:8px;font-weight:700;font-size:1.05rem;color:var(--text-primary)}.sidebar__logo span{font-size:.85rem;font-weight:500;color:var(--text-muted)}.sidebar--collapsed .sidebar__logo{font-size:1.1rem;align-items:center}.sidebar__menu{display:grid;gap:8px;list-style:none}.sidebar__menu-item{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-secondary);text-align:left;text-decoration:none;transition:background .2s ease,border-color .2s ease,color .2s ease}.sidebar--collapsed .sidebar__menu{margin-top:0}.sidebar--collapsed .sidebar__menu-item{justify-content:center;padding:10px}.sidebar--collapsed .sidebar__menu-item span{display:none}.sidebar__menu-item span{flex:1;min-width:0}.sidebar__menu-item:hover,.sidebar__menu-item:focus-visible{background:var(--accent-soft);border-color:var(--accent-bright);color:var(--accent-strong);text-decoration:none}.sidebar__menu-item:focus-visible{outline:none;box-shadow:0 0 0 2px #7759c259}.sidebar__menu-item--active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong);box-shadow:0 8px 20px #7759c233}.sidebar__footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px;width:100%}.sidebar--collapsed .sidebar__footer{align-items:center;padding-top:12px;gap:8px;transform:translateY(-12px)}.sidebar__account{position:relative;width:100%;display:grid;gap:12px}.sidebar__account--loading{opacity:.6;pointer-events:none}.sidebar__account-row{display:flex;align-items:center;gap:12px;width:100%}.sidebar--collapsed .sidebar__account-row{flex-direction:column;gap:8px;padding-top:16px;align-items:center}.sidebar__account-button{flex:1;display:inline-flex;align-items:center;gap:12px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-secondary);text-align:left;transition:background .2s cubic-bezier(.33,1,.68,1),border-color .2s cubic-bezier(.33,1,.68,1),color .2s cubic-bezier(.33,1,.68,1)}.sidebar__account-button:hover,.sidebar__account-button:focus-visible{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.sidebar__account-button:focus-visible{outline:none;box-shadow:0 0 0 2px #7759c259}.sidebar--collapsed .sidebar__account-button{justify-content:center;padding:0;width:40px;height:40px;border-radius:999px;margin-top:-4px}.sidebar__account-avatar{width:40px;height:40px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);display:inline-flex;align-items:center;justify-content:center;font-weight:600;overflow:hidden}.sidebar__account-avatar img{width:100%;height:100%;object-fit:cover;border-radius:999px}.sidebar__account-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.sidebar__account-name{font-weight:600;color:var(--text-primary);font-size:.95rem;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.sidebar__account-error-icon{color:var(--error-text);display:inline-flex;align-items:center;justify-content:center;cursor:help}.sidebar__account-error-icon svg{width:16px;height:16px}.sidebar__account-username{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-muted);flex-wrap:wrap}.sidebar__account-tier{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-weight:600;text-transform:capitalize;border:1px solid transparent;background:var(--accent-soft);color:var(--accent-strong)}.sidebar__account-tier[data-tier=free]{background:#6e6e8c29;border-color:#6e6e8c59;color:var(--text-secondary)}.sidebar__account-tier[data-tier=premium],.sidebar__account-tier[data-tier=pro],.sidebar__account-tier[data-tier=creator-pro]{background:linear-gradient(135deg,#fc6d26,#a989f5 60%,#7759c2);color:var(--text-inverse);border-color:transparent;box-shadow:var(--primary-shadow)}.sidebar__account-menu{position:absolute;bottom:calc(100% + 12px);left:0;min-width:220px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:12px;display:flex;flex-direction:column;gap:4px;animation:sidebar-menu-enter .2s cubic-bezier(.33,1,.68,1);z-index:25}.sidebar--collapsed .sidebar__account-menu{left:0;transform:none}.sidebar__account-menu-group{position:relative}.sidebar__account-menu button{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-secondary);font-weight:600;text-align:left;transition:background .2s cubic-bezier(.33,1,.68,1),border-color .2s cubic-bezier(.33,1,.68,1),color .2s cubic-bezier(.33,1,.68,1)}.sidebar__account-menu-item{display:flex;align-items:center;gap:10px;width:100%}.sidebar__account-menu-item--active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.sidebar__account-menu button:hover,.sidebar__account-menu button:focus-visible{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.sidebar__account-menu button:focus-visible{outline:none;box-shadow:0 0 0 2px #7759c233}.sidebar__account-menu button[disabled]{opacity:.65;cursor:wait}.sidebar__account-menu-leading{display:inline-flex;align-items:center;justify-content:center;width:22px;color:currentColor}.sidebar__account-menu-trailing{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.sidebar__theme-menu{position:absolute;top:-12px;left:calc(100% + 8px);min-width:200px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:12px;display:flex;flex-direction:column;gap:12px;z-index:30}.sidebar--collapsed .sidebar__theme-menu{left:calc(100% + 12px);transform:none}.sidebar__theme-menu-options{display:grid;gap:6px}.sidebar__theme-menu-option{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;padding:8px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-secondary);transition:background .2s cubic-bezier(.33,1,.68,1),border-color .2s cubic-bezier(.33,1,.68,1),color .2s cubic-bezier(.33,1,.68,1)}.sidebar__theme-menu-option:hover,.sidebar__theme-menu-option:focus-visible{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong);outline:none}.sidebar__theme-menu-option--active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.sidebar__theme-menu-option-indicator{width:10px;height:10px;border-radius:999px;border:2px solid currentColor;display:inline-flex;align-items:center;justify-content:center;position:relative}.sidebar__theme-menu-option--active .sidebar__theme-menu-option-indicator:after{content:"";width:4px;height:4px;border-radius:999px;background:currentColor}.sidebar__theme-menu-option-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px}.sidebar__theme-menu-option-label{font-weight:600}.sidebar__auth{width:100%}.sidebar__auth-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--accent-strong);text-decoration:none}.sidebar__auth-link:hover,.sidebar__auth-link:focus-visible{text-decoration:underline}@keyframes sidebar-menu-enter{0%{opacity:0}to{opacity:1}}.sidebar__auth--collapsed{display:flex;justify-content:center}.sidebar__auth--collapsed .sidebar__auth-link{justify-content:center}.topbar{display:flex;align-items:center;gap:16px;min-height:48px;flex-wrap:nowrap}.topbar--minimal{gap:12px}.topbar__section{display:flex;align-items:center;gap:12px;min-width:0}.topbar__section--left{flex:1}.topbar__leading{display:inline-flex}.topbar__meta{display:flex;flex-direction:column;gap:4px}.topbar__title{font-size:1.35rem;font-weight:700;letter-spacing:-.01em}.topbar--minimal .topbar__title{font-size:1.25rem}.topbar__subtitle{color:var(--text-muted);font-size:.95rem}.topbar__actions{display:flex;align-items:center;gap:12px}.topbar__theme-toggle{gap:6px}.topbar__theme-toggle svg{width:18px;height:18px}.topbar__auth{display:flex;align-items:center;gap:16px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border)}.topbar__auth-meta{display:flex;flex-direction:column;gap:2px;text-align:left}.topbar__auth-name{font-weight:600}.topbar__auth-email{color:var(--text-muted);font-size:.85rem}@media (max-width: 1200px){.app-shell__content,.app-shell__header{padding-inline:32px}}@media (max-width: 960px){body{overflow-x:hidden}.app-shell{grid-template-columns:1fr}.app-shell__sidebar{position:fixed;inset:0 auto 0 0;width:min(80vw,320px);max-width:320px;transform:translate(0);box-shadow:var(--shadow-lg);z-index:20;transition:transform .28s ease}.app-shell__sidebar--collapsed{transform:translate(-105%);width:min(80vw,320px)}.app-shell__header{padding:20px 24px 16px}.app-shell__content{padding:24px}.topbar__actions{width:100%;justify-content:flex-start}.app-shell__overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-backdrop);z-index:15}.app-shell__overlay:focus-visible{outline:2px solid var(--accent);outline-offset:2px}}@media (max-width: 640px){.app-shell__header,.app-shell__content{padding-inline:20px}.topbar__title{font-size:1.35rem}.topbar__auth{width:100%;justify-content:space-between;flex-wrap:wrap}.topbar__theme-toggle span{display:none}}
