:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-lg:16px;--motion-fast:.12s;--motion-base:.18s;--motion-slow:.26s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-emphasized:cubic-bezier(.2, .75, .2, 1);--bg:#f3f6f5;--surface:#fff;--surface-raised:#fff;--surface-muted:#edf2f0;--surface-subtle:#fafbfa;--surface-hover:#fbfcfb;--control-bg:#fff;--chrome:#f5f7f4f2;--ink:#17262b;--muted:#627177;--soft:#879398;--line:#dbe4e1;--line-strong:#c7d3cf;--row-line:#edf0ed;--focus-ring:#426b993d;--focus-shadow:#236b561f;--on-accent:#fff;--brand:#116b68;--brand-dark:#0b4f50;--brand-solid:#0b4f50;--brand-soft:#deefeb;--green:var(--brand);--green-dark:var(--brand-dark);--green-soft:var(--brand-soft);--coral:#d9654f;--coral-soft:#fae9e4;--blue:#476d91;--blue-soft:#e8eef4;--amber:#a97127;--amber-soft:#f8eddc;--red:#b74b40;--red-soft:#f8e7e4;--success-border:#c9ddd5;--success-surface:#f7faf8;--success-text:#365d4f;--warning-border:#e3c998;--warning-surface:#fffaf1;--warning-text:#704b18;--danger-border:#efc5bf;--danger-surface:#fff8f7;--danger-text:#8b3028;--info-text:#315578;--neutral-track:#c6ceca;--skeleton:#e9ede9;--skeleton-sheen:#ffffff9e;--shadow-xs:0 1px 2px #122d2b0d;--shadow-sm:0 5px 18px #122d2b12;--shadow:0 14px 38px #122d2b1a;--shadow-overlay:0 28px 80px #0a17123d;font-family:Inter,SF Pro Text,Segoe UI Variable Text,Segoe UI,ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box;letter-spacing:0}html{background:var(--bg);scroll-behavior:smooth;scrollbar-gutter:stable;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--ink);font-size:var(--text-md);margin:0;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}::selection{background:var(--brand-soft);color:var(--ink)}.skip-link{z-index:500;background:var(--ink);color:var(--surface);font-size:var(--text-sm);box-shadow:var(--shadow);transition:transform var(--motion-base) var(--ease-emphasized);border-radius:5px;padding:9px 13px;font-weight:750;position:fixed;top:10px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.brand{align-items:center;gap:11px;min-width:0;display:inline-flex}.brand-mark{flex:0 0 36px;width:36px;height:36px;display:block;overflow:visible}.brand-mark-background{fill:var(--brand-solid)}.brand-mark-integral{fill:none;stroke:#fff;stroke-linecap:round;stroke-width:3.2px}.brand-mark-start{fill:#e76f51}.brand-mark-end{fill:#8bd3c7}.brand-name{color:var(--ink);white-space:nowrap;font-size:18px;font-weight:780}.app-loading{place-content:center;gap:20px;min-height:100vh;display:grid}.loading-line{background:var(--line);border-radius:2px;width:152px;height:3px;overflow:hidden}.loading-line:after{background:var(--green);content:"";width:52%;height:100%;animation:1.1s ease-in-out infinite alternate loading;display:block}@keyframes loading{0%{transform:translate(-15%)}to{transform:translate(110%)}}@keyframes spin{to{transform:rotate(360deg)}}.spin,.spinner{animation:.8s linear infinite spin}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:0 0 16px;width:16px;height:16px;display:inline-block}.primary-button,.secondary-button,.danger-button,.text-button{min-height:40px;font-size:var(--text-md);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border-radius:6px;justify-content:center;align-items:center;gap:8px;font-weight:720;display:inline-flex}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.danger-button:active:not(:disabled),.text-button:active:not(:disabled),.icon-button:active:not(:disabled){transform:translateY(1px)}.primary-button{border:1px solid var(--green);background:var(--green);color:var(--on-accent);padding:0 16px}.primary-button:hover:not(:disabled){border-color:var(--green-dark);background:var(--green-dark);box-shadow:0 4px 14px color-mix(in srgb, var(--green) 22%, transparent)}.secondary-button{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);padding:0 14px}.secondary-button:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-muted)}.danger-button{min-height:36px;color:var(--red);background:0 0;border:1px solid #0000;padding:0 10px}.danger-button:hover,.danger-button.armed{border-color:var(--danger-border);background:var(--red-soft)}.text-button{min-height:36px;color:var(--blue);background:0 0;border:0;padding:0 8px}.text-button:hover{background:var(--blue-soft)}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.58}.icon-button{width:36px;height:36px;color:var(--muted);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:0 0;border:1px solid #0000;border-radius:5px;flex:0 0 36px;place-items:center;display:inline-grid}.icon-button:hover{border-color:var(--line);background:var(--surface-muted);color:var(--ink)}.danger-icon:hover{border-color:var(--danger-border);background:var(--red-soft);color:var(--red)}.login-page{background:var(--bg);min-height:100vh}.login-topbar{align-items:center;max-width:1220px;height:76px;margin:0 auto;padding:0 28px;display:flex}.login-layout{grid-template-columns:minmax(0,1fr) 440px;align-items:center;gap:90px;width:min(1160px,100% - 56px);min-height:calc(100vh - 132px);margin:0 auto;padding:36px 0 72px;display:grid}.login-context{max-width:550px}.context-icon{width:52px;height:52px;margin-bottom:28px}.context-icon .brand-mark{width:52px;height:52px}.login-product-label{color:var(--green);font-size:var(--text-sm);text-transform:uppercase;margin-bottom:13px;font-weight:800;display:block}.login-context h1{max-width:530px;font-size:48px;font-weight:780;line-height:1.08}.login-context>p{max-width:520px;color:var(--muted);margin-top:22px;font-size:18px;line-height:1.65}.security-points{flex-wrap:wrap;gap:18px 28px;margin-top:38px;display:flex}.security-points span{color:var(--muted);font-size:var(--text-md);align-items:center;gap:9px;font-weight:650;display:inline-flex}.security-points svg{color:var(--green)}.source-notice{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);grid-template-columns:40px minmax(0,1fr) 34px;align-items:center;gap:13px;max-width:540px;margin-top:31px;padding:17px 0;display:grid}.source-notice-icon{background:var(--brand-soft);width:38px;height:38px;color:var(--brand-dark);border-radius:6px;place-items:center;display:grid}.source-notice>div{gap:3px;min-width:0;display:grid}.source-notice strong{font-size:var(--text-md);line-height:1.35}.source-notice>div>span{color:var(--muted);font-size:var(--text-xs)}.source-notice small{color:var(--soft);font-size:var(--text-xs);align-items:flex-start;gap:5px;margin-top:4px;line-height:1.45;display:flex}.source-notice small svg{flex:0 0 12px;margin-top:1px}.source-notice>a{width:34px;height:34px;color:var(--muted);border:1px solid #0000;border-radius:5px;place-items:center;display:grid}.source-notice>a:hover{border-color:var(--line);background:var(--surface);color:var(--brand-dark)}.source-notice.compact{max-width:none;color:var(--soft);font-size:var(--text-xs);border:0;justify-content:space-between;align-items:center;gap:10px 24px;margin:0;padding:0;display:flex}.source-notice.compact span{align-items:center;gap:6px;display:inline-flex}.login-panel{border:1px solid var(--line);background:var(--surface);width:100%;box-shadow:var(--shadow);border-radius:8px;padding:34px}.login-heading>span,.panel-heading>div>span{color:var(--green);font-size:var(--text-sm);text-transform:uppercase;font-weight:800}.login-heading h2{margin-top:6px;font-size:26px;line-height:1.25}.segmented{border:1px solid var(--line);background:var(--surface-muted);border-radius:6px;grid-template-columns:1fr 1fr;gap:3px;margin-top:26px;padding:3px;display:grid}.segmented button{min-height:40px;color:var(--muted);font-size:var(--text-md);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;gap:7px;font-weight:700;display:inline-flex}.segmented button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 5px #14271f14}.login-methods{grid-template-columns:repeat(3,minmax(0,1fr))}.login-methods button{min-width:0;padding:0 8px}.login-method-note{border:1px solid var(--line);background:var(--surface-subtle);border-radius:6px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:11px;margin-top:12px;padding:11px 12px;display:grid}.login-method-note>span{background:var(--green-soft);width:34px;height:34px;color:var(--green);border-radius:5px;place-items:center;display:grid}.login-method-note.passkey>span{background:var(--blue-soft);color:var(--blue)}.login-method-note.token>span{background:var(--amber-soft);color:var(--amber)}.login-method-note p{color:var(--muted);font-size:var(--text-xs);line-height:1.5}.login-method-note strong{color:var(--ink);font-size:var(--text-sm);margin-bottom:2px;display:block}.passkey-login-choice{border:1px solid var(--success-border);background:var(--success-surface);border-radius:6px;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:14px;min-height:112px;padding:17px;display:grid}.passkey-login-choice>span{background:var(--green-soft);width:46px;height:46px;color:var(--green);border-radius:6px;place-items:center;display:grid}.passkey-login-choice strong{font-size:var(--text-md)}.passkey-login-choice p{color:var(--muted);font-size:var(--text-xs);margin-top:5px;line-height:1.5}.login-form,.modal-form,.settings-form{gap:18px;margin-top:24px;display:grid}.login-form label,.modal-form>label,.form-grid label,.settings-form label,.create-token-panel>label{color:var(--ink);font-size:var(--text-md);gap:8px;font-weight:730;display:grid}input,select{border:1px solid var(--line-strong);background:var(--control-bg);width:100%;min-width:0;height:42px;color:var(--ink);font-size:var(--text-md);border-radius:5px;padding:0 12px;transition:border-color .15s,box-shadow .15s}input::placeholder{color:var(--soft)}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--focus-shadow);outline:none}input:disabled,select:disabled{background:var(--surface-muted);color:var(--soft);cursor:not-allowed}.password-field{position:relative}.password-field input{padding-right:46px}.field-icon{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:3px;right:3px}.field-note{color:var(--muted);font-size:var(--text-sm);margin-top:-6px;line-height:1.55}.form-error,.inline-warning{border:1px solid var(--danger-border);background:var(--red-soft);color:var(--danger-text);font-size:var(--text-md);border-radius:5px;padding:10px 12px;line-height:1.5}.login-submit{width:100%;min-height:44px}.login-footnote{color:var(--soft);font-size:var(--text-xs);text-align:center;margin-top:20px}.app-shell{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface-subtle);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid var(--line);align-items:center;height:76px;padding:0 22px;display:flex}.sidebar-nav{gap:4px;padding:20px 12px;display:grid}.sidebar-nav a{min-height:42px;color:var(--muted);font-size:var(--text-md);border-radius:5px;align-items:center;gap:11px;padding:0 12px;font-weight:670;display:flex}.sidebar-nav a:hover{background:var(--surface-muted);color:var(--ink)}.sidebar-nav a.active{background:var(--green-soft);color:var(--green-dark)}.sidebar-nav a.active svg{color:var(--green)}.access-badge,.sidebar-status{border:1px solid var(--success-border);background:var(--green-soft);color:var(--green-dark);border-radius:6px;align-items:center;gap:10px;margin:auto 14px 0;padding:12px;display:flex}.access-badge.editor{background:var(--blue-soft);color:var(--info-text);border-color:#c8d6e6}.access-badge div,.sidebar-status div{gap:2px;min-width:0;display:grid}.access-badge strong,.sidebar-status strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.access-badge span,.sidebar-status span{color:var(--muted);font-size:var(--text-xs)}.sidebar-status{border-color:var(--line);background:var(--surface);color:var(--ink);margin:10px 14px 16px}.live-dot{background:var(--amber);width:8px;height:8px;box-shadow:0 0 0 4px var(--amber-soft);border-radius:50%;flex:0 0 8px}.live-dot.connected{background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}.product-footer{width:100%;max-width:1500px;margin:0 auto;padding:0 32px 24px}.topbar{z-index:10;border-bottom:1px solid var(--line);background:var(--chrome);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:10px 32px;display:flex;position:sticky;top:0}.page-heading{min-width:0}.page-heading h1{font-size:19px;line-height:1.3}.page-heading p{color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.topbar-actions{align-items:center;gap:10px;display:flex}.sync-button{flex:0 0 158px;width:158px;padding-left:10px;padding-right:10px}.sync-button span{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-wrap{position:relative}.profile-button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:9px;height:48px;padding:4px 8px 4px 5px;display:flex}.profile-button:hover{border-color:var(--line);background:var(--surface)}.avatar{background:var(--blue-soft);width:34px;height:34px;color:var(--info-text);font-size:var(--text-sm);border-radius:5px;place-items:center;font-weight:800;display:grid}.profile-copy{text-align:left;gap:1px;min-width:0;max-width:145px;display:grid}.profile-copy strong,.profile-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-copy strong{font-size:var(--text-sm)}.profile-copy small{color:var(--muted);font-size:var(--text-xs)}.profile-menu{z-index:30;border:1px solid var(--line);background:var(--surface);width:180px;box-shadow:var(--shadow);border-radius:6px;padding:6px;position:absolute;top:54px;right:0}.profile-menu button{width:100%;min-height:38px;font-size:var(--text-md);cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:9px;padding:0 10px;display:flex}.profile-menu button:hover{background:var(--red-soft);color:var(--red)}.page-content{view-transition-name:student-page;width:100%;max-width:1500px;margin:0 auto;padding:26px 32px 48px}::view-transition-old(student-page){animation:.11s cubic-bezier(.4,0,1,1) both page-leave}::view-transition-new(student-page){animation:.18s cubic-bezier(.2,.75,.2,1) both page-enter}@keyframes page-leave{to{opacity:0;transform:translateY(-2px)}}@keyframes page-enter{0%{opacity:0;transform:translateY(4px)}}.mobile-nav{display:none}.skeleton{background:var(--skeleton);border-radius:6px;position:relative;overflow:hidden}.skeleton:after{background:linear-gradient(90deg, transparent, var(--skeleton-sheen), transparent);content:"";animation:1.3s infinite skeleton;position:absolute;inset:0;transform:translate(-100%)}@keyframes skeleton{to{transform:translate(100%)}}.error-panel{border:1px solid var(--danger-border);background:var(--red-soft);min-height:96px;color:var(--danger-text);border-radius:6px;align-items:center;gap:14px;padding:18px;display:flex}.error-panel div{flex:1}.error-panel h2{font-size:var(--text-md)}.error-panel p,.error-panel span{font-size:var(--text-md);margin-top:3px}.empty-state{text-align:center;place-content:center;justify-items:center;min-height:260px;padding:36px;display:grid}.empty-state>span{background:var(--surface-muted);width:44px;height:44px;color:var(--muted);border-radius:6px;place-items:center;margin-bottom:14px;display:grid}.empty-state h3{font-size:var(--text-md)}.empty-state p{max-width:370px;color:var(--muted);font-size:var(--text-md);margin-top:6px;line-height:1.5}.overview-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:18px;display:grid}.attention-banner{border:1px solid var(--warning-border);background:var(--amber-soft);min-height:54px;color:var(--warning-text);border-radius:6px;grid-column:1/-1;align-items:center;gap:12px;padding:9px 14px;display:flex}.attention-banner>span{font-size:var(--text-sm);flex-wrap:wrap;flex:1;gap:4px 8px;display:flex}.attention-banner strong{font-size:var(--text-md)}.metric-grid{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.semester-overview-band{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-column:1/-1;grid-template-columns:minmax(235px,.7fr) minmax(0,1.3fr);display:grid;overflow:hidden}.semester-overview-band>header{border-right:1px solid var(--line);grid-template-columns:38px minmax(0,1fr);align-content:center;gap:4px 10px;padding:17px 18px;display:grid}.semester-overview-band>header>span{background:var(--blue-soft);width:38px;height:38px;color:var(--blue);border-radius:5px;place-items:center;display:grid}.semester-overview-band>header>div:nth-child(2){align-self:center}.semester-overview-band header small{color:var(--muted);font-size:var(--text-xs);text-transform:uppercase;font-weight:750}.semester-overview-band header h2{margin-top:2px;font-size:15px}.semester-overview-tabs{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));width:max-content;max-width:100%;margin-top:8px}.semester-overview-tabs button{min-width:44px;min-height:36px}.semester-overview-values{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.semester-overview-values>div{border-right:1px solid var(--line);align-content:center;gap:5px;min-width:0;padding:17px 20px;display:grid}.semester-overview-values>div:last-child{border-right:0}.semester-overview-values span{color:var(--muted);font-size:var(--text-xs);text-transform:uppercase;font-weight:750}.semester-overview-values strong{white-space:nowrap;font-size:21px}.semester-overview-values small{color:var(--soft);font-size:var(--text-xs)}.metric-card{border:1px solid var(--line);border-top:3px solid var(--green);background:var(--surface);border-radius:6px;min-width:0;min-height:142px;padding:18px}.metric-card.gpa{border-top-color:var(--blue)}.metric-card.credits{border-top-color:var(--coral)}.metric-card.ues{border-top-color:var(--amber)}.metric-label{color:var(--muted);font-size:var(--text-sm);align-items:center;gap:8px;font-weight:700;display:flex}.metric-label span{background:var(--green-soft);width:30px;height:30px;color:var(--green);border-radius:5px;place-items:center;display:grid}.metric-card.gpa .metric-label span{background:var(--blue-soft);color:var(--blue)}.metric-card.credits .metric-label span{background:var(--coral-soft);color:var(--coral)}.metric-card.ues .metric-label span{background:var(--amber-soft);color:var(--amber)}.metric-card>strong,.metric-progress>strong{white-space:nowrap;margin-top:13px;font-size:27px;line-height:1.15;display:block}.metric-card>p{color:var(--muted);font-size:var(--text-xs);margin-top:6px}.metric-progress{justify-content:space-between;align-items:center;gap:12px;display:flex}.metric-progress svg{width:42px;height:42px;margin-top:8px;overflow:visible;transform:rotate(-90deg)}.metric-progress circle{fill:none;stroke:var(--line);stroke-width:4px}.metric-progress circle.progress{stroke:var(--coral);stroke-linecap:round}.content-panel,.data-section{border:1px solid var(--line);background:var(--surface);border-radius:6px;min-width:0}.panel-heading,.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:66px;padding:14px 18px;display:flex}.panel-heading h2,.section-heading h2{font-size:var(--text-md);margin-top:3px}.panel-heading>a{color:var(--green);font-size:var(--text-sm);align-items:center;gap:6px;font-weight:720;display:inline-flex}.performance-panel{min-height:360px}.chart-wrap{height:290px;padding:12px 12px 8px}.chart-empty{min-height:270px;color:var(--muted);font-size:var(--text-md);justify-content:center;align-items:center;gap:10px;display:flex}.grade-panel{min-height:360px}.grade-distribution{gap:13px;padding:18px;display:grid}.grade-row{grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:9px;display:grid}.grade-row>strong{font-size:var(--text-sm);text-align:right}.grade-track{background:var(--surface-muted);border-radius:4px;height:7px;overflow:hidden}.grade-track span{border-radius:inherit;background:var(--green);width:0;min-width:2px;height:100%;display:block}.grade-scale-mini{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:5px;margin:0 18px 18px;padding-top:14px;display:flex}.grade-scale-mini>span{justify-items:center;gap:5px;display:grid}.grade-scale-mini small{color:var(--muted);font-size:var(--text-xs)}.recent-panel,.activity-panel{min-height:320px}.recent-notes{display:grid}.recent-note{border-bottom:1px solid var(--row-line);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:58px;padding:8px 18px;display:grid}.recent-note:last-child{border-bottom:0}.ue-symbol{background:var(--blue-soft);width:34px;height:34px;color:var(--info-text);font-size:var(--text-xs);border-radius:5px;place-items:center;font-weight:800;display:grid}.recent-note>div:nth-child(2){gap:2px;min-width:0;display:grid}.recent-note strong,.recent-note span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-note strong{font-size:var(--text-sm)}.recent-note span{color:var(--muted);font-size:var(--text-xs)}.recent-note>b{color:var(--green-dark);font-size:15px}.recent-note>b small{color:var(--muted);font-size:var(--text-2xs);font-weight:600}.activity-list{padding:8px 18px 12px;display:grid}.activity-row{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;min-height:46px;display:grid;position:relative}.activity-row:not(:last-child):after{background:var(--line);content:"";width:1px;position:absolute;top:34px;bottom:-11px;left:13px}.activity-icon{z-index:1;border:1px solid var(--line);background:var(--surface);width:28px;height:28px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.activity-row>div{gap:2px;min-width:0;display:grid}.activity-row strong{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-row small{color:var(--soft);font-size:var(--text-xs)}.metric-skeleton{height:140px}.panel-skeleton{height:350px}.panel-skeleton.wide{min-width:600px}.page-stack{gap:18px;display:grid}.toolbar-band,.ue-summary-band{border:1px solid var(--line);background:var(--surface);border-radius:6px;align-items:center;gap:12px;min-height:64px;padding:10px;display:flex}.search-field{flex:1;min-width:220px;position:relative}.search-field svg{color:var(--soft);position:absolute;top:12px;left:12px}.search-field input{background:var(--surface-muted);border-color:#0000;padding-left:39px}.filter-group{align-items:center;gap:8px;display:flex}.filter-group>svg{color:var(--soft)}.filter-group select{width:auto;min-width:150px}.section-heading p{color:var(--muted);font-size:var(--text-xs);margin-top:3px}.table-wrap{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;table-layout:auto;width:100%;min-width:860px}.data-table th{border-bottom:1px solid var(--line);background:var(--surface-subtle);height:38px;color:var(--muted);font-size:var(--text-xs);text-align:left;text-transform:uppercase;white-space:nowrap;padding:0 14px;font-weight:800}.data-table td{border-bottom:1px solid var(--row-line);height:62px;color:var(--ink);font-size:var(--text-sm);vertical-align:middle;padding:8px 14px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:var(--surface-hover)}.ue-table th:last-child,.ue-table>tbody>tr:not(.ue-notes-row)>td:last-child{text-align:right;width:54px;padding-right:10px}.cell-primary{gap:3px;min-width:150px;max-width:360px;display:grid}.cell-primary strong,.cell-primary span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cell-primary strong{color:var(--ink);font-size:var(--text-sm)}.cell-primary span{color:var(--muted);font-size:var(--text-xs)}.code-label{color:var(--green-dark);font-weight:800}.score{white-space:nowrap}.score.success{color:var(--green-dark)}.score.danger{color:var(--red)}.score small{color:var(--soft);font-size:var(--text-2xs);margin-left:2px}.source-badge,.role-pill,.status-pill,.missing-value{min-height:24px;font-size:var(--text-xs);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:0 8px;font-weight:750;display:inline-flex}.source-badge.pass{background:var(--green-soft);color:var(--green-dark)}.source-badge.manual,.role-pill.editor{background:var(--blue-soft);color:var(--info-text)}.role-pill.viewer,.status-pill.success{background:var(--green-soft);color:var(--green-dark)}.status-pill.warning{background:var(--amber-soft);color:var(--warning-text)}.status-pill.danger,.missing-value{background:var(--red-soft);color:var(--red)}.status-pill.neutral{background:var(--surface-muted);color:var(--muted)}.date-cell{color:var(--muted);white-space:nowrap}.table-skeleton{height:520px}.route-loading{height:520px;margin:26px 32px}.page-route-loading{gap:18px;display:grid}.route-heading-skeleton{width:min(420px,68%);height:64px}.route-content-skeleton{height:min(560px,65vh)}.official-data-label,.ects-official-value{color:var(--green-dark);align-items:center;gap:5px;display:inline-flex}.official-data-label{font-size:var(--text-xs);justify-self:start;font-weight:750}.ects-official-value svg{flex:none}.grade-source-cell{justify-items:start;gap:3px;display:inline-grid}.grade-source-cell small{color:var(--soft);font-size:var(--text-2xs);text-transform:uppercase;white-space:nowrap;font-weight:750}.cell-primary small{color:var(--soft);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ue-summary-band{justify-content:space-between}.semester-filter-band{border:1px solid var(--line);background:var(--surface);border-radius:6px;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:8px 10px;display:flex}.semester-tabs{grid-template-columns:repeat(auto-fit,minmax(54px,1fr));width:max-content;max-width:100%;margin:0}.semester-tabs button:first-child{min-width:132px}.semester-filter-band>p{color:var(--muted);font-size:var(--text-xs);align-items:center;gap:7px;display:inline-flex}.semester-filter-band>p svg{color:var(--green)}.year-tabs{flex-wrap:wrap;gap:4px;display:flex}.year-tabs button{min-height:38px;color:var(--muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:7px;padding:0 12px;font-weight:700;display:inline-flex}.year-tabs button span{background:var(--surface-muted);min-width:19px;height:19px;font-size:var(--text-2xs);border-radius:50%;place-items:center;display:grid}.year-tabs button:hover,.year-tabs button.active{background:var(--green-soft);color:var(--green-dark)}.year-tabs button.active span{background:var(--green);color:var(--on-accent)}.weighting-note{max-width:310px;color:var(--green);align-items:center;gap:9px;padding-right:6px;display:flex}.weighting-note span{gap:2px;display:grid}.weighting-note strong{font-size:var(--text-xs)}.weighting-note span:not(strong){color:var(--muted);font-size:var(--text-2xs)}.grade-scale-band{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.grade-scale-band>div{border-right:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:9px 14px;display:flex}.grade-scale-band>div:last-child{border-right:0}.grade-scale-band strong{font-size:var(--text-xs)}.grade-badge{background:var(--surface-muted);width:30px;height:26px;color:var(--muted);font-size:var(--text-xs);border-radius:4px;place-items:center;font-weight:850;display:inline-grid}.grade-a{color:#176346;background:#dcefe5}.grade-b{color:#3c6a2d;background:#e3f0df}.grade-c{color:#365c87;background:#e8eef6}.grade-d{color:#875b18;background:#f8edd8}.grade-e{color:#8a4f18;background:#f5e6d5}.grade-fx{color:#a33d33;background:#f8e5e2}.grade-f{color:#704848;background:#eee8e8}.ue-table{min-width:1000px}.ue-table tr.needs-data td{background:var(--warning-surface)}.ue-expand-button svg{transition:transform .18s}.ue-expand-button.is-open svg{transform:rotate(180deg)}.ue-table .ue-notes-row>td,.ue-table .ue-notes-row:hover>td{background:var(--surface-subtle);text-align:left;width:auto;height:auto;padding:0 14px 14px}.ue-notes-panel{border-left:3px solid var(--brand);padding:15px 16px 4px}.ue-notes-panel>header{justify-content:space-between;align-items:center;gap:14px;padding-bottom:11px;display:flex}.ue-notes-panel>header>div{gap:3px;display:grid}.ue-notes-panel>header strong{font-size:var(--text-md)}.ue-notes-panel>header>span{color:var(--muted);font-size:var(--text-xs);white-space:nowrap;font-weight:750}.ue-note-list{display:grid}.ue-note-item{border-top:1px solid var(--row-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;min-height:58px;display:grid}.ue-note-item>div{gap:4px;min-width:0;display:grid}.ue-note-item>div strong{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ue-note-item>div span,.ue-notes-empty{color:var(--muted);font-size:var(--text-2xs)}.ue-note-item dl{grid-template-columns:repeat(2,minmax(76px,auto));gap:16px;margin:0;display:grid}.ue-note-item dl>div{gap:3px;display:grid}.ue-note-item dt{color:var(--soft);font-size:var(--text-2xs);text-transform:uppercase;font-weight:800}.ue-note-item dd{font-size:var(--text-xs);margin:0;font-weight:800}.ue-note-item dd.success{color:var(--green-dark)}.ue-note-item dd.danger{color:var(--red)}.ue-notes-empty{border-top:1px solid var(--row-line);padding:12px 0 18px}.modal-open{overflow:hidden}.modal-backdrop{z-index:100;background:#121e198a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:min(100%,560px);max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 24px 70px #0a171240}.modal:focus{outline:none}.modal-small{max-width:440px}.modal-large{max-width:720px}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;min-height:76px;padding:20px 22px 16px;display:flex}.modal-header h2{font-size:17px}.modal-header p{max-width:430px;color:var(--muted);font-size:var(--text-xs);margin-top:5px;line-height:1.5}.modal-form{padding:22px}.form-grid{gap:14px;display:grid}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.score-input{max-width:180px}.toggle-row{border:1px solid var(--line);cursor:pointer;border-radius:5px;justify-content:space-between;align-items:center;gap:20px;min-height:58px;padding:10px 12px;display:flex!important}.toggle-row>span{gap:3px;display:grid}.toggle-row small{color:var(--muted);font-size:var(--text-xs);font-weight:500;line-height:1.35}.toggle-row input,.switch input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}.toggle-row>i,.switch i{background:var(--neutral-track);border-radius:12px;flex:0 0 38px;width:38px;height:22px;transition:background .15s;position:relative}.toggle-row>i:after,.switch i:after{background:var(--surface-raised);content:"";border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000002e}.toggle-row input:checked+i,.switch input:checked+i{background:var(--green)}.toggle-row input:checked+i:after,.switch input:checked+i:after{transform:translate(16px)}.modal-actions{border-top:1px solid var(--line);background:var(--surface-subtle);justify-content:flex-end;align-items:center;gap:9px;margin:4px 0 0;padding:14px 22px;display:flex}.modal-form>.modal-actions{margin:4px -22px -22px}.split-actions{justify-content:space-between}.split-actions>div{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.sharing-summary{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.sharing-summary>div{border-right:1px solid var(--line);align-items:center;gap:13px;min-height:84px;padding:14px 18px;display:flex}.sharing-summary>div:last-child{border-right:0}.summary-icon,.large-status-icon{background:var(--blue-soft);width:42px;height:42px;color:var(--blue);border-radius:6px;flex:0 0 42px;place-items:center;display:grid}.summary-icon.secure,.large-status-icon.success,.large-status-icon.running{background:var(--green-soft);color:var(--green)}.summary-icon.revoke,.large-status-icon.error{background:var(--coral-soft);color:var(--coral)}.sharing-summary>div>div{gap:2px;display:grid}.sharing-summary strong{font-size:17px}.sharing-summary div span:not(.summary-icon){color:var(--muted);font-size:var(--text-xs)}.sharing-layout{grid-template-columns:minmax(300px,.72fr) minmax(440px,1.28fr);align-items:start;gap:18px;display:grid}.create-token-panel,.token-list-panel,.settings-panel{border:1px solid var(--line);background:var(--surface);border-radius:6px;min-width:0;padding:20px}.create-token-panel{gap:19px;display:grid}.create-token-panel>header,.settings-panel>header{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:17px;display:flex}.create-token-panel>header>span,.settings-panel>header>span{background:var(--surface-muted);width:36px;height:36px;color:var(--green);border-radius:5px;flex:0 0 36px;place-items:center;display:grid}.create-token-panel h2,.token-list-panel h2,.settings-panel h2{font-size:var(--text-md)}.create-token-panel header p,.token-list-panel header p,.settings-panel header p{color:var(--muted);font-size:var(--text-xs);margin-top:3px}.shared-access-scope{border:1px solid var(--success-border);background:var(--success-surface);min-height:64px;color:var(--green);border-radius:5px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:11px;padding:11px 12px;display:grid}.shared-access-scope span{gap:3px;display:grid}.shared-access-scope strong{color:var(--ink);font-size:var(--text-sm)}.shared-access-scope small{color:var(--muted);font-size:var(--text-xs);line-height:1.4}.token-list-panel{padding:0;overflow:hidden}.token-list-panel>header{border-bottom:1px solid var(--line);min-height:76px;padding:19px 20px}.token-list{display:grid}.token-row{border-bottom:1px solid var(--row-line);grid-template-columns:38px minmax(0,1fr) 36px;align-items:center;gap:12px;min-height:88px;padding:12px 16px;display:grid}.token-row:last-child{border-bottom:0}.token-row.inactive{opacity:.63}.token-icon{background:var(--surface-muted);width:36px;height:36px;color:var(--muted);border-radius:5px;place-items:center;display:grid}.token-main{gap:5px;min-width:0;display:grid}.token-main>div{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.token-main>div strong{max-width:220px;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.token-main code{color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.token-main small{color:var(--soft);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;display:flex;overflow:hidden}.token-list-skeleton{border-radius:0;height:330px}.token-reveal{gap:18px;padding:22px;display:grid}.token-secret{border:1px solid var(--success-border);background:var(--success-surface);border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.token-secret code{overflow-wrap:anywhere;color:var(--green-dark);font-family:SFMono-Regular,Consolas,monospace;font-size:var(--text-sm);line-height:1.5}.token-summary{border:1px solid var(--line);border-radius:5px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.token-summary>span{border-right:1px solid var(--line);min-height:66px;color:var(--muted);font-size:var(--text-2xs);align-content:center;gap:4px;padding:10px 12px;display:grid}.token-summary>span:last-child{border-right:0}.token-summary strong{color:var(--ink);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.pass-outage-banner{border:1px solid var(--warning-border);background:var(--warning-surface);min-height:62px;color:var(--warning-text);border-radius:6px;grid-column:1/-1;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;padding:12px 15px;display:grid}.pass-outage-banner>div{gap:3px;display:grid}.pass-outage-banner strong{font-size:var(--text-sm)}.pass-outage-banner span{font-size:var(--text-xs);line-height:1.45}.official-profile-grid,.pass-budget,.adaptive-status{border:1px solid var(--line);border-radius:5px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px;display:grid;overflow:hidden}.official-profile-grid>div,.pass-budget>div,.adaptive-status>div{border-right:1px solid var(--line);align-content:center;gap:4px;min-height:58px;padding:10px 12px;display:grid}.official-profile-grid>div:last-child,.pass-budget>div:last-child,.adaptive-status>div:last-child{border-right:0}.official-profile-grid span,.pass-budget span,.adaptive-status span{color:var(--soft);font-size:var(--text-2xs);text-transform:uppercase}.official-profile-grid strong,.pass-budget strong,.adaptive-status strong{overflow-wrap:anywhere;font-size:var(--text-xs)}.official-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pass-budget{margin-top:0}.adaptive-control{border-top:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:10px 0;display:flex}.adaptive-control>span,.adaptive-control>span>span{align-items:center;gap:8px;min-width:0;display:flex}.adaptive-control>span>span{gap:2px;display:grid}.adaptive-control svg{color:var(--green)}.adaptive-control strong{font-size:var(--text-xs)}.adaptive-control small{color:var(--muted);font-size:var(--text-2xs);font-weight:500}.adaptive-control input{width:17px;height:17px;accent-color:var(--green);flex:0 0 17px}.adaptive-status{background:var(--surface);margin-top:0}.passkey-list{border-top:1px solid var(--line);margin-top:18px;display:grid}.passkey-row{border-bottom:1px solid var(--line);grid-template-columns:34px minmax(0,1fr) 36px;align-items:center;gap:9px;min-height:58px;display:grid}.passkey-row>span{background:var(--surface-muted);width:32px;height:32px;color:var(--green);border-radius:5px;place-items:center;display:grid}.passkey-row>div{gap:3px;min-width:0;display:grid}.passkey-row strong{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.passkey-row small{color:var(--muted);font-size:var(--text-2xs)}.passkey-add{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:16px;display:grid}.security-setup-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px 20px 8px;display:grid}.security-setup-modal{flex-direction:column;display:flex;overflow:hidden}.security-setup-modal>.modal-header,.security-setup-modal>.modal-actions{flex:none}.security-setup-scroll{overscroll-behavior:contain;min-height:0;overflow-y:auto}.security-method{border:1px solid var(--line);border-radius:6px;align-content:start;gap:13px;padding:16px;display:grid}.security-method.recommended{border-color:var(--success-border);background:var(--success-surface)}.security-method header{align-items:center;gap:10px;display:flex}.security-method header>span{background:var(--surface-muted);width:38px;height:38px;color:var(--green);border-radius:5px;flex:0 0 38px;place-items:center;display:grid}.security-method header>div{gap:2px;display:grid}.security-method header strong{font-size:var(--text-md)}.security-method header small{color:var(--green);font-size:var(--text-2xs);text-transform:uppercase;font-weight:750}.security-method p{min-height:46px;color:var(--muted);font-size:var(--text-xs);line-height:1.5}.security-method>button{justify-self:start}.personal-token-result{border:1px solid var(--success-border);background:var(--control-bg);border-radius:5px;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:6px;padding:6px;display:grid}.personal-token-result code{color:var(--green-dark);font-family:SFMono-Regular,Consolas,monospace;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;padding-left:5px;overflow:hidden}.settings-panel{padding:20px}.telegram-settings{grid-column:1/-1}.settings-form{margin-top:20px}.settings-form .primary-button{justify-self:start}.sync-state,.configured-row{align-items:center;gap:13px;margin-top:20px;display:flex}.sync-state>div,.configured-row>div>span{gap:3px;display:grid}.sync-state strong,.configured-row strong{font-size:var(--text-sm)}.sync-state span,.configured-row small{color:var(--muted);font-size:var(--text-xs)}.auto-sync-box{border:1px solid var(--line);background:var(--surface-subtle);border-radius:6px;gap:13px;margin-top:18px;padding:14px;display:grid}.auto-sync-box.is-enabled{border-color:var(--success-border);background:var(--success-surface)}.manual-sync-state{border-bottom:1px solid var(--line);min-height:54px;color:var(--muted);grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;padding:10px 0;display:grid}.manual-sync-state>div{gap:2px;min-width:0;display:grid}.manual-sync-state strong{color:var(--ink);font-size:var(--text-sm)}.manual-sync-state span{font-size:var(--text-xs);line-height:1.45}.manual-sync-state.available svg{color:var(--green)}.manual-sync-state.cooldown svg{color:var(--amber)}.manual-sync-state.in_progress svg{color:var(--blue)}.auto-sync-heading{grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.auto-sync-heading>span{background:var(--surface-muted);width:32px;height:32px;color:var(--green);border-radius:5px;place-items:center;display:grid}.auto-sync-heading>div{gap:3px;display:grid}.auto-sync-heading strong{font-size:var(--text-sm)}.auto-sync-heading small{color:var(--muted);font-size:var(--text-2xs)}.auto-sync-frequency{color:var(--muted);font-size:var(--text-xs);grid-template-columns:minmax(0,1fr) minmax(170px,.7fr);align-items:center;gap:12px;font-weight:700;display:grid}.auto-sync-window,.auto-sync-next{color:var(--muted);font-size:var(--text-2xs);align-items:flex-start;gap:7px;line-height:1.5;display:flex}.auto-sync-window svg{flex:none;margin-top:1px}.auto-sync-next{border-top:1px solid var(--line);justify-content:space-between;padding-top:11px}.auto-sync-next strong{color:var(--ink);font-size:var(--text-2xs)}.auto-sync-consent{align-items:flex-start;gap:11px;padding:18px 20px 8px;display:flex}.auto-sync-consent>span{background:var(--green-soft);width:38px;height:38px;color:var(--green);border-radius:5px;flex:0 0 38px;place-items:center;display:grid}.auto-sync-consent strong{font-size:var(--text-md)}.auto-sync-consent p{color:var(--muted);font-size:var(--text-xs);margin-top:5px;line-height:1.55}.privacy-note{border:1px solid var(--success-border);background:var(--success-surface);color:var(--success-text);font-size:var(--text-xs);border-radius:5px;align-items:flex-start;gap:8px;margin:8px 20px 2px;padding:10px;line-height:1.45;display:flex}.info-line{border-top:1px solid var(--line);min-height:44px;color:var(--muted);font-size:var(--text-xs);grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:18px;padding-top:14px;display:grid}.info-line strong{max-width:220px;color:var(--ink);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-hint{color:var(--soft);font-size:var(--text-xs);margin-top:10px;line-height:1.5}.configured-row{border:1px solid var(--success-border);background:var(--success-surface);border-radius:5px;justify-content:space-between;padding:12px}.configured-row>div{align-items:center;gap:10px;display:flex}.telegram-help{margin-left:auto}.telegram-config-actions{flex-wrap:wrap;flex:none;justify-content:flex-end}.telegram-guide{padding:4px 22px;display:grid}.telegram-guide section{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(0,1fr) 24px;align-items:center;gap:13px;min-height:92px;padding:15px 0;display:grid}.telegram-guide section:last-child{border-bottom:0}.telegram-guide section>span{background:var(--green);width:26px;height:26px;color:var(--on-accent);font-size:var(--text-xs);border-radius:50%;place-items:center;font-weight:800;display:grid}.telegram-guide section>div{gap:5px;min-width:0;display:grid}.telegram-guide section>div>strong{font-size:var(--text-sm)}.telegram-guide section p{color:var(--muted);font-size:var(--text-xs);line-height:1.55}.telegram-guide section code{background:var(--surface-muted);color:var(--green-dark);font-family:SFMono-Regular,Consolas,monospace;font-size:var(--text-2xs);border-radius:3px;padding:1px 4px}.telegram-guide section a{width:-moz-fit-content;width:fit-content;color:var(--green);font-size:var(--text-xs);align-items:center;gap:5px;font-weight:750;text-decoration:none;display:inline-flex}.telegram-guide section>svg{color:var(--green)}.telegram-security-note{border:1px solid var(--success-border);background:var(--success-surface);color:var(--success-text);font-size:var(--text-xs);border-radius:5px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:9px;margin:4px 22px 16px;padding:12px;line-height:1.5;display:grid}.switch{cursor:pointer;align-items:center;display:inline-flex;position:relative}.form-actions-row{flex-wrap:wrap;gap:9px;display:flex}.access-only{grid-column:1/-1;max-width:620px;padding:34px}.access-only h2{margin-top:18px;font-size:18px}.access-only>p{max-width:520px;color:var(--muted);font-size:var(--text-sm);margin-top:8px;line-height:1.6}.settings-skeleton{height:560px}.toast-region{z-index:200;gap:8px;width:min(360px,100vw - 40px);display:grid;position:fixed;bottom:20px;right:20px}.toast{border:1px solid var(--success-border);background:var(--success-surface);min-height:48px;color:var(--green-dark);box-shadow:var(--shadow);font-size:var(--text-sm);border-radius:6px;grid-template-columns:20px minmax(0,1fr) 24px;align-items:center;gap:9px;padding:9px 10px 9px 13px;font-weight:680;display:grid}.toast-error{border-color:var(--danger-border);background:var(--danger-surface);color:var(--red)}.toast button{width:24px;height:24px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.leaderboard-page{max-width:1260px;margin:0 auto}.section-kicker{color:var(--green);font-size:var(--text-xs);text-transform:uppercase;font-weight:820}.leaderboard-heading-band{border:1px solid var(--line);background:var(--surface);border-radius:6px;justify-content:space-between;align-items:center;gap:24px;min-height:94px;padding:17px 20px;display:flex}.leaderboard-heading-band>div{align-items:center;gap:15px;min-width:0;display:flex}.leaderboard-heading-icon{background:var(--green-dark);width:48px;height:48px;color:var(--on-accent);border-radius:7px;flex:0 0 48px;place-items:center;display:grid}.leaderboard-heading-band h2{margin-top:4px;font-size:20px;line-height:1.25}.leaderboard-heading-band p{color:var(--muted);font-size:var(--text-sm);margin-top:4px;line-height:1.45}.leaderboard-optin-layout{grid-template-columns:minmax(0,1fr) minmax(410px,.88fr);align-items:start;gap:40px;padding:22px 4px 10px;display:grid}.leaderboard-explainer{padding:18px 14px}.leaderboard-explainer h2{max-width:570px;margin-top:8px;font-size:27px;line-height:1.18}.leaderboard-explainer>p{max-width:620px;color:var(--muted);font-size:var(--text-md);margin-top:13px;line-height:1.65}.privacy-flow{gap:0;margin-top:28px;display:grid}.privacy-flow>div{grid-template-columns:40px minmax(0,1fr);gap:13px;min-height:78px;display:grid;position:relative}.privacy-flow>div:not(:last-child):after{background:var(--line-strong);content:"";width:1px;position:absolute;top:36px;bottom:0;left:18px}.privacy-flow>div>span{z-index:1;border:1px solid var(--line-strong);background:var(--surface);width:36px;height:36px;color:var(--green);border-radius:50%;place-items:center;display:grid}.privacy-flow strong{font-size:var(--text-md)}.privacy-flow p{max-width:500px;color:var(--muted);font-size:var(--text-xs);margin-top:4px;line-height:1.45}.leaderboard-join-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;gap:17px;padding:22px;display:grid}.leaderboard-join-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:15px;display:flex}.leaderboard-join-panel>header h2{font-size:16px}.leaderboard-join-panel>header p{color:var(--muted);font-size:var(--text-xs);margin-top:4px}.leaderboard-join-panel>header>span{background:var(--green-soft);width:38px;height:38px;color:var(--green-dark);border-radius:6px;flex:0 0 38px;place-items:center;display:grid}.leaderboard-profile-fields{gap:15px}.leaderboard-profile-fields .field-note{margin-top:0;font-weight:500;display:block}.official-campus-field{gap:6px;display:grid}.field-label{color:var(--ink);font-size:var(--text-xs);font-weight:700}.official-campus-value{border:1px solid var(--success-border);background:var(--success-surface);min-height:40px;color:var(--green);border-radius:5px;align-items:center;gap:9px;padding:7px 10px;display:flex}.official-campus-value.is-missing{border-color:var(--warning-border);background:var(--amber-soft);color:var(--warning-text)}.official-campus-value>div{gap:1px;display:grid}.official-campus-value strong{color:var(--ink);font-size:var(--text-sm)}.official-campus-value small{color:var(--muted);font-size:var(--text-2xs)}.campus-contact-note{color:var(--muted);font-size:var(--text-2xs);align-items:flex-start;gap:5px;font-weight:500;line-height:1.4;display:flex}.campus-contact-note svg{flex:none;margin-top:1px}.pass-detected{color:var(--green);font-size:var(--text-xs);align-items:center;gap:5px;font-weight:650;display:flex}.eligibility-blockers{border:1px solid var(--warning-border);background:var(--amber-soft);color:var(--warning-text);border-radius:5px;align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.eligibility-blockers svg{flex:none}.eligibility-blockers div{gap:3px;display:grid}.eligibility-blockers strong{font-size:var(--text-sm)}.eligibility-blockers span{font-size:var(--text-xs);line-height:1.45}.consent-check{border:1px solid var(--line);cursor:pointer;border-radius:5px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;padding:11px;transition:border-color .15s,background .15s;display:grid}.consent-check.checked{border-color:var(--success-border);background:var(--success-surface)}.consent-check input{opacity:0;width:1px;height:1px;position:absolute}.consent-check>i{border:1px solid var(--line-strong);background:var(--surface);color:#0000;border-radius:4px;place-items:center;width:21px;height:21px;display:grid}.consent-check.checked>i{border-color:var(--green);background:var(--green);color:var(--on-accent)}.consent-check>span{gap:3px;display:grid}.consent-check strong{font-size:var(--text-xs)}.consent-check small{color:var(--muted);font-size:var(--text-xs);font-weight:500;line-height:1.4}.leaderboard-join-button{width:100%;min-height:44px}.leaderboard-wait-banner{border:1px solid var(--warning-border);background:var(--warning-surface);min-height:112px;color:var(--warning-text);border-radius:6px;grid-template-columns:auto minmax(220px,.5fr) minmax(260px,1fr);align-items:center;gap:17px;padding:17px 20px;display:grid}.wait-icon{background:var(--amber-soft);border-radius:7px;place-items:center;width:48px;height:48px;display:grid}.leaderboard-wait-banner>div:nth-child(2){gap:3px;display:grid}.leaderboard-wait-banner>div:nth-child(2)>span{font-size:var(--text-xs);text-transform:uppercase;font-weight:750}.leaderboard-wait-banner>div:nth-child(2)>strong{font-variant-numeric:tabular-nums;font-size:25px;line-height:1.1}.leaderboard-wait-banner small{font-size:var(--text-xs)}.wait-privacy{border-left:1px solid var(--warning-border);color:var(--warning-text);font-size:var(--text-xs);align-items:center;gap:10px;padding-left:20px;line-height:1.5;display:flex}.wait-privacy svg{flex:none}.leaderboard-pending-panel{border:1px solid var(--line);background:var(--surface);border-radius:7px;max-width:760px;padding:26px}.leaderboard-pending-panel>div:first-child{color:var(--green);font-size:var(--text-xs);text-transform:uppercase;align-items:center;gap:7px;font-weight:760;display:flex}.status-dot{background:var(--green);border-radius:50%;width:7px;height:7px}.leaderboard-pending-panel h2{margin-top:9px;font-size:20px}.leaderboard-pending-panel>p{max-width:670px;color:var(--muted);font-size:var(--text-sm);margin-top:10px;line-height:1.6}.leaderboard-pending-panel dl{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:22px 0 0;display:grid}.leaderboard-pending-panel dl>div{border-right:1px solid var(--line);gap:5px;padding:13px 12px;display:grid}.leaderboard-pending-panel dl>div:last-child{border-right:0}.leaderboard-pending-panel dt{color:var(--soft);font-size:var(--text-2xs);text-transform:uppercase}.leaderboard-pending-panel dd{font-size:var(--text-sm);margin:0;font-weight:720}.leaderboard-pending-panel footer{gap:8px;margin-top:18px;display:flex}.leaderboard-toolbar{border:1px solid var(--line);background:var(--surface);border-radius:6px;justify-content:space-between;align-items:center;gap:15px;min-height:64px;padding:9px 10px;display:flex}.leaderboard-metric-tabs{border:1px solid var(--line);background:var(--surface-muted);border-radius:6px;grid-template-columns:1fr 1.35fr;gap:3px;min-width:330px;padding:3px;display:grid}.leaderboard-metric-tabs button{min-height:38px;color:var(--muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-weight:720;display:inline-flex}.leaderboard-metric-tabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 5px #14271f14}.leaderboard-metric-tabs button.active svg{color:var(--green)}.leaderboard-filters{align-items:center;gap:8px;display:flex}.leaderboard-filters>svg{color:var(--soft)}.leaderboard-filters select{width:auto;min-width:155px}.leaderboard-board{border:1px solid var(--line);background:var(--surface);border-radius:7px;overflow:hidden}.leaderboard-board>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:92px;padding:16px 20px;display:flex}.leaderboard-board>header h2{margin-top:4px;font-size:20px}.leaderboard-board>header p{color:var(--muted);font-size:var(--text-xs);margin-top:4px}.board-actions{gap:3px;display:flex}.leaderboard-table-wrap{width:100%;overflow-x:auto}.leaderboard-table{border-collapse:collapse;table-layout:fixed;width:100%}.leaderboard-table th{border-bottom:1px solid var(--line);background:var(--surface-subtle);height:37px;color:var(--muted);font-size:var(--text-2xs);text-align:left;text-transform:uppercase;padding:0 20px;font-weight:800}.leaderboard-table th:first-child,.leaderboard-table td:first-child{text-align:center;width:120px}.leaderboard-table th:last-child,.leaderboard-table td:last-child{text-align:right;width:190px}.leaderboard-table td{border-bottom:1px solid var(--row-line);height:61px;font-size:var(--text-md);padding:0 20px}.leaderboard-table tr:last-child td{border-bottom:0}.leaderboard-table tr.is-self td{background:var(--success-surface)}.leaderboard-table td:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rank-mark{width:34px;height:34px;color:var(--muted);font-size:var(--text-sm);border-radius:50%;place-items:center;font-weight:780;display:inline-grid}.rank-1{color:#946411;background:#fff1c8}.rank-2{color:#68736e;background:#edf0ef}.rank-3{color:#9a5d32;background:#f4e3d5}.self-pill{background:var(--green);min-height:20px;color:var(--on-accent);font-size:var(--text-2xs);vertical-align:middle;border-radius:10px;align-items:center;margin-left:9px;padding:0 7px;font-weight:760;display:inline-flex}.leaderboard-board>footer{border-top:1px solid var(--line);background:var(--surface-subtle);min-height:43px;color:var(--soft);font-size:var(--text-2xs);justify-content:space-between;align-items:center;gap:14px;padding:8px 20px;display:flex}.leaderboard-board>footer span{align-items:center;gap:5px;display:flex}.leaderboard-rules,.privacy-management{padding:4px 22px 20px;display:grid}.leaderboard-rules>section,.privacy-management>section{border-bottom:1px solid var(--line);grid-template-columns:38px minmax(0,1fr);gap:12px;padding:17px 0;display:grid}.leaderboard-rules>section:last-child,.privacy-management>section:last-child{border-bottom:0}.leaderboard-rules>section>span,.privacy-management>section>span{background:var(--surface-muted);width:34px;height:34px;color:var(--green);border-radius:6px;place-items:center;display:grid}.leaderboard-rules strong,.privacy-management h3{font-size:var(--text-md)}.leaderboard-rules p,.privacy-management p{color:var(--muted);font-size:var(--text-xs);margin-top:4px;line-height:1.5}.leaderboard-rules ul{color:var(--muted);font-size:var(--text-xs);margin:7px 0 0;padding-left:17px;line-height:1.6}.privacy-management>section>div{min-width:0}.privacy-management button{margin-top:11px}.privacy-management label{max-width:340px;color:var(--muted);font-size:var(--text-xs);gap:7px;margin-top:13px;display:grid}.leaderboard-suspended{border:1px solid var(--danger-border);background:var(--danger-surface);min-height:116px;color:var(--danger-text);border-radius:6px;align-items:center;gap:16px;padding:20px;display:flex}.leaderboard-suspended>div{flex:1}.leaderboard-suspended h2{margin-top:4px;font-size:16px}.leaderboard-suspended p{font-size:var(--text-xs);margin-top:5px;line-height:1.5}.leaderboard-hero-skeleton{height:112px}.leaderboard-panel-skeleton{height:420px}.admin-gate-page{background:var(--bg);min-height:100vh;padding:0 24px 50px}.admin-gate-page>header{justify-content:space-between;align-items:center;width:min(100%,1120px);height:76px;margin:0 auto;display:flex}.admin-gate-page>header>span{color:var(--muted);font-size:var(--text-xs);align-items:center;gap:6px;font-weight:700;display:flex}.admin-gate-panel{border:1px solid var(--line);background:var(--surface);width:min(100%,430px);box-shadow:var(--shadow);border-radius:8px;margin:max(7vh,38px) auto 0;padding:30px}.admin-gate-heading{align-items:flex-start;gap:13px;display:flex}.admin-gate-heading>span,.admin-unavailable>span{background:var(--green-dark);width:42px;height:42px;color:var(--on-accent);border-radius:6px;flex:0 0 42px;place-items:center;display:grid}.admin-gate-heading small{color:var(--green);font-size:var(--text-xs);text-transform:uppercase;font-weight:800}.admin-gate-heading h1{margin-top:3px;font-size:21px}.admin-gate-heading p{color:var(--muted);font-size:var(--text-xs);margin-top:5px;line-height:1.45}.admin-gate-panel>footer{border-top:1px solid var(--line);color:var(--soft);font-size:var(--text-xs);align-items:center;gap:6px;margin-top:22px;padding-top:14px;display:flex}.admin-unavailable{text-align:center;justify-items:center;display:grid}.admin-unavailable h1{margin-top:16px;font-size:21px}.admin-unavailable p{max-width:330px;color:var(--muted);font-size:var(--text-sm);margin-top:8px;line-height:1.55}.admin-unavailable a{margin-top:20px}.admin-password-panel{width:min(100%,480px)}.admin-portal{background:var(--bg);min-height:100vh}.admin-topbar{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;height:72px;padding:0 max(24px,50vw - 680px);display:flex}.admin-topbar>div{color:var(--muted);font-size:var(--text-xs);align-items:center;gap:12px;font-weight:700;display:flex}.admin-private-pill{background:var(--green-soft);min-height:27px;color:var(--green-dark);font-size:var(--text-xs);border-radius:5px;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.admin-main{gap:17px;width:min(100% - 48px,1360px);margin:0 auto;padding:28px 0 50px;display:grid}.admin-page-heading{justify-content:space-between;align-items:center;min-height:82px;padding:0 4px;display:flex}.admin-page-heading h1{margin-top:4px;font-size:25px}.admin-page-heading p{color:var(--muted);font-size:var(--text-xs);margin-top:5px}.admin-page-heading>span{background:var(--green-dark);width:48px;height:48px;color:var(--on-accent);border-radius:7px;place-items:center;display:grid}.admin-stats{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.admin-stats>div{border-right:1px solid var(--line);grid-template-columns:33px auto 1fr;align-content:center;align-items:center;gap:3px 10px;min-height:86px;padding:13px 18px;display:grid}.admin-stats>div:last-child{border-right:0}.admin-stats span{background:var(--surface-muted);width:32px;height:32px;color:var(--green);border-radius:6px;grid-row:1/span 2;place-items:center;display:grid}.admin-stats strong{font-size:20px;line-height:1}.admin-stats small{color:var(--muted);font-size:var(--text-xs);grid-column:2/span 2}.admin-tabs{border:1px solid var(--line);background:var(--surface-muted);border-radius:6px;gap:4px;padding:4px;display:flex}.admin-tabs button{min-height:38px;color:var(--muted);font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:7px;padding:0 14px;font-weight:720;display:inline-flex}.admin-tabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #14271f14}.admin-content-panel{border:1px solid var(--line);background:var(--surface);border-radius:7px;min-height:360px;overflow:hidden}.admin-content-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:12px 16px 12px 20px;display:flex}.admin-content-panel>header h2{font-size:15px}.admin-content-panel>header p{color:var(--muted);font-size:var(--text-xs);margin-top:3px}.admin-search{width:min(340px,44vw);position:relative}.admin-search svg{color:var(--soft);position:absolute;top:12px;left:12px}.admin-search input{background:var(--surface-muted);border-color:#0000;padding-left:39px}.admin-table-wrap{width:100%;overflow-x:auto}.admin-accounts-table{border-collapse:collapse;width:100%;min-width:880px}.admin-accounts-table th{border-bottom:1px solid var(--line);background:var(--surface-subtle);height:36px;color:var(--soft);font-size:var(--text-2xs);text-align:left;text-transform:uppercase;padding:0 16px;font-weight:800}.admin-accounts-table td{border-bottom:1px solid var(--row-line);height:69px;font-size:var(--text-xs);padding:8px 16px}.admin-accounts-table tr:last-child td{border-bottom:0}.admin-accounts-table tr.is-disabled td{background:var(--danger-surface)}.admin-accounts-table td:first-child{white-space:nowrap}.admin-accounts-table td>div{vertical-align:middle;gap:4px;width:calc(100% - 51px);min-width:0;display:inline-grid}.admin-accounts-table td:nth-child(2)>small,.admin-accounts-table td:nth-child(3)>small,.admin-accounts-table td:nth-child(4)>small{margin-top:4px;display:block}.admin-accounts-table small{color:var(--soft);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-avatar{background:var(--green-soft);width:36px;height:36px;color:var(--green-dark);font-size:var(--text-sm);vertical-align:middle;border-radius:6px;place-items:center;margin-right:10px;font-weight:800;display:inline-grid}.access-status,.admin-state{width:-moz-fit-content;width:fit-content;min-height:21px;color:var(--green);font-size:var(--text-2xs);align-items:center;gap:5px;font-weight:750;display:inline-flex}.access-status.disabled{color:var(--red)}.admin-state i{background:var(--soft);border-radius:50%;width:7px;height:7px}.admin-state-active i{background:var(--green)}.admin-state-pending i{background:var(--amber)}.admin-state-suspended i{background:var(--red)}.admin-table-skeleton,.admin-audit-skeleton{height:350px;margin:16px}.admin-account-detail{display:grid}.admin-disabled-banner{border-bottom:1px solid var(--danger-border);background:var(--red-soft);color:var(--red);align-items:center;gap:10px;padding:12px 22px;display:flex}.admin-disabled-banner div{gap:2px;display:grid}.admin-disabled-banner strong{font-size:var(--text-xs)}.admin-disabled-banner span{font-size:var(--text-2xs)}.admin-detail-summary{border-bottom:1px solid var(--line);background:var(--surface-subtle);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.admin-detail-summary>div{border-right:1px solid var(--line);align-content:center;gap:4px;min-height:64px;padding:10px 18px;display:grid}.admin-detail-summary>div:last-child{border-right:0}.admin-detail-summary span{color:var(--soft);font-size:var(--text-2xs);text-transform:uppercase}.admin-detail-summary strong{font-size:var(--text-xs)}.admin-detail-section{border-bottom:1px solid var(--line);gap:14px;padding:18px 22px;display:grid}.admin-detail-section:last-child{border-bottom:0}.admin-detail-section>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-detail-section h3{font-size:var(--text-md)}.admin-detail-section header p{color:var(--muted);font-size:var(--text-2xs);align-items:center;gap:5px;margin-top:3px;display:flex}.admin-button-row{flex-wrap:wrap;gap:7px;display:flex}.admin-profile-form{grid-template-columns:1.15fr .85fr .8fr .65fr;align-items:end;gap:9px;display:grid}.admin-profile-form label{color:var(--muted);font-size:var(--text-2xs);gap:6px;font-weight:700;display:grid}.admin-profile-reason{grid-column:1/4}.admin-profile-form .secondary-button{grid-column:4}.admin-official-profile{border:1px solid var(--success-border);background:var(--success-surface);color:var(--success-text);font-size:var(--text-2xs);border-radius:5px;align-items:flex-start;gap:8px;padding:10px 11px;line-height:1.45;display:flex}.admin-official-profile svg{flex:none}.admin-score-basis{border:1px solid var(--line);background:var(--surface-muted);border-radius:5px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.admin-score-basis>span{border-radius:5px;place-items:center;width:30px;height:30px;display:grid}.admin-score-basis>div{gap:3px;min-width:0;display:grid}.admin-score-basis strong{font-size:var(--text-xs)}.admin-score-basis small{color:var(--muted);font-size:var(--text-2xs)}.admin-score-basis>span{background:var(--brand-soft);color:var(--brand-dark)}.review-flag{background:var(--amber-soft);min-height:25px;color:var(--warning-text);font-size:var(--text-2xs);border-radius:4px;align-items:center;gap:5px;padding:0 7px;font-weight:700;display:inline-flex}.moderation-actions{padding-top:1px}.admin-section-count{background:var(--surface-muted);min-width:25px;height:25px;color:var(--muted);font-size:var(--text-xs);border-radius:4px;place-items:center;font-weight:750;display:grid}.admin-token-list{border:1px solid var(--line);border-radius:5px;display:grid;overflow:hidden}.admin-token-list>div{border-bottom:1px solid var(--line);grid-template-columns:30px minmax(0,1fr) 32px;align-items:center;gap:9px;min-height:54px;padding:8px 10px;display:grid}.admin-token-list>div:last-child{border-bottom:0}.admin-token-list>div.is-inactive{opacity:.62}.admin-token-icon{background:var(--surface-muted);width:30px;height:30px;color:var(--muted);border-radius:4px;place-items:center;display:grid}.admin-token-list>div>div{gap:3px;min-width:0;display:grid}.admin-token-list strong{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-token-list small{color:var(--muted);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.danger-icon{color:var(--red)}.admin-empty-inline{border:1px dashed var(--line-strong);color:var(--muted);font-size:var(--text-xs);border-radius:5px;align-items:center;gap:8px;padding:13px;display:flex}.admin-danger-zone{background:var(--danger-surface)}.admin-danger-zone>.danger-button{justify-self:start}.admin-action-warning{border:1px solid var(--line);background:var(--surface-muted);color:var(--muted);border-radius:5px;align-items:flex-start;gap:9px;padding:11px;display:flex}.admin-action-warning.danger{border-color:var(--danger-border);background:var(--red-soft);color:var(--danger-text)}.admin-action-warning svg{flex:none}.admin-action-warning p{font-size:var(--text-xs);line-height:1.5}.admin-audit-list{display:grid}.admin-audit-list article{border-bottom:1px solid var(--row-line);grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:8px 20px;display:grid}.admin-audit-list article:last-child{border-bottom:0}.admin-audit-list article>span{background:var(--surface-muted);width:32px;height:32px;color:var(--muted);border-radius:5px;place-items:center;display:grid}.admin-audit-list article>div{gap:3px;display:grid}.admin-audit-list strong{font-size:var(--text-xs);font-weight:700}.admin-audit-list small{color:var(--soft);font-size:var(--text-2xs)}.admin-pass-header-actions,.admin-metrics-toolbar,.admin-pass-alert,.admin-probe-form>div:first-child{align-items:center;display:flex}.admin-pass-header-actions{gap:8px}.pass-state{background:var(--surface-muted);min-height:27px;color:var(--muted);font-size:var(--text-2xs);border-radius:5px;align-items:center;gap:6px;padding:0 9px;font-weight:750;display:inline-flex}.pass-state i{background:var(--soft);border-radius:50%;width:7px;height:7px}.pass-state-available{background:var(--green-soft);color:var(--green-dark)}.pass-state-available i{background:var(--green)}.pass-state-busy i{background:var(--blue)}.pass-state-resting i{background:var(--amber)}.pass-state-circuit_open{background:var(--red-soft);color:var(--red)}.pass-state-circuit_open i{background:var(--red)}.admin-pass-alert{border-bottom:1px solid var(--warning-border);background:var(--warning-surface);min-height:60px;color:var(--warning-text);gap:10px;padding:12px 20px}.admin-pass-alert>div{gap:3px;display:grid}.admin-pass-alert strong{font-size:var(--text-xs)}.admin-pass-alert span{font-size:var(--text-2xs)}.admin-metrics-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;min-height:54px;padding:9px 20px}.admin-metrics-toolbar>span{color:var(--soft);font-size:var(--text-2xs);align-items:center;gap:5px;display:flex}.segmented-control{border:1px solid var(--line);background:var(--surface-muted);border-radius:5px;grid-template-columns:repeat(3,48px);padding:3px;display:grid}.segmented-control button{height:28px;color:var(--muted);font-size:var(--text-2xs);cursor:pointer;background:0 0;border:0;border-radius:3px;font-weight:750}.segmented-control button.active{background:var(--surface-raised);color:var(--ink);box-shadow:0 1px 3px #14271f17}.admin-pass-metrics{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.admin-pass-metrics>div{border-right:1px solid var(--line);grid-template-columns:33px minmax(0,1fr);align-content:center;align-items:center;gap:3px 10px;min-height:92px;padding:14px 20px;display:grid}.admin-pass-metrics>div:last-child{border-right:0}.admin-pass-metrics>div>span{background:var(--surface-muted);width:32px;height:32px;color:var(--green);border-radius:5px;grid-row:1/span 2;place-items:center;display:grid}.admin-pass-metrics strong{font-size:19px;line-height:1}.admin-pass-metrics small{color:var(--muted);font-size:var(--text-2xs)}.admin-pass-detail-grid{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-pass-detail-grid>section{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:190px;padding:18px 20px}.admin-pass-detail-grid>section:nth-child(2n){border-right:0}.admin-pass-detail-grid>section:nth-last-child(-n+2){border-bottom:0}.admin-pass-detail-grid h3{font-size:var(--text-sm);margin-bottom:12px}.admin-pass-detail-grid dl,.admin-pass-detail-grid ul{gap:0;margin:0;padding:0;display:grid}.admin-pass-detail-grid dl>div,.admin-pass-detail-grid li{border-bottom:1px solid var(--row-line);min-height:29px;color:var(--muted);font-size:var(--text-2xs);justify-content:space-between;align-items:center;gap:12px;list-style:none;display:flex}.admin-pass-detail-grid dl>div:last-child,.admin-pass-detail-grid li:last-child{border-bottom:0}.admin-pass-detail-grid dd,.admin-pass-detail-grid li strong{color:var(--ink);font-size:var(--text-xs);margin:0}.admin-pass-empty{color:var(--soft);font-size:var(--text-xs)}.admin-probe-form{grid-template-columns:minmax(180px,.8fr) minmax(210px,1fr) minmax(240px,1.2fr) auto;align-items:end;gap:10px;padding:18px 20px;display:grid}.admin-probe-form>div:first-child{align-self:center;gap:9px}.admin-probe-form>div:first-child>svg{color:var(--green)}.admin-probe-form h3{font-size:var(--text-sm)}.admin-probe-form p{color:var(--muted);font-size:var(--text-2xs);margin-top:3px}.admin-probe-form label{color:var(--muted);font-size:var(--text-2xs);gap:6px;font-weight:700;display:grid}@media (max-width:1180px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grade-scale-band{grid-template-columns:repeat(4,1fr)}.grade-scale-band>div:nth-child(4){border-right:0}.grade-scale-band>div:nth-child(-n+4){border-bottom:1px solid var(--line)}.login-layout{gap:54px}.login-context h1{font-size:42px}.leaderboard-optin-layout{gap:25px}.admin-profile-form{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-profile-reason{grid-column:1/3}.admin-profile-form .secondary-button{grid-column:3;justify-self:end}.admin-probe-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-probe-form>div:first-child{grid-column:1/-1}.admin-probe-form .secondary-button{justify-self:end}}@media (max-width:980px){.app-shell{display:block}.sidebar{display:none}.mobile-nav{z-index:50;height:calc(64px + env(safe-area-inset-bottom));padding:7px 6px env(safe-area-inset-bottom);border-top:1px solid var(--line);background:var(--chrome);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-around;align-items:flex-start;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav a,.mobile-nav>button{min-width:0;height:49px;color:var(--muted);font-size:var(--text-xs);border-radius:5px;flex:1;align-content:center;justify-items:center;gap:3px;font-weight:700;display:grid}.mobile-nav>button{cursor:pointer;background:0 0;border:0}.mobile-nav a.active,.mobile-nav>button.active{background:var(--green-soft);color:var(--green-dark)}.page-content{padding-bottom:30px}.product-footer{padding-bottom:86px}.login-layout{grid-template-columns:1fr 420px;gap:30px}.login-context h1{font-size:34px}.login-context>p{font-size:15px}.sharing-layout{grid-template-columns:1fr}.create-token-panel{max-width:none}.leaderboard-optin-layout{grid-template-columns:1fr;padding-top:5px}.leaderboard-explainer{padding-bottom:0}.leaderboard-toolbar{flex-direction:column;align-items:stretch}.leaderboard-metric-tabs{min-width:0}.leaderboard-filters select{flex:1;min-width:0}.leaderboard-filters label{flex:1;display:flex}}.mobile-overflow-links{gap:2px;padding:10px 18px 20px;display:grid}.mobile-overflow-links a{min-height:58px;color:var(--ink);border-radius:5px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;padding:8px 10px;display:grid}.mobile-overflow-links a:hover{background:var(--surface-hover)}.mobile-overflow-links a>svg{color:var(--green);justify-self:center}.mobile-overflow-links a>span{gap:3px;display:grid}.mobile-overflow-links strong{font-size:var(--text-md)}.mobile-overflow-links small{color:var(--muted);font-size:var(--text-xs)}@media (max-width:760px){.login-topbar{height:68px;padding:0 20px}.login-layout{flex-direction:column;width:min(100% - 32px,460px);padding:28px 0 50px;display:flex}.login-panel{order:-1;margin-bottom:28px;padding:24px}.login-context{margin-bottom:0}.context-icon{display:none}.login-context h1{font-size:29px}.login-context>p{font-size:var(--text-md);margin-top:12px;line-height:1.5}.security-points{display:none}.source-notice{margin-top:22px}.topbar{min-height:68px;padding:8px 16px}.page-heading p{display:none}.page-heading h1{font-size:17px}.profile-copy{display:none}.profile-button{padding-right:4px}.sync-button span{display:none}.sync-button{flex-basis:40px;width:40px;padding:0}.page-content{padding:18px 14px 28px}.product-footer{padding-bottom:82px;padding-left:14px;padding-right:14px}.configured-row{flex-direction:column;align-items:stretch}.configured-row>div{align-items:flex-start}.telegram-config-actions{justify-content:space-between;width:100%}.overview-grid{grid-template-columns:1fr;gap:14px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.semester-overview-band{grid-template-columns:1fr}.semester-overview-band>header{border-right:0;border-bottom:1px solid var(--line)}.metric-card{min-height:132px;padding:14px}.metric-card>strong,.metric-progress>strong{font-size:22px}.performance-panel,.grade-panel,.recent-panel,.activity-panel{grid-column:1;min-height:0}.chart-wrap{height:260px}.toolbar-band{flex-wrap:wrap}.search-field{min-width:100%}.filter-group{flex-wrap:wrap;flex:1}.filter-group>svg{display:none}.filter-group select{flex:1;min-width:0}.toolbar-band>.primary-button{min-width:42px;padding:0 12px}.notes-table,.ue-table{min-width:0;display:block}.notes-table thead,.ue-table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.notes-table tbody,.ue-table tbody{display:grid}.notes-table tbody tr,.ue-table tbody tr{border-bottom:1px solid var(--row-line);gap:5px 12px;min-width:0;padding:14px;display:grid}.notes-table tbody tr:last-child,.ue-table tbody tr:last-child{border-bottom:0}.notes-table td,.ue-table td,.notes-table td:last-child,.ue-table td:last-child{text-align:left;background:0 0;border:0;width:auto;min-width:0;height:auto;padding:0;display:block}.notes-table tbody tr:hover td,.ue-table tbody tr:hover td{background:0 0}.notes-table .cell-primary,.ue-table .cell-primary{min-width:0;max-width:none}.notes-table td[data-label]:before,.ue-table td[data-label]:before{color:var(--soft);content:attr(data-label);font-size:var(--text-2xs);text-transform:uppercase;margin-bottom:2px;font-weight:750;display:block}.notes-table tbody tr{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) auto auto}.notes-table td:first-child{grid-area:1/1}.notes-table td:nth-child(2){grid-area:2/1}.notes-table td:nth-child(3){grid-area:1/2/span 2;align-self:center}.notes-table td:nth-child(4){grid-area:3/1}.notes-table td:nth-child(5){grid-area:3/2}.notes-table td:nth-child(6){grid-area:3/3}.notes-table td:nth-child(3) strong{font-size:15px}.notes-table td:nth-child(4),.notes-table td:nth-child(6){color:var(--muted);font-size:var(--text-xs)}.notes-table td:nth-child(4):before,.notes-table td:nth-child(6):before{margin:0 4px 0 0;display:inline}.notes-table .source-badge{min-height:21px}.ue-table tbody tr{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) auto auto;gap:11px 14px}.ue-table tr.needs-data{background:var(--warning-surface)}.ue-table tr.needs-data td{background:0 0}.ue-table td:first-child{grid-area:1/1}.ue-table td:nth-child(2){color:var(--muted);grid-area:3/1;align-self:center}.ue-table td:nth-child(3){grid-area:2/1}.ue-table td:nth-child(4){grid-area:1/2;align-self:center}.ue-table td:nth-child(5){grid-area:2/2}.ue-table td:nth-child(6){grid-area:2/3}.ue-table td:nth-child(7){grid-area:3/2/auto/span 2;place-self:center end}.ue-table td:nth-child(8){grid-area:1/3;place-self:center end}.ue-table td:nth-child(3),.ue-table td:nth-child(5),.ue-table td:nth-child(6){gap:2px;display:grid}.ue-table td:nth-child(3) strong,.ue-table td:nth-child(5) strong,.ue-table td:nth-child(6) strong{font-size:var(--text-md)}.ue-table tbody tr.ue-notes-row{background:var(--surface-subtle);padding:0;display:block}.ue-table .ue-notes-row>td,.ue-table .ue-notes-row:hover>td{background:0 0;width:100%;padding:0 14px 14px;display:block}.ue-notes-panel{padding:14px 12px 2px}.ue-note-item{grid-template-columns:1fr;gap:10px;padding:12px 0}.ue-note-item dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ue-summary-band{flex-direction:column;align-items:flex-start}.semester-filter-band{flex-direction:column;align-items:stretch}.semester-filter-band>p{padding:0 4px 3px}.weighting-note{max-width:none;padding:2px 8px 8px}.grade-scale-band{grid-template-columns:repeat(2,1fr)}.grade-scale-band>div{border-bottom:1px solid var(--line)}.grade-scale-band>div:nth-child(2n){border-right:0}.grade-scale-band>div:last-child{border-bottom:0}.settings-grid,.sharing-summary{grid-template-columns:1fr}.sharing-summary>div{border-right:0;border-bottom:1px solid var(--line);min-height:70px}.sharing-summary>div:last-child{border-bottom:0}.telegram-settings{grid-column:1}.token-summary{grid-template-columns:1fr}.token-summary>span{border-right:0;border-bottom:1px solid var(--line);min-height:52px}.token-summary>span:last-child{border-bottom:0}.token-secret{grid-template-columns:1fr}.token-secret .secondary-button{justify-self:start}.leaderboard-heading-band{align-items:flex-start}.leaderboard-heading-band>.secondary-button{min-width:40px;padding:0 10px;font-size:0}.leaderboard-heading-band>.secondary-button svg{width:18px;height:18px}.leaderboard-wait-banner{grid-template-columns:auto minmax(0,1fr)}.wait-privacy{border-top:1px solid var(--warning-border);border-left:0;grid-column:1/-1;padding:12px 0 0}.leaderboard-pending-panel{max-width:none}.leaderboard-filters{width:100%}.leaderboard-table th:first-child,.leaderboard-table td:first-child{width:72px}.leaderboard-table th:last-child,.leaderboard-table td:last-child{width:145px}.leaderboard-table th,.leaderboard-table td{padding-left:12px;padding-right:12px}.admin-main{width:min(100% - 28px,1360px);padding-top:18px}.admin-topbar{padding:0 16px}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats>div:nth-child(2){border-right:0}.admin-stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.admin-content-panel>header{flex-direction:column;align-items:stretch}.admin-search{width:100%}.admin-accounts-table{min-width:0;display:block}.admin-accounts-table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-accounts-table tbody{display:grid}.admin-accounts-table tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px;display:grid}.admin-accounts-table tr:last-child{border-bottom:0}.admin-accounts-table td,.admin-accounts-table td:first-child{border:0;width:auto;min-width:0;height:auto;padding:0;display:grid}.admin-accounts-table td:first-child{grid-column:1;grid-template-columns:37px minmax(0,1fr)}.admin-accounts-table td:first-child .account-avatar{margin-right:0}.admin-accounts-table td:first-child>div{width:auto;display:grid}.admin-accounts-table td:nth-child(2),.admin-accounts-table td:nth-child(3),.admin-accounts-table td:nth-child(4){grid-column:1;padding-left:47px}.admin-accounts-table td:nth-child(5){grid-area:1/2/span 4;align-self:center}.admin-accounts-table td[data-label]:before{color:var(--soft);content:attr(data-label);font-size:var(--text-2xs);text-transform:uppercase;margin-bottom:3px;font-weight:750;display:block}.admin-accounts-table td:first-child:before{display:none}.security-setup-options{grid-template-columns:1fr}.security-method p{min-height:0}.admin-profile-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-profile-reason{grid-column:1/2}.admin-profile-form .secondary-button{grid-column:2}.admin-pass-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-pass-metrics>div:nth-child(2){border-right:0}.admin-pass-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.admin-pass-detail-grid{grid-template-columns:1fr}.admin-pass-detail-grid>section{border-right:0;border-bottom:1px solid var(--line);min-height:0}.admin-pass-detail-grid>section:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.admin-pass-detail-grid>section:last-child{border-bottom:0}.admin-probe-form{grid-template-columns:1fr}.admin-probe-form>div:first-child{grid-column:1}.admin-probe-form .secondary-button{justify-self:start}}@media (max-width:480px){.source-notice{grid-template-columns:36px minmax(0,1fr) 32px;gap:10px}.source-notice-icon{width:34px;height:34px}.source-notice.compact{flex-direction:column;align-items:flex-start;gap:6px}.metric-grid,.semester-overview-values{grid-template-columns:1fr}.semester-overview-values>div{border-right:0;border-bottom:1px solid var(--line);min-height:82px}.semester-overview-values>div:last-child{border-bottom:0}.semester-tabs{width:100%}.semester-tabs button:first-child{min-width:0}.metric-card{min-height:124px}.attention-banner{align-items:flex-start}.attention-banner>svg:last-child{display:none}.panel-heading{min-height:60px;padding:12px 14px}.panel-heading>a{font-size:0}.panel-heading>a svg{width:18px;height:18px}.two-columns{grid-template-columns:1fr}.modal-backdrop{align-items:end;padding:0}.modal{border-radius:8px 8px 0 0;width:100%;max-height:92vh}.modal-form{padding:18px}.modal-actions{margin-bottom:0;margin-left:0;margin-right:0;padding:12px 18px}.modal-form>.modal-actions{margin-bottom:-18px;margin-left:-18px;margin-right:-18px}.split-actions{flex-direction:column-reverse;align-items:stretch}.split-actions>div{justify-content:flex-end}.mobile-nav a{min-width:52px;font-size:var(--text-2xs)}.token-row{grid-template-columns:34px minmax(0,1fr) 34px;gap:8px;padding:10px}.token-main small{white-space:normal;line-height:1.4;display:block}.settings-panel,.create-token-panel{padding:16px}.official-profile-grid,.pass-budget,.adaptive-status{grid-template-columns:1fr}.official-profile-grid>div,.pass-budget>div,.adaptive-status>div{border-right:0;border-bottom:1px solid var(--line)}.official-profile-grid>div:last-child,.pass-budget>div:last-child,.adaptive-status>div:last-child{border-bottom:0}.passkey-add{grid-template-columns:1fr}.security-setup-options{padding:18px 18px 6px}.auto-sync-frequency{grid-template-columns:1fr}.auto-sync-next{flex-direction:column;align-items:flex-start}.auto-sync-consent{padding-left:18px;padding-right:18px}.privacy-note{margin-left:18px;margin-right:18px}.info-line{grid-template-columns:20px minmax(0,1fr)}.info-line strong{white-space:normal;grid-column:2;max-width:none}.toast-region{width:calc(100vw - 24px);bottom:78px;right:12px}.mobile-nav a,.mobile-nav>button{min-width:0;font-size:var(--text-2xs)}.leaderboard-heading-band{min-height:82px;padding:14px}.leaderboard-heading-icon{flex-basis:40px;width:40px;height:40px}.leaderboard-heading-band h2{font-size:16px}.leaderboard-explainer{padding:12px 4px 0}.leaderboard-explainer h2{font-size:21px}.leaderboard-join-panel{padding:16px}.leaderboard-wait-banner{padding:14px}.leaderboard-wait-banner>div:nth-child(2)>strong{font-size:21px}.leaderboard-pending-panel{padding:18px}.leaderboard-pending-panel dl{grid-template-columns:1fr}.leaderboard-pending-panel dl>div{border-right:0;border-bottom:1px solid var(--line)}.leaderboard-pending-panel dl>div:last-child{border-bottom:0}.leaderboard-pending-panel footer{flex-direction:column;align-items:stretch}.leaderboard-filters{grid-template-columns:1fr;display:grid}.leaderboard-filters>svg{display:none}.leaderboard-metric-tabs{grid-template-columns:1fr 1.35fr}.leaderboard-metric-tabs button{font-size:var(--text-xs);padding:0 7px}.leaderboard-board>header{min-height:78px;padding:13px 14px}.leaderboard-board>header h2{font-size:17px}.leaderboard-table th:first-child,.leaderboard-table td:first-child{width:58px}.leaderboard-table th:last-child,.leaderboard-table td:last-child{width:112px}.leaderboard-table td{height:56px;font-size:var(--text-xs)}.rank-mark{width:30px;height:30px}.self-pill{display:none}.leaderboard-board>footer{flex-direction:column;align-items:flex-start}.leaderboard-rules,.privacy-management{padding-left:18px;padding-right:18px}.admin-gate-page{padding-left:16px;padding-right:16px}.admin-gate-page>header>span{display:none}.admin-gate-panel{padding:22px}.admin-topbar>div:last-child>span:not(.admin-private-pill){display:none}.admin-private-pill{font-size:0}.admin-private-pill svg{width:16px;height:16px}.admin-page-heading>span{display:none}.admin-page-heading h1{font-size:21px}.admin-stats>div{min-height:76px;padding:10px}.admin-tabs button{flex:1;justify-content:center;padding:0 8px}.admin-detail-summary{grid-template-columns:1fr}.admin-detail-summary>div{border-right:0;border-bottom:1px solid var(--line);min-height:52px}.admin-detail-summary>div:last-child{border-bottom:0}.admin-detail-section{padding:16px 18px}.admin-token-list small{text-overflow:clip;white-space:normal;line-height:1.4;overflow:visible}.admin-profile-form{grid-template-columns:1fr}.admin-profile-reason{grid-column:1}.admin-profile-form .secondary-button{grid-column:1;justify-self:stretch}.admin-button-row{flex-direction:column;align-items:stretch}.admin-button-row button{width:100%}.admin-metrics-toolbar{flex-direction:column;align-items:flex-start}.admin-pass-metrics{grid-template-columns:1fr}.admin-pass-metrics>div{border-right:0;border-bottom:1px solid var(--line)}.admin-pass-metrics>div:nth-child(2){border-right:0}.admin-pass-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.admin-pass-metrics>div:last-child{border-bottom:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-old(student-page){animation:none!important}::view-transition-new(student-page){animation:none!important}}.simulation-hub{gap:14px;display:grid}.simulation-mode-switch{border:1px solid var(--line);background:var(--surface-muted);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;width:min(100%,470px);padding:3px;display:grid}.simulation-mode-switch a{min-width:0;min-height:50px;color:var(--muted);transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);border:1px solid #0000;border-radius:5px;grid-template-rows:auto auto;grid-template-columns:25px minmax(0,1fr);align-content:center;column-gap:8px;padding:6px 11px;display:grid}.simulation-mode-switch a:hover{color:var(--ink)}.simulation-mode-switch a.active{border-color:var(--line);background:var(--surface);color:var(--brand-dark);box-shadow:var(--shadow-xs)}.simulation-mode-switch svg{grid-row:1/span 2;place-self:center}.simulation-mode-switch span{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.simulation-mode-switch small{color:var(--soft);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;font-weight:620;overflow:hidden}.simulations-page,.simulation-page-loading{gap:14px;display:grid}.simulation-privacy-band{border:1px solid var(--success-border);border-left:3px solid var(--brand);background:var(--success-surface);border-radius:6px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:11px 16px;display:grid}.simulation-privacy-band>span{background:var(--brand-soft);width:38px;height:38px;color:var(--brand-dark);border-radius:6px;place-items:center;display:grid}.simulation-privacy-band>div:nth-child(2){min-width:0}.simulation-privacy-band strong{color:var(--success-text);font-size:var(--text-sm);display:block}.simulation-privacy-band p{color:var(--muted);font-size:var(--text-xs);margin-top:2px}.simulation-privacy-band>div:last-child{justify-items:end;gap:2px;display:grid}.simulation-privacy-band i{background:var(--surface);color:var(--brand-dark);font-size:var(--text-2xs);border-radius:4px;padding:3px 7px;font-style:normal;font-weight:800}.simulation-privacy-band small{color:var(--soft);font-size:var(--text-2xs)}.simulation-scenario-bar{border:1px solid var(--line);background:var(--surface);min-width:0;min-height:68px;box-shadow:var(--shadow-xs);border-radius:7px;align-items:stretch;gap:8px;padding:7px;display:flex}.simulation-tabs{scrollbar-width:thin;flex:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.simulation-tabs>button{min-width:156px;max-width:220px;color:var(--muted);text-align:left;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:0 0;border:1px solid #0000;border-radius:5px;flex:1 0 156px;align-content:center;gap:2px;padding:7px 11px;display:grid;position:relative;overflow:hidden}.simulation-tabs>button:hover{background:var(--surface-hover);color:var(--ink)}.simulation-tabs>button.active{border-color:var(--success-border);background:var(--brand-soft);color:var(--brand-dark)}.simulation-tabs>button span{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.simulation-tabs>button small{color:var(--soft);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.simulation-tabs>button.active small{color:var(--success-text)}.simulation-tabs>button i{border:2px solid var(--surface);background:var(--amber);width:7px;height:7px;box-shadow:0 0 0 1px var(--amber);border-radius:50%;position:absolute;top:7px;right:7px}.simulation-add-scenario{flex:0 0 42px;align-self:center;width:42px;height:42px}.simulation-limit{color:var(--soft);font-size:var(--text-2xs);align-self:center;padding:0 4px 0 0;font-weight:750}.simulation-empty-panel{border:1px solid var(--line);background:var(--surface);border-radius:7px;min-height:430px}.simulation-empty-panel .empty-state{min-height:430px}.simulation-tabs-skeleton{border-radius:7px;height:68px}.simulation-summary-skeleton{border-radius:7px;height:190px}.simulation-editor-skeleton{border-radius:7px;height:420px}.simulation-rebase-banner,.simulation-version-banner,.simulation-save-error-banner{border:1px solid var(--warning-border);background:var(--warning-surface);min-height:68px;color:var(--warning-text);animation:disclosure-in var(--motion-slow) var(--ease-emphasized) both;border-radius:6px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 15px;display:grid}.simulation-version-banner{border-color:var(--danger-border);background:var(--danger-surface);color:var(--danger-text)}.simulation-rebase-banner>svg,.simulation-version-banner>svg,.simulation-save-error-banner>svg{align-self:start;margin-top:3px}.simulation-rebase-banner strong,.simulation-version-banner strong,.simulation-save-error-banner strong{font-size:var(--text-sm);display:block}.simulation-rebase-banner p,.simulation-version-banner p,.simulation-save-error-banner p{color:var(--muted);font-size:var(--text-xs);margin-top:2px}.simulation-version-banner>div:last-child{gap:8px;display:flex}.simulation-workspace{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow-xs);animation:simulation-workspace-in var(--motion-slow) var(--ease-emphasized) both;border-radius:7px;overflow:visible}@keyframes simulation-workspace-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.simulation-workspace-header{z-index:4;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:74px;padding:12px 16px;display:flex;position:relative}.simulation-title-wrap{flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.simulation-title-wrap label{flex:260px;width:min(100%,480px);min-width:160px;max-width:480px}.simulation-title-wrap input{width:100%;height:40px;color:var(--ink);transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard);background:0 0;border:1px solid #0000;border-radius:5px;padding:0 9px;font-size:18px;font-weight:820}.simulation-title-wrap input:hover{border-color:var(--line);background:var(--surface-subtle)}.simulation-title-wrap input:focus{border-color:var(--brand);background:var(--control-bg);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.simulation-title-wrap>small{min-width:0;color:var(--soft);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.simulation-save-state{background:var(--surface-muted);min-height:27px;color:var(--muted);font-size:var(--text-2xs);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:0 8px;font-weight:750;display:inline-flex}.simulation-save-state.is-saved{background:var(--green-soft);color:var(--green-dark)}.simulation-save-state.is-warning{background:var(--amber-soft);color:var(--warning-text)}.simulation-save-state.is-error{background:var(--red-soft);color:var(--red)}.simulation-workspace-actions{flex:none;align-items:center;gap:7px;display:flex}.simulation-overflow{position:relative}.simulation-overflow>summary{cursor:pointer;place-items:center;width:40px;height:40px;list-style:none;display:grid}.simulation-overflow>summary::-webkit-details-marker{display:none}.simulation-overflow[open]>summary{border-color:var(--line-strong);background:var(--surface-muted)}.simulation-overflow>div{z-index:20;border:1px solid var(--line);background:var(--surface-raised);width:190px;box-shadow:var(--shadow);animation:disclosure-in var(--motion-fast) var(--ease-emphasized) both;border-radius:6px;padding:5px;display:grid;position:absolute;top:calc(100% + 7px);right:0}.simulation-overflow>div button{min-height:38px;color:var(--ink);font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:9px;padding:0 10px;display:flex}.simulation-overflow>div button:hover{background:var(--surface-hover)}.simulation-overflow>div button.danger{color:var(--red)}.simulation-overflow>div button:disabled{opacity:.45;cursor:not-allowed}.simulation-summary-band{border-bottom:1px solid var(--line);background:var(--surface-subtle);grid-template-columns:1.25fr repeat(3,minmax(0,1fr));display:grid}.simulation-summary-band>div{border-right:1px solid var(--line);align-content:center;gap:4px;min-height:112px;padding:15px 20px;display:grid}.simulation-summary-band>div:last-child{border-right:0}.simulation-summary-band span{color:var(--muted);font-size:var(--text-xs);font-weight:720}.simulation-summary-band strong{color:var(--ink);font-size:25px;line-height:1}.simulation-summary-band strong i{color:var(--soft);margin-left:3px;font-size:15px;font-style:normal;font-weight:650}.simulation-summary-band small{color:var(--soft);font-size:var(--text-2xs)}.simulation-summary-band .simulation-gpa-primary{background:var(--brand-soft)}.simulation-gpa-primary span,.simulation-gpa-primary strong{color:var(--brand-dark)}.simulation-gpa-primary strong{font-size:35px}.simulation-semester-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:9px 14px;display:flex}.simulation-semester-toolbar>span{color:var(--soft);font-size:var(--text-2xs);font-weight:700}.simulation-semester-tabs{gap:3px;min-width:0;display:flex;overflow-x:auto}.simulation-semester-tabs button{min-width:40px;height:32px;color:var(--muted);font-size:var(--text-xs);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:0 0;border:1px solid #0000;border-radius:4px;padding:0 10px;font-weight:760}.simulation-semester-tabs button:hover{background:var(--surface-hover);color:var(--ink)}.simulation-semester-tabs button.active{border-color:var(--line);background:var(--surface-muted);color:var(--brand-dark)}.simulation-editor{min-width:0}.simulation-editor-head,.simulation-editor-row{grid-template-columns:68px minmax(210px,1fr) 92px 142px 62px 150px 38px;align-items:center;gap:10px;display:grid}.simulation-editor-head{border-bottom:1px solid var(--line);background:var(--surface-muted);min-height:40px;color:var(--soft);font-size:var(--text-2xs);text-transform:uppercase;padding:0 14px;font-weight:800}.simulation-editor-head span:nth-child(3),.simulation-editor-head span:nth-child(5){text-align:center}.simulation-editor-body{min-height:128px}.simulation-editor-body>.empty-state{min-height:210px}.simulation-editor-row{border-bottom:1px solid var(--row-line);background:var(--surface);min-height:78px;animation:simulation-row-in var(--motion-base) var(--ease-emphasized) both;padding:10px 14px;position:relative}.simulation-editor-row:before{content:"";background:0 0;border-radius:0 2px 2px 0;width:2px;position:absolute;top:14px;bottom:14px;left:0}.simulation-editor-row.nature-modified:before{background:var(--amber)}.simulation-editor-row.nature-simulated:before{background:var(--blue)}.simulation-editor-row.has-conflict,.simulation-editor-row.is-incomplete{background:var(--warning-surface)}.simulation-editor-row:hover{background:var(--surface-hover)}.simulation-editor-row.has-conflict:hover,.simulation-editor-row.is-incomplete:hover{background:var(--warning-surface)}@keyframes simulation-row-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.simulation-editor-row label{min-width:0}.simulation-editor-row input,.simulation-editor-row select,.simulation-create-form input,.simulation-compare-controls input,.simulation-compare-controls select{border-color:var(--line);background-color:var(--control-bg);width:100%;height:38px;font-size:var(--text-sm);border-radius:4px}.simulation-editor-row input:hover,.simulation-editor-row select:hover{border-color:var(--line-strong)}.simulation-editor-row input[aria-invalid=true]{border-color:var(--warning-border)}.simulation-semester-field select{padding-left:8px;padding-right:25px;font-weight:750}.simulation-ue-fields{grid-template-columns:minmax(76px,.34fr) minmax(120px,1fr);gap:6px;min-width:0;display:grid}.simulation-ue-fields input{padding-left:9px;padding-right:9px}.simulation-ue-fields label:first-child input{text-transform:uppercase;font-weight:780}.simulation-ects-field{position:relative}.simulation-ects-field input{text-align:right;padding-left:8px;padding-right:38px}.simulation-ects-field small{color:var(--soft);pointer-events:none;font-size:9px;font-weight:750;position:absolute;top:11px;right:7px}.simulation-grade-field select{font-weight:760}.simulation-points{justify-items:center;gap:1px;display:grid}.simulation-points strong{font-size:var(--text-md)}.simulation-points small{color:var(--soft);text-transform:uppercase;font-size:9px}.simulation-origin{justify-items:start;gap:4px;min-width:0;display:grid}.simulation-source-meta{max-width:100%;color:var(--soft);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:650;overflow:hidden}.simulation-origin-pill{max-width:100%;min-height:25px;font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:0 7px;font-weight:760;display:inline-flex;overflow:hidden}.simulation-origin-pill.imported{background:var(--green-soft);color:var(--green-dark)}.simulation-origin-pill.modified{background:var(--amber-soft);color:var(--warning-text)}.simulation-origin-pill.simulated{background:var(--blue-soft);color:var(--info-text)}.source-unavailable{color:var(--red);align-items:center;gap:4px;font-size:9px;font-weight:750;display:inline-flex}.simulation-remove-row{width:34px;height:34px;color:var(--soft);border-color:#0000}.simulation-remove-row:hover{border-color:var(--danger-border);background:var(--red-soft);color:var(--red)}.simulation-row-conflict{border-bottom:1px solid var(--warning-border);background:var(--warning-surface);min-height:62px;color:var(--warning-text);grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 14px 9px 20px;display:grid}.simulation-row-conflict>div:nth-child(2){gap:2px;display:grid}.simulation-row-conflict strong{font-size:var(--text-xs)}.simulation-row-conflict span{color:var(--muted);font-size:var(--text-2xs)}.simulation-row-conflict>div:last-child{gap:6px;display:flex}.simulation-row-conflict button{min-height:34px;font-size:var(--text-xs);padding-left:10px;padding-right:10px}.simulation-editor-footer{background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:10px 14px;display:flex}.simulation-editor-footer>span{color:var(--muted);font-size:var(--text-2xs);align-items:center;gap:5px;display:inline-flex}.simulation-formula{border-top:1px solid var(--line)}.simulation-formula>summary{min-height:52px;color:var(--muted);font-size:var(--text-xs);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;font-weight:760;list-style:none;display:flex}.simulation-formula>summary::-webkit-details-marker{display:none}.simulation-formula>summary span{align-items:center;gap:7px;display:inline-flex}.simulation-formula>summary svg:last-child{transition:transform var(--motion-base) var(--ease-standard)}.simulation-formula[open]>summary svg:last-child{transform:rotate(180deg)}.simulation-formula>div{animation:disclosure-in var(--motion-slow) var(--ease-emphasized) both;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 22px;padding:0 16px 16px;display:grid}.simulation-formula p{color:var(--muted);font-size:var(--text-xs);line-height:1.6}.simulation-formula p strong{color:var(--ink)}.simulation-formula>div>small{color:var(--soft);font-size:var(--text-2xs);grid-column:1/-1}.simulation-grade-scale{align-items:center;gap:4px;display:flex}.simulation-grade-scale>span{justify-items:center;gap:3px;min-width:42px;display:grid}.simulation-grade-scale strong{font-size:var(--text-2xs)}.simulation-create-form{padding:20px 22px 0}.simulation-name-field{color:var(--muted);font-size:var(--text-xs);gap:6px;font-weight:750;display:grid}.simulation-name-field input{color:var(--ink);padding:0 10px;font-weight:650}.simulation-start-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:17px;display:grid}.simulation-start-options>button{border:1px solid var(--line);background:var(--surface);min-height:126px;color:var(--ink);text-align:left;cursor:pointer;border-radius:6px;grid-template-columns:38px minmax(0,1fr) 22px;align-content:center;align-items:center;gap:2px 10px;padding:16px;display:grid;position:relative}.simulation-start-options>button:hover{border-color:var(--line-strong);background:var(--surface-hover)}.simulation-start-options>button.active{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 2px var(--focus-shadow)}.simulation-start-options>button:disabled{opacity:.55;cursor:not-allowed}.simulation-start-options>button>span{background:var(--surface-muted);width:38px;height:38px;color:var(--brand-dark);border-radius:5px;grid-row:1/span 2;place-items:center;display:grid}.simulation-start-options>button strong{font-size:var(--text-sm);align-self:end}.simulation-start-options>button small{color:var(--muted);font-size:var(--text-2xs);align-self:start}.simulation-start-options>button i{border:1px solid var(--line-strong);background:var(--surface);width:20px;height:20px;color:var(--brand);border-radius:50%;grid-area:1/3/span 2;place-items:center;display:grid}.simulation-private-note{color:var(--muted);font-size:var(--text-xs);align-items:center;gap:7px;margin:14px 0 18px;display:flex}.simulation-private-note svg{color:var(--brand)}.simulation-create-form>.modal-actions{margin-left:-22px;margin-right:-22px}.simulation-confirmation{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;min-height:112px;padding:18px 22px;display:grid}.simulation-confirmation>span{background:var(--amber-soft);width:42px;height:42px;color:var(--amber);border-radius:6px;place-items:center;display:grid}.simulation-confirmation.is-danger>span{background:var(--red-soft);color:var(--red)}.simulation-confirmation p{color:var(--muted);font-size:var(--text-sm)}.simulation-compare-controls{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);align-items:end;gap:10px;padding:18px 22px;display:grid}.simulation-compare-controls label{color:var(--muted);font-size:var(--text-2xs);gap:5px;font-weight:750;display:grid}.simulation-compare-controls>svg{color:var(--soft);place-self:center;margin-top:16px}.simulation-compare-loading{min-height:250px;color:var(--muted);font-size:var(--text-sm);justify-content:center;align-items:center;gap:9px;display:flex}.simulation-comparison{padding:18px 22px}.simulation-comparison-score{border:1px solid var(--line);border-radius:6px;grid-template-columns:1fr .74fr 1fr;display:grid;overflow:hidden}.simulation-comparison-score>div{border-right:1px solid var(--line);align-content:center;justify-items:center;gap:2px;min-height:96px;padding:12px;display:grid}.simulation-comparison-score>div:last-child{border-right:0}.simulation-comparison-score span{max-width:100%;color:var(--muted);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.simulation-comparison-score strong{font-size:24px}.simulation-comparison-score small{color:var(--soft);font-size:var(--text-2xs)}.simulation-comparison-score .positive{background:var(--green-soft);color:var(--green-dark)}.simulation-comparison-score .negative{background:var(--red-soft);color:var(--red)}.simulation-comparison-score .neutral{background:var(--surface-muted)}.simulation-comparison-method{border:1px solid var(--line);background:var(--surface-subtle);color:var(--muted);font-size:var(--text-xs);border-radius:5px;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 11px;line-height:1.45;display:flex}.simulation-comparison-method svg{color:var(--brand);flex:none;margin-top:1px}.simulation-comparison-method strong{color:var(--ink)}.simulation-differences{border-top:1px solid var(--line);margin-top:15px}.simulation-differences>header{min-height:46px;color:var(--muted);font-size:var(--text-xs);justify-content:space-between;align-items:center;gap:10px;display:flex}.simulation-differences>header strong{color:var(--ink)}.simulation-differences>div:not(.empty-state){border-top:1px solid var(--row-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:60px;padding:8px 4px;display:grid}.simulation-differences>div>span{min-width:0;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;gap:2px;font-weight:750;display:grid;overflow:hidden}.simulation-differences>div>span small{color:var(--soft);font-size:var(--text-2xs);font-weight:600}.simulation-differences>div>div{grid-template-columns:auto auto 18px auto auto;align-items:center;gap:6px;display:grid}.simulation-differences>div>div small,.simulation-differences>div>div i{color:var(--muted);font-size:var(--text-2xs);font-style:normal}.note-simulation-summary .simulation-gpa-primary strong{font-variant-numeric:tabular-nums}.note-ue-list{border-bottom:1px solid var(--line);background:var(--surface-subtle);gap:8px;min-height:190px;padding:12px;display:grid}.note-ue-list>.empty-state{min-height:210px}.note-simulation-ue{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow-xs);border-radius:6px;position:relative;overflow:hidden}.note-simulation-ue:before{z-index:2;content:"";background:0 0;width:3px;position:absolute;top:0;bottom:0;left:0}.note-simulation-ue.nature-modified:before{background:var(--amber)}.note-simulation-ue.nature-simulated:before{background:var(--blue)}.note-simulation-ue.has-conflict{border-color:var(--warning-border)}.note-simulation-ue>summary{cursor:pointer;min-height:76px;transition:background var(--motion-fast) var(--ease-standard);grid-template-columns:50px minmax(220px,1fr) 96px 118px 58px 20px;align-items:center;gap:12px;padding:9px 14px 9px 16px;list-style:none;display:grid}.note-simulation-ue>summary::-webkit-details-marker{display:none}.note-simulation-ue>summary:hover{background:var(--surface-hover)}.note-simulation-ue[open]>summary{border-bottom:1px solid var(--line);background:var(--surface-subtle)}.note-ue-semester{background:var(--surface-muted);width:40px;height:32px;color:var(--brand-dark);font-size:var(--text-xs);border-radius:4px;place-items:center;font-weight:820;display:grid}.note-ue-heading{gap:3px;min-width:0;display:grid}.note-ue-heading strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.note-ue-heading small{color:var(--soft);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.note-ue-average,.note-ue-grade,.note-ue-progress{justify-items:start;gap:2px;display:grid}.note-ue-average>small,.note-ue-grade>small,.note-ue-progress>small{color:var(--soft);text-transform:uppercase;font-size:9px;font-weight:700}.note-ue-average strong{font-variant-numeric:tabular-nums;font-size:19px}.note-ue-average strong i{color:var(--soft);font-size:var(--text-2xs);margin-left:2px;font-style:normal;font-weight:650}.note-ue-grade{align-content:center}.note-ue-grade .grade-badge{min-width:30px}.note-ue-progress strong{font-size:var(--text-sm);font-variant-numeric:tabular-nums}.note-ue-chevron{color:var(--soft);transition:transform var(--motion-base) var(--ease-standard)}.note-simulation-ue[open] .note-ue-chevron{transform:rotate(180deg)}.note-ue-body{animation:disclosure-in var(--motion-base) var(--ease-emphasized) both}.note-ue-metadata{border-bottom:1px solid var(--row-line);grid-template-columns:100px 130px minmax(190px,1fr) 100px 150px 36px;align-items:end;gap:9px;padding:12px 14px;display:grid}.note-ue-metadata.is-incomplete{background:var(--warning-surface)}.note-ue-metadata>label{min-width:0;color:var(--muted);font-size:var(--text-2xs);gap:5px;font-weight:750;display:grid}.note-ue-metadata input,.note-ue-metadata select,.note-assessment-row input{border-color:var(--line);background:var(--control-bg);width:100%;height:36px;color:var(--ink);font-size:var(--text-sm);border-radius:4px}.note-ue-metadata input{padding-left:8px;padding-right:8px}.note-ue-metadata input:hover,.note-ue-metadata select:hover,.note-assessment-row input:hover{border-color:var(--line-strong)}.note-ue-metadata input[aria-invalid=true],.note-assessment-row input[aria-invalid=true]{border-color:var(--warning-border)}.note-ue-title-field input{font-weight:680}.note-input-suffix{display:block;position:relative}.note-input-suffix input{text-align:right;padding-right:37px}.note-input-suffix small{color:var(--soft);pointer-events:none;font-size:9px;position:absolute;top:10px;right:7px}.note-ue-origin{align-content:center;gap:3px;min-width:0;min-height:36px;display:grid}.note-source-meta{max-width:100%;color:var(--soft);text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:690;overflow:hidden}.note-ue-metadata>.icon-button{width:34px;height:34px;color:var(--soft);border-color:#0000}.note-ue-metadata>.icon-button:hover{border-color:var(--danger-border);background:var(--red-soft);color:var(--red)}.note-source-unavailable{border-bottom:1px solid var(--danger-border);background:var(--danger-surface);color:var(--danger-text);font-size:var(--text-xs);align-items:center;gap:7px;padding:8px 14px;display:flex}.note-simulation-conflict{border-bottom:1px solid var(--warning-border)}.note-simulation-conflict p{color:var(--muted);font-size:var(--text-2xs)}.note-assessments{min-width:0}.note-assessment-head,.note-assessment-row{grid-template-columns:minmax(180px,1fr) 106px 100px 116px 150px 34px;align-items:center;gap:9px;display:grid}.note-assessment-head{border-bottom:1px solid var(--line);background:var(--surface-muted);min-height:36px;color:var(--soft);text-transform:uppercase;padding:0 14px;font-size:9px;font-weight:800}.note-assessment-row{border-bottom:1px solid var(--row-line);min-height:58px;transition:background var(--motion-fast) var(--ease-standard);padding:9px 14px;position:relative}.note-assessment-row:before{content:"";background:0 0;width:2px;position:absolute;top:12px;bottom:12px;left:0}.note-assessment-row.nature-modified:before{background:var(--amber)}.note-assessment-row.nature-simulated:before{background:var(--blue)}.note-assessment-row:hover{background:var(--surface-hover)}.note-assessment-row.has-conflict,.note-assessment-row.is-incomplete{background:var(--warning-surface)}.note-assessment-label input{padding-left:9px;padding-right:9px;font-weight:650}.note-assessment-score,.note-assessment-coefficient{position:relative}.note-assessment-score input,.note-assessment-coefficient input{text-align:right;font-variant-numeric:tabular-nums;padding-left:8px;padding-right:35px}.note-assessment-score small,.note-assessment-coefficient small{color:var(--soft);pointer-events:none;font-size:9px;font-weight:720;position:absolute;top:10px;right:7px}.note-assessment-coefficient input{padding-right:40px}.note-resit-switch{cursor:pointer;min-width:0;display:block;position:relative}.note-resit-switch input{opacity:0;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.note-resit-switch span{min-height:34px;color:var(--muted);font-size:var(--text-2xs);align-items:center;padding-left:42px;font-weight:740;display:flex;position:relative}.note-resit-switch span:before{background:var(--neutral-track);content:"";width:34px;height:20px;transition:background var(--motion-fast) var(--ease-standard);border-radius:10px;position:absolute;left:0}.note-resit-switch span:after{content:"";width:14px;height:14px;transition:transform var(--motion-fast) var(--ease-standard);background:#fff;border-radius:50%;position:absolute;left:3px;box-shadow:0 1px 3px #0003}.note-resit-switch input:checked+span:before{background:var(--brand)}.note-resit-switch input:checked+span:after{transform:translate(14px)}.note-resit-switch:has(input:focus-visible) span:before{outline:3px solid var(--focus-ring);outline-offset:2px}.note-assessment-nature{justify-items:start;gap:2px;min-width:0;display:grid}.note-assessment-nature .note-source-meta{color:var(--soft);font-size:8px;display:block}.note-assessment-nature .note-source-alert{color:var(--red);align-items:center;gap:3px;font-size:9px;font-weight:720;display:inline-flex}.note-assessment-remove{width:32px;height:32px;color:var(--soft);border-color:#0000}.note-assessment-remove:hover{border-color:var(--danger-border);background:var(--red-soft);color:var(--red)}.note-assessment-list>.empty-state{min-height:128px}.note-assessments>footer,.note-simulation-footer{background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:9px 14px;display:flex}.note-assessments>footer>span,.note-simulation-footer>span{color:var(--muted);font-size:var(--text-2xs);align-items:center;gap:5px;display:inline-flex}.note-simulation-footer{border-bottom:1px solid var(--line);background:var(--surface);min-height:64px}.simulation-formula>.note-formula-content{grid-template-columns:minmax(0,1fr)}.note-formula-content>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.note-formula-content>div>span{border:1px solid var(--line);background:var(--surface-subtle);border-radius:5px;gap:2px;padding:10px 11px;display:grid}.note-formula-content>div strong{font-size:var(--text-xs)}.note-formula-content>div small{color:var(--muted);font-size:var(--text-2xs);line-height:1.45}.note-formula-content>small{grid-column:1!important}.note-comparison-gpa{border:1px solid var(--line);background:var(--surface-subtle);border-radius:5px;justify-content:space-between;align-items:center;gap:12px;min-height:52px;margin-top:9px;padding:8px 12px;display:flex}.note-comparison-gpa span,.note-comparison-gpa small{color:var(--muted);font-size:var(--text-2xs)}.note-comparison-gpa strong{font-size:var(--text-sm);align-items:center;gap:8px;display:inline-flex}.note-comparison-warnings{border:1px solid var(--warning-border);background:var(--warning-surface);color:var(--warning-text);border-radius:5px;grid-template-columns:20px minmax(0,1fr);gap:9px;margin-top:9px;padding:10px 12px;display:grid}.note-comparison-warnings>svg{margin-top:1px}.note-comparison-warnings>div{gap:4px;display:grid}.note-comparison-warnings strong{font-size:var(--text-xs)}.note-comparison-warnings p{color:var(--muted);font-size:var(--text-2xs);line-height:1.45}.note-comparison-warnings b{color:var(--ink)}.note-comparison-values{grid-template-columns:auto auto 18px auto auto!important}.note-comparison-values strong{font-size:var(--text-sm);font-variant-numeric:tabular-nums}html[data-theme=dark] .simulation-privacy-band,html[data-theme=dark] .simulation-workspace,html[data-theme=dark] .simulation-scenario-bar{box-shadow:inset 0 1px 0 #ffffff05, var(--shadow-xs)}html[data-theme=dark] .simulation-tabs>button.active{background:#163b38;border-color:#245e58}html[data-theme=dark] .simulation-summary-band .simulation-gpa-primary{background:#153b38}html[data-theme=dark] .simulation-editor-row.has-conflict,html[data-theme=dark] .simulation-editor-row.has-conflict:hover,html[data-theme=dark] .simulation-row-conflict,html[data-theme=dark] .simulation-rebase-banner{background:#322a1d}html[data-theme=dark] .simulation-version-banner{background:#352221}html[data-theme=dark] .simulation-start-options>button.active{background:#153b38}html[data-theme=dark] .simulation-mode-switch{background:#111a19}html[data-theme=dark] .simulation-mode-switch a.active{color:#8bd3c7;background:#1a2422;border-color:#2b3937}html[data-theme=dark] .note-simulation-ue{background:#17201f;border-color:#2a3735}html[data-theme=dark] .note-simulation-ue[open]>summary{background:#192321}html[data-theme=dark] .note-ue-list{background:#111817}html[data-theme=dark] .note-ue-semester{color:#8bd3c7;background:#22302d}html[data-theme=dark] .note-assessment-row.has-conflict,html[data-theme=dark] .note-assessment-row.is-incomplete,html[data-theme=dark] .note-ue-metadata.is-incomplete,html[data-theme=dark] .note-simulation-conflict{background:#322a1d}html[data-theme=dark] .note-formula-content>div>span,html[data-theme=dark] .note-comparison-gpa{background:#18211f}@media (max-width:1180px){.simulation-editor-head,.simulation-editor-row{grid-template-columns:62px minmax(180px,1fr) 84px 128px 52px 126px 34px;gap:7px;padding-left:10px;padding-right:10px}.simulation-origin-pill{padding-left:5px;padding-right:5px}.note-simulation-ue>summary{grid-template-columns:46px minmax(180px,1fr) 88px 104px 50px 18px;gap:8px}.note-ue-metadata{grid-template-columns:94px 118px minmax(170px,1fr) 94px 130px 34px;gap:7px;padding-left:10px;padding-right:10px}.note-assessment-head,.note-assessment-row{grid-template-columns:minmax(160px,1fr) 98px 92px 106px 132px 32px;gap:7px;padding-left:10px;padding-right:10px}}@media (max-width:900px){.simulation-title-wrap{grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;display:grid}.simulation-title-wrap label{grid-column:1/-1}.simulation-title-wrap>small{align-self:center}.simulation-workspace-header{align-items:flex-start}.simulation-workspace-actions{margin-top:5px}.simulation-summary-band{grid-template-columns:repeat(2,minmax(0,1fr))}.simulation-summary-band>div:nth-child(2){border-right:0}.simulation-summary-band>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.simulation-editor{overflow-x:auto}.simulation-editor-head,.simulation-editor-row{min-width:790px}.note-ue-metadata{grid-template-columns:90px 110px minmax(170px,1fr) 90px 34px}.note-ue-origin{display:none}.note-assessment-head,.note-assessment-row{grid-template-columns:minmax(150px,1fr) 94px 88px 100px 32px}.note-assessment-nature{display:none}}@media (max-width:760px){.simulation-privacy-band{grid-template-columns:36px minmax(0,1fr);padding:10px 12px}.simulation-privacy-band>span{width:34px;height:34px}.simulation-privacy-band>div:last-child{display:none}.simulation-scenario-bar{box-shadow:none;border-left:0;border-right:0;border-radius:0;margin-left:-14px;margin-right:-14px}.simulation-tabs>button{flex-basis:144px;min-width:144px}.simulation-limit{display:none}.simulation-rebase-banner,.simulation-version-banner,.simulation-save-error-banner{grid-template-columns:22px minmax(0,1fr)}.simulation-rebase-banner>button,.simulation-version-banner>div:last-child,.simulation-save-error-banner>button{grid-column:1/-1;justify-self:stretch}.simulation-rebase-banner>button,.simulation-save-error-banner>button{width:100%}.simulation-version-banner>div:last-child{grid-template-columns:1fr 1fr;display:grid}.simulation-workspace-header{flex-direction:column;align-items:stretch;gap:7px}.simulation-title-wrap{grid-template-columns:minmax(0,1fr) auto}.simulation-title-wrap input{padding-left:0;font-size:17px}.simulation-title-wrap>small{display:none}.simulation-workspace-actions{justify-content:space-between;width:100%;margin:0}.simulation-workspace-actions>.secondary-button{flex:1}.simulation-summary-band>div{min-height:92px;padding:12px 14px}.simulation-gpa-primary strong{font-size:30px}.simulation-summary-band strong{font-size:22px}.simulation-semester-toolbar{flex-direction:column;align-items:stretch;gap:4px}.simulation-semester-toolbar>span{padding-left:3px}.simulation-editor{overflow:visible}.simulation-editor-head{display:none}.simulation-editor-row{grid-template-columns:74px minmax(0,1fr) 96px 34px;grid-template-areas:"semester origin grade remove""ue ue ue ue""ects points points points";gap:9px 8px;min-width:0;min-height:0;padding:13px 12px;display:grid}.simulation-semester-field{grid-area:semester}.simulation-ue-fields{grid-area:ue}.simulation-ects-field{grid-area:ects}.simulation-grade-field{grid-area:grade}.simulation-points{grid-area:points;grid-auto-flow:column;place-content:center start;align-items:baseline;gap:4px}.simulation-origin{grid-area:origin;align-self:center}.simulation-origin-pill{max-width:100%}.simulation-remove-row{grid-area:remove}.simulation-row-conflict{grid-template-columns:20px minmax(0,1fr);padding:11px 12px}.simulation-row-conflict>div:last-child{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.simulation-editor-footer{flex-direction:column;align-items:stretch}.simulation-editor-footer>.secondary-button{width:100%}.simulation-editor-footer>span{justify-content:center}.simulation-formula>div{grid-template-columns:1fr}.simulation-formula>div>small{grid-column:1}.simulation-grade-scale{justify-content:space-between;overflow-x:auto}.simulation-start-options{grid-template-columns:1fr}.simulation-start-options>button{min-height:100px}.simulation-compare-controls{grid-template-columns:1fr}.simulation-compare-controls>svg{margin:0;transform:rotate(90deg)}.simulation-comparison{padding:14px}.simulation-comparison-score>div{min-height:82px;padding:8px}.simulation-comparison-score strong{font-size:20px}.simulation-differences>div:not(.empty-state){grid-template-columns:1fr}.simulation-differences>div>div{justify-content:start}.simulation-mode-switch{width:100%}.note-simulation-ue>summary{grid-template-columns:40px minmax(0,1fr) 78px 18px;grid-template-areas:"semester heading average chevron""semester heading grade chevron";min-height:82px;padding:9px 11px}.note-ue-semester{grid-area:semester;width:36px}.note-ue-heading{grid-area:heading}.note-ue-average{grid-area:average;justify-items:end}.note-ue-grade{grid-area:grade;grid-auto-flow:column;place-items:center end;gap:4px}.note-ue-grade>small,.note-ue-progress{display:none}.note-ue-chevron{grid-area:chevron}.note-ue-metadata{grid-template-columns:94px minmax(0,1fr) 34px;grid-template-areas:"semester code remove""title title title""credits origin origin";align-items:end;gap:9px;padding:12px}.note-ue-metadata>label:first-child{grid-area:semester}.note-ue-metadata>label:nth-child(2){grid-area:code}.note-ue-title-field{grid-area:title}.note-ue-metadata>label:nth-child(4){grid-area:credits}.note-ue-origin{grid-area:origin;align-self:end;display:grid}.note-ue-metadata>.icon-button{grid-area:remove}.note-assessment-head{display:none}.note-assessment-list{background:var(--surface-subtle);gap:8px;padding:9px;display:grid}.note-assessment-row{border:1px solid var(--line);background:var(--surface);border-radius:5px;grid-template-columns:minmax(0,1fr) 94px 34px;grid-template-areas:"label nature remove""score coefficient coefficient""resit resit resit";gap:8px;min-height:0;padding:10px}.note-assessment-label{grid-area:label}.note-assessment-score{grid-area:score}.note-assessment-coefficient{grid-area:coefficient}.note-resit-switch{grid-area:resit}.note-assessment-nature{grid-area:nature;justify-self:end;display:grid}.note-assessment-remove{grid-area:remove}.note-simulation-conflict{border:1px solid var(--warning-border);border-radius:5px;margin:-8px 9px 9px}.note-assessments>footer,.note-simulation-footer{flex-direction:column;align-items:stretch}.note-assessments>footer .secondary-button,.note-simulation-footer .secondary-button{width:100%}.note-assessments>footer>span,.note-simulation-footer>span{justify-content:center}.note-formula-content>div{grid-template-columns:1fr}.note-comparison-gpa{flex-direction:column;align-items:flex-start}}@media (max-width:480px){.simulation-privacy-band p{line-height:1.45}.simulation-scenario-bar{min-height:64px}.simulation-tabs>button{flex-basis:132px;min-width:132px}.simulation-summary-band>div{min-height:86px;padding:10px 11px}.simulation-summary-band span{font-size:var(--text-2xs)}.simulation-summary-band small{line-height:1.25}.simulation-editor-row{grid-template-columns:86px minmax(0,1fr) 92px 34px}.simulation-ue-fields{grid-template-columns:96px minmax(0,1fr)}.simulation-origin-pill{font-size:9px}.simulation-origin-pill svg{display:none}.simulation-source-meta{font-size:8px}.simulation-row-conflict>div:last-child{grid-template-columns:1fr}.simulation-formula>summary,.simulation-formula>div{padding-left:12px;padding-right:12px}.simulation-create-form{padding-left:18px;padding-right:18px}.simulation-create-form>.modal-actions{margin-left:-18px;margin-right:-18px}.simulation-comparison-score{grid-template-columns:1fr .72fr 1fr}.simulation-comparison-score span{max-width:84px}.simulation-mode-switch a{grid-template-columns:22px minmax(0,1fr);min-height:48px;padding:5px 8px}.simulation-mode-switch small{display:none}.note-ue-list{gap:7px;margin-left:-1px;margin-right:-1px;padding:8px}.note-simulation-ue>summary{grid-template-columns:36px minmax(0,1fr) 68px 16px;gap:7px;padding-left:9px;padding-right:9px}.note-ue-heading strong{font-size:var(--text-xs)}.note-ue-heading small{max-width:160px}.note-ue-average strong{font-size:17px}.note-ue-metadata{grid-template-columns:88px minmax(0,1fr) 32px}.note-assessment-row{grid-template-columns:minmax(0,1fr) 32px;grid-template-areas:"label remove""score coefficient""nature nature""resit resit"}.note-assessment-nature{justify-self:start}.note-assessment-score,.note-assessment-coefficient{min-width:0}.note-simulation-summary>div:nth-child(3) small{max-width:120px}}@media (prefers-reduced-motion:reduce){.simulation-workspace,.simulation-editor-row,.simulation-rebase-banner,.simulation-version-banner,.note-simulation-ue,.note-ue-body{animation:none}}.theme-toggle{flex:0 0 38px}.public-shell{background:var(--bg);min-height:100vh}.public-header{z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;gap:24px;min-height:68px;padding:0 max(24px,50vw - 620px);display:grid;position:sticky;top:0}.public-header nav,.public-header-actions{align-items:center;gap:6px;display:flex}.public-header nav a{min-height:36px;color:var(--muted);font-size:var(--text-md);border-radius:5px;align-items:center;gap:7px;padding:0 11px;font-weight:700;display:inline-flex}.public-header nav a:hover,.public-header nav a.active{background:var(--surface-muted);color:var(--ink)}.public-header-actions{justify-content:flex-end}.public-content{width:min(1240px,100% - 48px);margin:0 auto}.public-footer{border-top:1px solid var(--line);width:min(1240px,100% - 48px);min-height:92px;color:var(--muted);font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:30px;margin:48px auto 0;display:flex}.public-footer>div{gap:4px;display:grid}.public-footer strong{color:var(--ink);font-size:var(--text-md)}.public-footer p{text-align:right}.public-footer-links{justify-items:end;gap:6px;display:grid}.public-footer-links>span{display:block}.public-footer a,.login-paff-credit a{color:var(--blue);align-items:center;gap:3px;font-weight:700;display:inline-flex}.public-title-band{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,760px) 1fr;align-items:center;gap:22px;min-height:210px;display:grid}.public-title-icon{background:var(--brand-soft);width:54px;height:54px;color:var(--brand-dark);border-radius:6px;place-items:center;display:grid}.public-title-band h1{margin-top:7px;font-size:42px;line-height:1.08}.public-title-band p{max-width:720px;color:var(--muted);margin-top:12px;font-size:15px;line-height:1.65}.trust-page,.demo-page{display:grid}.demo-page>*,.demo-lab,.demo-map,.demo-workspace,.demo-detail{min-width:0}.trust-answer{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,760px) auto;justify-content:space-between;align-items:center;gap:30px;padding:54px 0;display:grid}.trust-answer h2,.trust-flow h2,.trust-split h2,.public-cta-band h2{margin-top:8px;font-size:24px;line-height:1.25}.trust-answer p,.trust-split p,.public-cta-band p{color:var(--muted);font-size:var(--text-md);margin-top:12px;line-height:1.7}.trust-answer-mark{border:1px solid var(--line-strong);background:var(--blue-soft);width:64px;height:64px;color:var(--blue);border-radius:50%;place-items:center;display:grid}.trust-flow{border-bottom:1px solid var(--line);gap:30px;padding:50px 0;display:grid}.trust-flow-line{grid-template-columns:repeat(3,minmax(22px,auto) minmax(0,1fr)) minmax(0,1fr);align-items:center;gap:12px;display:grid}.trust-flow-line>article{border:1px solid var(--line);background:var(--surface);border-radius:6px;align-content:center;gap:7px;min-height:126px;padding:17px;display:grid}.trust-flow-line>article>span{background:var(--surface-muted);width:36px;height:36px;color:var(--brand);border-radius:5px;place-items:center;display:grid}.trust-flow-line strong{font-size:var(--text-md)}.trust-flow-line small{color:var(--muted);font-size:var(--text-xs);line-height:1.45}.trust-flow-line>i{color:var(--soft)}.trust-guarantees{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.trust-guarantees article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-content:center;gap:16px;min-height:170px;padding:34px 36px;display:grid}.trust-guarantees article:nth-child(2n){border-right:0}.trust-guarantees article:nth-last-child(-n+2){border-bottom:0}.trust-guarantees article>span{background:var(--brand-soft);width:42px;height:42px;color:var(--brand-dark);border-radius:6px;place-items:center;display:grid}.trust-guarantees article:nth-child(2)>span{background:var(--coral-soft);color:var(--coral)}.trust-guarantees article:nth-child(3)>span{background:var(--blue-soft);color:var(--blue)}.trust-guarantees article:nth-child(4)>span{background:var(--amber-soft);color:var(--amber)}.trust-guarantees h2{font-size:16px}.trust-guarantees p{color:var(--muted);font-size:var(--text-md);margin-top:7px;line-height:1.6}.trust-split{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:0;display:grid}.trust-split>article{min-height:280px;padding:52px 42px 52px 0}.trust-split>article+article{border-left:1px solid var(--line);padding-left:42px;padding-right:0}.trust-methods{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.trust-methods span{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--brand-dark);font-size:var(--text-xs);border-radius:5px;align-items:center;gap:7px;padding:0 10px;font-weight:750;display:inline-flex}.trust-limit{grid-template-columns:auto minmax(0,1fr);gap:16px;display:grid}.trust-limit>span{background:var(--amber-soft);width:42px;height:42px;color:var(--amber);border-radius:6px;place-items:center;display:grid}.trust-source-band{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;min-height:188px;padding:34px 0;display:grid}.trust-source-band>span{background:var(--surface-muted);width:48px;height:48px;color:var(--ink);border-radius:6px;place-items:center;display:grid}.trust-source-band h2{margin-top:7px;font-size:20px;line-height:1.3}.trust-source-band p{max-width:760px;color:var(--muted);font-size:var(--text-md);margin-top:9px;line-height:1.65}.trust-source-band>a{white-space:nowrap}.public-cta-band{justify-content:space-between;align-items:center;gap:28px;min-height:160px;display:flex}.public-cta-band>div:last-child{flex-wrap:wrap;gap:8px;display:flex}.demo-title-band{grid-template-columns:auto minmax(0,760px) 1fr}.demo-fake-badge{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--muted);font-size:var(--text-xs);border-radius:5px;justify-self:end;align-items:center;gap:7px;padding:0 10px;font-weight:700;display:inline-flex}.demo-lab{gap:24px;padding:42px 0;display:grid}.demo-map{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;min-height:146px;padding:18px 24px;display:grid;position:relative;overflow:hidden}.demo-track{background:var(--line-strong);height:2px;position:absolute;top:53px;left:calc(8.33% + 24px);right:calc(8.33% + 24px)}.demo-track span{width:var(--demo-progress);background:var(--brand);height:100%;transition:width .45s;display:block}.demo-node{z-index:2;color:var(--soft);justify-items:center;gap:9px;display:grid;position:relative}.demo-node>span{border:2px solid var(--line-strong);background:var(--surface);border-radius:50%;place-items:center;width:48px;height:48px;transition:border-color .18s,background .18s,color .18s;display:grid}.demo-node strong{font-size:var(--text-xs);text-align:center}.demo-node.active{color:var(--brand-dark)}.demo-node.active>span{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark);box-shadow:0 0 0 5px color-mix(in srgb, var(--brand-soft) 62%, transparent)}.demo-packet{z-index:3;top:45px;left:var(--demo-position);background:var(--brand);width:18px;height:18px;color:var(--on-accent);border-radius:50%;place-items:center;transition:left .45s;display:grid;position:absolute;transform:translate(-50%)}.demo-workspace{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:268px minmax(0,1fr);min-height:420px;display:grid;overflow:hidden}.demo-steps{border-right:1px solid var(--line);background:var(--surface-muted);align-content:start;padding:10px;display:grid}.demo-steps button{min-height:42px;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;grid-template-columns:24px 20px minmax(0,1fr) auto;align-items:center;gap:6px;padding:0 9px;display:grid}.demo-steps button:hover{background:color-mix(in srgb, var(--surface) 65%, transparent);color:var(--ink)}.demo-steps button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #11272014}.demo-steps button>span{color:var(--soft);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.demo-steps button strong{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.demo-steps button small{background:var(--blue-soft);color:var(--blue);font-size:var(--text-2xs);text-transform:uppercase;border-radius:3px;padding:3px 4px;font-weight:800}.demo-detail{grid-template-rows:auto auto auto 1fr;align-content:start;padding:46px 54px 30px;display:grid}.demo-detail>header{align-items:center;gap:14px;display:flex}.demo-detail>header>span{background:var(--brand-soft);width:48px;height:48px;color:var(--brand-dark);border-radius:6px;place-items:center;display:grid}.demo-detail>header small{color:var(--soft);font-size:var(--text-xs);text-transform:uppercase;font-weight:750}.demo-detail h2{margin-top:4px;font-size:24px}.demo-detail>p{max-width:760px;color:var(--muted);font-size:var(--text-md);margin-top:25px;line-height:1.75}.demo-proof{border-left:3px solid var(--brand);background:var(--brand-soft);max-width:760px;color:var(--brand-dark);font-size:var(--text-sm);align-items:flex-start;gap:10px;margin-top:24px;padding:14px 15px;line-height:1.55;display:flex}.demo-proof svg{flex:none}.demo-proof span{gap:2px;display:grid}.demo-detail>footer{grid-template-columns:38px auto 38px;justify-content:end;align-items:end;gap:8px;padding-top:34px;display:grid}.demo-play{min-width:154px}.demo-summary-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr auto;align-items:center;gap:24px;min-height:118px;padding:24px 0;display:grid}.demo-summary-band>div{color:var(--brand);align-items:center;gap:10px;display:flex}.demo-summary-band span{color:var(--muted);font-size:var(--text-xs);gap:3px;display:grid}.demo-summary-band strong{color:var(--ink);font-size:var(--text-md)}.login-public-links{grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;display:grid}.login-public-links>a{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 55%, transparent);min-height:64px;color:var(--muted);border-radius:6px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.login-public-links>a:hover{border-color:var(--line-strong);background:var(--surface);color:var(--ink)}.login-public-links>a>svg{color:var(--brand)}.login-public-links span{gap:3px;display:grid}.login-public-links strong{color:var(--ink);font-size:var(--text-xs)}.login-public-links small{font-size:var(--text-2xs);line-height:1.35}.login-public-links>.login-source-link{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;min-height:52px}.login-source-link>svg:last-child{color:var(--soft)}.login-paff-credit{color:var(--soft);font-size:var(--text-2xs);margin-top:14px;line-height:1.5}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1211;--surface:#181d1b;--surface-raised:#1f2523;--surface-muted:#232a27;--surface-subtle:#141817;--surface-hover:#202724;--control-bg:#121715;--chrome:#0f1211f2;--ink:#f0f4f2;--muted:#b0bbb7;--soft:#828f8a;--line:#303734;--line-strong:#47514d;--row-line:#272e2b;--focus-ring:#63c8bb57;--focus-shadow:#63c8bb2e;--on-accent:#09201d;--brand:#63c8bb;--brand-dark:#a0e2d9;--brand-solid:#176b66;--brand-soft:#173632;--coral:#ff927b;--coral-soft:#3b2520;--blue:#95bce3;--blue-soft:#1e3040;--amber:#e7b866;--amber-soft:#392e1d;--red:#ff948a;--red-soft:#3c2321;--success-border:#315b52;--success-surface:#172c27;--success-text:#a0e2d9;--warning-border:#65502f;--warning-surface:#2a2318;--warning-text:#efc173;--danger-border:#653934;--danger-surface:#2b1e1c;--danger-text:#ff9b90;--info-text:#a7c9eb;--neutral-track:#46514d;--skeleton:#252b29;--skeleton-sheen:#ffffff13;--shadow:0 18px 50px #00000057}html[data-theme=dark] body{scrollbar-color:var(--line-strong) var(--bg)}html[data-theme=dark] ::selection{background:var(--brand-soft);color:var(--ink)}html[data-theme=dark] .login-form label,html[data-theme=dark] .modal-form>label,html[data-theme=dark] .form-grid label,html[data-theme=dark] .settings-form label,html[data-theme=dark] .create-token-panel>label{color:var(--muted)}html[data-theme=dark] .token-list>div,html[data-theme=dark] .settings-section-header,html[data-theme=dark] .leaderboard-board>header,html[data-theme=dark] .admin-content-panel>header{background:var(--surface)}html[data-theme=dark] .segmented button.active,html[data-theme=dark] .segmented-control button.active,html[data-theme=dark] .demo-steps button.active{background:var(--surface-raised);box-shadow:0 1px 5px #00000047}html[data-theme=dark] .form-error,html[data-theme=dark] .inline-warning,html[data-theme=dark] .toast-error,html[data-theme=dark] .privacy-danger,html[data-theme=dark] .leaderboard-suspended,html[data-theme=dark] .admin-accounts-table tr.is-disabled td,html[data-theme=dark] .admin-danger-zone{border-color:var(--danger-border);background:var(--danger-surface);color:var(--danger-text)}html[data-theme=dark] .admin-pass-warning{border-color:var(--warning-border);background:var(--warning-surface);color:var(--warning-text)}html[data-theme=dark] .grade-a{color:#8de1ba;background:#193d31}html[data-theme=dark] .grade-b{color:#b3df9f;background:#263c25}html[data-theme=dark] .grade-c{color:#a9caeb;background:#213449}html[data-theme=dark] .grade-d{color:#ebc47c;background:#43361f}html[data-theme=dark] .grade-e{color:#edb381;background:#432e20}html[data-theme=dark] .grade-fx{color:#f59d94;background:#472724}html[data-theme=dark] .grade-f{color:#deb0b2;background:#382b2c}html[data-theme=dark] .rank-1{color:#f4ce6d;background:#493a17}html[data-theme=dark] .rank-2{color:#c0c9c5;background:#303735}html[data-theme=dark] .rank-3{color:#e2ab84;background:#432c21}@media (max-width:900px){.public-header{grid-template-columns:1fr auto;padding:0 20px}.public-header nav{display:none}.public-content,.public-footer{width:min(100% - 36px,760px)}.public-title-band{grid-template-columns:auto minmax(0,1fr)}.public-title-band>:last-child:not(div){grid-column:2;justify-self:start}.trust-flow-line{grid-template-columns:1fr}.trust-flow-line>i{justify-self:center;transform:rotate(90deg)}.trust-flow-line>article{width:100%;min-height:104px}.trust-split{grid-template-columns:1fr}.trust-split>article{min-height:auto;padding:40px 0}.trust-split>article+article{border-top:1px solid var(--line);border-left:0;padding-left:0}.trust-source-band{grid-template-columns:auto minmax(0,1fr)}.trust-source-band>a{grid-column:2;justify-self:start}.demo-map{min-height:118px;padding-left:10px;padding-right:10px}.demo-node strong{display:none}.demo-workspace{grid-template-columns:210px minmax(0,1fr)}.demo-detail{padding:34px 30px 24px}.demo-summary-band{grid-template-columns:1fr 1fr}.demo-summary-band .primary-button{grid-column:1/-1;justify-self:start}}@media (max-width:640px){.public-header{min-height:62px;padding:0 14px}.public-header .brand-name{display:none}.public-header-actions .secondary-button{width:38px;padding:0;font-size:0}.public-header-actions .secondary-button svg{margin:0}.public-content,.public-footer{width:calc(100% - 28px)}.public-title-band{grid-template-columns:42px minmax(0,1fr);gap:13px;min-height:190px}.public-title-icon{width:42px;height:42px}.public-title-band h1{font-size:28px}.public-title-band p{font-size:var(--text-md)}.trust-answer{grid-template-columns:1fr;padding:38px 0}.trust-answer-mark{display:none}.trust-flow{padding:38px 0}.trust-guarantees{grid-template-columns:1fr}.trust-guarantees article{border-right:0;min-height:142px;padding:25px 18px;border-bottom:1px solid var(--line)!important}.trust-guarantees article:last-child{border-bottom:0!important}.public-cta-band{flex-direction:column;justify-content:center;align-items:flex-start;min-height:220px}.public-cta-band>div:last-child{width:100%}.public-cta-band a{flex:1}.public-footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;min-height:138px}.public-footer p{text-align:left}.public-footer-links{justify-items:start}.trust-source-band{grid-template-columns:1fr;align-content:center;min-height:260px}.trust-source-band>a{grid-column:1;width:100%}.demo-title-band .demo-fake-badge{display:none}.demo-map{min-height:94px}.demo-track{top:39px;left:calc(8.33% + 10px);right:calc(8.33% + 10px)}.demo-node>span{width:38px;height:38px}.demo-node>span svg{width:17px}.demo-packet{top:31px}.demo-workspace{background:0 0;border:0;min-height:0;display:block;overflow:visible}.demo-steps{scrollbar-width:none;border:0;width:calc(100% + 28px);max-width:calc(100% + 28px);margin:0 -14px;padding:8px 14px;display:flex;overflow-x:auto}.demo-steps::-webkit-scrollbar{display:none}.demo-steps button{grid-template-columns:1fr;justify-items:center;min-width:46px;padding:5px}.demo-steps button>span,.demo-steps button strong,.demo-steps button small{display:none}.demo-detail{border:1px solid var(--line);background:var(--surface);border-radius:6px;min-height:420px;margin-top:12px;padding:24px 20px 18px}.demo-detail h2{font-size:20px}.demo-detail>p{font-size:var(--text-md)}.demo-detail>footer{justify-content:stretch}.demo-play{min-width:0}.demo-summary-band{grid-template-columns:1fr}.demo-summary-band .primary-button{width:100%}.login-public-links{grid-template-columns:1fr}.admin-score-basis{grid-template-columns:auto minmax(0,1fr)}.admin-score-basis .secondary-button{grid-column:1/-1;width:100%}}.workspace{min-width:0}.topbar{box-shadow:var(--shadow-xs)}.page-heading h1{font-size:20px}.page-heading p{margin-top:3px;line-height:1.4}.page-content{min-height:calc(100vh - 124px)}.panel-heading h2,.section-heading h2,.create-token-panel h2,.token-list-panel h2,.settings-panel h2{font-size:var(--text-lg);line-height:1.3}.sidebar-nav a{isolation:isolate;transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);position:relative}.sidebar-nav a:before{background:var(--green);content:"";opacity:0;width:3px;transition:opacity var(--motion-fast) var(--ease-standard), transform var(--motion-base) var(--ease-emphasized);border-radius:0 3px 3px 0;position:absolute;top:9px;bottom:9px;left:-12px;transform:scaleY(.45)}.sidebar-nav a.active:before{opacity:1;transform:scaleY(1)}.profile-chevron{color:var(--soft);transition:transform var(--motion-base) var(--ease-emphasized)}.profile-button[aria-expanded=true] .profile-chevron{transform:rotate(180deg)}.profile-menu{transform-origin:100% 0;animation:menu-in var(--motion-base) var(--ease-emphasized) both}@keyframes menu-in{0%{opacity:0;transform:translateY(-5px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.metric-card,.content-panel,.data-section,.settings-panel,.create-token-panel,.token-list-panel,.leaderboard-board,.leaderboard-heading-band{box-shadow:var(--shadow-xs)}.metric-card{transition:border-color var(--motion-base) var(--ease-standard), box-shadow var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-emphasized)}@media (hover:hover) and (pointer:fine){.metric-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.data-table tbody tr:hover td,.leaderboard-table tbody tr:hover td{background:var(--surface-hover)}}.data-table td,.leaderboard-table td{transition:background var(--motion-fast) var(--ease-standard);line-height:1.42}.data-table th,.leaderboard-table th{line-height:1.3}.table-wrap,.leaderboard-table-wrap{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.segmented button,.segmented-control button,.leaderboard-metric-tabs button,.year-tabs button{transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard)}:is(.switch:has(input:focus-visible) i,.toggle-row:has(input:focus-visible)>i,.consent-check:has(input:focus-visible)>i){outline:3px solid var(--focus-ring);outline-offset:2px}.theme-toggle svg{transition:color var(--motion-base) var(--ease-standard), transform var(--motion-slow) var(--ease-emphasized)}.theme-toggle:hover svg{color:var(--brand);transform:rotate(12deg)}.modal-backdrop{animation:backdrop-in var(--motion-base) var(--ease-standard) both;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{box-shadow:var(--shadow-overlay);animation:modal-in var(--motion-slow) var(--ease-emphasized) both}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.toast{box-shadow:var(--shadow-sm);animation:toast-in var(--motion-slow) var(--ease-emphasized) both}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.ue-notes-row{animation:disclosure-in var(--motion-slow) var(--ease-emphasized) both}@keyframes disclosure-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.fatal-error-page{place-content:center;justify-items:center;gap:28px;min-height:100vh;padding:24px;display:grid}.fatal-error-page>section{border:1px solid var(--danger-border);background:var(--surface);width:min(100%,620px);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:46px minmax(0,1fr);gap:14px 16px;padding:24px;display:grid}.fatal-error-page>section>span{background:var(--red-soft);width:46px;height:46px;color:var(--red);border-radius:6px;place-items:center;display:grid}.fatal-error-page h1{margin-top:4px;font-size:22px;line-height:1.25}.fatal-error-page section p{color:var(--muted);font-size:var(--text-md)}.fatal-error-page section div>p:last-child{margin-top:8px}.fatal-error-page .primary-button{grid-column:2;justify-self:start}html[data-theme=dark]{--shadow-xs:0 1px 2px #00000042;--shadow-sm:0 8px 24px #00000047;--shadow:0 20px 52px #0000005c;--shadow-overlay:0 30px 90px #00000094}html[data-theme=dark] .metric-card,html[data-theme=dark] .content-panel,html[data-theme=dark] .data-section,html[data-theme=dark] .settings-panel,html[data-theme=dark] .create-token-panel,html[data-theme=dark] .token-list-panel{box-shadow:inset 0 1px 0 #ffffff04, var(--shadow-xs)}@media (max-width:980px){.mobile-nav a,.mobile-nav>button{font-size:var(--text-2xs);transition:color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard);position:relative}.mobile-nav a:before,.mobile-nav>button:before{background:var(--green);content:"";opacity:0;width:44%;height:2px;transition:opacity var(--motion-fast) var(--ease-standard), transform var(--motion-base) var(--ease-emphasized);border-radius:0 0 2px 2px;position:absolute;top:-7px;left:28%;transform:scaleX(.4)}.mobile-nav a.active:before,.mobile-nav>button.active:before{opacity:1;transform:scaleX(1)}}@media (max-width:760px){.topbar-actions{gap:6px}.profile-chevron{display:none}.page-heading h1{font-size:18px}.data-section,.content-panel,.settings-panel,.create-token-panel,.token-list-panel{box-shadow:none}.notes-table tbody tr,.ue-table tbody tr{padding:16px}.notes-table td[data-label]:before,.ue-table td[data-label]:before,.admin-accounts-table td[data-label]:before{font-size:var(--text-2xs)}}@media (max-width:480px){.modal{animation-name:sheet-in}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.fatal-error-page>section{grid-template-columns:1fr}.fatal-error-page .primary-button{grid-column:1;width:100%}}.calendar-page{max-width:1380px;margin:0 auto}.calendar-page-skeleton{gap:18px;display:grid}.calendar-page-skeleton>:first-child{height:76px}.calendar-page-skeleton>:last-child{height:min(680px,72vh)}.calendar-section-tabs{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:64px;padding:10px 0 14px;display:flex}.calendar-section-tabs>.segmented{width:min(100%,380px);margin:0}.calendar-section-tabs>span,.calendar-data-controls>span{color:var(--muted);font-size:var(--text-xs);align-items:center;gap:7px;display:inline-flex}.calendar-section-tabs>span svg,.calendar-data-controls>span svg{color:var(--green)}.calendar-onboarding-body{grid-template-columns:minmax(0,1.4fr) minmax(280px,.75fr);min-height:430px;display:grid}.calendar-onboarding .empty-state{border-right:1px solid var(--line);min-height:430px;padding:44px}.calendar-onboarding .empty-state p{max-width:540px}.calendar-onboarding .empty-state .primary-button{margin-top:9px}.calendar-privacy-facts{background:var(--surface-subtle);align-content:center;gap:0;margin:0;padding:24px 30px;display:grid}.calendar-privacy-facts>div{border-bottom:1px solid var(--line);padding:20px 0}.calendar-privacy-facts>div:last-child{border-bottom:0}.calendar-privacy-facts dt{color:var(--ink);align-items:center;gap:9px;font-weight:760;display:flex}.calendar-privacy-facts dt svg{color:var(--green)}.calendar-privacy-facts dd{color:var(--muted);font-size:var(--text-xs);margin:6px 0 0 27px;line-height:1.55}.calendar-connect-form .field-help{color:var(--muted);font-size:var(--text-xs);margin-top:-13px}.calendar-secret-notice{border:1px solid var(--success-border);background:var(--success-surface);color:var(--success-text);border-radius:6px;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:11px;padding:14px;display:grid}.calendar-secret-notice>svg{background:var(--green-soft);width:36px;height:36px;color:var(--green-dark);border-radius:5px;padding:8px}.calendar-secret-notice strong{color:var(--ink)}.calendar-secret-notice p{font-size:var(--text-xs);margin-top:3px;line-height:1.5}.calendar-link-guide{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-link-guide summary{min-height:48px;color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-weight:720;list-style:none;display:flex}.calendar-link-guide summary::-webkit-details-marker{display:none}.calendar-link-guide summary svg{color:var(--blue)}.calendar-link-guide ol{color:var(--muted);font-size:var(--text-xs);gap:8px;margin:0 0 15px 22px;padding-left:18px;display:grid}.calendar-personal-stack,.training-calendar-stack{gap:18px;display:grid}.calendar-sync-band{border:1px solid var(--success-border);background:var(--success-surface);border-radius:6px;grid-template-columns:minmax(280px,1fr) auto auto;align-items:center;gap:24px;min-height:84px;padding:14px 16px;display:grid}.calendar-sync-band.has-error{border-color:var(--warning-border);background:var(--warning-surface)}.calendar-sync-state{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;min-width:0;display:grid}.calendar-sync-state>span{background:var(--green-soft);width:42px;height:42px;color:var(--green-dark);border-radius:6px;place-items:center;display:grid}.calendar-sync-band.has-error .calendar-sync-state>span{background:var(--amber-soft);color:var(--amber)}.calendar-sync-state strong{font-size:var(--text-md)}.calendar-sync-state p{color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;overflow:hidden}.calendar-sync-band>dl{grid-template-columns:repeat(2,auto);gap:30px;margin:0;display:grid}.calendar-sync-band>dl>div{gap:3px;display:grid}.calendar-sync-band dt{color:var(--soft);font-size:var(--text-2xs);text-transform:uppercase;font-weight:750}.calendar-sync-band dd{color:var(--ink);font-size:var(--text-xs);white-space:nowrap;margin:0;font-weight:720}.personal-calendar{--fc-forma-primary:var(--brand-solid);--fc-forma-primary-over:var(--brand-dark);--fc-forma-primary-down:var(--brand-dark);--fc-forma-primary-foreground:var(--on-accent);--fc-forma-event:var(--brand-solid);--fc-forma-event-contrast:#fff;--fc-forma-background-event:var(--brand);--fc-forma-highlight:color-mix(in srgb, var(--brand) 15%, transparent);--fc-forma-background:var(--surface);--fc-forma-faint:color-mix(in srgb, var(--ink) 3%, transparent);--fc-forma-muted:color-mix(in srgb, var(--ink) 7%, transparent);--fc-forma-strong:color-mix(in srgb, var(--ink) 12%, transparent);--fc-forma-stronger:color-mix(in srgb, var(--ink) 17%, transparent);--fc-forma-strongest:color-mix(in srgb, var(--ink) 22%, transparent);--fc-forma-foreground:var(--ink);--fc-forma-faint-foreground:var(--soft);--fc-forma-muted-foreground:var(--muted);--fc-forma-border:var(--line);--fc-forma-muted-border:var(--row-line);--fc-forma-strong-border:var(--line-strong);position:relative;overflow:hidden}.calendar-toolbar{border-bottom:1px solid var(--line);grid-template-columns:minmax(230px,1fr) minmax(180px,auto) minmax(230px,1fr);align-items:center;gap:16px;min-height:70px;padding:12px 16px;display:grid}.calendar-toolbar h2{font-size:var(--text-lg);text-align:center;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;overflow:hidden}.calendar-period-controls{align-items:center;gap:4px;display:flex}.calendar-period-controls .icon-button{border-color:var(--line)}.calendar-today-button{min-height:36px;font-size:var(--text-xs);padding:0 11px}.calendar-view-switch{justify-self:end;margin:0}.calendar-view-switch button{gap:6px}.calendar-loading-line{z-index:4;background:var(--brand-soft);height:2px;position:absolute;top:69px;left:0;right:0;overflow:hidden}.calendar-loading-line:after{background:var(--brand);content:"";width:35%;height:100%;animation:1.2s ease-in-out infinite loading;display:block}.calendar-inline-error,.calendar-range-empty{border-bottom:1px solid var(--line);min-height:42px;color:var(--muted);font-size:var(--text-xs);align-items:center;gap:8px;padding:8px 16px;display:flex}.calendar-inline-error{background:var(--danger-surface);color:var(--danger-text)}.calendar-range-empty{background:var(--surface-subtle)}.calendar-range-empty svg{color:var(--blue)}.fullcalendar-frame{min-height:570px;padding:14px}.fullcalendar-frame .fc{min-width:0;font-family:inherit}.fullcalendar-frame .fc a{color:inherit}.fullcalendar-frame .fc-event{cursor:pointer}.fullcalendar-frame .fc-event:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}.fullcalendar-frame .fc-day-today{box-shadow:inset 0 3px 0 var(--amber)}.fullcalendar-frame .fc-timegrid-now-indicator-line{border-color:var(--coral)}.fullcalendar-frame .fc-timegrid-now-indicator-arrow{border-color:transparent var(--coral) transparent transparent}.calendar-event-detail{gap:0;padding:8px 22px 22px;display:grid}.calendar-event-detail>div{border-bottom:1px solid var(--line);grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;padding:16px 0;display:grid}.calendar-event-detail>div:last-child{border-bottom:0}.calendar-event-detail>div>svg{color:var(--green);margin-top:1px}.calendar-event-detail span{gap:3px;display:grid}.calendar-event-detail strong{font-size:var(--text-xs);text-transform:uppercase}.calendar-event-detail p{color:var(--muted);font-size:var(--text-md);line-height:1.5}.calendar-disconnect-dialog>p{color:var(--muted);font-size:var(--text-md);padding:20px 22px}.calendar-disconnect-dialog .modal-actions{margin:0}.calendar-data-controls{justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:0 4px;display:flex}.calendar-data-controls>button{color:var(--red);font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:6px 4px;font-weight:700;display:inline-flex}.training-heading-band{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;min-height:112px;padding:20px 2px;display:grid}.training-heading-band h2{margin-top:5px;font-size:22px;line-height:1.25}.training-heading-band>div:first-child>p{color:var(--muted);font-size:var(--text-sm);margin-top:5px}.training-current-state{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;min-width:244px;display:grid}.training-current-state>span{background:var(--blue-soft);width:42px;height:42px;color:var(--blue);border-radius:6px;place-items:center;display:grid}.training-current-state div{display:grid}.training-current-state small{color:var(--soft);font-size:var(--text-2xs);text-transform:uppercase;font-weight:760}.training-current-state strong{font-size:var(--text-md);margin-top:3px}.training-promotion-selector{align-items:center;gap:14px;min-height:58px;display:flex}.training-promotion-selector .segmented{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,560px);margin:0}.training-promotion-selector button{grid-template-columns:auto auto;gap:7px;display:grid}.training-promotion-selector button small{color:var(--soft);font-size:var(--text-2xs)}.training-promotion-selector button.active small{color:var(--green)}.current-promotion-label{color:var(--green-dark);font-size:var(--text-xs);align-items:center;gap:5px;font-weight:740;display:inline-flex}.training-legend,.training-totals{color:var(--muted);font-size:var(--text-xs);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 14px;font-weight:680;display:flex}.training-legend>span,.training-totals>span{align-items:center;gap:6px;display:inline-flex}.training-legend i{border-radius:2px;width:9px;height:9px}.training-legend .school i{background:var(--brand)}.training-legend .company i{background:var(--blue)}.training-legend .mobility i{background:var(--coral)}.training-totals>span:first-child svg{color:var(--brand)}.training-totals>span:last-child svg{color:var(--blue)}.training-timeline-chart{gap:14px;padding:30px 28px 28px;display:grid;overflow-x:auto}.training-month-axis,.training-track,.semester-track,.milestone-track{min-width:820px;position:relative}.training-month-axis{border-bottom:1px solid var(--line);height:22px}.training-month-axis>span{color:var(--soft);font-size:var(--text-2xs);text-transform:capitalize;font-weight:740;position:absolute;bottom:6px;transform:translate(4px)}.training-month-axis>span:after{background:var(--row-line);content:"";width:1px;height:116px;position:absolute;top:22px;left:-4px}.training-track{background:var(--surface-muted);border-radius:4px;height:52px}.training-block,.semester-track>span,.milestone-track>span{left:var(--timeline-left);width:var(--timeline-width);position:absolute}.training-block{border-right:2px solid var(--surface);color:#fff;justify-content:center;align-items:center;min-width:4px;height:52px;display:flex;top:0;overflow:hidden}.training-block:first-child{border-radius:4px 0 0 4px}.training-block:last-child{border-right:0;border-radius:0 4px 4px 0}.training-block.school{background:var(--brand-solid)}.training-block.company{background:var(--blue)}.training-block i{font-size:var(--text-xs);white-space:nowrap;font-style:normal;font-weight:780}.training-block b{color:#17262b;background:#ffffffe6;border-radius:3px;padding:1px 4px;font-size:9px;position:absolute;bottom:3px;right:5px}.semester-track{height:38px}.semester-track>span{border-left:2px solid var(--amber);background:var(--amber-soft);min-width:60px;color:var(--warning-text);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:7px 10px;display:grid;top:0}.semester-track strong{font-size:var(--text-xs)}.semester-track small{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.milestone-track{height:34px}.milestone-track>span{border:1px solid color-mix(in srgb, var(--coral) 46%, var(--line));background:var(--coral-soft);min-width:92px;height:29px;color:var(--coral);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;gap:5px;font-weight:800;display:flex;top:0;overflow:hidden}.training-period-list{display:grid}.training-period-row{border-bottom:1px solid var(--row-line);grid-template-columns:38px minmax(220px,1fr) auto 100px;align-items:center;gap:12px;min-height:76px;padding:12px 18px;display:grid}.training-period-row:last-child{border-bottom:0}.training-period-row>span:first-child{border-radius:5px;place-items:center;width:36px;height:36px;display:grid}.training-period-row>span:first-child.school{background:var(--brand-soft);color:var(--brand-dark)}.training-period-row>span:first-child.company{background:var(--blue-soft);color:var(--blue)}.training-period-row>div{gap:2px;display:grid}.training-period-row>div strong{font-size:var(--text-md)}.training-period-row>div p{color:var(--muted);font-size:var(--text-xs);text-transform:capitalize}.training-week-count{color:var(--muted);font-size:var(--text-xs);white-space:nowrap;font-weight:700}.campus-badge{border:1px solid var(--warning-border);background:var(--warning-surface);min-height:28px;color:var(--warning-text);font-size:var(--text-xs);border-radius:4px;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-weight:740;display:inline-flex}.training-milestones{border-top:1px solid var(--line);background:var(--surface-subtle)}.training-milestones>div{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;min-height:82px;padding:14px 18px;display:grid}.training-milestones>div>span{background:var(--coral-soft);width:36px;height:36px;color:var(--coral);border-radius:5px;place-items:center;display:grid}.training-milestones strong{font-size:var(--text-md)}.training-milestones p{color:var(--muted);font-size:var(--text-xs);margin-top:3px;line-height:1.5}.training-source-note{color:var(--muted);font-size:var(--text-xs);grid-template-columns:22px minmax(0,1fr);align-items:start;gap:8px;padding:2px 4px;line-height:1.55;display:grid}.training-source-note svg{color:var(--blue);margin-top:1px}.training-source-note strong{color:var(--ink);display:block}html[data-theme=dark] .personal-calendar{--fc-forma-primary:#237d75;--fc-forma-primary-over:#31978d;--fc-forma-primary-down:#195f5a;--fc-forma-primary-foreground:#fff;--fc-forma-event:#237d75;--fc-forma-event-contrast:#fff}html[data-theme=dark] .calendar-sync-band,html[data-theme=dark] .calendar-secret-notice{box-shadow:inset 0 1px #ffffff05}html[data-theme=dark] .training-block b{color:#17262b;background:#f0f4f2eb}@media (max-width:1100px){.calendar-sync-band{grid-template-columns:minmax(260px,1fr) auto}.calendar-sync-band>dl{border-top:1px solid var(--success-border);grid-area:2/1/auto/-1;padding-top:12px}.calendar-sync-band>.secondary-button{place-self:center end}.calendar-toolbar{grid-template-columns:1fr auto}.calendar-toolbar h2{grid-area:1/1/auto/-1}.calendar-period-controls,.calendar-view-switch{grid-row:2}.calendar-loading-line{top:117px}}@media (max-width:760px){.calendar-section-tabs{flex-direction:column;align-items:stretch;gap:9px}.calendar-section-tabs>.segmented{width:100%}.calendar-section-tabs>span{padding:0 2px}.calendar-onboarding-body{grid-template-columns:1fr}.calendar-onboarding .empty-state{border-right:0;border-bottom:1px solid var(--line);min-height:330px;padding:34px 18px}.calendar-privacy-facts{padding:8px 18px}.calendar-sync-band{grid-template-columns:1fr auto;gap:14px}.calendar-sync-state{grid-column:1/-1}.calendar-sync-state p{white-space:normal}.calendar-sync-band>.secondary-button{grid-area:2/2}.calendar-sync-band>dl{border-top:0;grid-area:2/1;grid-template-columns:1fr;gap:10px;padding-top:0}.calendar-toolbar{padding:12px}.calendar-view-switch button{width:38px;padding:0}.calendar-view-switch button span{display:none}.calendar-today-button{padding:0 9px}.fullcalendar-frame{min-height:480px;padding:8px}.calendar-data-controls{flex-direction:column;align-items:flex-start}.training-heading-band{grid-template-columns:1fr;gap:18px;padding:18px 0}.training-current-state{min-width:0}.training-promotion-selector{flex-direction:column;align-items:stretch}.training-promotion-selector .segmented{width:100%}.current-promotion-label{padding-left:3px}.training-timeline-chart{padding:24px 16px}.training-details .section-heading{flex-direction:column;align-items:flex-start}.training-totals{justify-content:flex-start}.training-period-row{grid-template-columns:36px minmax(0,1fr) auto;padding:12px 14px}.training-week-count{grid-column:3}.campus-badge{grid-column:2;justify-self:start}}@media (max-width:480px){.calendar-section-tabs .segmented button{padding:0 7px}.calendar-sync-band{padding:14px}.calendar-sync-band>dl{grid-area:2/1/auto/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-sync-band>.secondary-button{grid-area:3/1/auto/-1;width:100%}.calendar-toolbar{grid-template-columns:1fr auto;gap:10px}.calendar-toolbar h2{font-size:var(--text-md)}.calendar-period-controls{gap:1px}.calendar-period-controls .icon-button{flex-basis:34px;width:34px;height:34px}.calendar-view-switch button{width:34px;min-height:34px}.fullcalendar-frame{padding:4px}.calendar-event-detail{padding-left:18px;padding-right:18px}.training-heading-band h2{font-size:20px}.training-promotion-selector button{grid-template-columns:1fr;gap:0}.training-promotion-selector button span{font-size:var(--text-xs)}.training-period-row{grid-template-columns:34px minmax(0,1fr);gap:9px}.training-week-count{grid-area:2/2}.campus-badge{grid-column:2}.training-milestones>div{padding-left:14px;padding-right:14px}}@media (prefers-reduced-motion:reduce){.calendar-loading-line:after{animation-duration:2.4s}}
