body.premium .input.lg:focus{box-shadow:0 0 0 3px rgba(124,58,237,.18),0 0 24px rgba(124,58,237,.1);border-color:var(--g1);background:rgba(124,58,237,.06)}body.premium .input.lg.is-valid{border-color:rgba(16,185,129,.5);box-shadow:0 0 0 3px rgba(16,185,129,.12)}body.premium .input.lg.is-error{border-color:rgba(239,68,68,.5);box-shadow:0 0 0 3px rgba(239,68,68,.12);animation:inputShake .4s cubic-bezier(.22,1,.36,1)}body.premium .field > label{transition:color .18s ease,letter-spacing .18s ease}body.premium .field.field-active > label{color:#a78bfa;letter-spacing:.01em}body.premium .hint{color:var(--p-ink-3);font-size:.8rem;margin-top:5px;line-height:1.4;transition:color .18s}body.premium .field.field-active .hint{color:var(--p-ink-2)}.input-icon-wrap{position:relative;display:flex;align-items:center}.input-icon-wrap .input{padding-left:40px}.input-icon-wrap .ico-left{position:absolute;left:12px;color:var(--ink-3);width:18px;height:18px;pointer-events:none;transition:color .18s;flex-shrink:0}body.premium .field.field-active .ico-left{color:#a78bfa}.field-msg{font-size:.78rem;margin-top:5px;display:none;align-items:center;gap:5px}.field-msg.show{display:flex}.field-msg.msg-error{color:#fca5a5}.field-msg.msg-ok{color:#6ee7b7}.field-msg svg{width:13px;height:13px;flex-shrink:0}body.premium .crow{animation:crowIn .3s cubic-bezier(.22,1,.36,1)}@keyframes crowIn{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}@media (hover:hover){body.premium .row-del{opacity:0}body.premium .crow:hover .row-del{opacity:1}}body.premium .crow .input:focus{background:rgba(124,58,237,.09);border-color:rgba(124,58,237,.45);box-shadow:0 0 0 2px rgba(124,58,237,.12)}body.premium .gpa-hero.result-flash,body.premium .res-hero.result-flash,body.premium .grade-hero.result-flash,body.premium .ring-card.result-flash,body.premium .gauge-card.result-flash{animation:resultCardFlash .55s cubic-bezier(.22,1,.36,1)}@keyframes resultCardFlash{0%{box-shadow:var(--sh-glow),var(--sh-md)}40%{box-shadow:0 0 0 4px rgba(124,58,237,.35),var(--sh-glow)}100%{box-shadow:var(--sh-glow),var(--sh-md)}}body.premium .num-updated{animation:numPop .45s cubic-bezier(.34,1.56,.64,1)}body.premium .gpa-hero::before,body.premium .res-hero::before,body.premium .grade-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--g1),var(--g2),var(--g3));border-radius:20px 20px 0 0;opacity:.7}body.premium .gpa-ring-wrap{display:flex;justify-content:center;padding:16px 0 8px;filter:drop-shadow(0 0 14px rgba(124,58,237,.3))}body.premium .grade-letter{background:linear-gradient(135deg,var(--g1),var(--g2));box-shadow:0 0 16px rgba(124,58,237,.4);color:#fff;font-size:1.1rem;padding:4px 20px;border-radius:24px;display:inline-block;margin-top:10px;transition:box-shadow .3s,transform .2s}body.premium .grade-hero:hover .grade-letter{box-shadow:0 0 24px rgba(124,58,237,.6);transform:scale(1.04)}body.premium .ring svg circle{transition:stroke .4s ease,stroke-dashoffset .6s ease}body.premium #gaugeArc{transition:stroke-dashoffset .7s cubic-bezier(.22,1,.36,1),stroke .4s ease}body.premium .verdict{border-radius:14px;transition:background .25s ease,border-color .25s ease;animation:verdictIn .35s cubic-bezier(.22,1,.36,1)}@keyframes verdictIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}body.premium .verdict svg{flex-shrink:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}body.premium .verdict:hover svg{transform:scale(1.15) rotate(-5deg)}body.premium .srow{cursor:default;transition:background .15s,padding-left .15s}body.premium .srow:hover{padding-left:20px}body.premium .srow .s{transition:color .2s}body.premium .srow:hover .s{color:#a78bfa}body.premium .bar-track{position:relative;overflow:hidden;border-radius:10px}body.premium .bar-seg.done::after{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:barShimmer 2.5s ease-in-out infinite;pointer-events:none}@keyframes barShimmer{0%{left:-60%}100%{left:140%}}body.premium .weight-note{border-radius:14px;transition:background .25s,border-color .25s;border:1px solid transparent}body.premium .weight-note.ok{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.2)}body.premium .weight-note.warn{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.2)}.calc-kicker{display:inline-flex;align-items:center;gap:7px;padding:4px 14px;border-radius:30px;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:12px;background:var(--accent-dim);color:var(--accent-strong);border:1px solid rgba(0,0,0,.06)}body.premium .calc-kicker{background:rgba(124,58,237,.12);border-color:rgba(124,58,237,.25);color:#a78bfa}.calc-kicker svg{width:13px;height:13px}.result-btn-row{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.result-btn-row .btn{flex:1;min-width:80px;justify-content:center;font-size:.82rem;padding:9px 14px}body.premium .result-btn-row .btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.9)}body.premium .result-btn-row .btn:hover{background:rgba(255,255,255,.2);color:#fff;border-color:rgba(255,255,255,.35)}body.premium input[type=range]{height:6px;border-radius:20px;background:linear-gradient(
90deg,rgba(124,58,237,.5) var(--pct,50%),rgba(255,255,255,.08) var(--pct,50%)
);transition:background .15s}body.premium .slider-val b{color:#a78bfa}body.premium .slider-val label{color:var(--p-ink-2)}.calc-empty{text-align:center;padding:40px 24px;color:var(--ink-3)}.calc-empty svg{width:48px;height:48px;margin:0 auto 16px;display:block;opacity:.4}.calc-empty p{font-size:.9rem;line-height:1.6}body.premium .calc-empty{color:var(--p-ink-3)}body.premium .calc-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:20px}body.premium .calc-toolbar .field{flex:1;min-width:160px}body.premium .ring-card .ring svg circle:last-child{transition:stroke .45s ease,stroke-dashoffset .6s cubic-bezier(.22,1,.36,1)}body.premium .ring-card .pct{transition:color .3s}body.premium .ring-card .ring-status{font-size:.875rem;font-weight:500;margin-top:8px;transition:color .3s}body.premium .scale-note{line-height:1.55;font-size:.875rem}body.premium .scale-note.info{background:rgba(37,99,235,.1);border-color:rgba(37,99,235,.22)}body.premium .scale-note.info b{color:#93c5fd}body.premium .scale-note.info a{color:#93c5fd;text-decoration:underline;text-underline-offset:2px}body.premium .scale-note.info a:hover{color:#fff}@media print{.calc-kicker,.result-btn-row,.calc-actions,.calc-toolbar{display:none !important}body.premium .result-rail{position:static !important}body.premium .tool-layout{display:block !important}body.premium .gpa-hero,body.premium .res-hero,body.premium .grade-hero,body.premium .ring-card,body.premium .gauge-card{background:#f0f0f8 !important;border:1px solid #c4b5fd !important;color:#1a1a2e !important;box-shadow:none !important}body.premium .gpa-big,body.premium .res-big,body.premium .grade-big{-webkit-text-fill-color:#1a1a2e !important;color:#1a1a2e !important;background:none !important}}@keyframes inputShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-5px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}@media (prefers-reduced-motion:reduce){body.premium .crow{animation:none}body.premium .verdict{animation:none}body.premium .gpa-hero.result-flash,body.premium .res-hero.result-flash{animation:none}body.premium .bar-seg.done::after{display:none}body.premium .input.lg.is-error{animation:none}}@media (prefers-contrast:high){body.premium .calc-kicker{border-width:2px}body.premium .field-msg.msg-error{color:#ff6b6b}body.premium .field-msg.msg-ok{color:#51cf66}}body.premium .crow.crow-focus{background:rgba(124,58,237,.08);border-color:rgba(124,58,237,.25);box-shadow:0 0 0 3px rgba(124,58,237,.07)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body.premium .panel-lg{animation:panelSlideIn .25s cubic-bezier(.22,1,.36,1)}@keyframes panelSlideIn{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}body.premium .q input:focus{border-color:var(--g1);box-shadow:0 0 0 3px rgba(124,58,237,.15);background:rgba(124,58,237,.06)}body.premium .result-box .rv{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}body.premium .result-box .rv.num-updated{animation:numPop .45s cubic-bezier(.34,1.56,.64,1)}