@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/playfair-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/playfair-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/jakarta-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/jakarta-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}html,body{overflow-x:hidden}body.modal-open{overflow:hidden}*{-webkit-tap-highlight-color:transparent}a,button,label,summary,select,[role=button],[data-view],.btn,.chip-btn,.nav-tab-btn,.semester-tab,.lang-toggle-btn,.filter-pill,.oc-edit-btn,.btn-sub-evo,.gem-item{touch-action:manipulation}:root{--color-bg-base: #0f172a;--color-bg-glow: #1d2a4d;--color-bg-surface: #273a5a;--color-bg-elevated: #334155;--color-border-subtle: #2e3b5e;--color-border-focus: #60a5fa;--color-text-primary: #f8fafc;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-primary: #60a5fa;--color-primary-hover: #3b82f6;--color-passing-bg: #10b981;--color-failing-bg: #ef4444;--color-warning-bg: #f59e0b;--color-avg-passing-bg: rgba(16, 185, 129, .15);--color-avg-passing-text: #10b981;--color-avg-failing-bg: rgba(239, 68, 68, .15);--color-avg-failing-text: #ef4444;--color-avg-warning-bg: rgba(245, 158, 11, .15);--color-avg-warning-text: #f59e0b;--color-avg-neutral-bg: rgba(148, 163, 184, .15);--color-avg-neutral-text: #94a3b8;--font-family-sans: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-serif: "Playfair Display", Georgia, "Times New Roman", serif;--font-family-mono: "JetBrains Mono", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-full: 9999px;--section-gap: 1.75rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--shadow-sm: 0 1px 2px rgba(2, 6, 23, .28);--shadow-md: 0 8px 24px -8px rgba(2, 6, 23, .45);--shadow-lg: 0 24px 60px -20px rgba(2, 6, 23, .55);--shadow-card: 0 12px 34px -16px rgba(0, 0, 0, .6);--ring-focus: 0 0 0 3px color-mix(in srgb, var(--color-primary) 35%, transparent);--transition-fast: .15s ease;--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1)}body.theme-light{--color-bg-base: #fcfbf9;--color-bg-glow: var(--color-bg-base);--color-bg-surface: #ffffff;--color-bg-elevated: #f4f2ee;--color-border-subtle: rgba(0, 0, 0, .06);--color-border-focus: #1c1917;--color-text-primary: #1c1917;--color-text-secondary: #57534e;--color-text-muted: #8c8a85;--color-primary: #1c1917;--color-primary-hover: #44403c;--color-passing-bg: #2b6747;--color-failing-bg: #9b2c2c;--color-warning-bg: #b7791f;--color-avg-passing-bg: rgba(43, 103, 71, .06);--color-avg-passing-text: #2b6747;--color-avg-failing-bg: rgba(155, 44, 44, .06);--color-avg-failing-text: #9b2c2c;--color-avg-warning-bg: rgba(183, 121, 31, .06);--color-avg-warning-text: #b7791f;--color-avg-neutral-bg: rgba(140, 138, 133, .06);--color-avg-neutral-text: #8c8a85;--font-family-sans: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--section-gap: 2rem;--shadow-card: 0 6px 24px -14px rgba(2, 6, 23, .14);--shadow-sm: 0 1px 2px rgba(2, 6, 23, .06);--shadow-md: 0 10px 30px -14px rgba(2, 6, 23, .16);--shadow-lg: 0 30px 60px -24px rgba(2, 6, 23, .22)}body{background-color:transparent!important;background-image:none!important;color:var(--color-text-primary);font-family:var(--font-family-sans);line-height:1.5;padding:2rem calc(1.5rem + env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) calc(1.5rem + env(safe-area-inset-left));min-height:100vh;min-height:100dvh}#confetti-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;pointer-events:none;z-index:9999}.app-container{max-width:1040px;margin:0 auto;display:flex;flex-direction:column;gap:var(--section-gap)}.header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;flex-wrap:wrap;gap:1rem}.header-left{display:flex;align-items:center;gap:1rem}.logo-circle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:var(--color-primary);color:var(--color-bg-base);border-radius:50%}.header-text h1{font-family:var(--font-family-serif);font-size:1.95rem;font-weight:900;letter-spacing:-.02em;line-height:1.15;color:var(--color-text-primary)}.form-section{background:color-mix(in srgb,var(--color-bg-elevated) 55%,transparent);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:.85rem 1rem}.form-section-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.form-section-stack{display:flex;flex-direction:column;gap:.6rem}body.theme-light .form-section{background:var(--color-bg-surface);border:1px solid rgba(0,0,0,.08);box-shadow:0 1px 3px #0000000a!important}.field-select,.field-input{width:100%;padding:.7rem 1rem;font-family:var(--font-family-sans);font-size:.9rem;font-weight:600;color:var(--color-text-primary);background-color:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md)}.field-select{cursor:pointer}.field-select:focus-visible,.field-input:focus-visible{outline:none;box-shadow:var(--ring-focus)!important}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;padding:3px;background-color:#0000002e;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-full);box-shadow:inset 1px 1px 1px #ffffff1f,inset -1px -1px 1px #ffffff0d!important}body.theme-light .segmented{background-color:#0000000b;border-color:#0000000f;box-shadow:inset 1px 1px 1px #ffffff8c,inset -1px -1px 1px #ffffff40!important}.segmented-sm{width:auto;grid-auto-columns:auto}.segmented-sm .btn{padding:.5rem .9rem!important;font-size:.8rem;min-height:38px;white-space:nowrap}.segmented .btn,.segmented .btn.btn-secondary{border:none;background:transparent;border-radius:var(--radius-full);box-shadow:none!important;padding:.6rem .4rem}.stack-cards{position:relative;display:flex;flex-direction:column;gap:1.5rem;max-width:720px;margin:0 auto;padding-bottom:5rem}.stack-cards:before{content:"";position:absolute;top:1.5rem;bottom:4rem;left:calc(1.6rem + 21px);width:2px;background-image:repeating-linear-gradient(to bottom,color-mix(in srgb,var(--color-primary) 45%,transparent) 0 6px,transparent 6px 12px);background-size:2px 24px;z-index:0}@media(hover:hover){.stack-cards:before{animation:stackAnts 1.6s linear infinite}}@keyframes stackAnts{to{background-position:0 24px}}.stack-card{position:sticky;top:calc(92px + env(safe-area-inset-top) + var(--stack-i, 0) * 3.1rem);display:flex;gap:1.3rem;align-items:flex-start;background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:1.35rem 1.6rem;box-shadow:0 -12px 30px color-mix(in srgb,var(--color-bg-base) 45%,transparent),var(--shadow-card)!important;z-index:1;transition:transform .2s var(--ease-out),border-color .2s var(--ease-out)}@media(hover:hover){.stack-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--color-primary) 30%,transparent)}}.stack-card-num{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background-color:color-mix(in srgb,var(--color-primary) 12%,var(--color-bg-surface));border:1px solid color-mix(in srgb,var(--color-primary) 40%,transparent);font-family:var(--font-family-serif);font-size:1.35rem;font-weight:900;line-height:1;color:var(--color-primary);flex:0 0 auto;-webkit-user-select:none;user-select:none}.stack-card-title{font-family:var(--font-family-serif);font-size:1.35rem;font-weight:800;margin-bottom:.5rem;color:var(--color-text-primary)}.stack-card-text{font-size:.9rem;line-height:1.6;color:var(--color-text-secondary);margin-bottom:.35rem}.stack-card-text strong{color:var(--color-text-primary)}.stack-card-accent{border-color:color-mix(in srgb,var(--color-primary) 35%,transparent)}body.theme-light .stack-card{background-color:var(--color-bg-surface);border:1px solid rgba(0,0,0,.08);box-shadow:0 -10px 24px #0000000d,0 8px 30px #0000000f!important}@media(max-width:640px){.stack-cards:before{left:calc(1.1rem + 18px)}.stack-card{padding:1.1rem;gap:.9rem;top:calc(120px + env(safe-area-inset-top) + var(--stack-i, 0) * 2.6rem)}.stack-card-num{width:36px;height:36px;font-size:1.15rem}}.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem;width:100%}.faq-item{background:color-mix(in srgb,var(--color-bg-surface) 70%,transparent);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden;transition:border-color .2s ease-in-out}.faq-item[open],.faq-item:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,transparent)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.3rem;cursor:pointer;font-weight:700;font-size:.95rem;color:var(--color-text-primary);list-style:none;min-height:44px}.faq-item summary::-webkit-details-marker{display:none}.faq-chevron{flex:0 0 auto;color:var(--color-primary);transition:transform .2s ease-in-out}.faq-item[open] .faq-chevron{transform:rotate(180deg)}.faq-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease-in-out}.faq-item[open] .faq-panel{grid-template-rows:1fr}.faq-panel>div{overflow:hidden}.faq-panel p{padding:0 1.3rem 1.2rem;font-size:.88rem;line-height:1.65;color:var(--color-text-secondary);margin:0}.conic-ring{position:relative;isolation:isolate;--ring-strong: color-mix(in srgb, var(--color-primary) 70%, transparent);--ring-soft: color-mix(in srgb, var(--color-primary) 30%, transparent)}body:not(.theme-light) .conic-ring{--ring-strong: color-mix(in srgb, var(--color-primary) 95%, transparent);--ring-soft: color-mix(in srgb, var(--color-primary) 45%, transparent)}.conic-ring:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--ring-angle, 0deg),transparent 0deg,var(--ring-strong) 70deg,transparent 150deg,transparent 210deg,var(--ring-soft) 280deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none;z-index:-1}@property --ring-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes ringSpin{to{--ring-angle: 360deg}}@media(hover:hover){.conic-ring:before{animation:ringSpin 8s linear infinite}}.btn-reveal{position:relative;overflow:hidden;min-width:11rem;padding:.9rem 2rem;font-size:1rem}.btn-reveal-label,.btn-reveal-swap{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:transform .3s ease,opacity .3s ease}.btn-reveal-swap{position:absolute;inset:0;transform:translate(3rem);opacity:0}.btn-reveal-dot{position:absolute;left:20%;top:40%;width:8px;height:8px;border-radius:999px;background:var(--color-primary);opacity:0;z-index:1;transition:all .3s ease}.btn-primary .btn-reveal-dot{background:var(--color-bg-base)}@media(hover:hover){.btn-reveal:hover .btn-reveal-label{transform:translate(3rem);opacity:0}.btn-reveal:hover .btn-reveal-swap{transform:translate(0);opacity:1}.btn-reveal:hover .btn-reveal-dot{left:0;top:0;width:100%;height:100%;opacity:1;transform:scale(1.8)}.btn-primary.btn-reveal:hover .btn-reveal-swap{color:var(--color-primary)}.btn-secondary.btn-reveal:hover .btn-reveal-swap{color:var(--color-bg-base)}}.evo-graph-wrapper{position:relative}.chart-cursor{color:var(--color-text-muted)}.chart-tooltip{position:absolute;top:.5rem;transform:translate(-50%);min-width:190px;padding:.75rem .85rem;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-bg-surface) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 10px 30px #00000040!important;pointer-events:none;z-index:5}body.theme-light .chart-tooltip{background:#fffffff2;box-shadow:0 10px 30px #0000001a!important}.chart-tooltip-head{font-size:.8rem;font-weight:800;color:var(--color-text-primary);padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:1px solid var(--color-border-subtle)}.chart-tooltip-rows{display:flex;flex-direction:column;gap:.35rem}.chart-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.chart-tooltip-key{display:inline-flex;align-items:center;gap:.45rem;font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.chart-tooltip-swatch{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.chart-tooltip-val{font-family:var(--font-family-mono);font-size:.8rem;font-weight:700;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.modal-cols{display:flex;flex-direction:column;gap:1.25rem}.modal-col{display:flex;flex-direction:column;gap:1.25rem;min-width:0}@media(min-width:900px){.modal-container.modal-wide{max-width:880px}.modal-container.modal-auth{max-width:720px}.modal-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2rem;align-items:start}.modal-auth .auth-divider{margin-bottom:1rem}.modal-cols-form>button[type=submit],.modal-cols-form>#settings-messages-section{grid-column:1 / -1}}@media(max-width:899px){.modal-container.modal-wide{max-width:460px;padding:1.1rem;max-height:calc(100dvh - 1rem - env(safe-area-inset-bottom) - env(safe-area-inset-top))}.modal-cols,.modal-col{gap:.75rem}.modal-wide .modal-title{margin-bottom:.25rem!important;font-size:1.35rem}.modal-wide #profile-modal-subtitle,.modal-wide #onboarding-modal-subtitle,.modal-wide #auth-modal-subtitle{display:none}.modal-auth .form-input{padding:.6rem .85rem}.modal-auth #auth-signup-form,.modal-auth #auth-signin-form{gap:.65rem!important}.modal-auth .btn-google{padding:.7rem}.modal-auth .auth-divider{margin-bottom:.75rem}.modal-auth .auth-toggle-container{margin-bottom:.85rem}.modal-auth .auth-consent-label{font-size:.78rem}.modal-wide .form-section{padding:.6rem .8rem}.modal-wide .form-section-stack{gap:.4rem!important}.modal-wide .form-section-stack strong{font-size:.95rem!important}.modal-wide .form-group{margin-bottom:0}.modal-wide .form-label{margin-bottom:.3rem!important}.modal-wide .field-select,.modal-wide .field-input{padding:.55rem .85rem}.field-select,.field-input{font-size:16px}.modal-wide .segmented .btn{padding:.5rem .35rem;min-height:42px}.modal-wide button[type=submit]{padding:.7rem!important}.modal-wide #profile-logout-btn{padding:.65rem!important}.modal-wide #btn-delete-account{padding:.45rem!important}#settings-messages-list{max-height:84px}#settings-messages-list .form-input,#settings-new-message-input{font-size:16px!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.rotating-word{display:inline-flex;overflow:hidden;vertical-align:bottom;font-weight:700;color:var(--color-text-primary)}.rotating-char{display:inline-block;will-change:transform}.header-subtitle{color:var(--color-text-secondary);font-size:.85rem;font-weight:500}.header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.header-selectors{display:flex;gap:.5rem}.header-selectors select{padding:.5rem 1rem;font-size:.8rem;border-radius:var(--radius-full);cursor:pointer}select.btn{display:inline-block;width:auto;line-height:1.3}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-family-sans);font-size:.85rem;font-weight:700;padding:.6rem 1.25rem;border-radius:var(--radius-full);border:none;cursor:pointer;transition:all var(--transition-fast),transform .2s ease-out,filter .2s ease-out;min-height:44px;min-width:44px}.btn:active{transform:translateY(1px) scale(.985);filter:brightness(.96)}.btn-primary{box-shadow:inset 0 1px #ffffff24,0 1px 3px #00000040!important}.btn-primary:hover{filter:brightness(1.07)}body.theme-light .btn-primary{box-shadow:inset 0 1px #fff3,0 2px 6px #0000002e!important}.btn-primary{background-color:var(--color-primary);color:var(--color-bg-base)}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.btn-secondary{background-color:var(--color-bg-elevated);color:var(--color-primary);border:1px solid var(--color-border-subtle)}.btn-secondary:hover{background-color:color-mix(in srgb,var(--color-primary) 12%,var(--color-bg-elevated));color:#fff}.promo-dashboard-container{background-color:color-mix(in srgb,var(--color-bg-surface) 40%,transparent);backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%);border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;color:#fff;box-shadow:0 10px 30px #00000059,inset 0 1px 1px #ffffff0d;transition:box-shadow var(--transition-normal),border-color var(--transition-normal)}.promo-dashboard-container.status-promoted{border-color:#10b98159;box-shadow:0 10px 35px #10b98114,inset 0 1px 1px #ffffff1a}.promo-dashboard-container.status-failing{border-color:#ef444459;box-shadow:0 10px 35px #ef444414,inset 0 1px 1px #ffffff1a}.promo-dashboard-container.status-neutral{border-color:#ffffff0d;box-shadow:0 10px 30px #00000059,inset 0 1px 1px #ffffff0d}.promo-header{display:flex;align-items:center;gap:1.25rem}.promo-status-badge{display:flex;align-items:center;justify-content:center;width:60px;height:60px;flex-shrink:0}.promo-text-summary h2{font-size:1.35rem;font-weight:800;letter-spacing:-.015em}.promo-text-summary p{font-size:.88rem;color:var(--color-text-secondary);margin-top:.15rem}.promo-3d-graphic{position:relative;width:50px;height:50px;filter:drop-shadow(0 8px 6px rgba(0,0,0,.4));transform:rotate(-30deg);flex-shrink:0}.promo-3d-graphic .slice{position:absolute;width:100%;height:100%;border-radius:50%;transition:transform .6s cubic-bezier(.34,1.56,.64,1)}.promo-3d-graphic .slice:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff6,#00000073 70%,#000000d9);mix-blend-mode:multiply}.promo-3d-graphic .slice-1{clip-path:polygon(0 0,100% 0,100% 33%,0 33%);z-index:3}.promo-3d-graphic .slice-2{clip-path:polygon(0 34%,100% 34%,100% 66%,0 66%);z-index:2}.promo-3d-graphic .slice-3{clip-path:polygon(0 67%,100% 67%,100% 100%,0 100%);z-index:1}.status-promoted .promo-3d-graphic .slice-1,.status-neutral .promo-3d-graphic .slice-1,.status-promoted .promo-3d-graphic .slice-2,.status-neutral .promo-3d-graphic .slice-2,.status-promoted .promo-3d-graphic .slice-3,.status-neutral .promo-3d-graphic .slice-3{transform:translate(0) rotate(0)}.status-failing .promo-3d-graphic .slice-1{transform:translate(3px,-4px) rotate(3deg)}.status-failing .promo-3d-graphic .slice-2{transform:translate(-2px,1px) rotate(-2deg)}.status-failing .promo-3d-graphic .slice-3{transform:translate(-3px,3px) rotate(1deg)}.status-promoted .slice-1{background:linear-gradient(135deg,#a7f3d0,#10b981)}.status-promoted .slice-2{background:linear-gradient(135deg,#0d9488,#0ea5e9)}.status-promoted .slice-3{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.status-failing .slice-1{background:linear-gradient(135deg,#fecaca,#ef4444)}.status-failing .slice-2{background:linear-gradient(135deg,#f43f5e,#be123c)}.status-failing .slice-3{background:linear-gradient(135deg,#9d174d,#4c0519)}.status-neutral .slice-1{background:linear-gradient(135deg,#f1f5f9,#94a3b8)}.status-neutral .slice-2{background:linear-gradient(135deg,#64748b,#475569)}.status-neutral .slice-3{background:linear-gradient(135deg,#334155,#1e293b)}.bilan-3d-icon{position:relative;width:32px;height:32px;filter:drop-shadow(0 4px 3px rgba(0,0,0,.35));flex-shrink:0}.icon-g1 .pebble{position:absolute;width:20px;height:20px;border-radius:40% 60% 50% 50%/50% 50% 60% 40%;background:linear-gradient(135deg,#cbd5e1,#64748b);top:3px;left:6px;z-index:2;box-shadow:inset 2px 2px 4px #fff6,inset -2px -2px 4px #0006}.icon-g1 .collar{position:absolute;width:24px;height:12px;border-radius:50%;border:2px solid #cbd5e1;border-top-color:transparent;bottom:3px;left:4px;transform:rotate(-15deg);z-index:1;box-shadow:0 2px 4px #0000004d}.icon-g2 .ring{position:absolute;border-radius:50%;box-shadow:inset 1px 1px 2px #ffffff4d,inset -1.5px -1.5px 3px #0006}.icon-g2 .ring-1{width:26px;height:26px;background:linear-gradient(135deg,#f97316,#d97706);top:3px;left:3px;z-index:1;clip-path:polygon(0 0,100% 0,100% 75%,0 75%)}.icon-g2 .ring-2{width:18px;height:18px;background:linear-gradient(135deg,#ec4899,#be185d);top:7px;left:7px;z-index:2;transform:translate(2px,2px);clip-path:polygon(0 0,100% 0,100% 75%,0 75%)}.icon-g2 .ring-3{width:10px;height:10px;background:linear-gradient(135deg,#a855f7,#6b21a8);top:11px;left:11px;z-index:3;transform:translate(4px,4px)}.promo-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}@media(max-width:640px){.promo-stats-grid{grid-template-columns:repeat(2,1fr)}}.promo-stat-card{background-color:#0a0f1eb3;border-radius:var(--radius-md);padding:1rem;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}.promo-stat-value{font-family:var(--font-family-mono);font-size:1.5rem;font-weight:800;color:#fff;line-height:1.2}.promo-stat-label{font-size:.75rem;font-weight:600;color:#fff;margin-top:.25rem}.promo-stat-sublabel{font-size:.65rem;color:var(--color-text-secondary);margin-top:.1rem}.promo-footer{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#ffffffb3;border-top:1px solid rgba(255,255,255,.1);padding-top:.75rem}.subjects-section{display:flex;flex-direction:column;gap:1rem}.subjects-list{display:flex;flex-direction:column;gap:1.25rem}@media(min-width:768px){.subjects-list{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}}.subject-card{background-color:color-mix(in srgb,var(--color-bg-surface) 60%,transparent);backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%);border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;position:relative;transition:transform var(--transition-fast),border-color var(--transition-fast)}.subject-card:hover{border-color:#ffffff14}@media(hover:hover){.subject-card:after,.guide-card:after,.stack-card:after,.evo-kpi-card:after{content:"";position:absolute;inset:-1px;border:1px solid transparent;border-radius:inherit;background-image:radial-gradient(180px 180px at calc(var(--cursor-x, -999) * 1px) calc(var(--cursor-y, -999) * 1px),color-mix(in srgb,var(--color-primary) 55%,transparent),transparent 70%);background-attachment:fixed;background-repeat:no-repeat;-webkit-mask-image:linear-gradient(transparent,transparent),linear-gradient(white,white);-webkit-mask-clip:padding-box,border-box;-webkit-mask-composite:source-out;mask-image:linear-gradient(transparent,transparent),linear-gradient(#fff,#fff);mask-clip:padding-box,border-box;mask-composite:intersect;pointer-events:none}body.theme-light .subject-card:after,body.theme-light .guide-card:after,body.theme-light .stack-card:after,body.theme-light .evo-kpi-card:after{background-image:radial-gradient(180px 180px at calc(var(--cursor-x, -999) * 1px) calc(var(--cursor-y, -999) * 1px),color-mix(in srgb,var(--color-primary) 35%,transparent),transparent 70%)}}.subject-header{display:flex;justify-content:space-between;align-items:center}.subject-title-area{display:flex;flex-direction:column}.subject-name{font-size:1.35rem;font-weight:800;color:#fff;letter-spacing:-.015em}.oc-edit-btn,.os-edit-btn{background:none;border:none;color:var(--color-primary);font-size:.75rem;font-family:var(--font-family-sans);font-weight:500;cursor:pointer;padding:6px 8px;display:inline-flex;align-items:center;gap:4px;opacity:.8;transition:opacity var(--transition-fast),transform var(--transition-fast);min-height:44px;min-width:44px}.oc-edit-btn:hover,.os-edit-btn:hover{opacity:1;transform:scale(1.05)}.subject-target{font-size:.8rem;color:var(--color-text-secondary);font-weight:500;display:flex;align-items:center;gap:.25rem;margin-top:.15rem;cursor:pointer;border-bottom:1px dashed rgba(255,255,255,.2);width:fit-content}.subject-target:hover{color:#fff}.subject-average-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;text-align:center;flex-shrink:0}.subject-average-badge.passing{background-color:#10b98126;border:2px solid rgba(16,185,129,.3)}.subject-average-badge.warning{background-color:#f59e0b26;border:2px solid rgba(245,158,11,.3)}.subject-average-badge.failing{background-color:#ef444426;border:2px solid rgba(239,68,68,.3)}.subject-average-badge.empty{background-color:#94a3b826;border:2px solid rgba(148,163,184,.3)}.subject-average-val{font-family:var(--font-family-mono);font-size:1.4rem;font-weight:800;line-height:1.1}.subject-average-badge.passing .subject-average-val{color:#10b981}.subject-average-badge.warning .subject-average-val{color:#f59e0b}.subject-average-badge.failing .subject-average-val{color:#ef4444}.subject-average-badge.empty .subject-average-val{color:#94a3b8}.subject-average-lbl{font-size:.62rem;font-weight:800;letter-spacing:.05em}.subject-average-badge.passing .subject-average-lbl{color:#10b981b3}.subject-average-badge.warning .subject-average-lbl{color:#f59e0bb3}.subject-average-badge.failing .subject-average-lbl{color:#ef4444b3}.subject-average-badge.empty .subject-average-lbl{color:#94a3b8b3}.btn-delete-subject{position:absolute;top:.5rem;right:.5rem;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.25rem;transition:color var(--transition-fast);padding:12px;line-height:1;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.btn-delete-subject:hover{color:var(--color-failing-bg)}.bilan-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.grade-lanes-container{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle);padding:.85rem 0}@media(max-width:480px){.grade-lanes-container{grid-template-columns:1fr;gap:1rem}}.grade-lane{display:flex;flex-direction:column;gap:.4rem;min-height:40px}.lane-title{font-size:.75rem;font-weight:800;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border-subtle);padding-bottom:.25rem;display:flex;justify-content:space-between;align-items:center}.lane-avg-badge{font-size:.7rem;font-weight:800;background-color:var(--color-bg-base);padding:1px 6px;border-radius:var(--radius-sm);color:var(--color-text-secondary)}.lane-avg-badge.passing{color:#10b981}.lane-avg-badge.warning{color:#f59e0b}.lane-avg-badge.failing{color:#ef4444}.lane-grades-list{display:flex;flex-wrap:wrap;gap:.35rem}.grade-pill{font-family:var(--font-family-mono);display:inline-flex;align-items:center;justify-content:center;padding:.35rem .65rem;border-radius:var(--radius-sm);color:#fff;font-size:.85rem;font-weight:800;cursor:pointer;transition:transform var(--transition-fast),filter var(--transition-fast);min-height:44px;min-width:44px}.grade-pill:hover{transform:scale(1.05);filter:brightness(1.1)}.grade-pill.passing{background-color:#15803d}.grade-pill.warning{background-color:#d97706}.grade-pill.failing{background-color:#b91c1c}.subject-footer{display:flex;justify-content:space-between;align-items:center}.subject-status{font-size:.85rem;font-weight:600;color:#10b981}.subject-status.warning{color:#f59e0b}.subject-status.not-reached{color:#ef4444}.subject-status.neutral{color:var(--color-text-secondary)}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:#05070cd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.4,0,.2,1);overflow-y:auto}.modal-backdrop.active{opacity:1;pointer-events:all}.modal-container{background-color:color-mix(in srgb,var(--color-bg-surface) 80%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);width:100%;max-width:440px;padding:2rem;position:relative;transform:translateY(20px);transition:transform .3s cubic-bezier(.34,1.56,.64,1);max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-backdrop.active .modal-container{transform:translateY(0)}.modal-close-btn{position:absolute;top:.75rem;right:.75rem;background:transparent;border:none;color:var(--color-text-secondary);font-size:1.5rem;cursor:pointer;line-height:1;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{color:#fff}.modal-title{font-size:1.35rem;font-weight:800;margin-bottom:1.5rem;letter-spacing:-.01em}.form-group{margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-label{font-size:.85rem;font-weight:600;color:var(--color-text-secondary)}.form-input{width:100%;background-color:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-primary);padding:.75rem 1rem;font-family:var(--font-family-sans);font-size:16px;outline:none;transition:all var(--transition-fast);-webkit-appearance:none;appearance:none;min-height:44px}.form-input:focus{border-color:var(--color-border-focus);background-color:var(--color-bg-surface)}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.75rem}.slide-up{animation:slideUp .12s cubic-bezier(.2,0,.2,1) forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.paper-texture{background-image:radial-gradient(at 0% 0%,rgba(99,102,241,.05) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(16,185,129,.03) 0px,transparent 50%)}.chip-container{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.25rem;width:100%}.chip-btn{flex:1;min-width:54px;background-color:var(--color-bg-base);color:var(--color-text-secondary);border:1px solid var(--color-border-subtle);padding:.65rem .25rem;font-size:.85rem;font-weight:800;border-radius:var(--radius-sm);cursor:pointer;text-align:center;position:relative;will-change:transform;transition:transform .15s cubic-bezier(.2,1,.3,1),background-color .12s ease,border-color .12s ease,box-shadow .15s ease;display:inline-flex;align-items:center;justify-content:center;min-height:44px}.chip-btn:hover{background-color:var(--color-bg-elevated);color:#fff;transform:scale(1.18);box-shadow:0 4px 12px #0006;z-index:2}.chip-btn.active{background-color:var(--color-primary);color:var(--color-bg-base);border-color:var(--color-primary);box-shadow:0 0 10px #60a5fa4d}#grade-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}#grade-chips .chip-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.lang-toggle-container{display:inline-flex;background-color:var(--color-bg-base);border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);padding:2px;margin-top:.25rem;width:fit-content}.lang-toggle-btn{background:transparent;border:none;color:var(--color-text-muted);font-size:.65rem;font-weight:800;padding:3px 10px;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}.lang-toggle-btn.active{background-color:var(--color-primary);color:var(--color-bg-base)}.semester-tabs-container{display:flex;gap:4px;margin:0 auto 1.25rem;background-color:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);padding:5px;border-radius:var(--radius-full);width:100%;max-width:480px}.semester-tab{flex:1;background:transparent;border:none;color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:.82rem;font-weight:700;letter-spacing:-.01em;padding:.5rem;min-height:42px;border-radius:var(--radius-full);cursor:pointer;transition:color .15s ease,background-color .15s ease;text-align:center;min-height:44px;display:inline-flex;align-items:center;justify-content:center;line-height:1.15}@media(hover:hover)and (pointer:fine){.semester-tab:hover:not(.active){color:var(--color-text-primary)}}.semester-tab.active{background-color:var(--color-primary);color:var(--color-bg-base);font-weight:800;box-shadow:var(--shadow-sm)!important}.annual-comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle);padding:.75rem 0;text-align:center}.comparison-col{display:flex;flex-direction:column;gap:.25rem}.comparison-col-title{font-size:.7rem;font-weight:800;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.comparison-col-val{font-size:1.15rem;font-weight:800;color:#fff;line-height:1.3}.comparison-col-val.passing{color:#10b981}.comparison-col-val.warning{color:#f59e0b}.comparison-col-val.failing{color:#ef4444}.comparison-col-val.empty{color:var(--color-text-muted)}.evolution-graph-svg{width:100%;height:100%;overflow:visible}.graph-path{stroke-dasharray:1000;stroke-dashoffset:1000;animation:drawPath 1.2s cubic-bezier(.22,1,.36,1) forwards}.graph-area{opacity:0;animation:fadeIn .8s ease-out .6s forwards}.graph-node{opacity:0;animation:popNode .4s cubic-bezier(.34,1.56,.64,1) forwards}.node-text{opacity:0;animation:fadeIn .4s ease-out .8s forwards}.node-label{opacity:0;animation:fadeIn .4s ease-out .9s forwards}.graph-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.5rem;gap:.25rem;color:var(--color-text-secondary)}.graph-empty-state h4{color:#fff;font-size:.95rem;font-weight:700;margin-top:.5rem}.graph-empty-state p{font-size:.75rem;color:var(--color-text-muted)}@keyframes drawPath{to{stroke-dashoffset:0}}@keyframes fadeIn{to{opacity:1}}@keyframes popNode{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.sub-evo-drawer{border-top:1px solid var(--color-border-subtle);padding-top:1rem;margin-top:.75rem;display:none;animation:fadeIn var(--transition-normal)}.btn-sub-evo{background:none;border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);font-size:.75rem;font-family:var(--font-family-sans);font-weight:500;cursor:pointer;padding:6px 12px;border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:4px;transition:all var(--transition-fast);min-height:44px;min-width:44px;justify-content:center}.btn-sub-evo:hover{color:#fff;background-color:var(--color-bg-elevated);border-color:var(--color-primary)}.legend-item{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--color-text-secondary)}.legend-pill{width:10px;height:10px;border-radius:50%}.filter-pill{background:#ffffff05;border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);padding:6px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all var(--transition-fast);min-height:44px}.filter-pill:hover{background:var(--color-bg-elevated);color:#fff}.filter-pill.active{color:#fff;background:#ffffff0d;border-width:1px;box-shadow:0 0 8px #ffffff08}.filter-pill .pill-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.chart-layout{width:100%;display:flex;flex-direction:column;gap:.9rem}.chart-plot{min-width:0;width:100%}.chart-plot svg{display:block;width:100%}.chart-legend{border-top:1px solid var(--color-border-subtle);padding-top:.5rem}.chart-legend-head{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.55rem;margin-bottom:.35rem}.chart-legend-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.chart-legend-count{font-family:var(--font-family-mono);letter-spacing:0;color:var(--color-text-secondary)}.chart-legend-actions{display:inline-flex;align-items:center;gap:.1rem}.btn-chart-control{background:none;border:none;font-family:var(--font-family-sans);font-size:.72rem;font-weight:600;color:var(--color-primary);cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:0 .5rem}.chart-legend-list{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}@media(max-width:899px){.chart-legend-list{max-height:5.5rem;overflow-y:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}}@media(max-width:520px){.chart-legend-word{display:none}}@media(hover:hover)and (pointer:fine){.chart-legend-list .filter-pill{min-height:32px;padding:4px 11px}.btn-chart-control{min-height:32px}}#multi-subject-svg .graph-line-group{transition:opacity var(--transition-normal);opacity:.8}#multi-subject-svg.has-highlight .graph-line-group:not(.highlighted),#multi-subject-svg:has(.graph-line-group:hover) .graph-line-group:not(:hover){opacity:.15}#multi-subject-svg .graph-line-group:hover,#multi-subject-svg .graph-line-group.highlighted{opacity:1}#multi-subject-svg .graph-line-group path{transition:stroke-width var(--transition-fast)}#multi-subject-svg .graph-line-group:hover path,#multi-subject-svg .graph-line-group.highlighted path{stroke-width:4px}#multi-subject-svg .graph-line-group .node-text{opacity:0;pointer-events:none;transition:opacity var(--transition-fast)}#multi-subject-svg .graph-line-group:hover .node-text,#multi-subject-svg .graph-line-group.highlighted .node-text{opacity:1}.btn-chart-control{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px}.btn-chart-control:hover{text-decoration:none!important;opacity:.8}.example-profile-box{background-color:#ffffff05;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:1rem;display:flex;flex-direction:column;gap:.5rem;cursor:pointer;transition:all var(--transition-fast)}.example-profile-box:hover{background-color:var(--color-bg-elevated);border-color:var(--color-primary);transform:translateY(-2px)}.site-footer{width:100%;max-width:1200px;margin:4rem auto 0;padding:3rem 1.5rem calc(2rem + env(safe-area-inset-bottom));border-top:1px solid var(--color-border-subtle);background:color-mix(in srgb,var(--color-bg-surface) 45%,transparent);border-radius:var(--radius-lg) var(--radius-lg) 0 0;font-size:.85rem;color:var(--color-text-secondary)}.site-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1fr;gap:2.5rem;align-items:start}.site-footer-mark{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.site-footer-mark strong{font-family:var(--font-family-serif);font-size:1.5rem;font-weight:700;color:var(--color-text-primary);text-transform:none}.site-footer-brand p{max-width:34ch;line-height:1.6;margin:0 0 1rem}.site-footer-mail{display:inline-flex;align-items:center;gap:.45rem;color:var(--color-primary);text-decoration:none;font-weight:700;min-height:44px}.site-footer-mail:hover{text-decoration:underline}.site-footer-col{display:flex;flex-direction:column}.site-footer-col h2{font-family:var(--font-family-sans);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-primary);margin:0 0 .9rem}.site-footer-col a{color:var(--color-text-secondary);text-decoration:none;padding:.4rem 0;min-height:36px;display:flex;align-items:center;transition:color var(--transition-fast)}.site-footer-col a:hover{color:var(--color-primary)}.site-footer-socials{display:flex;gap:.6rem}.site-social{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);opacity:.55;cursor:default}.site-footer-soon{margin:.7rem 0 0;font-size:.75rem;opacity:.75}.site-footer-bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border-subtle);display:flex;flex-direction:column;gap:.5rem;font-size:.78rem;line-height:1.6}.site-footer-bottom strong{color:var(--color-text-primary)}.site-footer-credit{margin:0;opacity:.75}body.theme-light .site-footer{background:color-mix(in srgb,var(--color-bg-surface) 70%,transparent);border-top:1px solid rgba(0,0,0,.08)}@media(max-width:760px){.site-footer{padding:2.5rem 1.25rem calc(2rem + env(safe-area-inset-bottom));margin-top:2.5rem}.site-footer-grid{grid-template-columns:1fr 1fr;gap:2rem}}@media(max-width:520px){.site-footer-grid{grid-template-columns:1fr;gap:1.5rem}.site-footer-col a,.site-footer-mail{min-height:44px;display:flex;align-items:center}.site-footer-brand{grid-column:1 / -1}}[data-theme=black]{--color-bg-base: #000000;--color-bg-glow: #17171c;--color-bg-surface: #101012;--color-bg-elevated: #1b1b1f;--color-border-subtle: #26262b;--color-primary: #60a5fa;--color-primary-hover: #3b82f6;--color-border-focus: #93c5fd;--color-text-secondary: #a1a1aa;--color-text-muted: #7d7d86;--color-avg-neutral-text: #a1a1aa;--color-avg-neutral-bg: rgba(161, 161, 170, .12)}.promo-stats-grid.three-cols{grid-template-columns:repeat(3,1fr)!important}@media(max-width:600px){.promo-stats-grid.three-cols{grid-template-columns:1fr!important}}.target-simulator{margin-top:.75rem;padding:.6rem .75rem;background-color:#ffffff08;border:1px dashed var(--color-border-subtle);border-radius:var(--radius-sm)}.simulator-header{font-size:.75rem;color:var(--color-text-secondary);display:flex;justify-content:space-between;align-items:center}.simulator-controls{display:flex;align-items:center;gap:.35rem;margin-top:.25rem;flex-wrap:wrap}.simulator-controls select{background-color:var(--color-bg-elevated);color:#fff;border:1px solid var(--color-border-subtle);border-radius:4px;padding:.5rem;font-size:.85rem;outline:none;cursor:pointer;font-family:var(--font-family-sans);min-height:44px;min-width:60px}.simulator-controls select:focus{border-color:var(--color-border-focus)}.sim-result-badge{font-size:.75rem;font-weight:700;padding:2px 6px;border-radius:4px;margin-left:auto;transition:all var(--transition-fast)}.sim-result-badge.passing{background-color:#10b98133;color:#10b981}.sim-result-badge.warning{background-color:#f59e0b33;color:#f59e0b}.sim-result-badge.failing{background-color:#ef444433;color:#ef4444}.sim-result-badge.impossible{background-color:#ef44444d;color:#f87171;text-decoration:line-through}@keyframes spin{to{transform:rotate(360deg)}}.spinner-small{animation:spin .8s linear infinite}#ethereal-bg-container{display:none!important}.glow-blob{position:absolute;border-radius:50%;filter:blur(85px);opacity:.18;mix-blend-mode:screen;transition:background-color var(--transition-normal)}.blob-1{width:600px;height:600px;background-color:var(--color-primary);top:-120px;left:-120px;animation:moveBlob1 32s ease-in-out infinite alternate}.blob-2{width:500px;height:500px;background-color:var(--color-border-focus);bottom:-100px;right:-100px;animation:moveBlob2 38s ease-in-out infinite alternate}.blob-3{width:450px;height:450px;background-color:#80808059;top:35%;left:45%;animation:moveBlob3 28s ease-in-out infinite alternate}#film-grain-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:-9;pointer-events:none;image-rendering:pixelated}@keyframes moveBlob1{0%{transform:translate(0) scale(1)}33%{transform:translate(120px,80px) scale(1.1)}66%{transform:translate(-40px,160px) scale(.9)}to{transform:translate(60px,40px) scale(1.05)}}@keyframes moveBlob2{0%{transform:translate(0) scale(1)}33%{transform:translate(-140px,-90px) scale(.9)}66%{transform:translate(80px,-180px) scale(1.15)}to{transform:translate(-60px,-40px) scale(1)}}@keyframes moveBlob3{0%{transform:translate(0) scale(.95)}50%{transform:translate(-110px,140px) scale(1.1)}to{transform:translate(140px,-110px) scale(.9)}}.jetbrains-mono-light{font-family:JetBrains Mono,monospace!important;font-weight:300;font-style:normal}.jetbrains-mono-regular{font-family:JetBrains Mono,monospace!important;font-weight:400;font-style:normal}.jetbrains-mono-medium{font-family:JetBrains Mono,monospace!important;font-weight:500;font-style:normal}.jetbrains-mono-semibold{font-family:JetBrains Mono,monospace!important;font-weight:600;font-style:normal}.jetbrains-mono-bold{font-family:JetBrains Mono,monospace!important;font-weight:700;font-style:normal}.jetbrains-mono-extrabold{font-family:JetBrains Mono,monospace!important;font-weight:800;font-style:normal}.jetbrains-mono-grade-tracker{font-family:JetBrains Mono,monospace!important;font-weight:600;font-style:normal}.landing-page-container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem 1.5rem;display:flex;flex-direction:column;gap:0}.landing-hero-section{min-height:calc(100vh - 120px);min-height:calc(100dvh - 120px);display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1rem 1.5rem;position:relative;width:100%}.landing-hero-content{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:0}.landing-logo-circle{width:180px;height:180px;display:flex;align-items:center;justify-content:center;margin-bottom:2rem;border-radius:50%;box-shadow:0 10px 30px color-mix(in srgb,var(--color-text-primary) 22%,transparent);animation:logoPulse 2s infinite ease-in-out}.landing-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:900;color:var(--color-text-primary);letter-spacing:-.04em;line-height:1.1;margin-bottom:1.5rem;max-width:100%;overflow-wrap:break-word}.landing-tagline{font-size:clamp(1.05rem,2vw,1.25rem);color:var(--color-text-secondary);margin-bottom:3rem;max-width:min(600px,100%);line-height:1.6;font-weight:500}.scroll-down-indicator{position:static;flex-shrink:0;margin-top:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;color:var(--color-text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;animation:bounce 2s infinite;transition:color var(--transition-fast)}.scroll-down-indicator:hover{color:#fff}@media(max-width:600px){.landing-hero-section{min-height:calc(100vh - 150px);min-height:calc(100dvh - 150px);padding-top:1rem}.landing-logo-circle,.landing-logo-circle .brand-mark-hero{width:clamp(120px,30vw,180px);height:clamp(120px,30vw,180px)}.landing-logo-circle{margin-bottom:1.1rem}.landing-tagline{margin-bottom:1rem}.landing-hero-cta{margin-top:1.25rem!important}.scroll-down-indicator{margin-top:1.1rem}}.landing-section{display:flex;flex-direction:column;justify-content:center;padding:3.25rem 1rem;width:100%}.landing-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:2rem;max-width:1000px;margin:0 auto;width:100%}.landing-feature-card{background:color-mix(in srgb,var(--color-bg-surface) 80%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);padding:2.25rem 2rem;border-radius:var(--radius-lg);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:1.25rem}.landing-feature-card{position:relative;overflow:hidden;padding-bottom:3.6rem!important;box-shadow:inset 0 -20px 80px -20px color-mix(in srgb,var(--color-primary) 12%,transparent)!important}@media(max-width:600px){.landing-section{padding:2.5rem 1rem}.landing-feature-card{padding:1.5rem 1.25rem 2.8rem!important;gap:1rem}.landing-definition-container{margin-bottom:1.5rem!important}}.landing-feature-card>*{transition:transform .3s ease-in-out}.landing-feature-reveal{position:absolute;left:2rem;right:2rem;bottom:1.4rem;display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;color:var(--color-primary);opacity:0;transform:translateY(40px);transition:opacity .3s ease-in-out,transform .3s ease-in-out;pointer-events:none}@media(hover:hover){.landing-feature-card:hover>*:not(.landing-feature-reveal){transform:translateY(-14px)}.landing-feature-card:hover .landing-feature-icon{transform:translateY(-14px) scale(.8)}.landing-feature-card:hover .landing-feature-reveal{opacity:1;transform:translateY(0)}}.landing-feature-icon{transform-origin:left center}.landing-feature-card:hover{transform:translateY(-8px);border-color:#60a5fa4d;box-shadow:0 12px 30px #0000004d;background:color-mix(in srgb,var(--color-bg-surface) 90%,transparent)}.creator-word-box{background:color-mix(in srgb,var(--color-bg-surface) 80%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);padding:2.5rem;border-radius:var(--radius-lg);position:relative;box-shadow:0 15px 35px #0000004d;transition:all .3s ease}.creator-word-box:hover{border-color:#60a5fa33}@keyframes logoPulse{0%,to{transform:scale(1);box-shadow:0 10px 30px color-mix(in srgb,var(--color-primary) 40%,transparent)}50%{transform:scale(1.05);box-shadow:0 15px 40px color-mix(in srgb,var(--color-primary) 60%,transparent)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes landingFadeIn{0%{opacity:0;transform:scale(.98) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.guide-page-container{width:100%;max-width:1200px;margin:0 auto;padding:2rem 1.5rem;animation:landingFadeIn .5s cubic-bezier(.16,1,.3,1) forwards;display:flex;flex-direction:column;gap:var(--section-gap)}.guide-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:0;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1.5rem}.guide-page-title{font-family:var(--font-family-serif);font-size:1.8rem;font-weight:800;color:var(--color-text-primary);letter-spacing:-.02em}.guide-content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(480px,100%),1fr));gap:2rem;margin-bottom:2rem}@media(max-width:600px){.guide-content-grid{grid-template-columns:minmax(0,1fr)}.scanning-steps-visual,.example-profiles-container{grid-template-columns:1fr}}.guide-card{min-width:0;position:relative;background-color:color-mix(in srgb,var(--color-bg-surface) 60%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:2rem;display:flex;flex-direction:column;gap:1rem;transition:transform var(--transition-normal),border-color var(--transition-normal)}.guide-card:hover{border-color:#ffffff26;transform:translateY(-2px)}.guide-card-title{font-family:var(--font-family-serif);font-size:1.15rem;font-weight:700;color:var(--color-text-primary);display:flex;align-items:center;gap:.5rem}.guide-card-title .icon{font-size:1.3rem}.guide-intro{font-size:.85rem;color:var(--color-text-secondary);line-height:1.5}.rules-visual-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-top:.5rem}.rule-visual-item{display:flex;gap:1rem;align-items:center;background-color:#0003;padding:1rem;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.03)}.rule-status-check{width:24px;height:24px;border-radius:50%;background-color:#10b98133;color:#10b981;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.rule-details h3{font-size:.85rem;font-weight:700;color:#fff;margin-bottom:.15rem}.rule-details p{font-size:.75rem;color:var(--color-text-secondary);line-height:1.4}.example-profiles-container{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.5rem}@media(max-width:500px){.example-profiles-container{grid-template-columns:1fr}}.example-profile-box{background-color:#00000040;border-radius:var(--radius-md);padding:1rem;border:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;gap:.75rem}.example-profile-box.promoted{border-left:3px solid #10b981}.example-profile-box.failed{border-left:3px solid #ef4444}.profile-header-status{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:.5rem}.profile-header-status h4{font-size:.8rem;font-weight:700;color:#fff}.status-badge{font-size:.65rem;font-weight:800;padding:.15rem .4rem;border-radius:4px}.status-badge.promoted{background-color:#10b98126;color:#10b981}.status-badge.failed{background-color:#ef444426;color:#ef4444}.mock-table{display:flex;flex-direction:column;gap:.35rem}.mock-row{display:flex;justify-content:space-between;font-size:.7rem;color:var(--color-text-secondary)}.mock-row .val{font-weight:700;color:#fff}.mock-row .diff.positive{color:#10b981}.mock-row .diff.negative{color:#ef4444}.mock-row .diff.neutral{color:var(--color-text-muted)}.profile-summary-stats{border-top:1px dotted rgba(255,255,255,.1);padding-top:.5rem;display:flex;flex-direction:column;gap:.25rem;font-size:.7rem;color:var(--color-text-secondary)}.profile-summary-stats strong.positive{color:#10b981}.profile-summary-stats strong.failed{color:#ef4444}.simulator-explanation-body p{font-size:.8rem;color:var(--color-text-secondary);line-height:1.5;margin-bottom:.75rem}.mock-target-pills{display:flex;justify-content:center;background-color:#0003;padding:.75rem;border-radius:var(--radius-md)}.mock-target-pill{font-size:.8rem;color:#fff;display:flex;align-items:center;gap:.5rem}.badge-required{background-color:var(--color-primary);color:var(--color-bg-base);padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:.85rem}.scanning-steps-visual{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:.5rem}@media(max-width:480px){.scanning-steps-visual{grid-template-columns:1fr}}.scan-step{background-color:#0003;border-radius:var(--radius-md);padding:1rem;text-align:center;position:relative;border:1px solid rgba(255,255,255,.03)}.step-num{position:absolute;top:-10px;left:50%;transform:translate(-50%);width:20px;height:20px;border-radius:50%;background-color:var(--color-primary);color:var(--color-bg-base);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #60a5fa66}.scan-step h5{font-size:.8rem;font-weight:700;color:#fff;margin-top:.25rem;margin-bottom:.25rem}.scan-step p{font-size:.65rem;color:var(--color-text-secondary);line-height:1.4}.top-nav-bar{background-color:transparent;border-bottom:1px solid transparent;position:sticky;top:0;z-index:999;display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;padding:calc(.8rem + env(safe-area-inset-top)) calc(2rem + env(safe-area-inset-right)) .8rem calc(2rem + env(safe-area-inset-left));width:100%;max-width:1200px;margin:0 auto 1.5rem;border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:none;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease,backdrop-filter .3s ease,-webkit-backdrop-filter .3s ease}.top-nav-bar.is-scrolled{background-color:color-mix(in srgb,var(--color-bg-surface) 85%,transparent);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border-bottom-color:var(--color-border-subtle);box-shadow:0 4px 30px color-mix(in srgb,var(--color-bg-base) 55%,transparent)!important}.top-nav-brand{display:flex;align-items:center;gap:.75rem}.nav-tabs{display:flex;gap:.35rem;margin-left:auto;background-color:#0003;padding:3px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.05);box-shadow:inset 1px 1px 1px #ffffff24,inset -1px -1px 1px #ffffff0f!important}.nav-icons{display:flex;align-items:center;gap:.5rem;flex:0 0 auto}.nav-wordmark{font-family:Playfair Display,Georgia,serif;font-size:1.7rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text-primary);display:inline-block;line-height:1.1}.nav-icon-btn{width:42px;height:42px;min-height:42px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast)}@media(hover:hover){.nav-icon-btn:hover{background-color:var(--color-bg-elevated)}}.nav-tab-btn{background:transparent;border:none;color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:.85rem;font-weight:700;padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .4s cubic-bezier(.175,.885,.32,1.2),color .4s cubic-bezier(.175,.885,.32,1.2),transform .4s cubic-bezier(.175,.885,.32,1.2),box-shadow .4s cubic-bezier(.175,.885,.32,1.2);display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:44px;min-width:44px}.nav-tab-btn:active{transform:scale(.96)}@media(hover:hover)and (pointer:fine){.nav-tab-btn:hover:not(.active){color:#fff;background-color:#ffffff0d}}.nav-tab-btn.active{background-color:var(--color-primary);color:var(--color-bg-base);box-shadow:0 2px 8px color-mix(in srgb,var(--color-primary) 35%,transparent)!important}.landing-page-container,.app-container,.guide-page-container{margin-top:0!important;padding-top:.5rem!important}.year-tabs-container{display:flex;justify-content:center;width:100%;margin-bottom:0}.year-tabs-container .lang-toggle-container{background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);padding:4px;border-radius:var(--radius-md);width:100%;max-width:600px;display:flex;justify-content:space-between}.year-tabs-container .lang-toggle-btn{flex:1;text-align:center;font-size:.8rem;font-weight:700;padding:.6rem .5rem;border-radius:var(--radius-sm);text-transform:none;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}@media(max-width:599px){body{padding:1rem;padding:1rem calc(1rem + env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) calc(1rem + env(safe-area-inset-left))}.app-container{gap:1rem}.header{flex-direction:column;align-items:center;text-align:center;gap:1rem}.header-left{flex-direction:column;align-items:center;gap:.5rem}.header-text{display:flex;flex-direction:column;align-items:center}.header-text>div{justify-content:center}.header-actions{justify-content:center;width:100%}.bilan-grid{grid-template-columns:1fr;gap:1rem}.modal-container{width:calc(100% - 2rem);padding:1.5rem}.form-actions{flex-direction:column;gap:.75rem}.form-actions .btn{width:100%}.legend-item{font-size:.7rem}.filter-pill{padding:8px 12px;font-size:.75rem;min-height:44px;display:inline-flex;align-items:center}}@media(max-width:640px){.top-nav-bar{row-gap:.7rem;padding:calc(.7rem + env(safe-area-inset-top)) calc(1rem + env(safe-area-inset-right)) .7rem calc(1rem + env(safe-area-inset-left));border-radius:0;margin-bottom:1rem}.top-nav-brand{order:1;flex:1 1 auto}.nav-icons{order:2;margin-left:auto}.nav-tabs{order:3;flex:1 1 100%;margin-left:0;justify-content:space-around}.nav-tab-btn{flex:1;justify-content:center;padding:.5rem .25rem;font-size:.8rem}.nav-wordmark{font-size:1.35rem}.nav-icon-btn{width:44px;height:44px;min-height:44px}.brand-mark{width:26px;height:26px}.top-nav-brand{gap:.5rem}.promo-stats-grid{grid-template-columns:1fr}.promo-stats-grid.three-cols{grid-template-columns:1fr!important}.bilan-grid,.grade-lanes-container{grid-template-columns:1fr;gap:1rem}.year-tabs-container{flex-wrap:wrap}#year-selector{flex-wrap:wrap!important}.year-tabs-container .lang-toggle-btn{flex:1 1 calc(50% - 8px);min-width:120px}.semester-tabs-container{flex-wrap:wrap}.semester-tab{flex:1 1 calc(50% - 8px);min-width:100px}.guide-card{padding:1rem!important}.rules-visual-list{grid-template-columns:1fr}}#grade-details-edit-panel{-webkit-overflow-scrolling:touch}.subjects-list.gemstone-mode{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:center!important;gap:3rem 2rem!important;padding:1.5rem 0!important}@media(min-width:820px){.subjects-list.gemstone-mode{max-width:800px!important;margin:0 auto!important}}:root{--gem-item: 160px;--gem-sphere: 140px}.gem-item{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;width:var(--gem-item);transition:transform var(--transition-fast)}.gem-item:hover{transform:translateY(-8px)}.gem-sphere{width:var(--gem-sphere);height:var(--gem-sphere);border-radius:50%;position:relative;overflow:hidden;cursor:grab;display:flex;align-items:center;justify-content:center;-webkit-box-reflect:below 2px linear-gradient(transparent,transparent 75%,rgba(255,255,255,.08));box-shadow:0 4px 10px #00000040;transition:box-shadow var(--transition-fast)}.gem-sphere:active{cursor:grabbing}.gem-sphere:hover{box-shadow:0 6px 14px #00000059}.gem-sphere-shadow{position:absolute;width:120px;height:12px;background:radial-gradient(ellipse at center,#000000d9,#00000073 45%,#0000 70%);bottom:2.3rem;left:50%;transform:translate(-50%) scale(.5);pointer-events:none;z-index:0;opacity:0;transition:opacity var(--transition-fast),transform var(--transition-fast)}.gem-item:hover .gem-sphere-shadow,.gem-item.is-rotating .gem-sphere-shadow{transform:translate(-50%) scale(.85);opacity:.65}.gem-type-name{font-size:.6rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);margin-top:.1rem;opacity:0;transform:translateY(-4px);transition:opacity var(--transition-fast),transform var(--transition-fast);pointer-events:none;font-family:var(--font-family-sans);text-align:center}@media(hover:hover)and (pointer:fine){.gem-item:hover .gem-type-name{opacity:1;transform:translateY(0)}}.gem-sphere:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;z-index:3;pointer-events:none;box-shadow:inset -20px -20px 40px #000000e6,inset 0 -8px 20px #00000080,inset 12px 12px 20px #ffffff73,inset 0 4px 8px #fff3;background:radial-gradient(circle at 30% 30%,#ffffffa6,#fff0 55%)}.gem-texture{position:absolute;width:196px;height:196px;top:-28px;left:-28px;z-index:1;pointer-events:none;background-size:contain;background-position:center;background-repeat:no-repeat;transition:transform .1s ease-out}.gem-sphere-average{font-family:var(--font-family-mono);font-size:1.3rem;font-weight:700;color:#fff!important;z-index:4;pointer-events:none;letter-spacing:-.02em;min-width:2.3em;text-align:center;padding:.1em .45em;border-radius:var(--radius-full);background:#0f172a80;backdrop-filter:blur(6px) saturate(120%);-webkit-backdrop-filter:blur(6px) saturate(120%);border:1px solid rgba(255,255,255,.22);box-shadow:0 6px 18px #00000059!important}.gem-sphere.passing{box-shadow:0 0 0 3px var(--color-passing-bg),0 10px 24px -8px #00000059!important}.gem-sphere.warning{box-shadow:0 0 0 3px var(--color-warning-bg),0 10px 24px -8px #00000059!important}.gem-sphere.failing{box-shadow:0 0 0 3px var(--color-failing-bg),0 10px 24px -8px #00000059!important}.gem-subject-name{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-align:center;color:var(--color-text-secondary);margin-top:1rem;max-width:130px;word-wrap:break-word;height:2.2rem;display:flex;align-items:flex-start;justify-content:center;pointer-events:none;font-family:Montserrat,Outfit,-apple-system,sans-serif}#add-grade-modal,#grade-details-modal{z-index:1100!important}#auth-modal,#profile-modal{z-index:1200!important}.gem-ruby-zoisite .gem-texture{background-image:url(/assets/ruby-zoisite.png)}.gem-red-jasper .gem-texture{background-image:url(/assets/red-jasper.png)}.gem-ocean-jasper .gem-texture{background-image:url(/assets/ocean-jasper.png)}.gem-rainbow-moonstone .gem-texture{background-image:url(/assets/rainbow-moonstone.png)}.gem-selenite .gem-texture{background-image:url(/assets/selenite.png)}.gem-sodalite .gem-texture{background-image:url(/assets/sodalite.png)}.gem-serpentine .gem-texture{background-image:url(/assets/serpentine.png)}.gem-rose-quartz .gem-texture{background-image:url(/assets/rose-quartz.png)}.gem-labradorite .gem-texture{background-image:url(/assets/labradorite.png)}.gem-picture-jasper .gem-texture{background-image:url(/assets/picture-jasper.png)}.gem-amazonite .gem-texture{background-image:url(/assets/amazonite.png)}.promo-gauge-view{display:none;align-items:center;justify-content:center;gap:2.5rem;padding:.5rem 0;width:100%}.gauge-stat-side{display:flex;flex-direction:column;align-items:center;text-align:center;width:100px}.gauge-stat-side-val{font-size:1.45rem;font-weight:700;color:#fff;font-family:Montserrat,Outfit,-apple-system,sans-serif}.gauge-stat-side-label{font-size:.68rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}#toggle-promo-view{background:#ffffff0d;border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}#toggle-promo-view:hover{background:#ffffff1a;color:#fff;border-color:var(--color-primary)}.promo-dashboard-container.visual-view-active .promo-stats-grid{display:none!important}.promo-dashboard-container.visual-view-active .promo-gauge-view{display:flex!important}.gem-custom .gem-texture{background-image:url(/assets/custom-gem.png);background-size:cover;background:radial-gradient(circle at 35% 35%,#fff9,#60a5fa80,#8b5cf699 60%,#f43f5e80 85%,#0f172af2)}.btn-delete-gem{position:absolute;top:5px;right:5px;width:26px;height:26px;border-radius:50%;background-color:#ef4444;color:#fff;border:1px solid rgba(255,255,255,.2);font-size:15px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;opacity:1;transition:opacity var(--transition-fast),transform var(--transition-fast);box-shadow:0 2px 8px #0006}.btn-delete-gem:before{content:"";position:absolute;inset:-9px}@media(hover:hover){.btn-delete-gem{opacity:0}.gem-item:hover .btn-delete-gem{opacity:1}.btn-delete-gem:hover{background-color:#dc2626;transform:scale(1.15)}}*{box-shadow:none!important;text-shadow:none!important}.promo-dashboard-container,.subject-card,.modal-container,.guide-card,.bilan-grid .subject-card{position:relative;isolation:isolate;box-shadow:var(--shadow-card)!important}.gem-sphere-shadow{display:none!important}.promo-3d-graphic,.bilan-3d-icon{filter:none!important}.background-boxes-wrapper{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:-10;overflow:hidden;background-color:var(--color-bg-base);background-image:radial-gradient(ellipse 130% 90% at 50% -15%,var(--color-bg-glow, var(--color-bg-base)) 0%,var(--color-bg-base) 62%);transition:background-color var(--transition-normal)}#bg-dots{position:absolute;inset:0;width:100%;height:100%}.dashboard-hero{display:flex;flex-direction:column;gap:1rem;padding-top:.5rem;padding-bottom:1.5rem}.toast-sidebar-container{position:fixed;top:calc(1rem + env(safe-area-inset-top));right:calc(1rem + env(safe-area-inset-right));z-index:10000;display:flex;flex-direction:column;gap:.75rem;pointer-events:none;max-width:320px;width:calc(100% - 4rem)}.sidebar-toast{--toast-accent: var(--color-failing-bg);pointer-events:auto;background-color:color-mix(in srgb,var(--color-bg-surface) 90%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border-subtle);border-left:5px solid var(--toast-accent);border-radius:var(--radius-md);padding:1rem 1.25rem;display:flex;align-items:center;gap:.75rem;box-shadow:0 10px 30px #00000059;animation:toastSlideIn .35s cubic-bezier(.16,1,.3,1) forwards;transition:all .3s ease;position:relative;overflow:hidden}.sidebar-toast.toast-success{--toast-accent: var(--color-passing-bg)}.toast-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--toast-accent)}.toast-content{flex:1;display:flex;flex-direction:column}.toast-message{color:#fff;font-size:.9rem;font-weight:700;letter-spacing:-.01em}.toast-close-btn{background:transparent;border:none;color:var(--color-text-secondary);font-size:1.2rem;cursor:pointer;line-height:1;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0 .25rem;transition:color var(--transition-fast)}.toast-close-btn:hover{color:#fff}.toast-slide-out{animation:toastSlideOut .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translate(50px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100px) scale(.9)}}body.theme-light,body.theme-light .btn,body.theme-light .nav-tab-btn,body.theme-light .semester-tab,body.theme-light .form-input,body.theme-light .form-label,body.theme-light .node-label,body.theme-light .pill-dot,body.theme-light .toast-sidebar-container{font-family:var(--font-family-sans)!important}h1,h2,h3,.landing-title,.guide-page-title,.guide-card-title,.guide-section-title,.subject-name,.promo-text-summary h2,.creator-word-box h3,.bilan-section h2{font-family:var(--font-family-serif)!important;font-weight:800!important}body.theme-light h1,body.theme-light h2,body.theme-light h3,body.theme-light .subject-name,body.theme-light .top-nav-brand strong,body.theme-light .creator-word-box h3,body.theme-light .guide-card-title,body.theme-light .guide-intro strong,body.theme-light .dashboard-hero h2,body.theme-light .creator-word-box p,body.theme-light .guide-content-grid strong{color:var(--color-text-primary)!important}body.theme-light{background-color:var(--color-bg-base)!important}body.theme-light.paper-texture{background:radial-gradient(circle at 50% 50%,#fdfdfc,#fcfbf9)!important}body.theme-light .landing-hero-section{min-height:calc(100vh - 120px);min-height:calc(100dvh - 120px)}@media(min-width:768px){.landing-hero-section,body.theme-light .landing-hero-section{min-height:min(calc(100dvh - 120px),780px)}}@media(max-height:700px)and (min-width:600px){.landing-hero-section,body.theme-light .landing-hero-section{min-height:auto;padding-block:1.5rem}.scroll-down-indicator{display:none}}body.theme-light .landing-title{background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:initial!important;color:var(--color-text-primary)!important;margin-bottom:2rem!important;font-size:clamp(2.8rem,6vw,4.5rem)!important;letter-spacing:-.03em!important}body.theme-light .landing-logo-circle{box-shadow:0 10px 30px #0000000d!important}body.theme-light .landing-feature-card{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:none!important;border-top:1px solid rgba(0,0,0,.08)!important;padding:1.5rem 0 3.2rem!important;border-radius:0!important}body.theme-light .landing-feature-reveal{left:0;right:0}body.theme-light .landing-feature-card:hover{transform:none!important;box-shadow:none!important;border-top-color:var(--color-text-primary)!important}body.theme-light .landing-feature-card>div:first-child{background:transparent!important;border-radius:0!important;width:auto!important;height:auto!important;justify-content:flex-start!important;padding:0!important;margin-bottom:.25rem}body.theme-light .landing-feature-card svg{color:var(--color-text-primary)!important}body.theme-light .landing-section{border-top:1px solid rgba(0,0,0,.08)!important}body.theme-light .subject-card{background-color:var(--color-bg-surface)!important;border:1px solid rgba(0,0,0,.07)!important;box-shadow:0 4px 20px #00000004!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body.theme-light .subject-card:hover{border-color:var(--color-text-primary)!important;box-shadow:0 8px 30px #00000009!important}body.theme-light .subject-average-badge.empty{background-color:var(--color-avg-neutral-bg)!important;color:var(--color-avg-neutral-text)!important;border-color:#0000000d!important}body.theme-light .guide-card{background-color:var(--color-bg-surface)!important;border:1px solid rgba(0,0,0,.07)!important;box-shadow:0 4px 20px #00000004!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body.theme-light .guide-card:hover{border-color:var(--color-text-primary)!important;transform:translateY(-2px)!important;box-shadow:0 8px 30px #00000009!important}body.theme-light div[style*="repeat(auto-fit, minmax(220px, 1fr))"]>div{background:var(--color-bg-surface)!important;border:1px solid rgba(0,0,0,.06)!important;border-left-width:4px!important;box-shadow:0 4px 15px #00000004!important}body.theme-light .rule-visual-item{background-color:var(--color-bg-surface)!important;border:1px solid rgba(0,0,0,.06)!important;border-top-width:4px!important;box-shadow:0 4px 15px #00000004!important}body.theme-light .profile-summary-stats,body.theme-light .mock-target-pills,body.theme-light .scan-step{background-color:#00000005!important;border:1px solid rgba(0,0,0,.05)!important;box-shadow:none!important}body.theme-light .scan-step h5,body.theme-light .mock-target-pill,body.theme-light .mock-row .val,body.theme-light .profile-header-status h4,body.theme-light .profile-summary-stats strong{color:var(--color-text-primary)!important}body.theme-light .bilan-list li{border-bottom:1px dashed rgba(0,0,0,.06)!important;color:var(--color-text-secondary)!important}body.theme-light .bilan-list strong{color:var(--color-text-primary)}body.theme-light .creator-word-box{background-color:var(--color-bg-surface)!important;border:1px solid rgba(0,0,0,.07)!important;box-shadow:0 4px 20px #00000004!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body.theme-light .btn-secondary{background-color:transparent!important;color:var(--color-text-secondary)!important;border:1px solid rgba(0,0,0,.15)!important}body.theme-light .btn-secondary:hover{background-color:#0000000a!important;color:var(--color-text-primary)!important}@media(hover:hover)and (pointer:fine){body.theme-light .semester-tab:hover:not(.active){color:var(--color-text-primary)!important;background-color:var(--color-bg-elevated)!important}}body.theme-light .semester-tabs-container{background-color:#00000008!important;border:1px solid rgba(0,0,0,.05)!important}body.theme-light .nav-tabs{background-color:#00000008!important;border:1px solid rgba(0,0,0,.05)!important;box-shadow:inset 1px 1px 1px #ffffff80,inset -1px -1px 1px #fff3!important}@media(hover:hover)and (pointer:fine){body.theme-light .nav-tab-btn:hover:not(.active){color:var(--color-text-primary)!important;background-color:#00000008!important}}body.theme-light .evolution-graph-svg text,body.theme-light #multi-subject-svg text{fill:var(--color-text-secondary)!important}body.theme-light .evolution-graph-svg .node-text,body.theme-light #multi-subject-svg .node-text{fill:var(--color-text-primary)!important}body.theme-light .evolution-graph-svg line,body.theme-light #multi-subject-svg line{stroke:#0000000d!important}body.theme-light #multi-subject-svg .graph-line-group{opacity:.75}body.theme-light #multi-subject-svg.has-highlight .graph-line-group:not(.highlighted),body.theme-light #multi-subject-svg:has(.graph-line-group:hover) .graph-line-group:not(:hover){opacity:.18!important}body.theme-light #multi-subject-svg .graph-line-group:hover,body.theme-light #multi-subject-svg .graph-line-group.highlighted{opacity:1!important}body.theme-light #multi-subject-svg line.promo-limit-line,body.theme-light .evolution-graph-svg line.promo-limit-line{stroke:#ef4444!important}body.theme-light #multi-subject-svg text.promo-limit-text,body.theme-light .evolution-graph-svg text.promo-limit-text{fill:#ef4444!important}body.theme-light .toast-sidebar-container{background:#ffffffe6!important;border:1px solid rgba(0,0,0,.08)!important;box-shadow:0 10px 30px #00000014!important;color:var(--color-text-primary)!important;-webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important}body.theme-light .sidebar-toast{background-color:var(--color-bg-surface)!important;border:1px solid rgba(0,0,0,.06)!important;border-left:5px solid var(--toast-accent)!important;box-shadow:0 10px 30px #0000000f!important}body.theme-light .toast-message{color:var(--color-text-primary)!important}body.theme-light .toast-close-btn{color:var(--color-text-muted)!important}body.theme-light .toast-close-btn:hover{color:var(--color-text-primary)!important}body.theme-light .sidebar-toast-title{color:var(--color-failing-bg)!important}body.theme-light .sidebar-toast-body{color:var(--color-text-secondary)!important}body.theme-light .modal-content{background-color:var(--color-bg-surface)!important;border:1px solid rgba(0,0,0,.08)!important;box-shadow:0 10px 40px #00000014!important;color:var(--color-text-primary)!important}body.theme-light .modal-header h2{color:var(--color-text-primary)!important}body.theme-light .close-btn{color:var(--color-text-muted)!important}body.theme-light .close-btn:hover{color:var(--color-text-primary)!important}body.theme-light .promo-dashboard-container{background-color:var(--color-bg-surface)!important;border:1px solid rgba(0,0,0,.07)!important;box-shadow:0 4px 20px #00000004!important;color:var(--color-text-primary)!important}body.theme-light .promo-dashboard-container.status-promoted{background-color:#2b67470a!important;border-color:#2b674726!important}body.theme-light .promo-dashboard-container.status-failing{background-color:#9b2c2c0a!important;border-color:#9b2c2c26!important}body.theme-light .promo-dashboard-container.status-promoted h2,body.theme-light .promo-dashboard-container.status-promoted p,body.theme-light .promo-dashboard-container.status-promoted li{color:#2b6747!important}body.theme-light .promo-dashboard-container.status-failing h2,body.theme-light .promo-dashboard-container.status-failing p,body.theme-light .promo-dashboard-container.status-failing li{color:#9b2c2c!important}body.theme-light .top-nav-brand span{color:var(--color-text-muted)!important}#theme-toggle-btn{background-color:#ffffff0d!important;border:1px solid rgba(255,255,255,.08)!important;color:var(--color-text-primary)!important;cursor:pointer;transition:all var(--transition-fast)!important}#theme-toggle-btn:hover{background-color:#ffffff1a!important;transform:scale(1.05)}body.theme-light #theme-toggle-btn{background-color:#00000008!important;border:1px solid rgba(0,0,0,.06)!important;color:var(--color-text-primary)!important}body.theme-light #theme-toggle-btn:hover{background-color:#0000000f!important}body.theme-light h1,body.theme-light h2,body.theme-light h3,body.theme-light h4,body.theme-light h5,body.theme-light h6,body.theme-light select,body.theme-light option,body.theme-light .guide-card-title,body.theme-light .bilan-section h2,body.theme-light .subject-name,body.theme-light .toast-message,body.theme-light .modal-content,body.theme-light .modal-header h2,body.theme-light [style*="color: white"],body.theme-light [style*="color:white"],body.theme-light [style*="color: #fff"],body.theme-light [style*="color:#fff"],body.theme-light [style*="color: #ffffff"],body.theme-light [style*="color:#ffffff"]{color:var(--color-text-primary)!important}body.theme-light select.sim-num-tests,body.theme-light select.sim-type{background-color:var(--color-bg-elevated)!important;color:var(--color-text-primary)!important;border:1px solid var(--color-border-subtle)!important}.subject-card.is-maximized{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:92vw!important;max-width:960px!important;height:85vh!important;height:85dvh!important;max-height:720px!important;z-index:9999!important;background-color:var(--color-bg-surface)!important;border:1px solid var(--color-border-subtle)!important;box-shadow:0 20px 80px #00000073!important;padding:2rem!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;border-radius:var(--radius-lg)!important;overflow-y:auto!important;animation:zoomIn .3s cubic-bezier(.16,1,.3,1) forwards}body.theme-light .subject-card.is-maximized{box-shadow:0 20px 80px #0000001f!important;border-color:#0000001a!important}@keyframes zoomIn{0%{opacity:0;transform:translate(-50%,-45%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.graph-maximize-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9998;pointer-events:none;opacity:0;transition:opacity .25s ease}.graph-maximize-backdrop.active{opacity:1;pointer-events:auto}body.theme-light .filter-pill.active{color:var(--color-text-primary)!important;font-weight:700!important}body.theme-light .filter-pill:hover{color:var(--color-text-primary)!important}.btn:active,.chip-btn:active,.filter-pill:active,.lang-toggle-btn:active,.semester-tab:active{transform:scale(.96);transition:transform .1s ease}@media(max-width:767.98px){body{padding:.75rem;padding:.75rem calc(.75rem + env(safe-area-inset-right)) calc(.75rem + env(safe-area-inset-bottom)) calc(.75rem + env(safe-area-inset-left))}.app-container{gap:1.25rem}.header{padding-bottom:.25rem;gap:.75rem}.logo-circle{width:42px;height:42px}.header-text h1{font-size:1.55rem}.promo-dashboard-container{padding:1.25rem}}@media(max-width:520px){.year-tabs-container .lang-toggle-container{overflow-x:auto;white-space:nowrap;justify-content:flex-start;gap:.3rem;padding:4px 6px;scrollbar-width:none;-ms-overflow-style:none}.year-tabs-container .lang-toggle-container::-webkit-scrollbar{display:none}.year-tabs-container .lang-toggle-btn{flex:0 0 auto;min-width:90px;padding:.55rem .35rem;font-size:.75rem}}.year-tabs-container .lang-toggle-btn.year-tab-btn{flex:1;text-align:center;font-size:.8rem;padding:6px 4px}.year-tabs-container .lang-toggle-btn.year-toggle-all{flex:0 0 auto;min-width:auto;padding:6px 10px;font-size:.75rem;background:#ffffff0d;border:1px dashed var(--color-border-subtle);color:var(--color-text-secondary);border-radius:var(--radius-sm);margin-left:.5rem}.year-tabs-container .lang-toggle-container.is-expanded{margin:0;padding:4px;width:100%;display:flex;max-width:650px;justify-content:space-between;gap:4px;align-items:center}.year-tabs-container .lang-toggle-container.is-collapsed{margin:0 auto;padding:4px;width:fit-content;display:inline-flex;justify-content:center;gap:6px;align-items:center}@media(min-width:768px){.year-tabs-container .lang-toggle-btn.year-tab-btn{font-size:.9rem;padding:8px 12px}}@media(max-width:480px){.modal-container{padding:1.25rem;margin:.5rem;max-height:calc(100dvh - 1.5rem - env(safe-area-inset-bottom) - env(safe-area-inset-top));overflow-y:auto;border-radius:var(--radius-lg)}.modal-title{font-size:1.2rem;margin-bottom:.75rem}.simulator-controls{flex-wrap:wrap;gap:.4rem;justify-content:flex-start}.subjects-list.gemstone-mode{gap:2.25rem 1.25rem!important;padding:1rem 0!important}:root{--gem-sphere: 72px}.gem-sphere-average{font-size:.85rem}.gem-subject-name{font-size:.75rem}.gem-type-name{font-size:.6rem}}#subject-details-modal .subject-card{background:none!important;border:none!important;box-shadow:none!important;padding:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;margin:0!important}body.theme-light .modal-container{background-color:#fff!important;border:1px solid rgba(0,0,0,.08)!important;box-shadow:0 20px 50px #0000000f!important}body.theme-light .target-simulator{background-color:#00000005!important}body.theme-light .simulator-controls select{background-color:#f1f5f9!important;color:var(--color-text-primary)!important;border:1px solid rgba(0,0,0,.12)!important}.switch-container{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.switch-container input{opacity:0;width:0;height:0}.switch-container .switch-slider{position:absolute;cursor:pointer;inset:0;background-color:#ffffff1a;border:1px solid var(--color-border-subtle);transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease;border-radius:24px}.switch-container input:checked+.switch-slider{background-color:var(--color-primary)!important;border-color:var(--color-primary)!important;box-shadow:0 0 8px #60a5fa66}.switch-container .switch-slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:transform .3s cubic-bezier(.4,0,.2,1);border-radius:50%;box-shadow:0 1px 3px #0003}.switch-container input:checked+.switch-slider:before{transform:translate(20px)}body.theme-light .onboarding-year-btn.active,body.theme-light .btn-secondary.onboarding-year-btn.active,body .onboarding-year-btn.active,body.theme-light .profile-year-btn.active,body.theme-light .btn-secondary.profile-year-btn.active,body .profile-year-btn.active,body.theme-light .interface-mode-btn.active,body.theme-light .btn-secondary.interface-mode-btn.active,body .interface-mode-btn.active{background-color:var(--color-primary)!important;color:var(--color-bg-base)!important;border-color:var(--color-primary)!important;font-weight:800!important}body.theme-light #btn-settings-modal{background-color:var(--color-bg-surface)!important;border-color:#00000014!important;color:var(--color-text-primary)!important}body.theme-light .switch-container .switch-slider{background-color:#00000014;border-color:#00000026}body.theme-light .switch-container input:checked+.switch-slider{background-color:var(--color-primary)!important;border-color:var(--color-primary)!important;box-shadow:0 0 8px #60a5fa33}.exam-input-field{width:56px;height:28px;padding:2px 6px;font-size:.85rem;font-weight:700;text-align:center;background-color:var(--color-bg-elevated);border:1.5px solid var(--color-border-subtle);color:var(--color-text-primary);border-radius:var(--radius-md);outline:none;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.exam-input-field:hover{border-color:#60a5fa66}.exam-input-field:focus{border-color:var(--color-primary);background-color:var(--color-bg-surface);box-shadow:0 0 0 3px #60a5fa26}body.theme-light .exam-input-field{background-color:#f8fafc;border:1.5px solid rgba(0,0,0,.1)}body.theme-light .exam-input-field:focus{background-color:#fff}.exam-input-field::-webkit-outer-spin-button,.exam-input-field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.exam-input-field{-moz-appearance:textfield}.view-fade-in{animation:gentleFadeIn .1s ease-out forwards;will-change:opacity,transform}@keyframes gentleFadeIn{0%{opacity:.7;transform:translateY(3px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}.bilan-grid{grid-template-columns:1fr 1fr}@media(max-width:600px){.bilan-grid{grid-template-columns:1fr}.header-actions{width:100%;gap:.6rem}.header-selectors{flex:1 1 100%}.header-selectors select{flex:1;min-width:0}#add-subject-btn{flex:1 1 100%;justify-content:center}.form-actions{flex-direction:column;gap:.75rem}.form-actions .btn{width:100%}.modal-container{width:calc(100% - 1.5rem)}}.grade-slider{--gs-pct: 60%;display:flex;flex-direction:column;gap:.6rem;padding:.15rem 0 .1rem;user-select:none;-webkit-user-select:none}.grade-slider-value-badge{align-self:center;font-family:var(--font-family-mono);font-size:1.7rem;font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--color-text-primary);min-width:3.4ch;text-align:center;padding:.3rem .9rem;border-radius:var(--radius-full);background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);transition:transform .09s var(--ease-out)}.grade-slider.gs-active .grade-slider-value-badge{transform:scale(1.06)}.grade-slider-track{position:relative;height:44px;cursor:pointer;touch-action:none;outline:none}.grade-slider-rail{position:absolute;left:14px;right:14px;top:50%;transform:translateY(-50%);height:7px;border-radius:var(--radius-full);background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle)}.grade-slider-fill{position:absolute;left:0;top:0;height:100%;width:var(--gs-pct);border-radius:var(--radius-full);background:var(--color-primary);transition:width .09s var(--ease-out)}.grade-slider-ticks{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none}.grade-slider-ticks span{width:2px;height:6px;border-radius:1px;background:var(--color-border-subtle)}.grade-slider-ticks span:nth-child(odd){height:12px;background:var(--color-text-muted)}.grade-slider-knob{position:absolute;left:var(--gs-pct);top:50%;width:26px;height:26px;border-radius:50%;background:var(--color-bg-surface);border:2.5px solid var(--color-primary);transform:translate(-50%,-50%);transition:left .09s var(--ease-out),transform .09s var(--ease-out);box-shadow:0 4px 12px #00000047!important;z-index:3}.grade-slider-track.gs-grabbing .grade-slider-knob{transform:translate(-50%,-50%) scale(1.14)}.grade-slider-track:focus-visible .grade-slider-knob{box-shadow:var(--ring-focus),0 4px 12px #00000047!important}.grade-slider-scale{display:flex;justify-content:space-between;margin:0 8px;font-family:var(--font-family-mono);font-size:.72rem;font-weight:600;color:var(--color-text-muted)}.form-group-inline{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem}.form-group-inline .form-label{margin:0}.type-chips-compact{display:flex;gap:4px;width:auto;background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);padding:4px;border-radius:var(--radius-full)}.type-chips-compact .chip-btn{flex:0 0 auto;min-height:34px;min-width:58px;padding:.3rem .9rem;font-size:.82rem;font-weight:700;border:none;border-radius:var(--radius-full)}.type-chips-compact .chip-btn.active{background:var(--color-primary);color:var(--color-bg-base);box-shadow:var(--shadow-sm)!important}.grade-extras-toggle{display:inline-flex;align-items:center;gap:.45rem;margin:.15rem 0 .4rem;padding:.5rem .25rem;background:none;border:none;color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:.85rem;font-weight:600;cursor:pointer;min-height:40px}.grade-extras-toggle:hover{color:var(--color-text-primary)}.grade-extras-toggle .gx-plus{transition:transform .15s var(--ease-out)}.grade-extras-toggle[aria-expanded=true] .gx-plus{transform:rotate(45deg)}.grade-extras[hidden]{display:none}.form-actions-inline{flex-direction:row!important;gap:.6rem}.form-actions-inline .btn{width:auto!important;flex:1}.evo-header{display:flex;flex-direction:column;gap:.2rem}.evo-title{font-family:var(--font-family-serif);font-size:1.75rem;font-weight:800;color:var(--color-text-primary);letter-spacing:-.01em;line-height:1.1}.evo-subtitle{font-size:.9rem;color:var(--color-text-secondary);max-width:54ch}.evo-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.evo-kpi-card{position:relative;isolation:isolate;overflow:hidden;background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:1.1rem 1.25rem 1.1rem 1.6rem;display:flex;flex-direction:column;gap:.35rem;box-shadow:var(--shadow-card)!important;transition:transform .25s var(--ease-out),border-color .25s var(--ease-out)}.evo-kpi-card:before{content:"";position:absolute;left:.55rem;top:1.15rem;bottom:1.15rem;width:3px;border-radius:999px;background:var(--kpi-accent, var(--color-primary));opacity:.85}@media(hover:hover){.evo-kpi-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--kpi-accent, var(--color-primary)) 45%,transparent)}}.evo-kpi-card.evo-kpi-status.ok{--kpi-accent: #10b981}.evo-kpi-card.evo-kpi-status.warn{--kpi-accent: #f59e0b}.evo-kpi-card.kpi-best{--kpi-accent: #10b981}.evo-kpi-card.kpi-watch{--kpi-accent: #ef4444}.evo-kpi-value,.evo-kpi-trend{font-variant-numeric:tabular-nums}.evo-kpi-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.evo-kpi-value{font-family:var(--font-family-mono);font-size:2rem;font-weight:700;line-height:1;color:var(--color-text-primary);letter-spacing:-.02em}.evo-kpi-value-sm{font-size:1.05rem;font-weight:800;color:var(--color-text-primary);line-height:1.25}.evo-kpi-sub{font-size:.74rem;color:var(--color-text-muted);font-weight:500}.evo-kpi-trend{display:inline-flex;align-items:center;gap:.25rem;font-family:var(--font-family-mono);font-size:.85rem;font-weight:700}.evo-kpi-trend.up{color:var(--color-avg-passing-text)}.evo-kpi-trend.down{color:var(--color-avg-failing-text)}.evo-kpi-trend .evo-kpi-sub{font-family:var(--font-family-sans)}.evo-kpi-status-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:1rem;font-weight:800;line-height:1.1}.evo-kpi-status.ok .evo-kpi-status-badge{color:var(--color-avg-passing-text)}.evo-kpi-status.warn .evo-kpi-status-badge{color:var(--color-warning-bg)}.evo-kpi-status.ok{border-color:color-mix(in srgb,var(--color-passing-bg) 30%,var(--color-border-subtle))}.evo-kpi-status.warn{border-color:color-mix(in srgb,var(--color-warning-bg) 35%,var(--color-border-subtle))}.evo-kpi-empty{display:flex;align-items:center;gap:1rem;background-color:var(--color-bg-surface);border:1px dashed var(--color-border-subtle);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;color:var(--color-primary);box-shadow:var(--shadow-card)!important}.evo-kpi-empty>div{display:flex;flex-direction:column;gap:.15rem}.evo-kpi-empty strong{color:var(--color-text-primary);font-size:.95rem}.evo-kpi-empty span{color:var(--color-text-secondary);font-size:.82rem}.evo-chart-card{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.evo-chart-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--color-border-subtle);padding-bottom:.75rem;flex-wrap:wrap;gap:.4rem}.evo-chart-head-main{display:flex;align-items:center;gap:.6rem}.evo-chart-title{font-family:var(--font-family-serif);font-size:1.25rem;font-weight:800;color:var(--color-text-primary)}.evo-chart-caption{font-size:.8rem;color:var(--color-text-secondary);font-weight:500}.evo-maximize-btn{padding:4px 10px!important;font-size:.72rem!important;min-height:auto!important;border-radius:var(--radius-full)!important;display:inline-flex;align-items:center;gap:.3rem}.evo-graph-wrapper{position:relative;width:100%;min-height:200px;display:flex;align-items:center;justify-content:center;flex-direction:column}@media(max-width:700px){.evo-kpi-grid{grid-template-columns:1fr 1fr;gap:.6rem}.evo-kpi-card{padding:.85rem .9rem}.evo-kpi-value{font-size:1.55rem}.evo-title{font-size:1.45rem}.evo-chart-head{flex-direction:column;align-items:flex-start}}.btn:focus-visible,.chip-btn:focus-visible,.nav-tab-btn:focus-visible,.semester-tab:focus-visible,.lang-toggle-btn:focus-visible,.form-input:focus-visible,select:focus-visible,[contenteditable]:focus-visible,.gem-item:focus-visible{outline:none;box-shadow:var(--ring-focus)!important}@media(hover:hover){.subject-card{transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}.subject-card:hover{transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body.theme-light .theme-choice-btn.active,body:not(.theme-light) .theme-choice-btn.active,body .theme-choice-btn.active{background-color:var(--color-primary)!important;color:var(--color-bg-base)!important;border-color:var(--color-primary)!important;font-weight:800!important}.btn-google{width:100%;padding:.85rem;background-color:#131314;color:#e3e3e3;border:1px solid #8e918f;border-radius:var(--radius-md);font-size:.95rem;font-weight:700;margin-bottom:1.25rem}.btn-google:hover:not(:disabled){background-color:#1f1f20;transform:translateY(-1px)}.btn-google:disabled{opacity:.6;cursor:progress;transform:none}.btn-google-logo{flex-shrink:0}body.theme-light .btn-google{background-color:#fff;color:#1f1f1f;border:1px solid #747775}body.theme-light .btn-google:hover:not(:disabled){background-color:#f2f2f2}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:0 0 1.25rem;color:var(--color-text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border-subtle)}.auth-msg{font-size:.82rem;margin:1rem 0 0;text-align:center}.auth-msg.error{color:#c0392b}.auth-msg.success{color:#2b6747}body.theme-light .auth-msg.error{color:#b03024}.hidden{display:none!important}.auth-toggle-container{display:flex;background:var(--color-bg-elevated);padding:4px;border-radius:var(--radius-md);margin-bottom:1.5rem;border:1px solid var(--color-border-subtle)}.auth-toggle-btn{flex:1;padding:.6rem;font-size:.85rem;font-weight:700;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);min-height:44px}.auth-toggle-btn.active{background:var(--color-primary);color:var(--color-bg-base);box-shadow:0 4px 12px #60a5fa33}body.theme-light .auth-toggle-btn.active{color:#fff}.nav-icon-btn.logged-in{color:var(--color-primary);background-color:#60a5fa1a;border:1px solid var(--color-primary)}body.theme-light .nav-icon-btn.logged-in{background-color:#0000000d}.legal-body h3{font-size:.95rem;font-weight:800;margin:1.25rem 0 .4rem;color:var(--color-text-primary)}.legal-body p{font-size:.85rem;line-height:1.6;color:var(--color-text-secondary);margin:0 0 .6rem}.legal-body a{color:var(--color-primary)}.modal-scroll-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:var(--space-1)}.auth-consent-label{display:flex;align-items:flex-start;gap:.6rem;min-height:44px;padding:.35rem 0;font-size:.82rem;line-height:1.5;color:var(--color-text-secondary);cursor:pointer}.auth-consent-label input[type=checkbox]{flex-shrink:0;width:1.05rem;height:1.05rem;margin-top:.15rem;accent-color:var(--color-primary);cursor:pointer}.auth-consent-label a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.brand-mark{display:block;width:30px;height:30px;flex-shrink:0;border-radius:50%}body:not(.theme-light) .brand-mark{filter:invert(1)}.brand-mark-hero{width:180px;height:180px}.auth-link-btn{background:none;border:none;padding:.5rem;min-height:44px;font-family:inherit;font-size:.82rem;color:var(--color-text-secondary);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.auth-link-btn:hover{color:var(--color-primary)}.auth-hint{margin:0;font-size:.85rem;line-height:1.5;color:var(--color-text-secondary)}.auth-msg.success{color:var(--color-primary)}.is-native .top-nav-bar,.is-native .site-footer{display:none!important}.is-native .landing-page-container,.is-native .app-container,.is-native .guide-page-container,.is-native .settings-page-container{padding-top:env(safe-area-inset-top)!important}.is-native .page-view{padding-bottom:calc(56px + env(safe-area-inset-bottom) + 1rem)}.is-native #view-landing{padding-bottom:env(safe-area-inset-bottom)}.native-tabbar{display:none}.is-native .native-tabbar:not([hidden]){position:fixed;left:0;right:0;bottom:0;z-index:900;display:flex;align-items:stretch;justify-content:center;padding:0;background-color:color-mix(in srgb,var(--color-bg-surface) 92%,transparent);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);border-top:1px solid color-mix(in srgb,var(--color-text-primary) 14%,transparent)}.native-tab{flex:1;max-width:200px;min-height:49px;padding:.4rem .25rem calc(.35rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;background:none;border:none;cursor:pointer;color:var(--color-text-secondary);-webkit-tap-highlight-color:transparent;transition:color .18s ease}body:not(.theme-light) .native-tab{color:#cbd5e1}.native-tab-label{font-family:var(--font-family-sans);font-size:.68rem;font-weight:600;letter-spacing:.01em;line-height:1}.native-tab{position:relative}.native-tab.active{color:var(--color-primary)}.native-tab.active .native-tab-label{font-weight:700}.native-tab.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:20px;height:2px;border-radius:0 0 2px 2px;background-color:currentColor}.native-tab:active .native-tab-icon{transform:scale(.88)}.native-tab-icon{transition:transform .18s cubic-bezier(.34,1.56,.64,1)}@media(min-width:768px){.is-native{--nav-rail: clamp(240px, 22vw, 300px)}.is-native .native-tabbar:not([hidden]){top:0;bottom:0;right:auto;width:var(--nav-rail);flex-direction:column;align-items:stretch;justify-content:flex-start;padding:calc(env(safe-area-inset-top) + 56px) 0 env(safe-area-inset-bottom) env(safe-area-inset-left);border-top:none;border-right:1px solid color-mix(in srgb,var(--color-text-primary) 14%,transparent)}.is-native .native-tab{flex:0 0 auto;max-width:none;min-height:52px;flex-direction:row;justify-content:flex-start;gap:.85rem;padding:.7rem 1rem}.is-native .native-tab-label{font-size:.92rem}.is-native .native-tab-icon{flex:0 0 auto}.is-native .native-tab.active:before{top:8px;bottom:8px;left:0;width:3px;height:auto;transform:none;border-radius:0 2px 2px 0}.is-native.nav-visible body{padding-left:calc(var(--nav-rail) + 1.5rem)}.is-native .page-view{padding-bottom:calc(env(safe-area-inset-bottom) + 1.5rem)}.is-native .app-container{max-width:980px}.is-native .guide-page-container{max-width:760px}.is-native{--gem-item: 200px;--gem-sphere: 180px}.is-native .subjects-list.gemstone-mode{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(var(--gem-item),1fr));max-width:none!important;justify-items:center}.is-native .subjects-list:not(.gemstone-mode){grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.is-native .promo-stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.is-native .promo-stats-grid.three-cols{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.is-native .bilan-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.is-native .grade-lanes-container{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.is-native .stack-card{top:calc(env(safe-area-inset-top) + 1rem + var(--stack-i, 0) * 3.1rem)}.is-native .branch-sheet{align-items:center;justify-content:center}.is-native .branch-sheet-panel{width:min(540px,92vw);max-height:min(620px,82dvh);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);padding-bottom:0;transform:translateY(16px) scale(.98)}.is-native .branch-sheet.is-open .branch-sheet-panel{transform:none}.is-native .btn-apple{max-width:375px;margin-inline:auto}}.is-native .modal-container.modal-wide{max-width:540px}.is-native .modal-container.modal-auth{max-width:460px}.is-native .modal-cols{display:flex;flex-direction:column;align-items:stretch;grid-template-columns:minmax(0,1fr)}.settings-page-container{width:100%;max-width:640px;margin:0 auto;padding:.5rem 1rem 0}.native-screen-header{padding:.75rem 0 1rem}.native-screen-title{font-family:var(--font-family-serif);font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text-primary);margin:0}.settings-group-label{font-family:var(--font-family-sans);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);margin:1.4rem 0 .5rem .2rem}.settings-group{background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);overflow:hidden}.settings-row{width:100%;min-height:56px;padding:.85rem 1rem;display:flex;align-items:center;gap:.85rem;background:none;border:none;border-bottom:1px solid color-mix(in srgb,var(--color-text-primary) 18%,transparent);color:var(--color-text-primary);font-family:var(--font-family-sans);text-align:left;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.settings-row:last-child{border-bottom:none}.settings-row:active{background-color:color-mix(in srgb,var(--color-text-primary) 7%,transparent)}.settings-row-icon{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background-color:var(--color-bg-elevated);color:var(--color-text-primary)}.settings-row-text{flex:1;display:flex;flex-direction:column;gap:.1rem;min-width:0}.settings-row-text strong{font-family:var(--font-family-sans);font-size:.95rem;font-weight:600}.settings-row-text small{font-family:var(--font-family-sans);font-size:.78rem;color:var(--color-text-secondary)}.settings-row-chevron{flex:0 0 auto;font-size:1.35rem;line-height:1;color:var(--color-text-muted)}.settings-footnote{font-family:var(--font-family-sans);font-size:.75rem;line-height:1.5;color:var(--color-text-secondary);margin:1.5rem .2rem 0}.is-native,.is-native body{overscroll-behavior:none}.is-native body{-webkit-touch-callout:none}.is-native input,.is-native textarea,.is-native [contenteditable=true]{-webkit-touch-callout:default}@keyframes nativeViewEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.is-native .page-view.view-enter{animation:nativeViewEnter .18s cubic-bezier(.32,.72,0,1)}.is-native .semester-tabs-container,.is-native .year-tabs-container,.is-native #interface-selector{backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);background-color:color-mix(in srgb,var(--color-bg-elevated) 55%,transparent);border-radius:var(--radius-full);box-shadow:inset 1px 1px 1px #ffffff38,inset -1px -1px 1px #ffffff1a}.is-native .semester-tab,.is-native .lang-toggle-btn,.is-native .interface-mode-btn{border-radius:var(--radius-full);transition:background-color .32s cubic-bezier(.175,.885,.32,1.35),color .2s ease,transform .2s cubic-bezier(.175,.885,.32,1.35),box-shadow .32s ease}.is-native .semester-tab:active,.is-native .lang-toggle-btn:active,.is-native .interface-mode-btn:active{transform:scale(.95)}.is-native .semester-tab.active,.is-native .lang-toggle-btn.active,.is-native .interface-mode-btn.active{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:inset 2px 2px 1px #ffffff6b,inset -1px -1px 1px 1px #ffffff38,0 4px 10px #0000002e}.is-native .semester-tab{flex:1 1 0;min-width:0;white-space:nowrap}.is-native .year-tabs-container,.is-native .semester-tabs-container{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}.is-native .year-tabs-container::-webkit-scrollbar,.is-native .semester-tabs-container::-webkit-scrollbar{display:none}.is-native .lang-toggle-btn,.is-native .semester-tab{scroll-snap-align:center}@media(max-width:899px){.chart-legend-list{max-height:none;overflow-y:visible}}.graph-close-btn{position:absolute;top:calc(.75rem + env(safe-area-inset-top));right:.75rem;z-index:10;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--color-border-subtle);background-color:color-mix(in srgb,var(--color-bg-elevated) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--color-text-primary);cursor:pointer;box-shadow:0 4px 14px #00000038}.graph-close-btn:active{transform:scale(.93)}.bilan-card-head{display:flex;align-items:center;gap:.65rem;border-bottom:1px solid var(--color-border-subtle);padding-bottom:.6rem}.bilan-card-titles{display:flex;flex-direction:column;gap:.1rem;min-width:0}.bilan-card-title{font-family:var(--font-family-serif);font-size:1.15rem;font-weight:800;color:var(--color-text-primary);margin:0;line-height:1.15;white-space:nowrap}.bilan-card-points{font-family:var(--font-family-sans);font-size:.8rem;font-weight:700;color:var(--color-primary);line-height:1.3}.status-bar-scrim{position:fixed;top:0;left:0;right:0;height:calc(env(safe-area-inset-top) + 10px);z-index:1000;pointer-events:none;background:linear-gradient(to bottom,var(--color-bg-base) 0%,var(--color-bg-base) calc(env(safe-area-inset-top) - 1px),color-mix(in srgb,var(--color-bg-base) 70%,transparent) calc(env(safe-area-inset-top) + 4px),transparent 100%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);contain:paint}@supports not (backdrop-filter: blur(1px)){.status-bar-scrim{background:var(--color-bg-base);height:env(safe-area-inset-top)}}.is-native .evo-maximize-btn{display:none!important}@media(min-width:768px){.is-native .evo-maximize-btn{display:inline-flex!important}}.branch-picker-trigger{width:100%;min-height:52px;display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background-color:var(--color-bg-elevated);color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:.88rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.branch-picker-trigger:active{transform:scale(.985)}.branch-picker-count{flex:0 0 auto}.branch-picker-chips{flex:1;display:flex;align-items:center;gap:.3rem}.branch-picker-dot{width:10px;height:10px;border-radius:50%}.branch-picker-action{flex:0 0 auto;color:var(--color-primary);font-weight:700}.branch-sheet{position:fixed;inset:0;z-index:1300;display:flex;align-items:flex-end;background-color:#00000073;opacity:0;transition:opacity .22s ease}.branch-sheet.is-open{opacity:1}.branch-sheet-panel{width:100%;max-height:82dvh;display:flex;flex-direction:column;background-color:var(--color-bg-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-top:1px solid var(--color-border-subtle);padding-bottom:env(safe-area-inset-bottom);transform:translateY(100%);transition:transform .28s cubic-bezier(.32,.72,0,1)}.branch-sheet.is-open .branch-sheet-panel{transform:none}.branch-sheet-head{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-bottom:1px solid var(--color-border-subtle)}.branch-sheet-title{flex:1;text-align:center;font-family:var(--font-family-serif);font-size:1.1rem;font-weight:700;margin:0;color:var(--color-text-primary)}.branch-sheet-close,.branch-sheet-bulk{min-width:56px;min-height:44px;border:none;background:none;color:var(--color-primary);font-family:var(--font-family-sans);font-size:.9rem;font-weight:600;cursor:pointer}.branch-sheet-close{font-size:1.6rem;line-height:1;color:var(--color-text-secondary)}.branch-sheet-list{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.branch-sheet-row{width:100%;min-height:52px;display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;border:none;border-bottom:1px solid color-mix(in srgb,var(--color-text-primary) 10%,transparent);background:none;color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:.95rem;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.branch-sheet-row:active{background-color:color-mix(in srgb,var(--color-text-primary) 7%,transparent)}.branch-sheet-dot{width:12px;height:12px;border-radius:50%;flex:0 0 auto;opacity:.35}.branch-sheet-row.is-on{color:var(--color-text-primary);font-weight:600}.branch-sheet-row.is-on .branch-sheet-dot{opacity:1}.branch-sheet-name{flex:1;min-width:0}.branch-sheet-check{flex:0 0 auto;color:var(--color-primary);font-weight:800;opacity:0}.branch-sheet-row.is-on .branch-sheet-check{opacity:1}.btn-apple{width:100%;padding:.85rem;min-height:48px;display:flex;align-items:center;justify-content:center;gap:.55rem;margin-bottom:.6rem;border-radius:var(--radius-md);font-family:var(--font-family-sans);font-size:.95rem;font-weight:600;cursor:pointer;background-color:#000;color:#fff;border:1px solid #000000;transition:transform var(--transition-fast),opacity var(--transition-fast)}body:not(.theme-light) .btn-apple{background-color:#fff;color:#000;border-color:#fff}.btn-apple:active{transform:scale(.985);opacity:.9}.btn-apple-logo{margin-top:-2px;flex:0 0 auto}.promo-disclaimer{margin:1rem 0 0;padding-top:.85rem;border-top:1px solid var(--color-border-subtle);font-size:.72rem;line-height:1.5;color:var(--color-text-muted);text-align:center}.promo-support{margin-top:.85rem;padding:.85rem 1rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-text-primary) 4%,transparent);border:1px solid var(--color-border-subtle)}.promo-support p{margin:0;font-size:.78rem;line-height:1.6;color:var(--color-text-secondary);text-align:center}.promo-support a{color:var(--color-text-primary);font-weight:700;text-decoration:underline;text-underline-offset:2px;display:inline-flex;align-items:center;padding:.15rem .4rem;min-height:44px}.promo-dashboard-container .promo-support{background:var(--color-bg-surface);border-color:var(--color-border-subtle)}.promo-dashboard-container .promo-support p,body.theme-light .promo-dashboard-container.status-failing .promo-support p,body.theme-light .promo-dashboard-container.status-promoted .promo-support p{color:var(--color-text-secondary)!important}.promo-dashboard-container .promo-support a,body.theme-light .promo-dashboard-container.status-failing .promo-support a{color:var(--color-text-primary)!important}.promo-dashboard-container .promo-disclaimer,body.theme-light .promo-dashboard-container.status-failing .promo-disclaimer,body.theme-light .promo-dashboard-container.status-promoted .promo-disclaimer{color:var(--color-text-muted)!important}.appstore-invite{position:fixed;z-index:900;left:.75rem;right:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom));max-width:440px;margin:0 auto;display:flex;align-items:center;gap:.75rem;padding:.75rem .9rem;background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transform:translateY(calc(100% + 1.5rem));opacity:0;transition:transform .34s var(--ease-out),opacity .22s ease}.appstore-invite.is-open{transform:none;opacity:1}.appstore-invite-mark{flex:0 0 auto;border-radius:var(--radius-sm)}.appstore-invite-text{flex:1 1 auto;min-width:0}.appstore-invite-title{font-family:var(--font-family-sans);font-size:.88rem;font-weight:800;color:var(--color-text-primary);margin:0}.appstore-invite-body{font-family:var(--font-family-sans);font-size:.75rem;line-height:1.35;color:var(--color-text-secondary);margin:.1rem 0 0}.appstore-invite-cta{flex:0 0 auto;display:inline-flex;align-items:center;min-height:36px;padding:0 .9rem;border-radius:var(--radius-full);background-color:var(--color-primary);color:var(--color-bg-base);font-family:var(--font-family-sans);font-size:.8rem;font-weight:800;text-decoration:none}.appstore-invite-dismiss{flex:0 0 auto;background:none;border:none;padding:0 .15rem;color:var(--color-text-muted);font-size:1.25rem;line-height:1;cursor:pointer}.appstore-invite-cta:focus-visible,.appstore-invite-dismiss:focus-visible{outline:none;box-shadow:var(--ring-focus)}
