*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--navy:#0f2240;--navy-mid:#1a3560;--gold:#c9922a;--gold-light:#f0c96b;--cream:#faf8f3;--cream-dark:#f0ece0;--text:#1a1a1a;--text-muted:#5a5a5a;--border:#0f22401f;--green:#1d6b4a;--green-bg:#eaf3ee;--red:#8b1a1a;--red-bg:#fdf0f0;--amber:#7a4f0d;--amber-bg:#fdf4e4;--shadow:0 2px 20px #0f224014;--shadow-lg:0 8px 40px #0f224024}body{background:var(--cream);color:var(--text);min-height:100vh;font-family:DM Sans,sans-serif;font-size:15px;line-height:1.65}header{background:var(--navy);z-index:100;border-bottom:2px solid var(--gold);padding:0 2rem;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;max-width:960px;height:64px;margin:0 auto;display:flex}.logo{align-items:center;gap:12px;display:flex}.logo-crest{background:var(--gold);width:36px;height:36px;color:var(--navy);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Playfair Display,serif;font-size:16px;font-weight:600;display:flex}.logo-text{flex-direction:column;line-height:1.2;display:flex}.logo-title{color:#fff;letter-spacing:.01em;font-family:Playfair Display,serif;font-size:15px;font-weight:600}.logo-sub{color:var(--gold-light);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:300}.session-badge{color:var(--gold-light);letter-spacing:.03em;opacity:0;font-size:12px;font-weight:300;transition:opacity .3s}.session-badge.visible{opacity:1}main{max-width:960px;margin:0 auto;padding:2.5rem 2rem 4rem}.hero{text-align:center;margin-bottom:2.5rem;padding:2.5rem 1rem 2rem}.hero-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;font-size:11px;font-weight:500}.hero h1{color:var(--navy);margin-bottom:1rem;font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.15}.hero p{color:var(--text-muted);max-width:560px;margin:0 auto;font-size:15px;font-weight:300;line-height:1.7}.config-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:16px;margin-bottom:2rem;padding:2rem}.config-title{color:var(--navy);align-items:center;gap:8px;margin-bottom:1.5rem;font-family:Playfair Display,serif;font-size:17px;font-weight:600;display:flex}.config-title:before{content:"";background:var(--gold);border-radius:2px;flex-shrink:0;width:3px;height:18px;display:block}.config-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:1.5rem;display:grid}.field label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:500;display:block}select,input[type=text]{border:1px solid var(--border);width:100%;color:var(--text);background:var(--cream);appearance:none;cursor:pointer;border-radius:8px;padding:9px 12px;font-family:DM Sans,sans-serif;font-size:14px;transition:border-color .2s,box-shadow .2s}select:focus,input[type=text]:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px #0f224014}.select-wrap{position:relative}.select-wrap:after{content:"▾";color:var(--text-muted);pointer-events:none;font-size:12px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.category-pills{flex-wrap:wrap;gap:8px;margin-bottom:1.5rem;display:flex}.pill{border:1px solid var(--border);cursor:pointer;background:var(--cream);color:var(--text-muted);-webkit-user-select:none;user-select:none;border-radius:100px;padding:6px 14px;font-size:13px;font-weight:400;transition:all .18s}.pill:hover{border-color:var(--navy-mid);color:var(--navy)}.pill.active{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:500}.field-label-row{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:10px;font-size:12px;font-weight:500}.gen-btn{background:var(--navy);color:#fff;cursor:pointer;letter-spacing:.02em;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:13px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:500;transition:background .2s,transform .1s;display:flex}.gen-btn:hover{background:var(--navy-mid)}.gen-btn:active{transform:scale(.99)}.gen-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.gen-btn svg{flex-shrink:0;width:18px;height:18px}.timer-bar{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:12px;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1rem 1.5rem;display:none}.timer-bar.visible{display:flex}.timer-display{color:var(--navy);letter-spacing:.02em;min-width:80px;font-family:Playfair Display,serif;font-size:2rem;font-weight:600}.timer-display.urgent{color:var(--red)}.timer-track{background:var(--cream-dark);border-radius:3px;flex:1;height:6px;overflow:hidden}.timer-fill{background:var(--navy);border-radius:3px;height:100%;transition:width 1s linear,background .5s}.timer-fill.urgent{background:var(--red)}.timer-controls{gap:8px;display:flex}.icon-btn{border:1px solid var(--border);background:var(--cream);cursor:pointer;width:34px;height:34px;color:var(--navy);border-radius:8px;justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex}.icon-btn:hover{background:var(--cream-dark);border-color:var(--navy)}.timer-label{color:var(--text-muted);font-size:12px;line-height:1.3}.station-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:16px;margin-bottom:1.5rem;display:none;overflow:hidden}.station-card.visible{display:block}.station-header{background:var(--navy);justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.station-meta{align-items:center;gap:10px;display:flex}.tag{letter-spacing:.04em;text-transform:uppercase;border-radius:100px;padding:3px 10px;font-size:11px;font-weight:500}.tag-category{color:var(--gold-light);background:#c9922a40;border:1px solid #c9922a66}.tag-difficulty{color:#ffffff8c;letter-spacing:.03em;font-size:11px;font-weight:400}.station-num{color:#fff6;letter-spacing:.05em;font-size:12px;font-weight:300}.station-body{padding:1.75rem}.scenario-label{text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin-bottom:.75rem;font-size:11px;font-weight:500}.scenario-text{color:var(--text);border-left:3px solid var(--gold);margin-bottom:1.5rem;padding-left:1.25rem;font-size:15px;font-weight:300;line-height:1.75}.question-box{background:var(--navy);color:#fff;border-radius:10px;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.question-box .qlabel{text-transform:uppercase;letter-spacing:.1em;color:var(--gold-light);opacity:.75;margin-bottom:.5rem;font-size:11px;font-weight:500}.question-box p{font-size:16px;font-weight:400;line-height:1.6}.prompt-list{flex-direction:column;gap:6px;margin-bottom:1.5rem;list-style:none;display:flex}.prompt-list li{color:var(--text-muted);align-items:flex-start;gap:10px;font-size:13px;display:flex}.prompt-list li:before{content:"›";color:var(--gold);flex-shrink:0;font-size:16px;line-height:1.3}.response-area{margin-bottom:1.5rem}.response-area label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:500;display:block}textarea{border:1px solid var(--border);width:100%;min-height:140px;color:var(--text);background:var(--cream);resize:vertical;border-radius:10px;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:14px;line-height:1.65;transition:border-color .2s,box-shadow .2s}textarea:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px #0f224012}.action-row{flex-wrap:wrap;gap:10px;display:flex}.btn-secondary{background:var(--cream);border:1px solid var(--border);cursor:pointer;min-width:140px;color:var(--navy);border-radius:8px;flex:1;padding:10px 16px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:400;transition:all .15s}.btn-secondary:hover{background:var(--cream-dark);border-color:var(--navy-mid)}.btn-primary{background:var(--gold);cursor:pointer;color:#fff;border:none;border-radius:8px;flex:2;justify-content:center;align-items:center;gap:6px;min-width:200px;padding:10px 20px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:all .15s;display:flex}.btn-primary:hover{background:#b8821f}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.feedback-section{border-top:1px solid var(--border);margin-top:1.75rem;padding-top:1.75rem}.feedback-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:1.25rem;font-size:11px;font-weight:500}.score-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:1.5rem;display:grid}.score-card{background:var(--cream);border:1px solid var(--border);text-align:center;border-radius:10px;padding:.875rem 1rem}.score-card .score-val{color:var(--navy);margin-bottom:4px;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:600;line-height:1}.score-card .score-name{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:11px;font-weight:500}.score-card.high .score-val{color:var(--green)}.score-card.mid .score-val{color:var(--amber)}.score-card.low .score-val{color:var(--red)}.feedback-block{border-radius:10px;margin-bottom:1rem;padding:1.1rem 1.25rem;font-size:14px;line-height:1.7}.feedback-block.model,.feedback-block.strengths{background:var(--green-bg);border-left:3px solid var(--green)}.feedback-block.improvements{background:var(--amber-bg);border-left:3px solid var(--amber)}.feedback-block.warning{background:var(--red-bg);border-left:3px solid var(--red)}.feedback-block-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.6rem;font-size:11px;font-weight:600}.feedback-block.model .feedback-block-title,.feedback-block.strengths .feedback-block-title{color:var(--green)}.feedback-block.improvements .feedback-block-title{color:var(--amber)}.feedback-block.warning .feedback-block-title{color:var(--red)}.loading-state{text-align:center;color:var(--text-muted);padding:2.5rem;font-size:14px;font-weight:300}.spinner{border:2px solid var(--cream-dark);border-top-color:var(--navy);border-radius:50%;width:28px;height:28px;margin:0 auto 1rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.history-strip{scrollbar-width:none;gap:8px;margin-bottom:1.5rem;padding-bottom:4px;display:flex;overflow-x:auto}.history-strip::-webkit-scrollbar{display:none}.history-chip{border:1px solid var(--border);cursor:pointer;color:var(--text-muted);white-space:nowrap;background:#fff;border-radius:100px;flex-shrink:0;padding:5px 12px;font-size:12px;transition:all .15s}.history-chip:hover{border-color:var(--navy);color:var(--navy)}.history-chip.active{background:var(--navy);border-color:var(--navy);color:#fff}.empty-state{text-align:center;color:var(--text-muted);padding:3rem 1rem}.empty-state-icon{opacity:.4;margin-bottom:1rem;font-size:2.5rem}.empty-state p{font-size:14px;font-weight:300}@media (width<=600px){main{padding:1.5rem 1rem 3rem}.config-card,.station-body{padding:1.25rem}.action-row{flex-direction:column}.btn-secondary,.btn-primary{flex:none;width:100%}.mock-flow-steps{flex-wrap:wrap}.flow-step{border-right:none;border-bottom:1px solid var(--border);min-width:45%}.mock-big-time{font-size:3.5rem}}.header-nav{background:#ffffff12;border-radius:8px;gap:2px;padding:3px;display:flex}.nav-tab{color:#ffffff8c;cursor:pointer;letter-spacing:.01em;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:6px 16px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:400;transition:all .18s}.nav-tab:hover{color:#ffffffd9;background:#ffffff14}.nav-tab.active{color:#fff;background:#ffffff26;font-weight:500}#mockPage{display:none}.mock-hero{text-align:center;margin-bottom:2rem;padding:2rem 1rem 1.5rem}.mock-hero h2{color:var(--navy);margin-bottom:.75rem;font-family:Playfair Display,serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:600}.mock-hero p{color:var(--text-muted);max-width:500px;margin:0 auto;font-size:14px;font-weight:300}.mock-start-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:16px;max-width:600px;margin:0 auto 2rem;padding:2rem}.mock-flow-steps{border:1px solid var(--border);border-radius:10px;align-items:stretch;gap:0;margin-bottom:2rem;display:flex;overflow:hidden}.flow-step{text-align:center;border-right:1px solid var(--border);flex:1;padding:1rem .75rem}.flow-step:last-child{border-right:none}.flow-step-phase{text-transform:uppercase;letter-spacing:.09em;margin-bottom:4px;font-size:10px;font-weight:600}.flow-step-time{color:var(--navy);margin-bottom:3px;font-family:Playfair Display,serif;font-size:1.3rem;font-weight:600;line-height:1}.flow-step-label{color:var(--text-muted);font-size:10px;font-weight:300}.flow-step.read{background:#eef3fb}.flow-step.read .flow-step-phase{color:#2563a8}.flow-step.question{background:var(--amber-bg)}.flow-step.question .flow-step-phase{color:var(--amber)}.flow-step.answer{background:var(--green-bg)}.flow-step.answer .flow-step-phase{color:var(--green)}.flow-step.repeat{background:var(--cream)}.flow-step.repeat .flow-step-phase{color:var(--text-muted)}.mock-total-time{text-align:center;color:var(--text-muted);margin-bottom:1.5rem;font-size:12px;font-weight:300}.mock-total-time strong{color:var(--navy);font-weight:500}.mock-arena{max-width:700px;margin:0 auto;display:none}.mock-arena.visible{display:block}.mock-phase-indicator{justify-content:center;gap:6px;margin-bottom:1.5rem;display:flex}.phase-dot{background:var(--cream-dark);border:1.5px solid var(--border);border-radius:50%;width:8px;height:8px;transition:all .3s}.phase-dot.done{background:var(--navy);border-color:var(--navy);opacity:.35}.phase-dot.active{background:var(--gold);border-color:var(--gold);transform:scale(1.4)}.mock-clock-card{background:var(--navy);text-align:center;border-radius:16px;margin-bottom:1.5rem;padding:2rem 2rem 1.5rem;position:relative;overflow:hidden}.mock-clock-card:before{content:"";pointer-events:none;background:radial-gradient(at top,#c9922a1f 0%,#0000 60%);position:absolute;inset:0}.mock-phase-label{text-transform:uppercase;letter-spacing:.12em;color:#ffffff73;margin-bottom:.5rem;font-size:11px;font-weight:400}.mock-big-time{color:#fff;letter-spacing:-.01em;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:clamp(3.5rem,10vw,5.5rem);font-weight:600;line-height:1;transition:color .3s}.mock-big-time.urgent{color:#ff8c8c}.mock-phase-sub{color:#ffffff80;margin-bottom:1.25rem;font-size:13px;font-weight:300}.mock-progress-track{background:#ffffff1f;border-radius:2px;height:4px;overflow:hidden}.mock-progress-fill{background:var(--gold);border-radius:2px;height:100%;transition:width 1s linear,background .3s}.mock-progress-fill.urgent{background:#ff8c8c}.mock-content-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:14px;margin-bottom:1.25rem;padding:1.75rem;transition:opacity .4s}.mock-content-card.hidden{opacity:0;pointer-events:none}.mock-scenario-eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin-bottom:.75rem;font-size:10px;font-weight:600}.mock-scenario-text{color:var(--text);font-size:15px;font-weight:300;line-height:1.75}.mock-question-card{background:var(--navy);color:#fff;border-radius:14px;margin-bottom:1.25rem;padding:1.5rem 1.75rem;transition:opacity .4s,transform .4s}.mock-question-card.hidden{opacity:0;pointer-events:none;transform:translateY(6px)}.mock-q-eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--gold-light);opacity:.7;margin-bottom:.5rem;font-size:10px;font-weight:500}.mock-q-text{font-size:17px;font-weight:400;line-height:1.6}.mock-status-bar{border:1px solid var(--border);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding:.875rem 1.25rem;font-size:13px;display:flex}.mock-q-counter{color:var(--text-muted);font-weight:300}.mock-q-counter strong{color:var(--navy);font-weight:500}.mock-phase-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:100px;padding:4px 12px;font-size:11px;font-weight:600}.badge-reading{color:#1d4ed8;background:#dbeafe}.badge-question{background:var(--amber-bg);color:var(--amber)}.badge-answer{background:var(--green-bg);color:var(--green)}.badge-done{background:var(--cream-dark);color:var(--text-muted)}.mock-done-card{border:1px solid var(--border);text-align:center;box-shadow:var(--shadow);background:#fff;border-radius:16px;max-width:500px;margin:0 auto;padding:3rem 2rem;display:none}.mock-done-card.visible{display:block}.mock-done-icon{margin-bottom:1rem;font-size:2.5rem}.mock-done-card h3{color:var(--navy);margin-bottom:.75rem;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:600}.mock-done-card p{color:var(--text-muted);margin-bottom:1.75rem;font-size:14px;font-weight:300;line-height:1.65}
