:root{
  --ut-paper:#f5efe3;
  --ut-paper-light:#fbf8f1;
  --ut-paper-deep:#e8ddca;
  --ut-ink:#152326;
  --ut-ink-soft:#344346;
  --ut-muted:#687173;
  --ut-forest:#063f39;
  --ut-forest-deep:#022d29;
  --ut-forest-soft:#dbe9e4;
  --ut-orange:#d85b18;
  --ut-orange-dark:#a83e0e;
  --ut-orange-soft:#f1d2bd;
  --ut-line:#c9bda9;
  --ut-good:#2d6b57;
  --ut-bad:#a94335;
  --ut-shadow:0 18px 50px rgba(21,35,38,.10);
}

body{
  color:var(--ut-ink);
  background:
    linear-gradient(rgba(21,35,38,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(21,35,38,.026) 1px,transparent 1px),
    var(--ut-paper);
  background-size:38px 38px;
}

h1,h2,h3,.question-prompt{
  font-family:"Source Serif 4",Georgia,"Times New Roman",serif;
  letter-spacing:-.032em;
}

.site-header{
  min-height:78px;
  padding:.75rem clamp(1rem,4vw,4rem);
  color:var(--ut-paper-light);
  background:
    linear-gradient(90deg,rgba(2,45,41,.98),rgba(6,63,57,.95)),
    var(--ut-forest);
  border-bottom:4px solid var(--ut-orange);
  box-shadow:0 8px 30px rgba(2,45,41,.16);
  overflow:hidden;
}
.site-header::after{
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  width:min(44vw,620px);
  background:url('/assets/brand/stripe-field-dark.svg') center/cover no-repeat;
  opacity:.23;
  pointer-events:none;
}
.site-header>*{position:relative;z-index:1}
.brand{color:var(--ut-paper-light);gap:1rem}
.brand-mark{
  width:49px;height:49px;
  border:0;background:transparent;
}
.brand-mark img{object-fit:contain}
.brand-copy strong{font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase}
.brand-copy small{color:#d8e2de;letter-spacing:.17em}
.header-actions{align-items:center}
.header-actions .text-button,.header-actions .account-link{color:var(--ut-paper-light)}
.header-actions .text-button:hover,.header-actions .account-link:hover{text-decoration-color:var(--ut-orange)}

.view{max-width:1480px}
.home-view{padding-top:clamp(2rem,5vw,4.6rem)}
.intro-grid{
  position:relative;
  grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);
  gap:clamp(2rem,5vw,5rem);
  padding:clamp(1.4rem,3.5vw,3.2rem);
  background:linear-gradient(110deg,var(--ut-paper-light) 0 63%,rgba(251,248,241,.88) 63%);
  border:1px solid var(--ut-line);
  border-top:8px solid var(--ut-orange);
  box-shadow:var(--ut-shadow);
  overflow:hidden;
}
.intro-grid::after{
  content:"";
  position:absolute;
  right:-5%;top:-15%;
  width:45%;height:130%;
  background:url('/assets/brand/stripe-field-orange.svg') center/cover no-repeat;
  opacity:.14;
  transform:rotate(-4deg);
  pointer-events:none;
}
.intro-copy,.pace-panel{position:relative;z-index:1}
.intro-copy h1{
  font-size:clamp(3rem,6.7vw,6.8rem);
  line-height:.92;
  max-width:940px;
  margin:.1rem 0 1.2rem;
}
.intro-copy .lede{font-size:clamp(1.03rem,1.6vw,1.25rem);max-width:790px;color:var(--ut-ink-soft)}
.eyebrow{color:var(--ut-orange-dark)}
.primary-button,.mode-start{
  background:var(--ut-forest);
  border-color:var(--ut-forest);
  color:var(--ut-paper-light);
  border-radius:4px;
  box-shadow:none;
}
.primary-button:hover,.mode-start:hover,.primary-button:focus-visible,.mode-start:focus-visible{
  background:var(--ut-forest-deep);
  border-color:var(--ut-orange);
}
.secondary-button{
  border-radius:4px;
  background:var(--ut-paper-light);
  border-color:var(--ut-forest);
  color:var(--ut-forest-deep);
}
.secondary-button:hover,.secondary-button:focus-visible{background:var(--ut-forest);color:var(--ut-paper-light)}
.pace-panel{
  align-self:stretch;
  background:linear-gradient(155deg,var(--ut-forest-deep),var(--ut-forest));
  color:var(--ut-paper-light);
  border:0;
  border-top:9px solid var(--ut-orange);
  padding:1.6rem;
  box-shadow:0 14px 35px rgba(2,45,41,.2);
}
.pace-panel::after{
  content:"";position:absolute;right:-30px;bottom:-30px;width:170px;height:170px;
  background:url('/assets/brand/stripe-medallion.svg') center/contain no-repeat;opacity:.12;
}
.pace-panel .pace-header span,.pace-panel #profileAdvice{color:#d8e2de}
.profile-metrics div{border-color:rgba(255,255,255,.22)}
.profile-metrics dt{color:#c8d6d2}
.profile-metrics dd{color:white}
.pace-line{background:rgba(255,255,255,.17)}
.pace-line span{background:repeating-linear-gradient(115deg,var(--ut-orange) 0 18px,var(--ut-orange-dark) 18px 29px)}

.mode-list{margin-top:clamp(3.5rem,7vw,7rem)}
.section-heading{
  position:relative;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  border-bottom:4px solid var(--ut-ink);
  padding-bottom:1rem;
}
.section-heading::after{
  content:"";position:absolute;left:0;bottom:-4px;width:110px;height:4px;background:var(--ut-orange);
}
.section-heading h2{font-size:clamp(2.4rem,4.8vw,5rem);line-height:.98;margin:.1rem 0 0}
.mode-row{
  grid-template-columns:76px minmax(0,1fr) 110px 96px;
  min-height:112px;
  padding:1.2rem .35rem;
  border-bottom:1px solid var(--ut-line);
  transition:background .18s ease,padding .18s ease;
}
.mode-row:hover{background:rgba(251,248,241,.74);padding-left:.8rem;padding-right:.8rem}
.mode-number{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--ut-orange-dark);
  font-size:2.5rem;
  font-weight:900;
}
.mode-copy h3{font-size:1.55rem;margin-bottom:.35rem}
.mode-copy p{color:var(--ut-ink-soft);max-width:850px}
.mode-stat{border-left:1px solid var(--ut-line);padding-left:1rem}
.mode-stat span{color:var(--ut-muted)}
.quantitative-modes .mode-number,.decision-modes .mode-number{color:var(--ut-orange-dark)}
.quant-strip,.decision-strip,.review-strip,.method-note{
  border-radius:0;
  border:1px solid var(--ut-line);
  border-left:8px solid var(--ut-orange);
  background:var(--ut-paper-light);
  box-shadow:0 10px 24px rgba(21,35,38,.06);
}
.method-note{margin-top:4rem;padding:1.5rem}
.method-note h2{font-size:2rem}
.site-footer{
  background:var(--ut-forest-deep);
  color:var(--ut-paper-light);
  border-top:5px solid var(--ut-orange);
}
.site-footer a{color:var(--ut-paper-light)}

/* Live session */
body.game-active{
  background:var(--ut-paper);
}
body.game-active main{min-height:100vh}
.game-view{
  max-width:none;
  padding:0;
  margin:0;
}
.game-header{
  position:relative;
  display:grid;
  grid-template-columns:170px minmax(0,1fr) auto;
  align-items:center;
  gap:1.5rem;
  padding:1rem clamp(1rem,4vw,4rem);
  color:var(--ut-paper-light);
  background:
    linear-gradient(90deg,rgba(2,45,41,.98),rgba(6,63,57,.93)),
    var(--ut-forest);
  border:0;
  overflow:hidden;
}
.game-header::after{
  content:"";position:absolute;right:0;top:0;width:34%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(2,45,41,.05)),url('/assets/brand/tiger-eye-hero.webp') center 48%/cover no-repeat;
  opacity:.34;mask-image:linear-gradient(90deg,transparent,#000 35%);
}
.game-header>*{position:relative;z-index:1}
.game-header .back-button{color:var(--ut-paper-light);border:1px solid rgba(255,255,255,.55);border-radius:4px}
.game-title-wrap{text-align:left}
.game-title-wrap .eyebrow{color:#f4a276;margin-bottom:.25rem}
.game-title-wrap h1{color:white;font-size:clamp(1.8rem,3vw,3rem);margin:0}
.game-status{gap:.75rem;font-weight:900}
.game-status span,.game-status time{
  min-width:82px;text-align:center;border:1px solid rgba(255,255,255,.5);padding:.65rem .8rem;background:rgba(2,45,41,.68)
}
.timer-track{height:8px;background:var(--ut-paper-deep);margin:0}
.timer-track span{background:repeating-linear-gradient(115deg,var(--ut-orange) 0 22px,var(--ut-orange-dark) 22px 34px)}
.game-layout{
  max-width:1500px;
  margin:clamp(1rem,3vw,2.5rem) auto;
  padding:0 clamp(1rem,3vw,2.5rem);
  grid-template-columns:minmax(0,.94fr) minmax(410px,1.06fr);
  gap:0;
  align-items:stretch;
}
.passage-panel,.question-panel{
  background:var(--ut-paper-light);
  border:1px solid var(--ut-line);
  border-radius:0;
  box-shadow:none;
  min-height:590px;
  padding:clamp(1.4rem,3vw,2.6rem);
}
.passage-panel{border-right:0}
.question-panel{position:relative;border-top:8px solid var(--ut-orange)}
.panel-label{
  display:inline-block;
  color:var(--ut-orange-dark);
  border-bottom:2px solid var(--ut-orange);
  padding-bottom:.45rem;
  margin-bottom:1.2rem;
  font-size:.72rem;
  letter-spacing:.18em;
}
.passage-text{font-family:Georgia,"Times New Roman",serif;color:var(--ut-ink);line-height:1.72}
.question-prompt{
  font-size:clamp(1.65rem,3.1vw,2.75rem);
  line-height:1.1;
  max-width:760px;
}
.answer-area button,.answer-option,.answer-choice{
  border-radius:3px!important;
}
.answer-area button{
  border-color:var(--ut-line)!important;
  background:var(--ut-paper-light)!important;
  min-height:58px;
}
.answer-area button:hover{border-color:var(--ut-forest)!important}
.answer-area button.selected,.answer-area button[aria-pressed="true"]{
  border-color:var(--ut-forest)!important;
  background:var(--ut-forest-soft)!important;
}
.question-hint,.coach-panel,.runtime-notice{
  border-radius:0;
  background:var(--ut-paper);
  border-left-color:var(--ut-orange);
}
.question-actions{border-top:1px solid var(--ut-line);padding-top:1.2rem;margin-top:1.3rem}
.calculator-panel{border-radius:0;border-color:var(--ut-line);background:var(--ut-paper)}
.calculator-key{border-radius:2px}
.shortcut-note{color:var(--ut-muted)}

/* Results and dialogs */
.summary-view{padding-top:clamp(2.2rem,5vw,5rem)}
.summary-heading{border-bottom:4px solid var(--ut-ink);padding-bottom:1.4rem;position:relative}
.summary-heading::after{content:"";position:absolute;bottom:-4px;left:0;width:120px;height:4px;background:var(--ut-orange)}
.summary-heading h1{font-size:clamp(3rem,7vw,6.5rem);line-height:.95}
.summary-metrics{
  border-top:0;border-bottom:1px solid var(--ut-line);
  background:var(--ut-paper-light);
  box-shadow:var(--ut-shadow);
}
.summary-metrics div{border-color:var(--ut-line)}
.summary-metrics strong{color:var(--ut-orange-dark)}
.diagnosis,.answer-review,.timeline{margin-top:3.2rem}
.diagnosis h2,.answer-review h2,.timeline h2{font-size:2rem;border-bottom:1px solid var(--ut-line);padding-bottom:.6rem}
.settings-dialog{
  border:1px solid var(--ut-ink);
  border-top:8px solid var(--ut-orange);
  border-radius:0;
  background:var(--ut-paper-light);
  box-shadow:0 35px 90px rgba(2,45,41,.32);
}
.settings-dialog::backdrop{background:rgba(2,45,41,.76)}
.settings-dialog h2{font-size:2.2rem}

@media(max-width:900px){
  .intro-grid{grid-template-columns:1fr}
  .intro-grid::after{width:70%;height:50%;top:auto;bottom:-15%;opacity:.08}
  .mode-row{grid-template-columns:60px minmax(0,1fr) 95px}
  .mode-row .mode-start{grid-column:2/4;justify-self:start}
  .game-header{grid-template-columns:auto 1fr auto}
  .game-header::after{width:48%}
  .game-layout{grid-template-columns:1fr;gap:1rem}
  .passage-panel{border-right:1px solid var(--ut-line);min-height:auto}
  .question-panel{min-height:auto}
}
@media(max-width:620px){
  .site-header{padding:.65rem .8rem;min-height:66px}
  .brand-mark{width:42px;height:42px}
  .brand-copy small{display:none}
  .header-actions{gap:0}
  .header-actions .text-button{font-size:.78rem;padding:.45rem}
  .intro-grid{padding:1.3rem;border-top-width:6px}
  .intro-copy h1{font-size:clamp(2.8rem,14vw,4.4rem)}
  .primary-actions{display:grid;grid-template-columns:1fr}
  .primary-actions button{width:100%}
  .section-heading{display:block}
  .section-heading .secondary-button{margin-top:1rem}
  .mode-row{grid-template-columns:48px 1fr;padding:1rem 0}
  .mode-number{font-size:1.8rem}
  .mode-stat{grid-column:2;border-left:0;padding-left:0}
  .mode-row .mode-start{grid-column:2}
  .game-header{grid-template-columns:1fr auto;padding:.8rem}
  .game-header .back-button{grid-column:1/3;justify-self:start}
  .game-title-wrap h1{font-size:1.65rem}
  .game-status span,.game-status time{min-width:65px;padding:.5rem}
  .game-layout{padding:0 .8rem;margin:1rem auto}
  .passage-panel,.question-panel{padding:1rem}
  .question-prompt{font-size:1.65rem}
  .question-actions{align-items:stretch}
  .question-actions,.question-actions-left{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
  .question-actions>.primary-button{grid-column:1/3;width:100%}
}

@media(prefers-reduced-motion:reduce){.mode-row{transition:none}}
@media(max-width:620px){
  .header-actions>a[href="/"]{display:none}
}

/* v1.5.1 question-purpose labels */
.training-type{display:inline-block;width:max-content;border:1px solid currentColor;padding:.2rem .45rem;font-size:.68rem;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:var(--accent,#d85b18);background:rgba(255,250,240,.68)}
.training-type[data-level="bridge"]{color:var(--forest,#063f39);background:rgba(219,233,228,.78)}
.training-type[data-level="ucat_style"]{color:#fffaf0;background:var(--forest,#063f39);border-color:var(--forest,#063f39)}
.mode-copy .training-type{margin-bottom:.45rem}.game-kicker{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.game-kicker .eyebrow{margin:0}
