:root{--ink:#f8f5ff;--muted:#aaa2bd;--night:#08060d;--panel:rgba(23,16,37,0.82);--panel-strong:#171025;--purple:#9b5cff;--purple-2:#6f39e8;--pink:#ff4fba;--line:rgba(193,159,255,0.22);--success:#35df9a;--warning:#ffbd59;--danger:#ff6b86}*{box-sizing:border-box}html{min-height:100%;background:var(--night)}body{min-height:100vh;margin:0;background:radial-gradient(circle at 15% 5%,rgba(155,92,255,.22),transparent 34rem),radial-gradient(circle at 88% 85%,rgba(255,79,186,.13),transparent 30rem),linear-gradient(145deg,#08060d,#0d0817 52%,#08060d);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid rgba(255,79,186,.5);outline-offset:3px}.app-shell{position:relative;min-height:100vh;overflow:hidden}.grid-overlay{inset:0;opacity:.26;background-image:linear-gradient(rgba(163,113,255,.08) 1px,transparent 0),linear-gradient(90deg,rgba(163,113,255,.08) 1px,transparent 0);background-size:42px 42px;-webkit-mask-image:linear-gradient(180deg,black,transparent 82%);mask-image:linear-gradient(180deg,black,transparent 82%)}.grid-overlay,.orb{position:fixed;pointer-events:none}.orb{width:28rem;height:28rem;border-radius:999px;filter:blur(90px);opacity:.16}.orb-one{top:-12rem;right:-9rem;background:var(--purple)}.orb-two{bottom:-16rem;left:-8rem;background:var(--pink)}.topbar{position:relative;z-index:2;display:flex;justify-content:space-between;width:min(1120px,calc(100% - 40px));margin:0 auto;padding:28px 0 10px}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:11px;color:var(--ink);text-decoration:none}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:linear-gradient(145deg,rgba(155,92,255,.42),rgba(255,79,186,.22));box-shadow:inset 0 0 18px rgba(155,92,255,.24),0 0 24px rgba(155,92,255,.2);font-weight:900}.brand-copy strong{display:block;font-size:.94rem;letter-spacing:.16em;line-height:1}.brand-copy span{display:block;margin-top:4px;color:var(--muted);font-size:.68rem;letter-spacing:.21em;text-transform:uppercase}.secure-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:rgba(14,9,23,.7);color:#d7cee7;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.secure-dot{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 12px var(--success)}.stage{position:relative;z-index:1;display:grid;min-height:calc(100vh - 82px);place-items:center;padding:40px 20px 72px}.hero-grid{display:grid;width:min(1120px,100%);grid-template-columns:minmax(0,1.14fr) minmax(350px,.86fr);gap:64px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 24px;color:#d9c6ff;font-size:.78rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.eyebrow:before{width:28px;height:1px;background:linear-gradient(90deg,var(--pink),var(--purple));content:""}.hero-title{max-width:760px;margin:0;font-size:clamp(3.5rem,8vw,7.4rem);font-weight:900;letter-spacing:-.075em;line-height:.86;text-transform:uppercase}.hero-title span{display:block;background:linear-gradient(100deg,#ffffff 5%,#cfadff 48%,#ff83cd 95%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy{max-width:650px;margin:30px 0 0;color:#c9c1d6;font-size:clamp(1rem,2vw,1.18rem);line-height:1.75}.feature-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.feature-chip{padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:rgba(17,10,28,.64);color:#d7cee7;font-size:.78rem}.panel{position:relative;border:1px solid var(--line);border-radius:28px;background:linear-gradient(160deg,rgba(31,20,48,.92),rgba(14,9,23,.92));box-shadow:0 30px 90px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.06);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.panel:after,.panel:before{position:absolute;width:42px;height:42px;border-color:rgba(255,79,186,.65);content:"";pointer-events:none}.panel:before{top:-1px;left:-1px;border-top:2px solid;border-left:2px solid;border-radius:28px 0 0}.panel:after{right:-1px;bottom:-1px;border-right:2px solid;border-bottom:2px solid;border-radius:0 0 28px}.form-panel{padding:32px}.panel-kicker{margin:0 0 8px;color:#ae8cff;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.panel-title{margin:0;font-size:clamp(1.55rem,3vw,2.15rem);letter-spacing:-.035em}.panel-description{margin:10px 0 26px;color:var(--muted);font-size:.9rem;line-height:1.6}.form-grid{display:grid;gap:16px}.field label{display:block;margin-bottom:8px;color:#ded6eb;font-size:.78rem;font-weight:700}.field input{width:100%;border:1px solid rgba(202,170,255,.2);border-radius:13px;background:rgba(8,5,13,.72);color:var(--ink);padding:14px 15px;transition:border-color .16s ease,box-shadow .16s ease}.field input::placeholder{color:#6f687b}.field input:focus{border-color:rgba(155,92,255,.72);box-shadow:0 0 0 4px rgba(155,92,255,.1);outline:none}.primary-button,.secondary-button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:10px;border-radius:14px;padding:0 20px;font-weight:850;letter-spacing:.035em;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.primary-button{border:0;background:linear-gradient(105deg,var(--purple-2),var(--purple) 55%,var(--pink));box-shadow:0 14px 34px rgba(122,62,232,.3);color:white;cursor:pointer}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){transform:translateY(-2px)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.48}.secondary-button{border:1px solid var(--line);background:rgba(20,13,32,.84);color:var(--ink);cursor:pointer}.button-wide{width:100%;margin-top:5px}.privacy-note{margin:14px 0 0;color:#777083;font-size:.7rem;line-height:1.5;text-align:center}.test-wrap{width:min(860px,100%)}.test-header{margin-bottom:22px}.test-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;color:#b6aec3;font-size:.76rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.progress-track{position:relative;height:8px;overflow:hidden;border:1px solid rgba(188,149,255,.15);border-radius:999px;background:rgba(255,255,255,.05)}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple-2),var(--purple),var(--pink));box-shadow:0 0 18px rgba(155,92,255,.55);transition:width .38s ease}.question-panel{padding:clamp(24px,5vw,48px)}.question-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.difficulty-tag,.skill-tag{display:inline-flex;align-items:center;min-height:30px;border-radius:999px;padding:0 11px;font-size:.68rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.skill-tag{border:1px solid rgba(155,92,255,.32);background:rgba(155,92,255,.1);color:#cfb7ff}.difficulty-tag{color:#81798d}.context-card{margin:0 0 24px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(5,3,9,.45);padding:16px 18px;color:#c9c1d6;font-size:.9rem;line-height:1.65}.dialogue-line+.dialogue-line{margin-top:7px}.dialogue-line strong{color:#f5edff}.question-title{margin:0;font-size:clamp(1.42rem,4vw,2.2rem);letter-spacing:-.035em;line-height:1.25}.audio-button{display:inline-flex;align-items:center;gap:10px;margin-top:18px;border:1px solid rgba(255,79,186,.3);border-radius:12px;background:rgba(255,79,186,.08);color:#ffd2ed;padding:11px 14px;font-weight:750;cursor:pointer}.option-grid{display:grid;gap:11px;margin-top:28px}.option-button{display:grid;grid-template-columns:34px 1fr;gap:13px;align-items:center;width:100%;border:1px solid rgba(196,164,255,.16);border-radius:14px;background:rgba(12,7,20,.55);color:#eee8f6;padding:14px 16px;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.option-button:hover{border-color:rgba(155,92,255,.5);background:rgba(155,92,255,.08);transform:translateX(3px)}.option-button.selected{border-color:rgba(255,79,186,.68);background:linear-gradient(90deg,rgba(155,92,255,.16),rgba(255,79,186,.1));box-shadow:inset 0 0 0 1px rgba(255,79,186,.12)}.option-index{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.04);color:#ab9cbf;font-size:.75rem;font-weight:850}.question-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:30px}.adaptive-note{max-width:320px;color:#777083;font-size:.72rem;line-height:1.5}.result-grid{display:grid;width:min(980px,100%);grid-template-columns:.82fr 1.18fr;gap:22px}.result-card{min-height:100%;padding:clamp(26px,5vw,44px)}.result-level{margin:18px 0 0;font-size:clamp(5.3rem,15vw,9rem);font-weight:950;letter-spacing:-.09em;line-height:.8;background:linear-gradient(120deg,white,#c9a6ff 52%,#ff7ccc);-webkit-background-clip:text;background-clip:text;color:transparent}.result-act{margin-top:18px;color:#cdb8ef;font-size:.8rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase}.confidence{display:inline-flex;align-items:center;gap:8px;margin-top:24px;border:1px solid rgba(53,223,154,.25);border-radius:999px;background:rgba(53,223,154,.07);color:#8ff0c7;padding:9px 12px;font-size:.72rem;font-weight:800}.result-title{margin:0;font-size:clamp(1.8rem,5vw,3rem);letter-spacing:-.045em}.result-description{margin:16px 0 0;color:#c5bdcf;font-size:1rem;line-height:1.75}.result-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0}.stat-box{border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(5,3,9,.36);padding:15px}.stat-box span{display:block;color:#7f768c;font-size:.66rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.stat-box strong{display:block;margin-top:6px;color:#f0e8fa;font-size:.96rem}.result-actions{display:flex;flex-wrap:wrap;gap:10px}.footer-note{position:absolute;right:20px;bottom:16px;left:20px;color:#5f5968;font-size:.67rem;letter-spacing:.1em;text-align:center;text-transform:uppercase}@media (max-width:860px){.hero-grid,.result-grid{grid-template-columns:1fr}.hero-grid{gap:36px}.hero-title{max-width:650px}}@media (max-width:600px){.topbar{width:min(100% - 28px,1120px);padding-top:18px}.secure-pill{padding:8px 10px;font-size:.64rem}.stage{align-items:start;padding:42px 14px 80px}.hero-title{font-size:clamp(3.6rem,20vw,5.6rem)}.form-panel,.question-panel,.result-card{border-radius:22px;padding:24px 19px}.question-actions,.question-topline{align-items:stretch}.question-actions{flex-direction:column-reverse}.question-actions .primary-button{width:100%}.result-stats{grid-template-columns:1fr}.result-actions{flex-direction:column}.result-actions a,.result-actions button{width:100%}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}}.error-message{margin:8px 0 0;border:1px solid rgba(255,107,134,.25);border-radius:10px;background:rgba(255,107,134,.08);color:#ffb6c3;padding:10px 12px;font-size:.78rem;line-height:1.5}.question-image{display:block;width:100%;max-height:340px;margin:0 0 24px;border:1px solid var(--line);border-radius:16px;object-fit:cover}.admin-shell{min-height:100vh;background:radial-gradient(circle at 10% 0,rgba(155,92,255,.2),transparent 36rem),var(--night);padding:48px 22px}.admin-login{width:min(460px,100%);margin:9vh auto 0;padding:38px}.admin-dashboard{width:min(1220px,100%);margin:0 auto}.admin-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.admin-header h1{margin:0;font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-.055em}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.admin-stats article{border:1px solid var(--line);border-radius:16px;background:rgba(23,16,37,.72);padding:18px}.admin-stats span{display:block;color:#8d849a;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-stats strong{display:block;margin-top:7px;font-size:1.8rem}.admin-table-panel{overflow:hidden;padding:0}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--line)}.table-toolbar h2{margin:0;font-size:1.15rem}.table-toolbar p{margin:5px 0 0;color:var(--muted);font-size:.76rem}.table-toolbar input{width:min(330px,100%);border:1px solid var(--line);border-radius:12px;background:rgba(5,3,9,.5);color:var(--ink);padding:12px 14px}.table-scroll{overflow-x:auto}table{width:100%;min-width:900px;border-collapse:collapse}td,th{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left}th{color:#8d849a;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}td{color:#d9d2e3;font-size:.82rem}td small,td span{display:block}td small{margin-top:4px;color:#807788}.status-badge{display:inline-flex;width:fit-content;border-radius:999px;padding:7px 9px;font-size:.68rem;font-weight:800}.status-badge.completed{background:rgba(53,223,154,.09);color:#8ff0c7}.status-badge.in_progress{background:rgba(255,189,89,.09);color:#ffd28a}.empty-cell{padding:42px;color:#82798d;text-align:center}.detail-button{border:1px solid var(--line);border-radius:9px;background:rgba(155,92,255,.08);color:#d6c3ff;padding:8px 10px;font-size:.7rem;font-weight:800;cursor:pointer}.answer-detail-row>td{padding:0;background:rgba(7,4,12,.55)}.answer-history{padding:24px}.answer-history h3{margin:0 0 14px;font-size:1rem}.answer-list{display:grid;gap:10px}.answer-item{border:1px solid rgba(196,164,255,.14);border-radius:13px;background:rgba(23,16,37,.7);padding:15px}.answer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#9f96aa;font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.answer-correct{color:#d8bdff}.answer-wrong{color:#ff9fb1}.answer-item p{margin:9px 0 12px;color:#eee8f6;font-size:.82rem}.answer-item dl{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,2fr) minmax(80px,.5fr);gap:10px;margin:0}.answer-item dl div{border-radius:9px;background:rgba(7,4,12,.48);padding:10px}.answer-item dt{color:#7f768c;font-size:.6rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.answer-item dd{margin:5px 0 0;color:#d9d2e3;font-size:.73rem}.empty-history{margin:0;color:#82798d;font-size:.8rem}@media (max-width:760px){.admin-header,.table-toolbar{align-items:stretch;flex-direction:column}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.table-toolbar input{width:100%}}