:root{--bg-color:#030712;--panel-bg:#11182773;--panel-border:#ffffff14;--text-main:#f9fafb;--text-muted:#9ca3af;--text-placeholder:#6b7280;--primary-color:#2563eb;--primary-hover:#1d4ed8;--white:#fff;--error:#fca5a5;--error-bg:#ef44441a;--error-border:#ef444433;--shadow-panel:0 32px 64px -12px #00000080, inset 0 1px 0 #ffffff0d;--shadow-btn:0 4px 14px 0 #2563eb63;--shadow-input:inset 0 -1px 0 0 #fff3;--shadow-input-focus:inset 0 -2px 0 0 var(--primary-color);--radius-sm:8px;--radius-md:12px;--radius-lg:24px;--font-main:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition-spring:.8s cubic-bezier(.16, 1, .3, 1);--transition-fast:.3s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#000;justify-content:center;align-items:center;min-height:100vh;display:flex}.smokey-bg-container{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.smokey-canvas{pointer-events:auto;width:100%;height:100%;display:block}.smokey-blur-overlay{-webkit-backdrop-filter:blur(8px);pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.glass-panel{-webkit-backdrop-filter:blur(16px)saturate(150%);transition:transform var(--transition-spring), box-shadow var(--transition-spring);background:#ffffff1a;border:1px solid #fff3;border-radius:1rem;padding:3.5rem 3rem;box-shadow:0 25px 50px -12px #00000080}@keyframes slideUpFade{0%{opacity:0;filter:blur(4px);transform:translateY(20px)scale(.95)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.animate-fade-in{animation:1s cubic-bezier(.16,1,.3,1) forwards slideUpFade}label{color:var(--text-main);letter-spacing:.02em;opacity:.9;margin-bottom:.6rem;font-size:.8125rem;font-weight:500;display:block}input,select{width:100%;font-family:var(--font-main);color:var(--text-main);box-shadow:var(--shadow-input);transition:box-shadow var(--transition-fast), background-color var(--transition-fast);appearance:none;background-color:#0000;border:none;border-radius:0;padding:.875rem 0;font-size:1rem;font-weight:500}input:focus,select:focus{box-shadow:var(--shadow-input-focus);background-color:#0000;outline:none}select option{color:#fff;background-color:#0f172a}input::placeholder{color:var(--text-placeholder);font-weight:400}.btn-primary{background:var(--primary-color);width:100%;color:var(--white);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-btn);transition:all var(--transition-fast);letter-spacing:.01em;border:none;justify-content:center;align-items:center;padding:1rem 1.5rem;font-size:1rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn-primary:after{content:"";opacity:.5;background:linear-gradient(90deg,#0000,#fff6,#0000);height:1px;position:absolute;top:0;left:0;right:0}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 24px -8px #0f172a66,inset 0 1px #fff3}.btn-primary:active:not(:disabled){transform:translateY(1px)scale(.97);box-shadow:0 2px 4px #0f172a1a}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.spinner{border:2px solid #fff3;border-top-color:var(--white);border-radius:50%;width:20px;height:20px;animation:.8s cubic-bezier(.6,.2,.4,.8) infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=480px){.glass-panel{border-radius:24px;padding:2.5rem 1.5rem}}.app-container{width:100%;max-width:460px;margin:0 auto;padding:1.5rem}.header{text-align:center;margin-bottom:3rem}.header h1{color:var(--white);letter-spacing:-.03em;margin-bottom:.25rem;font-size:1.625rem;font-weight:800}.header p{color:var(--text-muted);letter-spacing:-.01em;font-size:.9375rem;font-weight:500}.school-logo-img{object-fit:contain;width:110px;height:auto;max-height:130px;transition:transform var(--transition-spring), filter var(--transition-spring);filter:drop-shadow(0 8px 16px #0f172a1a);margin:0 auto 1.5rem;display:block}.school-logo-img:hover{filter:drop-shadow(0 12px 24px #0f172a26);transform:scale(1.08)translateY(-4px)}.form-group{margin-bottom:1.75rem}.date-group{grid-template-columns:1fr 1fr 1fr;gap:.75rem;display:grid}.date-group select{letter-spacing:-.02em;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%239CA3AF' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;padding-left:0;padding-right:1.5rem;font-size:.875rem}.error-message{background-color:var(--error-bg);color:var(--error);border:1px solid var(--error-border);border-radius:var(--radius-md);align-items:center;gap:.75rem;margin-bottom:2rem;padding:1rem 1.25rem;font-size:.875rem;font-weight:500;animation:.4s cubic-bezier(.16,1,.3,1) forwards slideUpFade;display:flex;box-shadow:0 4px 12px -4px #e11d481a}.result-card{text-align:center}.result-header{margin-bottom:2.5rem}.result-header h2{color:var(--text-main);letter-spacing:-.02em;margin-bottom:.35rem;font-size:1.5rem;font-weight:700}.result-header p{color:var(--text-muted);font-size:.9375rem;font-weight:500}.score-container{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2.5rem;display:grid}.score-display{border-radius:var(--radius-lg);transition:transform var(--transition-spring);background:#ffffff0d;border:1px solid #ffffff1a;flex-direction:column;justify-content:center;padding:1.25rem .5rem;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px -8px #0000004d}.score-display:hover{transform:scale(1.02)translateY(-2px)}.score-display:after{content:"";background:linear-gradient(90deg,#0000,#fffc,#0000);animation:3s infinite shimmer;position:absolute;inset:0 100% 0 -100%}@keyframes shimmer{to{left:100%;right:-100%}}.score-value{color:var(--white);letter-spacing:-.05em;filter:drop-shadow(0 4px 8px #ffffff1a);margin-bottom:.75rem;font-size:clamp(1.5rem,7vw,2.2rem);font-weight:800;line-height:1}.score-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:700;line-height:1.2}.footer{text-align:center;color:var(--text-placeholder);letter-spacing:-.01em;margin-top:3rem;font-size:.8125rem;font-weight:500}@media (width<=480px){.app-container{padding:1rem}.header h1{font-size:1.375rem}.school-logo-img{width:90px;margin-bottom:1.25rem}.date-group{grid-template-columns:1fr;gap:.75rem}.score-container{gap:.5rem}.score-value{font-size:clamp(1.5rem,9vw,2rem)}.score-display{padding:1rem .25rem}.score-label{font-size:.6rem}}
