:root{--color-bg:oklch(98% .005 150);--color-surface:oklch(99.5% .002 150);--color-surface-hover:oklch(96% .01 150);--color-ink:oklch(20% .01 150);--color-ink-muted:oklch(50% .01 150);--color-primary:oklch(68% .09 150);--color-primary-hover:oklch(60% .09 150);--color-primary-glow:color-mix(in oklch, var(--color-primary) 30%, transparent);--color-accent:oklch(62% .14 45);--color-accent-hover:oklch(55% .14 45);--color-accent-glow:color-mix(in oklch, var(--color-accent) 30%, transparent);--color-border:oklch(92% .01 150);--color-success:oklch(70% .1 150);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.175, .885, .32, 1.275);--ease-elastic:cubic-bezier(.68, -.55, .265, 1.55);--shadow-soft:0 4px 12px #0000000d;--shadow-magnetic:0 20px 40px #00000014, 0 1px 3px #00000005;--shadow-glow:0 0 20px var(--color-primary-glow);--font-sans:"Outfit", sans-serif;--theme-transition-duration:.22s;--theme-transition-ease:cubic-bezier(.22, 1, .36, 1)}[data-theme=dark]{--color-bg:oklch(18% .02 150);--color-surface:oklch(22% .02 150);--color-surface-hover:oklch(26% .02 150);--color-ink:oklch(95% .01 90);--color-ink-muted:oklch(70% .01 90);--color-border:oklch(30% .02 150);--shadow-soft:0 8px 30px #0006;--shadow-magnetic:0 20px 40px #0009}html{background:var(--color-bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-ink);min-height:100vh;transition:background-color var(--theme-transition-duration) var(--theme-transition-ease), color var(--theme-transition-duration) var(--theme-transition-ease);overscroll-behavior-y:none;overflow-x:hidden}#root{min-height:100vh}.app-container{width:100%;max-width:1000px;min-height:100vh;padding-top:var(--header-offset,160px);flex-direction:column;margin:0 auto;display:flex;position:relative}.persistent-ui{z-index:100;pointer-events:none;background:color-mix(in oklch, var(--color-bg) 90%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);padding:1.5rem;position:fixed;top:0;left:0;right:0}.top-bar{pointer-events:auto;justify-content:space-between;align-items:center;display:flex}.logo{letter-spacing:-.5px;font-size:1.25rem;font-weight:800}.text-accent{color:var(--color-accent)}.top-controls{align-items:center;gap:1rem;display:flex}.streak-counter{background:var(--color-surface);box-shadow:var(--shadow-soft);border:1px solid var(--color-border);border-radius:20px;padding:.5rem 1rem;font-size:.875rem;font-weight:600}.magnetic-btn{cursor:pointer;color:inherit;transition:transform .2s var(--ease-out);background:0 0;border:none;font-family:inherit}.icon-btn{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;width:40px;height:40px;color:var(--color-ink);transition:all .2s var(--ease-out);border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.icon-btn:hover{border-color:var(--color-primary);transform:scale(1.1)}.theme-toggle-btn{position:relative;overflow:hidden}.theme-toggle-btn:after{content:"";border-radius:inherit;background:color-mix(in oklch, var(--color-primary) 14%, transparent);opacity:0;transition:opacity var(--theme-transition-duration) var(--theme-transition-ease), transform var(--theme-transition-duration) var(--theme-transition-ease);position:absolute;inset:4px;transform:scale(.72)}.theme-toggle-glyph{z-index:1;width:20px;height:20px;transition:transform var(--theme-transition-duration) var(--theme-transition-ease), filter var(--theme-transition-duration) var(--theme-transition-ease);display:block;position:relative}.theme-icon{transition:transform var(--theme-transition-duration) var(--theme-transition-ease), opacity .16s ease-out;place-items:center;display:grid;position:absolute;inset:0}.theme-icon-sun{opacity:1;transform:rotate(0)scale(1)}.theme-sun-core{background:oklch(82% .16 85);border-radius:50%;position:absolute;inset:4px;box-shadow:0 0 0 1px oklch(74% .14 80/.65)}.theme-sun-rays{background:conic-gradient(oklch(82% .16 85) 0deg 18deg,#0000 18deg 45deg,oklch(82% .16 85) 45deg 63deg,#0000 63deg 90deg,oklch(82% .16 85) 90deg 108deg,#0000 108deg 135deg,oklch(82% .16 85) 135deg 153deg,#0000 153deg 180deg,oklch(82% .16 85) 180deg 198deg,#0000 198deg 225deg,oklch(82% .16 85) 225deg 243deg,#0000 243deg 270deg,oklch(82% .16 85) 270deg 288deg,#0000 288deg 315deg,oklch(82% .16 85) 315deg 333deg,#0000 333deg 360deg);border-radius:50%;position:absolute;inset:-1px;-webkit-mask:radial-gradient(circle,#0000 0 48%,#000 49% 66%,#0000 67%);mask:radial-gradient(circle,#0000 0 48%,#000 49% 66%,#0000 67%)}.theme-icon-moon{opacity:0;transform:rotate(-140deg)scale(.68)}.theme-moon-disc{background:oklch(86% .03 250);border-radius:50%;position:absolute;inset:2px;overflow:hidden}.theme-moon-disc:after{content:"";background:var(--color-surface);border-radius:50%;position:absolute;inset:-1px;transform:translate(32%)}[data-theme=dark] .theme-icon-sun{opacity:0;transform:rotate(160deg)scale(.64)}[data-theme=dark] .theme-icon-moon{opacity:1;transform:rotate(0)scale(1)}html.theme-switching .theme-toggle-btn:after{opacity:1;transform:scale(1)}html.theme-switching .theme-toggle-glyph{filter:saturate(1.15)}html.theme-switching .theme-icon-sun{transition-duration:.26s,.14s}html.theme-switching .theme-icon-moon{transition-duration:.26s,.18s}html.theme-switching body,html.theme-switching .persistent-ui,html.theme-switching .app-container,html.theme-switching .app-container *,html.theme-switching .top-bar,html.theme-switching .journey-path,html.theme-switching .journey-path *{transition-property:background-color,background,color,border-color,box-shadow,fill,stroke,opacity;transition-duration:var(--theme-transition-duration);transition-timing-function:var(--theme-transition-ease)}.journey-path{pointer-events:none;width:100%;max-width:400px;margin-top:1rem;margin-left:auto;margin-right:auto;position:relative}.path-line{background:var(--color-border);z-index:1;border-radius:2px;height:4px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.path-fill{background:var(--color-primary);width:0%;height:100%;transition:width .8s var(--ease-spring);border-radius:2px}.milestones{z-index:2;justify-content:space-between;display:flex;position:relative}.milestone{background:var(--color-surface);border:2px solid var(--color-border);width:28px;height:28px;color:var(--color-ink-muted);transition:all .5s var(--ease-spring);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.milestone.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-glow);transform:scale(1.3)}.milestone.completed{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.avatar-widget{z-index:100;pointer-events:auto;flex-direction:column;align-items:center;display:flex;position:fixed;bottom:2rem;right:2rem}.avatar-blob{width:80px;height:80px;color:var(--color-primary);transition:color 1s;animation:4s ease-in-out infinite float;position:relative}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.avatar-eye{background:var(--color-bg);border-radius:50%;width:8px;height:8px;position:absolute;top:35%}.avatar-eye.left{left:30%}.avatar-eye.right{right:30%}.avatar-tooltip{background:var(--color-surface);box-shadow:var(--shadow-soft);border:1px solid var(--color-border);opacity:0;transition:all .3s var(--ease-spring);border-radius:12px;margin-top:.5rem;padding:.5rem 1rem;font-size:.75rem;font-weight:600;transform:translateY(10px)}.avatar-widget:hover .avatar-tooltip{opacity:1;transform:translateY(0)}.panels{width:100%;position:relative}.panel{width:100%;max-width:600px;animation:panelIn .6s var(--ease-out);margin:0 auto;padding:1.5rem 2rem 2rem}@keyframes panelIn{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.panel-header{text-align:center;margin-bottom:2rem}.panel-header h2{text-wrap:balance;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.panel-header p{color:var(--color-ink-muted);font-size:1rem}.panel-footer{justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;display:flex}.step-indicator{color:var(--color-ink-muted);font-size:.875rem;font-weight:600}.btn{cursor:pointer;transition:all .2s var(--ease-out);border:none;border-radius:30px;align-items:center;gap:.5rem;padding:1rem 2rem;font-family:inherit;font-size:1.125rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{background:var(--color-primary-hover);transform:scale(1.02)}.btn-accent{background:var(--color-accent);color:#fff;box-shadow:0 0 20px var(--color-accent-glow)}.btn-accent:hover{background:var(--color-accent-hover);transform:scale(1.02)}.btn-secondary{background:var(--color-surface);border:2px solid var(--color-border);color:var(--color-ink);cursor:pointer;transition:all .2s var(--ease-out);border-radius:30px;padding:1rem 2rem;font-family:inherit;font-size:1.125rem;font-weight:600}.btn-secondary:hover{border-color:var(--color-primary)}.btn-glow{animation:2s ease-in-out infinite alternate glowPulse}@keyframes glowPulse{0%{box-shadow:0 0 10px var(--color-primary-glow)}to{box-shadow:0 0 25px var(--color-primary-glow), 0 0 40px var(--color-primary-glow)}}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}#step-0{min-height:calc(100vh - var(--header-offset,160px) - 3.5rem);justify-content:center;align-items:center;margin:0;display:flex}.hero-content{z-index:10;text-align:center;width:100%;max-width:500px;padding:2rem 1rem;position:relative}.hero-title{margin-bottom:1.5rem;font-size:2.5rem;font-weight:800;line-height:1.1}.hero-title span{color:var(--color-primary)}.hero-subtitle{color:var(--color-ink-muted);margin-bottom:2.5rem;font-size:1.125rem;line-height:1.5}.hero-footnote{color:var(--color-ink-muted);opacity:.7;margin-top:1.5rem;font-size:.875rem}.hero-bg-blob{background:radial-gradient(circle, var(--color-primary-glow) 0%, transparent 60%);z-index:1;pointer-events:none;width:500px;height:500px;animation:8s ease-in-out infinite alternate pulseBlob;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulseBlob{0%{opacity:.5;transform:translate(-50%,-50%)scale(.8)}to{opacity:.9;transform:translate(-50%,-50%)scale(1.2)}}.floating-icons{z-index:2;pointer-events:none;position:absolute;inset:0}.float-icon{opacity:.4;font-size:2rem;animation:6s ease-in-out infinite floatIcon;position:absolute}.icon-1{font-size:2.5rem;animation-delay:0s;top:15%;left:15%}.icon-2{opacity:.3;font-size:3rem;animation-delay:-2s;top:60%;right:15%}.icon-3{font-size:2rem;animation-delay:-4s;bottom:20%;left:20%}@keyframes floatIcon{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(15deg)}}.micro-stats{color:var(--color-ink-muted);margin-top:3.5rem;font-size:.875rem;font-weight:500}.stats-number{color:var(--color-primary);font-size:1rem;font-weight:800}@media (height<=700px){.hero-title{margin-bottom:1rem;font-size:2rem}.hero-subtitle{margin-bottom:1.5rem}.micro-stats{margin-top:2rem}}.academic-carousel{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;width:100%;padding:1rem 0;overflow-x:auto}.academic-carousel::-webkit-scrollbar{display:none}.academic-carousel-shell{position:relative}.carousel-track{gap:1.5rem;padding:0 1rem;display:flex}.carousel-nav{display:none}.semester-card{scroll-snap-align:center;background:var(--color-surface);border:1px solid var(--color-border);text-align:center;box-shadow:var(--shadow-soft);border-radius:24px;flex:0 0 200px;padding:1.5rem}.semester-card h3{margin-bottom:.75rem;font-size:1.125rem}.value-display{color:var(--color-primary);margin:1rem 0;font-size:3rem;font-weight:800}.academic-slider{width:100%;accent-color:var(--color-primary)}.mini-chart-container{text-align:center;margin-top:1.5rem}.chart-label{color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;font-size:.875rem;font-weight:600}.trend-chart{width:100%;max-height:60px;overflow:visible}.swipe-container{perspective:1000px;width:100%;height:380px;margin:0 auto;position:relative}.swipe-card{background:var(--color-surface);border:1px solid var(--color-border);width:100%;height:100%;box-shadow:var(--shadow-soft);text-align:center;-webkit-user-select:none;user-select:none;touch-action:none;transform-origin:50% 100%;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex;position:absolute}.swipe-card .card-emoji{pointer-events:none;margin-bottom:1rem;font-size:4rem}.swipe-card h3{pointer-events:none;margin-bottom:.5rem;font-size:1.5rem}.swipe-card p{pointer-events:none;color:var(--color-ink-muted)}.swipe-stamp{text-transform:uppercase;opacity:0;pointer-events:none;border:4px solid;border-radius:12px;padding:.5rem 1rem;font-size:2rem;font-weight:800;position:absolute;top:20px}.stamp-nope{color:var(--color-accent);border-color:var(--color-accent);right:20px;transform:rotate(15deg)}.stamp-like{color:var(--color-primary);border-color:var(--color-primary);left:20px;transform:rotate(-15deg)}.swipe-hints{color:var(--color-ink-muted);opacity:.6;justify-content:space-between;padding:.5rem 1rem;font-size:.875rem;font-weight:700;display:flex}.swipe-controls{justify-content:center;gap:2rem;margin-top:1rem;padding-bottom:2rem;display:flex}.swipe-btn{border:2px solid var(--color-border);background:var(--color-surface);width:64px;height:64px;box-shadow:var(--shadow-soft);cursor:pointer;transition:all .2s var(--ease-out);border-radius:50%;justify-content:center;align-items:center;font-size:2rem;display:flex}.swipe-btn:hover{transform:scale(1.1)}.swipe-btn.reject:hover{border-color:var(--color-accent)}.swipe-btn.accept:hover{border-color:var(--color-primary)}.swipe-complete{text-align:center;animation:swipeCompleteIn .42s var(--ease-out);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex;position:absolute;inset:0}.swipe-complete-mark{width:110px;height:110px;animation:swipeCompleteRise .32s var(--ease-out) 60ms both;place-items:center;display:grid;position:relative}.swipe-complete-mark-ring,.swipe-complete-mark-core{border-radius:50%;position:absolute;inset:0}.swipe-complete-mark-ring{background:radial-gradient(circle, color-mix(in oklch, var(--color-primary) 20%, transparent) 0%, transparent 68%);animation:1.4s ease-in-out infinite swipeCompletePulse;transform:scale(1.08)}.swipe-complete-mark-core{background:color-mix(in oklch, var(--color-primary) 14%, var(--color-surface));color:var(--color-primary);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--color-primary) 18%, var(--color-border));place-items:center;font-size:2.4rem;font-weight:800;display:grid;inset:12px}.swipe-complete-head{justify-items:center;gap:.35rem;display:grid}.swipe-complete-count{background:color-mix(in oklch, var(--color-primary) 10%, transparent);color:var(--color-primary);letter-spacing:.05em;animation:swipeCompleteRise .3s var(--ease-out) .12s both;border-radius:999px;align-items:center;padding:.35rem .72rem;font-size:.78rem;font-weight:800;display:inline-flex}.swipe-complete h3{letter-spacing:-.035em;animation:swipeCompleteRise .32s var(--ease-out) .18s both;font-size:2rem;line-height:1.02}.swipe-complete-tags{flex-wrap:wrap;justify-content:center;gap:.6rem;max-width:460px;display:flex}.swipe-complete-tag{background:color-mix(in oklch, var(--color-surface) 92%, transparent);border:1px solid color-mix(in oklch, var(--color-primary) 14%, var(--color-border));animation:swipeCompleteRise .3s var(--ease-out) calc(.26s + (var(--tag-index,0) * 60ms)) both;border-radius:999px;align-items:center;gap:.35rem;padding:.55rem .8rem;font-size:.9rem;font-weight:700;display:inline-flex}.swipe-complete-tag.is-muted{color:var(--color-ink-muted)}.swipe-complete-progress{background:color-mix(in oklch, var(--color-primary) 12%, var(--color-surface-hover));width:min(220px,70%);height:6px;animation:swipeCompleteRise .3s var(--ease-out) .34s both;border-radius:999px;overflow:hidden}.swipe-complete-progress-bar{border-radius:inherit;background:linear-gradient(90deg, var(--color-primary), color-mix(in oklch, var(--color-primary) 72%, white));transform-origin:0;width:100%;height:100%;animation:swipeCompleteLoad .62s var(--ease-out) .38s both;display:block}@keyframes swipeCompleteIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes swipeCompleteRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes swipeCompleteLoad{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes swipeCompletePulse{0%,to{opacity:.85;transform:scale(1.02)}50%{opacity:1;transform:scale(1.12)}}.chunky-sliders-container{flex-direction:column;gap:2rem;display:flex}.chunky-item{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-soft);border-radius:24px;padding:1.5rem}.chunky-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.chunky-header h3{margin:0;font-size:1.25rem;font-weight:700}.chunky-value{color:var(--color-primary);transition:all .3s var(--ease-out);flex-direction:column;align-items:flex-end;font-size:2rem;font-weight:800;line-height:1;display:flex}.chunky-slider{appearance:none;background:var(--color-surface-hover);cursor:pointer;border-radius:8px;outline:none;width:100%;height:16px;margin:1rem 0}.chunky-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-primary);cursor:pointer;width:32px;height:32px;box-shadow:var(--shadow-soft);transition:transform .2s var(--ease-spring);border:4px solid #fff;border-radius:50%}.chunky-slider::-moz-range-thumb{background:var(--color-primary);cursor:pointer;width:32px;height:32px;box-shadow:var(--shadow-soft);transition:transform .2s var(--ease-spring);border:4px solid #fff;border-radius:50%}.chunky-slider:active::-webkit-slider-thumb{transform:scale(1.3)}.chunky-slider:active::-moz-range-thumb{transform:scale(1.3)}.chunky-ticks{color:var(--color-ink-muted);justify-content:space-between;padding:0 10px;font-size:.75rem;font-weight:700;display:flex}.chunky-ticks span{justify-content:center;width:20px;display:flex;position:relative}.chunky-ticks span:before{content:"";background:var(--color-border);width:2px;height:6px;position:absolute;top:-15px}.pills-section{margin-bottom:2rem}.pills-section h3{color:var(--color-ink-muted);margin-bottom:1rem;font-size:1.125rem}.pills-group{flex-wrap:wrap;gap:.75rem;display:flex}.pill{border:2px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);cursor:pointer;transition:all .3s var(--ease-elastic);border-radius:30px;padding:.75rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:500}.pill:hover{border-color:var(--color-primary)}.pill.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-glow);transform:scale(1.05)}.economy-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;padding:2rem}.slider-label{justify-content:space-between;align-items:center;margin-bottom:1rem;font-weight:600;display:flex}.slider-value{color:var(--color-primary);font-size:1.125rem}.slider-marks{color:var(--color-ink-muted);justify-content:space-between;margin-top:.5rem;font-size:.7rem;font-weight:600;display:flex}.kip-toggle{justify-content:center;margin-top:1.5rem;display:flex}.toggle-label{cursor:pointer;align-items:center;gap:.75rem;font-weight:600;display:flex}.toggle-switch{background:var(--color-surface-hover);border:1px solid var(--color-border);cursor:pointer;width:50px;height:28px;transition:all .3s var(--ease-spring);border-radius:14px;position:relative}.toggle-switch.active{background:var(--color-primary);border-color:var(--color-primary)}.toggle-switch:after{content:"";width:22px;height:22px;transition:transform .3s var(--ease-spring);box-shadow:var(--shadow-soft);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.toggle-switch.active:after{transform:translate(22px)}.economy-message{background:color-mix(in oklch, var(--color-primary) 15%, var(--color-surface));text-align:center;color:var(--color-primary);border-radius:12px;margin-top:1rem;padding:1rem;font-size:.875rem;font-weight:600}#step-5{max-width:680px}#step-5 .panel-header{text-align:left;margin-bottom:1.5rem}#step-5 .panel-header h2{letter-spacing:-.03em;font-size:2rem;line-height:1.05}#step-5 .panel-header p{max-width:36ch;line-height:1.55}.economy-flow-card{background:color-mix(in oklch, var(--color-primary) 4%, var(--color-surface));border-color:color-mix(in oklch, var(--color-primary) 18%, var(--color-border));gap:1.25rem;padding:1.25rem}.economy-sequence{will-change:transform, opacity}.economy-kicker{background:color-mix(in oklch, var(--color-accent) 14%, transparent);width:fit-content;color:var(--color-accent);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.38rem .68rem;font-size:.72rem;font-weight:800;display:inline-flex}.economy-copy-block{gap:.45rem;display:grid}.economy-copy-block h3{letter-spacing:-.02em;font-size:1.3rem;line-height:1.1}.economy-copy-block p{color:var(--color-ink-muted);max-width:40ch;line-height:1.5}.economy-status-line{background:var(--color-surface);border:1px solid color-mix(in oklch, var(--color-primary) 16%, var(--color-border));border-radius:14px;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.8rem .9rem;display:flex}.economy-status-line strong{letter-spacing:-.02em;color:var(--color-ink);font-size:1rem;line-height:1}.economy-status-line small{color:var(--color-ink-muted);font-size:.85rem}.economy-status-dot{background:var(--color-primary);opacity:.5;border-radius:50%;width:4px;height:4px}.economy-section-label{letter-spacing:-.01em;font-size:.98rem;font-weight:800}.economy-budget-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.economy-budget-option,.economy-kip-option{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-ink);text-align:left;cursor:pointer;transition:transform .18s var(--ease-out), border-color .18s var(--ease-out), background .18s var(--ease-out), box-shadow .18s var(--ease-out), color .18s var(--ease-out);border-radius:14px}.economy-budget-option:hover,.economy-kip-option:hover{border-color:color-mix(in oklch, var(--color-primary) 40%, var(--color-border));transform:translateY(-2px)}.economy-budget-option{align-content:center;gap:.4rem;min-height:92px;padding:.9rem;display:grid}.economy-budget-pill{background:var(--color-surface-hover);border-radius:999px;align-items:center;width:fit-content;padding:.45rem .75rem;font-size:.85rem;font-weight:800;display:inline-flex}.economy-kip-option strong{font-size:1rem;line-height:1.15}.economy-budget-option small,.economy-kip-option small{color:var(--color-ink-muted);font-size:.82rem;line-height:1.35}.economy-budget-option.selected,.economy-kip-option.selected{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 6px 8px color-mix(in oklch, var(--color-primary) 24%, transparent);color:#fff}.economy-budget-option.selected .economy-budget-pill{color:#fff;background:#ffffff29}.economy-budget-option.selected small,.economy-kip-option.selected small{color:#ffffffd1}.economy-kip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.economy-kip-option{align-items:center;gap:.7rem;padding:.95rem 1rem;display:flex}.economy-kip-icon{background:color-mix(in oklch, var(--color-primary) 10%, var(--color-surface-hover));width:fit-content;min-width:52px;color:var(--color-primary);letter-spacing:.02em;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:.45rem .75rem;font-size:.8rem;font-weight:800;display:inline-flex}.economy-kip-option.selected .economy-kip-icon{color:#fff;background:#ffffff29}.economy-inline-note{color:var(--color-ink-muted);padding:.2rem 0;font-size:.88rem;line-height:1.5}@media (pointer:fine){.economy-budget-option:hover .economy-budget-pill,.economy-kip-option:hover .economy-kip-icon{transform:translate(2px)}.economy-budget-pill,.economy-kip-icon{transition:transform .18s var(--ease-out), background .18s var(--ease-out), color .18s var(--ease-out)}}@media (width<=520px){.economy-kip-grid{grid-template-columns:1fr}}.location-cards{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.reveal-card{perspective:1000px;cursor:pointer;height:180px;position:relative}.reveal-card-front,.reveal-card-back{backface-visibility:hidden;text-align:center;width:100%;height:100%;transition:transform .6s var(--ease-spring);border:2px solid var(--color-border);background:var(--color-surface);border-radius:24px;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute}.reveal-card-front .card-emoji{margin-bottom:.5rem;font-size:3rem}.reveal-card-front h3{font-size:1.25rem;font-weight:700}.reveal-card-back{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:rotateY(180deg)}.reveal-card-back p{font-size:.9rem;line-height:1.4}.reveal-card:hover .reveal-card-front{transform:rotateY(-180deg)}.reveal-card:hover .reveal-card-back{transform:rotateY(0)}.reveal-card.selected .reveal-card-front{transform:rotateY(-180deg)}.reveal-card.selected .reveal-card-back{box-shadow:var(--shadow-glow);transform:rotateY(0)}.processing-container{flex-direction:column;justify-content:center;align-items:center;height:60vh;display:flex;position:relative}.pulse-blobs{width:200px;height:200px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.blob{opacity:.15;border-radius:50%;width:100%;height:100%;position:absolute}.blob.b1{background:var(--color-primary);animation:3s ease-in-out infinite blobPulse}.blob.b2{background:var(--color-accent);animation:3s ease-in-out 1s infinite blobPulse}.blob.b3{background:var(--color-primary);animation:3s ease-in-out 2s infinite blobPulse}@keyframes blobPulse{0%,to{opacity:.1;transform:scale(1)}50%{opacity:.2;transform:scale(1.5)}}.processing-content{z-index:2;position:relative}.processing-title{margin-bottom:1rem;font-size:2rem;font-weight:800}.glitch-text{color:var(--color-primary);font-size:1.25rem;font-weight:600;animation:1s infinite alternate pulse}@keyframes pulse{0%{opacity:.6;transform:scale(.98)}to{opacity:1;transform:scale(1.02)}}.progress-bar{background:var(--color-border);border-radius:3px;width:300px;height:6px;margin:2rem auto;overflow:hidden}.progress-fill{background:var(--color-primary);height:100%;transition:width .5s var(--ease-out);border-radius:3px}.processing-hint{color:var(--color-ink-muted);font-size:.9rem}.result-container{padding-bottom:2rem}.result-header{text-align:center;margin-bottom:2rem}.result-title{margin-bottom:.5rem;font-size:2rem;font-weight:800}.result-subtitle{color:var(--color-ink-muted)}.result-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;margin-bottom:1.5rem;padding:2rem;position:relative;overflow:hidden}.top-match{background:color-mix(in oklch, var(--color-primary) 10%, var(--color-surface));border-color:var(--color-primary);text-align:center}.glow-sweep{background:linear-gradient(90deg,#0000,#fff6,#0000);width:50%;height:100%;animation:2s ease-in-out forwards sweep;position:absolute;top:0;left:-100%;transform:skew(-20deg)}@keyframes sweep{0%{left:-100%}to{left:150%}}.match-badge{background:var(--color-primary);color:#fff;border-radius:20px;margin-bottom:1rem;padding:.5rem 1rem;font-size:.875rem;font-weight:800;display:inline-block}.top-match h3{color:var(--color-primary);margin:.5rem 0;font-size:2.5rem}.top-match p{color:var(--color-ink-muted);max-width:400px;margin:0 auto}.result-section{margin-bottom:2rem}.result-section h3{margin-bottom:1rem;font-size:1.25rem;font-weight:700}.radar-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;justify-content:center;padding:1.5rem;display:flex}.radar-container canvas{max-width:100%}.alt-cards{flex-direction:column;gap:.75rem;display:flex}.alt-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.alt-rank{background:var(--color-surface-hover);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.125rem;font-weight:800;display:flex}.alt-info h4{margin:0;font-size:1.125rem}.alt-info span{color:var(--color-primary);font-size:.875rem;font-weight:600}.campus-cards{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.campus-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem}.campus-badge{background:var(--color-surface-hover);border-radius:12px;margin-bottom:.5rem;padding:.25rem .75rem;font-size:.75rem;font-weight:700;display:inline-block}.campus-badge.success{background:color-mix(in oklch, var(--color-success) 20%, transparent);color:var(--color-success)}.campus-card h4{margin:0;font-size:1rem}.result-actions{flex-direction:column;align-items:center;gap:.75rem;padding:2rem 0;display:flex}.confetti-area{pointer-events:none;z-index:200;position:fixed;inset:0}.final-avatar-container{justify-content:center;margin:1rem 0;display:flex}.final-avatar-container svg{width:100px;height:100px}@media (width<=768px){:root{--header-offset:140px}.app-container{padding-top:var(--header-offset)}.swipe-controls{display:none}.panel{padding:1rem}.location-cards,.campus-cards{grid-template-columns:1fr}.avatar-widget{bottom:1rem;right:1rem;transform:scale(.8)}.hero-title{font-size:2rem}}@media (width>=768px){.economy-kip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.simple-result-shell{flex-direction:column;gap:1.5rem;display:flex}.result-section-heading{margin-bottom:1.5rem}.result-section-heading h3{margin-bottom:.25rem;font-size:1.25rem}.result-section-heading span{color:var(--color-ink-muted);font-size:.875rem}.simple-bar-chart{flex-direction:column;gap:1rem;display:flex}.simple-bar-row{flex-direction:column;gap:.5rem;display:flex}.simple-bar-meta{justify-content:space-between;font-size:.875rem;font-weight:600;display:flex}.simple-bar-track{background:var(--color-surface-hover);border-radius:4px;height:8px;overflow:hidden}.simple-bar-fill{background:linear-gradient(90deg, var(--color-primary), var(--color-accent));border-radius:4px;height:100%}.result-list{flex-direction:column;gap:1rem;display:flex}.result-list-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;align-items:center;gap:1rem;padding:1rem;transition:transform .2s;display:flex}.result-list-item:hover{border-color:var(--color-primary);transform:translateY(-2px)}.result-rank{background:var(--color-surface-hover);width:32px;height:32px;color:var(--color-ink-muted);border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:flex}.result-item-copy{flex:1}.result-item-copy strong{margin-bottom:.25rem;font-size:1rem;display:block}.result-item-copy p{color:var(--color-ink-muted);font-size:.875rem;line-height:1.4}.result-match-badge{color:var(--color-primary);background:color-mix(in oklch, var(--color-primary) 15%, transparent);border-radius:12px;padding:.25rem .75rem;font-size:.875rem;font-weight:700}.result-list-item.rank-1{border-color:color-mix(in oklch, var(--color-accent) 40%, transparent);background:linear-gradient(to right, color-mix(in oklch, var(--color-accent) 5%, transparent), transparent)}.result-list-item.rank-1 .result-rank{background:var(--color-accent);color:#fff;box-shadow:0 0 12px color-mix(in oklch, var(--color-accent) 40%, transparent)}.result-list-item.rank-2 .result-rank{background:var(--color-ink-muted);color:#fff}.result-list-item.rank-3 .result-rank{background:color-mix(in oklch, var(--color-accent) 60%, var(--color-ink-muted));color:#fff}.campus-badge.public{color:oklch(50% .1 220);background:oklch(60% .1 220/.15)}.campus-badge.private{color:oklch(45% .15 150);background:oklch(65% .15 150/.15)}.campus-badge.kip{background:color-mix(in oklch, var(--color-accent) 15%, transparent);color:var(--color-accent)}.simple-form-panel{flex-direction:column;display:flex}.simple-form-layout{flex-direction:column;gap:1.5rem;display:flex}.simple-form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.simple-form-group{flex-direction:column;gap:.75rem;display:flex}.simple-form-label{color:var(--color-ink);font-size:1.125rem;font-weight:700}.form-select-wrap{position:relative}.form-select-wrap:after{content:"▼";pointer-events:none;color:var(--color-ink-muted);font-size:.8rem;position:absolute;top:50%;right:1.25rem;transform:translateY(-50%)}.single-choice-row{gap:1rem;display:flex}.single-choice-pill{border:1px solid var(--color-border);background:var(--color-surface-hover);color:var(--color-ink);text-align:center;cursor:pointer;border-radius:16px;flex:1;padding:1rem;font-weight:600;transition:all .2s ease-out}.single-choice-pill.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 4px 12px color-mix(in oklch, var(--color-primary) 30%, transparent)}.simple-form-note{color:var(--color-ink-muted);background:var(--color-surface-hover);border-radius:12px;padding:1rem;font-size:.875rem;line-height:1.4}.simple-option-card{border:1px solid var(--color-border);background:var(--color-surface-hover);cursor:pointer;border-radius:16px;align-items:center;gap:1rem;padding:1.25rem;transition:all .2s ease-out;display:flex}.simple-option-card.selected{border-color:var(--color-primary);background:color-mix(in oklch, var(--color-primary) 5%, var(--color-surface))}.simple-option-radio{border:2px solid var(--color-border);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.simple-option-card.selected .simple-option-radio{border-color:var(--color-primary)}.simple-option-card.selected .simple-option-radio:after{content:"";background:var(--color-primary);border-radius:50%;width:12px;height:12px}.simple-option-label{flex-direction:column;display:flex}.simple-option-label strong{margin-bottom:.25rem;font-size:1rem}.simple-option-label span{color:var(--color-ink-muted);font-size:.875rem}.processing-shell{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3rem;min-height:50vh;display:flex}.processing-visual{justify-content:center;align-items:center;width:160px;height:160px;display:flex;position:relative}.processing-glow{background:var(--color-primary);filter:blur(40px);opacity:.2;border-radius:50%;width:100%;height:100%;animation:3s ease-in-out infinite alternate pulseGlow;position:absolute}.processing-glow-b{background:var(--color-accent);animation-delay:1.5s}@keyframes pulseGlow{0%{opacity:.1;transform:scale(.8)}to{opacity:.3;transform:scale(1.2)}}.processing-core{z-index:2;background:var(--color-surface);width:120px;height:120px;box-shadow:0 0 0 1px var(--color-border);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.processing-core-ring{border:1px dashed var(--color-primary);opacity:.5;border-radius:50%;animation:10s linear infinite spinRing;position:absolute}.processing-core-ring-outer{width:160px;height:160px}.processing-core-ring-middle{width:140px;height:140px;animation-duration:15s;animation-direction:reverse}@keyframes spinRing{to{transform:rotate(360deg)}}.processing-core-node{flex-direction:column;align-items:center;gap:.25rem;display:flex}.processing-core-node span{margin-bottom:-5px;font-size:2rem}.processing-core-node strong{color:var(--color-primary);font-size:1.25rem}.processing-copy{flex-direction:column;gap:.5rem;width:100%;max-width:400px;display:flex}.processing-kicker{text-transform:uppercase;letter-spacing:1px;color:var(--color-accent);font-size:.875rem;font-weight:700}.processing-title{font-size:1.5rem;font-weight:800}.processing-message{color:var(--color-ink-muted);font-size:1rem}.processing-progress{flex-direction:column;gap:.5rem;margin-top:1.5rem;display:flex}.processing-progress-track{background:var(--color-surface-hover);border-radius:4px;width:100%;height:8px;overflow:hidden}.processing-progress-fill{background:linear-gradient(90deg, var(--color-primary), var(--color-accent));border-radius:4px;height:100%;transition:width .3s ease-out}.processing-progress-meta{color:var(--color-ink-muted);justify-content:space-between;font-size:.875rem;font-weight:600;display:flex}.processing-stage-list{text-align:left;flex-direction:column;gap:.75rem;margin-top:2rem;padding:0;list-style:none;display:flex}.processing-stage-list li{background:var(--color-surface-hover);opacity:.5;border-radius:12px;align-items:center;gap:1rem;padding:.75rem 1rem;transition:all .3s;display:flex}.processing-stage-list li.is-active{opacity:1;background:color-mix(in oklch, var(--color-primary) 10%, var(--color-surface));box-shadow:inset 3px 0 0 var(--color-primary)}.processing-stage-list li.is-complete{opacity:.8}.processing-stage-list li span{font-size:1.25rem}.processing-stage-list li p{margin:0;font-size:.875rem;font-weight:600}.step-actions{width:100%;max-width:600px;padding:1rem 2rem;padding-bottom:max(1rem, env(safe-area-inset-bottom));background:var(--color-bg);z-index:100;justify-content:space-between;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.step-actions:before{content:"";background:linear-gradient(to top, var(--color-bg), transparent);pointer-events:none;height:20px;position:absolute;top:-20px;left:0;right:0}.panel{padding-bottom:100px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width>=768px){.panel,.step-actions,.result-panel{max-width:720px}.journey-path{max-width:480px}.semester-card{flex:0 0 180px}.value-display{font-size:2.5rem}.swipe-controls{display:flex}}@media (width>=1024px){.panel:not(#step-0):not(.result-panel),.step-actions{max-width:800px}.semester-card{flex:0 0 160px}.value-display{font-size:2.25rem}.academic-carousel-shell{padding:0 2.5rem}.carousel-nav{border:1px solid var(--color-border);background:color-mix(in oklch, var(--color-surface) 94%, transparent);width:30px;height:112px;color:var(--color-ink-muted);box-shadow:var(--shadow-soft);cursor:pointer;transition:color .2s var(--ease-out), border-color .2s var(--ease-out), opacity .2s var(--ease-out);z-index:2;border-radius:999px;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel-nav.prev{left:0}.carousel-nav.next{right:0}.carousel-nav:hover:not(:disabled){color:var(--color-primary);border-color:var(--color-primary)}.carousel-nav:disabled{opacity:.32;cursor:default}#step-2.panel{max-width:760px;padding-bottom:1.5rem}#step-2 .panel-header{margin-bottom:1.5rem}.swipe-stage{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.swipe-container{width:min(100%,680px);height:330px}.swipe-card{width:auto;height:auto;padding:1.75rem 2rem;inset:0 18px 34px}.swipe-card .card-emoji{margin-bottom:.75rem;font-size:3.5rem}.swipe-card h3{font-size:1.375rem}.swipe-card p{max-width:26ch;font-size:.95rem}.swipe-btn{width:60px;height:60px;font-size:1.85rem}.swipe-controls{gap:1.25rem;margin-top:0;padding-bottom:0}.journey-path{max-width:560px}#step-0.panel{max-width:1000px;overflow:hidden}.result-panel{max-width:1000px!important}.simple-result-shell{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem;display:grid}.result-section:nth-child(2){grid-area:1/1/auto/-1}.result-section:first-child{grid-area:2/1}.result-section:nth-child(3){grid-area:2/2}.result-panel .step-actions{grid-column:1/-1;justify-content:center;max-width:none}.location-cards{gap:2rem}.reveal-card{height:220px}}.form-select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-ink);appearance:none;cursor:pointer;transition:all .2s var(--ease-out);border-radius:12px;padding:1rem 1.25rem;font-size:1rem}.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in oklch, var(--color-primary) 30%, transparent);outline:none}.chunky-bar-chart{flex-direction:column;gap:1.25rem;display:flex}.chunky-bar-row{flex-direction:column;gap:.5rem;display:flex}.chunky-bar-meta{color:var(--color-ink);justify-content:space-between;align-items:center;font-size:1rem;font-weight:700;display:flex}.chunky-bar-label{align-items:center;gap:.5rem;display:flex}.chunky-bar-emoji{font-size:1.25rem}.chunky-bar-track{background:var(--color-surface-hover);border-radius:8px;height:16px;overflow:hidden;box-shadow:inset 0 2px 4px #00000005}.chunky-bar-fill{background:linear-gradient(90deg, var(--color-primary), var(--color-accent));height:100%;box-shadow:0 0 10px color-mix(in oklch, var(--color-primary) 50%, transparent);border-radius:8px}.dashboard-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-soft);border-radius:24px;padding:1.5rem}.dashboard-header{margin-bottom:2.5rem}.dashboard-header h2{margin-bottom:.5rem;font-size:2rem;font-weight:800}.dashboard-header p{color:var(--color-ink-muted);font-size:1rem;line-height:1.5}.result-snapshot-note{color:var(--color-ink-muted);margin-top:.75rem;font-size:.8rem;font-weight:700;display:inline-block}.result-evidence-note{border:1px solid color-mix(in oklch, var(--color-accent) 34%, var(--color-border));background:color-mix(in oklch, var(--color-accent) 8%, var(--color-surface));color:var(--color-ink-muted);border-radius:16px;flex-wrap:wrap;gap:.35rem .6rem;margin:-1rem 0 1.5rem;padding:.85rem 1rem;font-size:.85rem;line-height:1.45;display:flex}.result-evidence-note strong{color:var(--color-ink)}.result-major-item{align-items:flex-start}.result-major-title{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.result-major-title strong{margin-bottom:0}.result-data-badge,.result-data-caption{color:var(--color-ink-muted);font-size:.72rem;font-weight:700}.result-data-badge{border:1px solid var(--color-border);background:var(--color-surface-hover);border-radius:999px;padding:.15rem .45rem}.result-evidence-list{flex-wrap:wrap;gap:.4rem;margin-top:.65rem;display:flex}.result-evidence-list span{border-radius:10px;padding:.28rem .55rem;font-size:.72rem;font-weight:700;line-height:1.35}.result-evidence-list .strength{color:var(--color-success);background:color-mix(in oklch, var(--color-success) 10%, transparent)}.result-evidence-list .caution{color:var(--color-ink-muted);background:var(--color-surface-hover)}.result-catalog-link{color:var(--color-primary);text-underline-offset:3px;margin-top:.7rem;font-size:.8rem;font-weight:800;display:inline-flex}.result-empty-inline{border:1px dashed var(--color-border);color:var(--color-ink-muted);border-radius:16px;flex-direction:column;gap:.35rem;padding:1rem;font-size:.85rem;line-height:1.45;display:flex}.result-empty-inline strong{color:var(--color-ink)}.result-actions-row{flex-direction:row;align-items:stretch;gap:1rem;width:100%;display:flex}.result-sign-in{text-align:center;flex:1;justify-content:center}.result-auth-actions{flex:1;align-items:center;gap:.8rem;display:flex}.result-auth-logout{color:var(--color-ink-muted);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;font-size:.82rem;font-weight:800;text-decoration:underline}.result-auth-logout:focus-visible{outline:3px solid color-mix(in oklch, var(--color-primary) 35%, transparent);outline-offset:3px;border-radius:6px}.result-auth-message{width:100%;color:var(--color-ink-muted);margin:-.35rem 0 0;font-size:.82rem;line-height:1.45}.auth-dialog-backdrop{z-index:1000;background:color-mix(in oklch, var(--color-ink) 48%, transparent);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.auth-dialog{border:1px solid var(--color-border);background:var(--color-surface);width:min(100%,480px);box-shadow:var(--shadow-medium);border-radius:24px;padding:1.6rem}.auth-dialog-kicker{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.45rem;font-size:.72rem;font-weight:900;display:block}.auth-dialog h3{margin:0 0 .75rem;font-size:1.4rem;line-height:1.2}.auth-dialog p{color:var(--color-ink-muted);line-height:1.55}.auth-dialog-privacy{background:var(--color-surface-hover);border-radius:14px;margin-top:.8rem;padding:.75rem .85rem;font-size:.8rem}.auth-dialog-actions{gap:.75rem;margin-top:1.25rem;display:flex}.auth-dialog-actions .btn{flex:1}.auth-progress{align-items:center;gap:.85rem;min-height:72px;display:flex}.auth-progress .questionnaire-loader{flex:none}.google-sign-in-slot{justify-content:center;min-height:44px;margin-top:1rem;display:flex}.auth-dialog-error{color:var(--color-ink);background:color-mix(in oklch, var(--color-danger,#b42318) 10%, var(--color-surface));border-radius:14px;padding:.8rem}.result-state{max-width:680px;margin-inline:auto}.result-state-card{text-align:center;flex-direction:column;align-items:center;gap:.8rem;padding:2.5rem;display:flex}.result-state-card p{max-width:520px;color:var(--color-ink-muted);line-height:1.55}.result-state-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.35rem;display:flex}@media (width<=640px){.result-list-item{flex-wrap:wrap}.result-major-item .result-item-copy{min-width:calc(100% - 3rem)}.result-match-badge{margin-left:3rem}.result-actions-row,.result-state-actions{flex-direction:column}.result-actions-row .btn,.result-state-actions .btn{width:100%}.result-auth-actions,.auth-dialog-actions{flex-direction:column;width:100%}.result-auth-actions .btn,.auth-dialog-actions .btn{width:100%}}.simple-option-grid{flex-direction:column;gap:1rem;display:flex}.questionnaire-panel{max-width:760px}.questionnaire-heading{text-align:left;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.questionnaire-version,.questionnaire-section-count{color:var(--color-primary);letter-spacing:.03em;font-size:.78rem;font-weight:800}.questionnaire-section-count{background:color-mix(in oklch, var(--color-primary) 10%, var(--color-surface));border-radius:999px;flex:none;padding:.45rem .7rem}.questionnaire-completion{gap:.5rem;margin-bottom:1.5rem;display:grid}.questionnaire-completion-copy{color:var(--color-ink-muted);justify-content:space-between;font-size:.85rem;display:flex}.questionnaire-completion-copy strong{color:var(--color-primary)}.questionnaire-completion progress{width:100%;height:10px;accent-color:var(--color-primary)}.questionnaire-list,.questionnaire-options{gap:1rem;display:grid}.questionnaire-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:20px;min-width:0;margin:0;padding:1.25rem}.questionnaire-card legend{width:100%;color:var(--color-ink);align-items:center;gap:.65rem;padding:0 0 1rem;font-weight:750;line-height:1.4;display:flex}.questionnaire-card legend>span{background:color-mix(in oklch, var(--color-primary) 12%, var(--color-surface));width:1.75rem;height:1.75rem;color:var(--color-primary);border-radius:50%;flex:none;place-items:center;display:inline-grid}.questionnaire-card legend small{color:var(--color-ink-muted);margin-left:auto;font-weight:500}.questionnaire-option{padding:.9rem 1rem;position:relative}.questionnaire-option-input{opacity:0;width:1px;height:1px;position:absolute}.questionnaire-option:has(.questionnaire-option-input:focus-visible){outline:3px solid color-mix(in oklch, var(--color-primary) 35%, transparent);outline-offset:2px}.context-step{gap:1.5rem;display:grid}.context-step-intro{max-width:66ch}.context-step-intro>span{color:var(--color-primary);font-size:.82rem;font-weight:800}.context-step-intro h3{letter-spacing:-.025em;text-wrap:balance;margin-top:.35rem;font-size:clamp(1.35rem,3vw,1.75rem)}.context-step-intro p,.context-field-hint{color:var(--color-ink-muted);margin-top:.45rem;line-height:1.55}.context-form-stack{gap:1.25rem;display:grid}.context-fieldset{border:0;min-width:0;padding:0}.context-fieldset>legend,.context-input-field>span:first-child{color:var(--color-ink);font-weight:750;line-height:1.4}.context-field-hint{margin-bottom:.85rem;font-size:.9rem}.context-score-grid,.context-select-grid,.context-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.context-input-field{gap:.5rem;min-width:0;display:grid}.context-input-field input,.context-input-field select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-ink);font:inherit;border-radius:12px;padding:.75rem .85rem}.context-input-field input:focus-visible,.context-input-field select:focus-visible{outline:3px solid color-mix(in oklch, var(--color-primary) 35%, transparent);outline-offset:2px}.context-choice:has(input:focus-visible){outline:3px solid color-mix(in oklch, var(--color-primary) 35%, transparent);outline-offset:2px}.context-choice{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;min-width:0;transition:border-color .16s var(--ease-out), background-color .16s var(--ease-out), transform .16s var(--ease-out);border-radius:14px;grid-template-columns:auto minmax(0,1fr);gap:.75rem;padding:.95rem;display:grid;position:relative}.context-choice:hover{border-color:color-mix(in oklch, var(--color-primary) 55%, var(--color-border));transform:translateY(-1px)}.context-choice.selected{border-color:var(--color-primary);background:color-mix(in oklch, var(--color-primary) 9%, var(--color-surface))}.context-choice input{opacity:0;width:1px;height:1px;position:absolute}.context-choice-mark{border:2px solid var(--color-border);background:var(--color-surface);border-radius:50%;width:1.1rem;height:1.1rem;margin-top:.15rem}.context-choice.selected .context-choice-mark{border:4px solid var(--color-primary)}.context-choice strong,.context-choice small,.context-ability-field small{overflow-wrap:anywhere;display:block}.context-choice small,.context-ability-field small{color:var(--color-ink-muted);margin-top:.2rem;font-size:.82rem;line-height:1.4}.context-ability-grid{gap:.75rem;display:grid}.context-ability-field{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:.9rem 1rem}.context-number-control{color:var(--color-ink-muted);align-items:center;gap:.4rem;font-weight:700;display:flex}.context-number-control input{text-align:center;width:4.5rem}.context-privacy-note,.context-inline-note{background:color-mix(in oklch, var(--color-primary) 9%, var(--color-surface));color:var(--color-ink-muted);border-radius:14px;flex-wrap:wrap;gap:.35rem .65rem;padding:.85rem 1rem;line-height:1.45;display:flex}.context-privacy-note strong{color:var(--color-primary)}.context-chip-list{flex-wrap:wrap;gap:.5rem;margin-top:.85rem;display:flex}.context-chip{background:color-mix(in oklch, var(--color-primary) 12%, var(--color-surface));max-width:100%;color:var(--color-ink);border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .55rem .45rem .7rem;font-size:.86rem;font-weight:650;display:inline-flex}.context-chip span{overflow-wrap:anywhere}.context-chip button{background:var(--color-surface);width:1.6rem;height:1.6rem;color:var(--color-ink);font:inherit;cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.questionnaire-validation{background:color-mix(in oklch, var(--color-error) 10%, var(--color-surface));color:var(--color-error);border-radius:14px;margin-top:1rem;padding:.9rem 1rem;font-weight:700}.questionnaire-recovery-notice,.questionnaire-save-status{background:color-mix(in oklch, var(--color-primary) 8%, var(--color-surface));color:var(--color-ink-muted);border-radius:14px;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem .9rem;font-size:.84rem;font-weight:650;display:flex}.questionnaire-save-status[data-state=saved]{color:var(--color-primary)}.questionnaire-save-status[data-state=warning]{background:color-mix(in oklch, var(--color-accent) 12%, var(--color-surface));color:var(--color-ink)}.questionnaire-save-status button{background:var(--color-primary);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;flex:none;padding:.45rem .7rem}.questionnaire-save-status button:focus-visible{outline:3px solid color-mix(in oklch, var(--color-primary) 35%, transparent);outline-offset:2px}.questionnaire-state{text-align:center;align-content:center;place-items:center;gap:.8rem;min-height:420px;display:grid}.questionnaire-state p{max-width:44ch;color:var(--color-ink-muted)}.questionnaire-state-icon{color:var(--color-primary);font-size:2.5rem}.questionnaire-loader{border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite questionnaireSpin}@keyframes questionnaireSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.questionnaire-loader{animation:none}}@media (width<=640px){.questionnaire-heading{display:grid}.questionnaire-section-count{width:fit-content}.questionnaire-card{padding:1rem}.questionnaire-save-status,.questionnaire-recovery-notice{flex-direction:column;align-items:flex-start}.context-score-grid,.context-select-grid,.context-option-grid{grid-template-columns:1fr}.context-ability-field{grid-template-columns:minmax(0,1fr) auto}}.flip-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.flip-card{perspective:1000px;cursor:pointer;background-color:#0000;width:100%;height:240px}.flip-card-inner{text-align:center;width:100%;height:100%;transform-style:preserve-3d;box-shadow:var(--shadow-soft);border-radius:16px;transition:transform .6s cubic-bezier(.34,1.56,.64,1);position:relative}.flip-card.selected .flip-card-inner{box-shadow:0 8px 24px color-mix(in oklch, var(--color-primary) 30%, transparent);transform:rotateY(180deg)}.flip-card-front,.flip-card-back{backface-visibility:hidden;border:2px solid var(--color-border);background:var(--color-surface);border-radius:16px;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;height:100%;padding:1.5rem 1rem;display:flex;position:absolute}.flip-card.selected .flip-card-front,.flip-card.selected .flip-card-back{border-color:var(--color-primary)}.flip-card-back{background:color-mix(in oklch, var(--color-primary) 5%, var(--color-surface));transform:rotateY(180deg)}.flip-icon{margin-bottom:.5rem;font-size:2.25rem}.flip-title{color:var(--color-ink);margin-bottom:.5rem;font-size:1.15rem;font-weight:700}.flip-desc{color:var(--color-ink-muted);font-size:.85rem;line-height:1.4}.flip-back-text{color:var(--color-primary);margin-top:.75rem;font-size:.95rem;font-weight:600;line-height:1.4}.flip-badge{background:var(--color-primary);color:#fff;border-radius:20px;margin-bottom:.75rem;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-block}.flip-card-front{justify-content:center}
