:root{font-family:Georgia,Times New Roman,serif;color:#12294a;background:linear-gradient(180deg,#f4f7fb,#e4ecf6)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}.page-shell{position:relative;min-height:100vh;overflow:hidden;padding:24px 16px}.ambient{position:absolute;inset:auto;width:320px;height:320px;border-radius:999px;filter:blur(28px);opacity:.45}.ambient-left{top:-70px;left:-100px;background:#164c9c1f}.ambient-right{right:-110px;bottom:-90px;background:#12294a24}.portal-card{position:relative;z-index:1;max-width:940px;margin:0 auto;border:1px solid #cad7e8;border-radius:8px;background:#fff;box-shadow:0 18px 45px #12294a1a}.portal-header{display:flex;justify-content:space-between;gap:24px;padding:32px;border-top:8px solid #1b4f9a;border-bottom:1px solid #d4dfec;background:linear-gradient(180deg,#fff,#f6f9fd)}.portal-header h1{margin:8px 0 12px;font-size:clamp(2rem,4vw,3.1rem);line-height:1.05}.eyebrow{margin:0;color:#1b4f9a;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}.subcopy{max-width:52ch;margin:0;color:#4f627a;line-height:1.6}.session-badge{height:fit-content;padding:12px 16px;border-radius:4px;background:#1b4f9a;color:#fff;font-size:.92rem;white-space:nowrap}.panel{padding:32px}.notice{margin-bottom:24px;padding:14px 16px;border-left:4px solid #d28c00;border-radius:4px;background:#fff9ea;color:#6b5308}.hero-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}.hero-strip div{display:grid;gap:6px;padding:14px 16px;border:1px solid #d4dfec;border-radius:4px;background:#f8fbff}.hero-label{color:#5b6f8c;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.result-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.result-form label{display:grid;gap:8px;color:#243a57;font-weight:600}input{width:100%;padding:14px 16px;border:1px solid #bccde2;border-radius:4px;background:#fff;outline:none;transition:border-color .16s ease,box-shadow .16s ease}input:focus{border-color:#1b4f9a;box-shadow:0 0 0 3px #1b4f9a1f}.primary-button,.secondary-button{border:0;border-radius:4px;cursor:pointer;transition:transform .16s ease,opacity .16s ease,box-shadow .16s ease}.primary-button{grid-column:span 2;padding:16px 18px;background:linear-gradient(180deg,#1d5dc0,#1b4f9a);color:#fff;font-weight:700;letter-spacing:.03em;box-shadow:0 10px 24px #1b4f9a2e}.primary-button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}.primary-button:not(:disabled):hover,.secondary-button:hover{transform:translateY(-1px)}.status-panel,.result-panel{display:grid;justify-items:center;text-align:center;gap:18px;min-height:360px;align-content:center}.spinner{width:64px;height:64px;border:4px solid rgba(16,35,61,.12);border-top-color:#1b4f9a;border-radius:999px;animation:spin .7s linear infinite}.loading-bar{width:min(460px,100%);height:16px;padding:3px;border-radius:999px;background:#dbe5f2}.loading-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1b4f9a,#5c96eb);transition:width .22s linear}.microcopy{margin:0;color:#60738d;font-size:.95rem}.result-banner{padding:12px 20px;border-radius:4px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.result-banner.fail{background:#ffe3e3;color:#a61c1c}.marksheet{width:min(620px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px;border:1px solid #d4dfec;border-radius:4px;background:linear-gradient(180deg,#fff,#f5f8fc);text-align:left}.marksheet div{display:grid;gap:6px;padding:12px;border-radius:4px;background:#eef4fb}.marksheet span{color:#5e7088;font-size:.9rem}.countdown-copy{margin:0;color:#314962;font-size:1.1rem}.secondary-button{padding:14px 18px;background:#12294a;color:#fff}.video-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;padding:16px}.video-frame{width:min(980px,100%);display:grid;gap:18px;padding:22px;border-radius:24px;background:#091322;color:#fff;box-shadow:0 28px 70px #0006}.rick-video{width:100%;aspect-ratio:16 / 9;border:0;border-radius:18px;background:#000}.video-copy h2{margin:10px 0 0;font-size:clamp(1.8rem,4vw,3rem)}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 720px){.portal-header,.hero-strip,.result-form,.marksheet{grid-template-columns:1fr}.portal-header,.panel{padding:24px}.session-badge,.primary-button{grid-column:auto}}
