:root,[data-theme=dark]{--bg-deep:#07080f;--bg-surface:#11151d;--surface:#121620e6;--surface-raised:#191e2bf0;--surface-glow:#4fd1c51f;--glass:#ffffff0a;--glass-strong:#ffffff12;--glass-border:#ffffff1a;--text:#f8fbff;--text-soft:#dbe7ef;--muted-color:#96a5b4;--accent:#22d3ee;--accent-rgb:34, 211, 238;--accent-glow:#22d3ee40;--accent-2:#facc15;--accent-2-rgb:250, 204, 21;--gold:#f59e0b;--gold-rgb:245, 158, 11;--rose:#fb3f72;--rose-rgb:251, 63, 114;--success:#34d399;--success-rgb:52, 211, 153;--danger:#fb7185;--danger-rgb:251, 113, 133;--radius:8px;--radius-lg:8px;--shadow-ambient:0 22px 54px #00000061;--shadow-glow:0 22px 54px rgba(var(--accent-rgb), .14);--transition-base:.24s cubic-bezier(.4, 0, .2, 1);--transition-spring:.45s cubic-bezier(.34, 1.56, .64, 1);--bg-radial-1:rgba(var(--accent-rgb), .12);--bg-radial-2:rgba(var(--rose-rgb), .08);--bg-radial-3:rgba(var(--gold-rgb), .04);--input-bg:#ffffff0a;--modal-bg:#0c0e17f5;--terminal-bg:#07080f;--terminal-top-bg:#ffffff08;--terminal-text:#d8d2c5;--scrollbar-thumb:rgba(var(--accent-rgb), .25);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg-deep:#f3f7ff;--bg-surface:#fff8ef;--surface:#ffffffeb;--surface-raised:#fffffffa;--surface-glow:#0ea5e924;--glass:#00000005;--glass-strong:#0000000a;--glass-border:#0000001a;--text:#121826;--text-soft:#2f3b4c;--muted-color:#687589;--accent:#0ea5e9;--accent-rgb:14, 165, 233;--accent-glow:#0ea5e92e;--accent-2:#f59e0b;--accent-2-rgb:245, 158, 11;--gold:#f59e0b;--gold-rgb:245, 158, 11;--rose:#e11d48;--rose-rgb:225, 29, 72;--success:#059669;--success-rgb:5, 150, 105;--danger:#be123c;--danger-rgb:190, 18, 60;--shadow-ambient:0 22px 50px #0f172a1f;--shadow-glow:0 18px 42px rgba(var(--accent-rgb), .13);--bg-radial-1:rgba(var(--accent-rgb), .06);--bg-radial-2:rgba(var(--rose-rgb), .04);--bg-radial-3:rgba(var(--gold-rgb), .03);--input-bg:#0000000a;--modal-bg:#fffffff5;--terminal-bg:#101828;--terminal-top-bg:#ffffff0f;--terminal-text:#e4dfd2;--scrollbar-thumb:rgba(var(--accent-rgb), .2);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.app-loading{background:var(--bg-deep);min-height:100svh}body,body:before,.hero__bar,.panel,.candidate-card,.admin-card,.login-card,.form-card,.timeline-card,.admin-side,.faculty-card,.modal-card,.image-viewer,.vote-button,.ghost-button,.admin-button,.summary-tile,.time-box,.table-row,.simple-item,.status-pill,.terminal-panel,.field input,.field select{transition:background-color .4s,color .4s,border-color .4s,box-shadow .4s}.theme-toggle{border:1px solid var(--glass-border);background:color-mix(in srgb, var(--surface-raised) 84%, var(--accent) 16%);color:var(--text);cursor:pointer;min-height:44px;transition:transform var(--transition-spring), background var(--transition-base), box-shadow var(--transition-base);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:1rem;font-weight:700;display:inline-flex}.theme-toggle:hover{background:rgba(var(--accent-rgb), .18);box-shadow:0 0 20px rgba(var(--accent-rgb), .15);transform:translateY(-1px)scale(1.02)}.toggle-icon{place-items:center;line-height:1;display:inline-grid}.toggle-label{white-space:nowrap}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px rgba(var(--accent-rgb), .15)}50%{box-shadow:0 0 40px rgba(var(--accent-rgb), .3)}}@keyframes countPop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes borderGlow{0%,to{border-color:rgba(var(--accent-rgb), .15)}50%{border-color:rgba(var(--accent-rgb), .35)}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes overlayIn{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}@keyframes modalIn{0%{opacity:0;transform:scale(.88)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes stageFloat{0%,to{transform:translateZ(36px)}50%{transform:translate3d(0,-10px,52px)}}@keyframes lineSweep{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes cardLift{0%{opacity:0;transform:translateY(22px)rotateX(6deg)}to{opacity:1;transform:translateY(0)rotateX(0)}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--text);background:linear-gradient(135deg, rgba(var(--accent-rgb), .11) 0 1px, transparent 1px 36px), linear-gradient(115deg, rgba(var(--rose-rgb), .14), transparent 28%, rgba(var(--accent-rgb), .12) 72%, rgba(var(--gold-rgb), .12)), linear-gradient(180deg, var(--bg-deep), var(--bg-surface));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:IBM Plex Sans Thai,sans-serif;font-size:16px;line-height:1.55;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(90deg, rgba(var(--accent-rgb), .12), transparent 28%, transparent 72%, rgba(var(--rose-rgb), .1)), linear-gradient(180deg, #ffffff1a, transparent 42%);position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:-1;background:linear-gradient(90deg, transparent, rgba(var(--gold-rgb), .12), transparent), linear-gradient(0deg, rgba(var(--accent-rgb), .12), transparent);clip-path:polygon(0 34%,100% 0,100% 100%,0 100%);opacity:.8;height:38vh;position:fixed;inset:auto 0 0}img{max-width:100%;display:block}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent);text-decoration:none}.floating-actions{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));z-index:100;gap:8px;display:flex;position:fixed}.shell{width:min(1120px,100vw - 28px);margin:0 auto}.hero__bar,.panel,.candidate-card,.admin-card,.login-card,.form-card,.timeline-card{background:var(--surface);-webkit-backdrop-filter:blur(20px)saturate(1.35);border:1px solid var(--glass-border);box-shadow:var(--shadow-ambient)}.hero{padding:72px 0 20px;animation:.8s ease-out both fadeInUp}.hero__bar{border-radius:999px;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;animation:.6s ease-out both slideDown;display:flex}.brand{letter-spacing:0;color:var(--text);font-family:Chakra Petch,sans-serif;font-size:1.45rem;font-weight:700}.brand strong{background:linear-gradient(135deg, var(--accent), var(--rose));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero__content{perspective:1400px;grid-template-columns:1.2fr .8fr;gap:24px;margin-top:22px;display:grid}.hero__headline{border-radius:calc(var(--radius-lg) + 4px);transform-style:preserve-3d;isolation:isolate;padding:clamp(28px,5vw,52px);animation:.8s ease-out .15s both fadeInUp;position:relative;overflow:hidden}.hero__headline:before{content:"";background:linear-gradient(118deg, rgba(var(--accent-rgb), .22), transparent 34%, rgba(var(--rose-rgb), .12)), linear-gradient(135deg, #ffffff1f 0 1px, transparent 1px 18px);pointer-events:none;opacity:.55;z-index:-1;position:absolute;inset:0}.hero__headline:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), var(--rose), var(--gold), transparent);opacity:.85;filter:blur(.2px);height:6px;position:absolute;bottom:-5px;left:-14%;right:-14%}.eyebrow,.mini-label{text-transform:uppercase;letter-spacing:0;background:linear-gradient(135deg, var(--accent), var(--rose));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:.72rem;font-weight:700}.hero h1,.section-title,.admin-title{letter-spacing:0;color:var(--text);margin:12px 0 0;font-family:Chakra Petch,sans-serif;line-height:1.15}.hero h1{background:linear-gradient(135deg, var(--text) 0%, var(--accent) 100%);-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;padding-top:.1em;padding-bottom:.1em;font-size:4.5rem;animation:6s infinite gradientShift}.brand-lockup{text-transform:lowercase;letter-spacing:0;z-index:1;margin:8px 0 0;font-size:5rem;line-height:.98;position:relative}.brand-lockup strong{width:min-content;color:var(--accent-2);background:linear-gradient(90deg, var(--accent-2), var(--rose), var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;display:block}.hero-stage{pointer-events:none;width:180px;height:180px;transform-style:preserve-3d;opacity:.92;z-index:0;position:absolute;top:clamp(28px,5vw,64px);right:clamp(18px,4vw,46px);transform:rotateX(58deg)rotate(-14deg)}.hero-stage__card{border-radius:var(--radius);background:linear-gradient(135deg, rgba(var(--accent-rgb), .95), rgba(var(--rose-rgb), .85));box-shadow:0 26px 50px rgba(var(--accent-rgb), .26), inset 0 1px 0 #ffffff80;border:1px solid #ffffff61;position:absolute;inset:32px 18px}.hero-stage__card--back{background:linear-gradient(135deg, rgba(var(--gold-rgb), .72), rgba(var(--rose-rgb), .62));transform:translate(18px,24px)}.hero-stage__card--mid{background:linear-gradient(135deg, rgba(var(--accent-2-rgb), .78), rgba(var(--accent-rgb), .72));transform:translate3d(7px,10px,18px)}.hero-stage__card--front{color:#fff;place-items:center;font-family:Chakra Petch,sans-serif;font-size:2rem;font-weight:700;animation:5.5s ease-in-out infinite stageFloat;display:grid;transform:translateZ(36px)}.hero p{max-width:34rem;color:var(--text-soft);z-index:1;margin:18px 0 0;font-size:1.02rem;position:relative}.hero__stats{gap:18px;animation:.8s ease-out .3s both fadeInUp;display:grid}.timeline-card,.panel,.admin-card,.form-card,.login-card{border-radius:var(--radius);transform-style:preserve-3d;padding:24px}.countdown{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;display:grid}.time-box{background:linear-gradient(145deg, rgba(var(--accent-rgb), .2), rgba(var(--rose-rgb), .06)), var(--glass);border:1px solid rgba(var(--accent-rgb), .24);border-radius:var(--radius);text-align:center;transition:var(--transition-base);padding:14px 8px}.time-box:hover{border-color:rgba(var(--accent-rgb), .3);box-shadow:0 0 24px rgba(var(--accent-rgb), .1)}.time-box strong{background:linear-gradient(180deg, var(--text), var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Chakra Petch,sans-serif;font-size:2.25rem;display:block}.time-box span{color:var(--muted-color);font-size:.8rem}.summary-grid{z-index:1;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px;display:grid;position:relative}.summary-grid--two{grid-template-columns:repeat(2,1fr)}.summary-tile{border-radius:var(--radius);background:linear-gradient(145deg, rgba(var(--accent-rgb), .18), rgba(var(--gold-rgb), .08)), var(--glass);border:1px solid rgba(var(--accent-rgb), .18);transition:var(--transition-base);padding:18px 20px;transform:translateZ(18px)}.summary-tile:hover{border-color:rgba(var(--accent-rgb), .25);box-shadow:0 8px 24px rgba(var(--accent-rgb), .12);transform:translateY(-2px)}.summary-tile strong{color:var(--text);font-family:Chakra Petch,sans-serif;font-size:2.2rem;display:block}.summary-tile span{color:var(--muted-color);font-size:.92rem}.section{padding:10px 0 28px}.section-head{justify-content:space-between;align-items:end;gap:12px;margin-bottom:18px;animation:.6s ease-out both fadeInUp;display:flex}.section-title,.admin-title{color:var(--text);font-size:3rem}.faculty-list{gap:24px;display:grid}.faculty-card{--faculty-rgb:var(--accent-rgb);border-radius:var(--radius-lg);background:linear-gradient(145deg, rgba(var(--faculty-rgb), .18), rgba(var(--faculty-rgb), .06) 36%, rgba(var(--accent-rgb), .08)), var(--surface);-webkit-backdrop-filter:blur(20px)saturate(1.3);border:1px solid rgba(var(--faculty-rgb), .18);transition:border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);transform-style:preserve-3d;padding:28px;animation:.7s ease-out both fadeInUp;position:relative;overflow:hidden}.faculty-card:hover{border-color:rgba(var(--faculty-rgb), .35);box-shadow:0 12px 48px rgba(var(--faculty-rgb), .15);transform:translateY(-2px)}.faculty-card:before{content:"";background:linear-gradient(90deg, rgba(var(--faculty-rgb), .9), rgba(var(--faculty-rgb), .22), transparent);pointer-events:none;height:5px;position:absolute;inset:0 0 auto}.faculty-top{z-index:1;justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px;display:flex;position:relative}.faculty-name{letter-spacing:0;color:var(--text);margin:0;font-family:Chakra Petch,sans-serif;font-size:2rem}.candidate-grid{z-index:1;perspective:1600px;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid;position:relative}.candidate-card{border-radius:var(--radius);background:var(--surface-raised);transform-style:preserve-3d;transition:transform var(--transition-spring), box-shadow var(--transition-base), border-color var(--transition-base), filter var(--transition-base);will-change:transform;animation:.65s ease-out both cardLift;overflow:hidden}.candidate-card.is-voted{border-color:rgba(var(--success-rgb), .35)}.candidate-card:hover{box-shadow:0 26px 58px #00000052, 0 0 42px rgba(var(--accent-rgb), .16);border-color:rgba(var(--accent-rgb), .2);transform:translateY(-8px)rotateX(2deg)rotateY(-2deg)}.candidate-card__image-button{background:linear-gradient(135deg, rgba(var(--accent-rgb), .24), rgba(var(--rose-rgb), .08) 46%, rgba(var(--gold-rgb), .12)), linear-gradient(180deg, var(--bg-surface), var(--bg-deep));cursor:zoom-in;border:0;justify-content:center;align-items:center;width:100%;padding:0;display:flex;position:relative;overflow:hidden}.candidate-card__image-button:after{content:"";-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;background:linear-gradient(135deg,#0000 44%,#ffffffeb 45% 55%,#0000 56%),linear-gradient(45deg,#0000 40%,#ffffffeb 41% 55%,#0000 56%),#080c168a;border-radius:50%;place-items:center;width:36px;height:36px;font-size:.8rem;transition:opacity .3s,transform .3s;display:grid;position:absolute;top:12px;right:12px;transform:scale(.7)}.candidate-card:hover .candidate-card__image-button:after{opacity:1;transform:scale(1)}.candidate-card__image-frame{aspect-ratio:4/5;border-bottom:2px solid rgba(var(--accent-rgb), .15);justify-content:center;align-items:center;width:100%;height:clamp(420px,43vw,520px);min-height:0;padding:16px;display:flex;position:relative;overflow:hidden;transform:translateZ(18px)}.candidate-card__image-frame:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff52,#0000),linear-gradient(#ffffff1a,#0000 30%,#0000000d);position:absolute;inset:0;transform:translate(-120%)}.candidate-card:hover .candidate-card__image-frame:before{opacity:1;animation:1.1s ease-out lineSweep}.candidate-card img{object-fit:contain;object-position:center center;filter:drop-shadow(0 18px 34px #00000052);width:auto;max-width:100%;height:auto;max-height:100%;transition:transform var(--transition-spring), filter .4s;flex:none;margin:auto;display:block}.candidate-card:hover img{filter:drop-shadow(0 20px 40px #00000080)brightness(1.05);transform:scale(1.04)}.candidate-card__body{background:linear-gradient(180deg, #ffffff0a, transparent), var(--surface-raised);min-height:184px;padding:20px;transform:translateZ(24px)}.candidate-card__name{color:var(--text);margin:0;font-size:1.55rem;font-weight:700}.candidate-meta,.helper,.muted{color:var(--muted-color)}.vote-button,.ghost-button,.admin-button{transition:transform var(--transition-spring), box-shadow var(--transition-base), opacity .2s;border:0;border-radius:999px;padding:14px 22px;font-weight:700;position:relative;overflow:hidden}.vote-button:focus-visible,.ghost-button:focus-visible,.admin-button:focus-visible,.theme-toggle:focus-visible,.candidate-card__image-button:focus-visible,.image-viewer__close:focus-visible{outline:3px solid rgba(var(--accent-rgb), .42);outline-offset:3px}.vote-button:before,.admin-button:before{content:"";opacity:0;background:linear-gradient(90deg,#0000 0%,#ffffff26 50%,#0000 100%) 0 0/200% 100%;transition:opacity .3s;position:absolute;inset:0}.vote-button:hover:before,.admin-button:hover:before{opacity:1;animation:1.5s linear infinite shimmer}.vote-button,.admin-button{color:#fff;background:linear-gradient(135deg, var(--accent), var(--rose) 58%, var(--gold)), var(--accent);box-shadow:0 12px 30px rgba(var(--accent-rgb), .26)}.ghost-button{background:rgba(var(--accent-rgb), .12);color:var(--accent);border:1px solid rgba(var(--accent-rgb), .15)}.ghost-button:hover{background:rgba(var(--accent-rgb), .2);border-color:rgba(var(--accent-rgb), .3)}.vote-button:hover,.admin-button:hover{box-shadow:0 12px 32px rgba(var(--accent-rgb), .4);transform:translateY(-2px)scale(1.02)}.vote-button:active,.admin-button:active{transform:translateY(0)scale(.98)}.vote-button[disabled],.ghost-button[disabled],.admin-button[disabled]{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.vote-button[disabled]:before,.admin-button[disabled]:before{display:none}.status-pill{background:rgba(var(--accent-rgb), .1);color:var(--accent);border:1px solid rgba(var(--accent-rgb), .15);border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:.92rem;font-weight:600;animation:3s ease-in-out infinite pulseGlow;display:inline-flex}.stack{gap:14px;display:grid}.admin-shell{grid-template-columns:280px 1fr;gap:20px;width:min(1240px,100vw - 24px);margin:24px auto 40px;display:grid}.admin-side{border-radius:var(--radius-lg);background:var(--surface);-webkit-backdrop-filter:blur(24px)saturate(1.4);box-shadow:var(--shadow-ambient);border:1px solid var(--glass-border);align-self:start;padding:24px;animation:.6s ease-out both fadeInUp;position:sticky;top:24px}.admin-nav{gap:6px;margin-top:16px;display:grid}.admin-nav a,.admin-nav button{text-align:left;color:var(--text-soft);transition:background var(--transition-base), color var(--transition-base), transform .15s;background:0 0;border:0;border-radius:14px;padding:12px 16px;text-decoration:none}.admin-nav a:hover,.admin-nav button:hover{background:rgba(var(--accent-rgb), .08);color:var(--text);transform:translate(4px)}.admin-nav .is-active{background:rgba(var(--accent-rgb), .15);color:var(--accent);border:1px solid rgba(var(--accent-rgb), .15);font-weight:700}.admin-main{gap:20px;display:grid}.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.table-list,.simple-list{gap:12px;display:grid}.table-row,.simple-item{background:var(--surface-raised);border:1px solid var(--glass-border);transition:border-color var(--transition-base), transform .2s, box-shadow .3s;border-radius:18px;gap:10px;padding:18px;display:grid}.table-row:hover,.simple-item:hover{border-color:rgba(var(--accent-rgb), .2);transform:translateY(-2px);box-shadow:0 8px 24px #00000040}.table-row{grid-template-columns:1.3fr .6fr .6fr;align-items:center}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field-grid--single{grid-template-columns:1fr}.field{gap:8px;display:grid}.field label{color:var(--text-soft);font-size:.92rem;font-weight:600}.field input,.field select{border:1px solid var(--glass-border);background:var(--input-bg);color:var(--text);transition:border-color var(--transition-base), box-shadow var(--transition-base), background var(--transition-base);border-radius:14px;padding:14px 16px}.field input:focus,.field select:focus{border-color:rgba(var(--accent-rgb), .45);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .12);background:rgba(var(--accent-rgb), .04);outline:none}.field input[type=file]{padding:12px}[data-color-picker-wrap]{gap:10px;display:grid}.color-preset-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;display:grid}.color-swatch{aspect-ratio:1;background:var(--swatch);cursor:pointer;width:100%;transition:transform var(--transition-spring), box-shadow .2s;border:0;border-radius:12px;box-shadow:inset 0 0 0 1px #ffffff26}.color-swatch:hover{transform:translateY(-3px)scale(1.1);box-shadow:0 6px 16px #0000004d}.color-swatch.is-active{outline:3px solid var(--accent);outline-offset:3px;box-shadow:inset 0 0 0 2px #fff6, 0 0 16px rgba(var(--accent-rgb), .3)}.field input[type=color]{cursor:pointer;border:1px solid var(--glass-border);background:var(--input-bg);border-radius:14px;width:100%;min-height:52px;padding:8px}.notice,.flash{border-radius:16px;padding:14px 18px}.notice{background:rgba(var(--accent-rgb), .08);border:1px solid rgba(var(--accent-rgb), .12);color:var(--text-soft)}.flash{background:rgba(var(--danger-rgb), .1);border:1px solid rgba(var(--danger-rgb), .15);color:var(--danger);animation:.4s ease-out both fadeInUp}.login-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(520px,100%);animation:.6s ease-out both fadeInScale}.login-card form{gap:14px;display:grid}.empty-state{border:1px dashed rgba(var(--accent-rgb), .15);color:var(--muted-color);background:#ffffff08;border-radius:20px;padding:22px}.front-note{color:var(--muted-color);margin-top:14px;font-size:.94rem}.inline-actions{flex-wrap:wrap;gap:10px;display:flex}.candidate-admin-row{border-top:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.delete-button{background:rgba(var(--danger-rgb), .12)!important;color:var(--danger)!important;border-color:rgba(var(--danger-rgb), .15)!important}.delete-button:hover{background:rgba(var(--danger-rgb), .2)!important}.progress{background:rgba(var(--accent-rgb), .1);border-radius:999px;height:10px;overflow:hidden}.progress>span{background:linear-gradient(90deg, var(--accent), var(--rose));border-radius:inherit;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1);display:block}.modal-overlay{z-index:999;-webkit-backdrop-filter:blur(14px);background:#00000080;place-items:center;padding:18px;animation:.3s ease-out both overlayIn;display:grid;position:fixed;inset:0}.modal-card{background:var(--modal-bg);-webkit-backdrop-filter:blur(32px)saturate(1.6);border-radius:var(--radius);border:1px solid rgba(var(--accent-rgb), .12);width:min(480px,100%);box-shadow:0 24px 64px #00000080, var(--shadow-glow);padding:28px;animation:.4s cubic-bezier(.34,1.56,.64,1) both modalIn}.modal-title{letter-spacing:0;color:var(--text);margin:10px 0 0;font-family:Chakra Petch,sans-serif;font-size:2rem}.modal-message{color:var(--text-soft);margin:12px 0 0;line-height:1.6}.modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.image-viewer{background:var(--modal-bg);-webkit-backdrop-filter:blur(32px)saturate(1.6);border-radius:var(--radius);border:1px solid var(--glass-border);width:min(920px,100%);padding:20px;animation:.4s cubic-bezier(.34,1.56,.64,1) both modalIn;box-shadow:0 32px 80px #0009}.image-viewer__top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.image-viewer__title{letter-spacing:0;color:var(--text);margin:0;font-family:Chakra Petch,sans-serif;font-size:1.55rem}.image-viewer__close{border:1px solid var(--glass-border);background:rgba(var(--accent-rgb), .1);min-width:48px;min-height:48px;color:var(--accent);cursor:pointer;transition:background var(--transition-base), transform .2s;border-radius:999px;font-size:1.4rem}.image-viewer__close:hover{background:rgba(var(--accent-rgb), .2);transform:rotate(90deg)}.image-viewer__body{background:linear-gradient(180deg, rgba(var(--accent-rgb), .06), transparent 44%), var(--surface);border-radius:18px;place-items:center;min-height:min(72vh,720px);max-height:72vh;padding:20px;display:grid;overflow:auto}.image-viewer__body img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;max-height:calc(72vh - 40px);display:block}.terminal-panel{background:var(--terminal-bg);color:var(--terminal-text);border:1px solid #ffffff0f;border-radius:20px;overflow:hidden;box-shadow:inset 0 1px #ffffff0a}.terminal-top{background:var(--terminal-top-bg);border-bottom:1px solid #ffffff0f;align-items:center;gap:8px;padding:14px 18px;display:flex}.terminal-dot{border-radius:999px;width:11px;height:11px}.terminal-dot--red{background:#ff5f57}.terminal-dot--yellow{background:#febc2e}.terminal-dot--green{background:#28c840}.terminal-title{color:#6b7394;margin-left:8px;font-family:Chakra Petch,sans-serif;font-size:.88rem}.terminal-body{white-space:pre-wrap;word-break:break-word;min-height:340px;max-height:560px;margin:0;padding:18px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem;line-height:1.65;overflow:auto}.faculty-card:first-child{animation-delay:50ms}.faculty-card:nth-child(2){animation-delay:.15s}.faculty-card:nth-child(3){animation-delay:.25s}.faculty-card:nth-child(4){animation-delay:.35s}.faculty-card:nth-child(5){animation-delay:.45s}.faculty-card:nth-child(6){animation-delay:.55s}.candidate-card:first-child{animation-delay:.1s}.candidate-card:nth-child(2){animation-delay:.22s}.admin-card:first-child{animation:.5s ease-out 50ms both fadeInUp}.admin-card:nth-child(2){animation:.5s ease-out .12s both fadeInUp}.admin-card:nth-child(3){animation:.5s ease-out .19s both fadeInUp}.form-card{animation:.5s ease-out .1s both fadeInUp}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb), .4)}@media (max-width:960px){.hero__content,.admin-shell,.candidate-grid,.admin-grid,.field-grid,.table-row{grid-template-columns:1fr}.admin-side{position:static}.hero__bar{border-radius:var(--radius);flex-direction:column;align-items:start}.candidate-card__image-frame{height:460px;padding:8px}.candidate-card img{max-height:100%}}@media (max-width:720px){.shell,.admin-shell{width:min(100vw - 16px,1120px)}.hero{padding-top:74px}.hero__headline,.timeline-card,.panel,.faculty-card,.admin-card,.form-card,.login-card{border-radius:var(--radius);padding:16px}.summary-grid,.countdown{grid-template-columns:repeat(2,1fr)}.candidate-admin-row,.modal-actions{flex-direction:column;align-items:stretch}.candidate-card img{max-height:100%}.candidate-card__image-frame{height:430px;padding:10px}.image-viewer{padding:14px}.image-viewer__body{min-height:56vh;max-height:56vh}.faculty-name{font-size:1.7rem}.faculty-top .muted{font-size:1rem}}@media (max-width:560px){body{font-size:15px}.floating-actions{left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));justify-content:flex-end}.theme-toggle{min-width:44px;padding:10px 12px}.toggle-label{display:none}.brand-lockup{font-size:3.15rem}.hero-stage{opacity:.3;width:120px;height:120px;top:54px;right:14px}.hero h1{font-size:3.15rem}.section-title,.admin-title{font-size:2.15rem}.time-box strong,.summary-tile strong{font-size:1.8rem}.hero p{font-size:.98rem}.section-head,.faculty-top,.image-viewer__top{flex-direction:column;align-items:start}.candidate-card__image-frame{height:410px}.candidate-card__body{min-height:0;padding:16px}.vote-button,.ghost-button,.admin-button{width:100%;min-height:48px}.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-nav a,.admin-nav button{text-align:center;padding:11px 12px}.color-preset-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.loading-screen{min-height:100vh;color:var(--text-soft);flex-direction:column;justify-content:center;align-items:center;gap:20px;animation:.5s ease-out both fadeInUp;display:flex}.loading-spinner{border:3px solid rgba(var(--accent-rgb), .15);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}
