/* tasks-base.css
   Thinking-task screens (stimuli, answer buttons, timers) and leftover results styles.
*/

body,
button,
.screen,
.metro-page,
.site-page,
.goal-real-app,
.insight-shell{
  -webkit-user-select:none;
  user-select:none;
}

/* Public site pages are for reading: allow text selection (overrides app-screen no-select above). */
.site-page,.site-page *{-webkit-user-select:text;user-select:text;}
input,
textarea,
select{
  -webkit-user-select:text;
  user-select:text;
}
.result-panel h3{font-family:inherit;font-size:18px;font-weight:800;margin:0 0 12px;}
.result-panel p{font-size:14px;color:#44524c;margin-top:10px;}
.profile-vis{display:grid;grid-template-columns:210px 1fr;gap:24px;align-items:center;}
.ddi-ring{width:210px;height:210px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#1d6e55 0deg,#1d6e55 0deg,#d6ddd8 0deg,#d6ddd8 360deg);transition:background 1s ease;box-shadow:inset 0 0 0 1px rgba(15,26,23,.08);}
.ddi-ring-inner{width:126px;height:126px;border-radius:50%;background:var(--paper);display:grid;place-items:center;text-align:center;}
.ddi-ring-inner strong{display:block;font-size:34px;font-variant-numeric:tabular-nums;}
.ddi-ring-inner span{display:block;font-size:12px;color:#66756e;margin-top:3px;}
.balance-caption{text-align:center;font-size:12px;color:#66756e;margin-top:10px;line-height:1.35;}
.score-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.score-pill{border:1px solid #d6ddd8;background:#f5f7f3;border-radius:0;padding:8px 12px;font-size:12px;color:#44524c;}
.score-pill b{font-variant-numeric:tabular-nums;color:#0f1a17;}
.factor-strips{display:flex;flex-direction:column;gap:16px;}
.strip-head{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:7px;}
.strip-head b{font-weight:800;}
.strip-head span{color:#66756e;font-variant-numeric:tabular-nums;}
.strip-track{height:12px;background:#d6ddd8;border-radius:0;position:relative;overflow:hidden;}
.strip-fill{height:100%;width:0;background:#0f1a17;transition:width 1s cubic-bezier(.2,.8,.2,1);}
.strip-marker{position:absolute;top:-3px;width:2px;height:18px;background:#66756e;}
.strip-note{font-size:12px;color:#66756e;margin-top:5px;}
.outcome-story{border:1px solid #d6ddd8;background:#f5f7f3;border-radius:0;padding:16px;min-height:220px;}
.outcome-story-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:8px;}
.outcome-story h4{font-size:16px;margin:0;color:#0f1a17;}
.outcome-badge{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border:1px solid #cad3cd;border-radius:0;padding:5px 8px;color:#44524c;background:#fff;}
.mini-plot{width:100%;height:118px;margin:8px 0 4px;display:block;}
.mini-plot text{font-size:10px;fill:#66756e;}
.mini-axis{stroke:#cad3cd;stroke-width:1;}
.mini-line{stroke:#24362f;stroke-width:4;fill:none;stroke-linecap:round;}
.mini-band{fill:#dce5df;}
.mini-dot{fill:#ff8f3d;stroke:#0f1a17;stroke-width:2;}
.mini-dot-label{font-weight:800;fill:#0f1a17;}
.outcome-story p{font-size:13px;margin:8px 0 0;color:#44524c;line-height:1.45;}
.link-strength{display:flex;gap:4px;margin-top:10px;align-items:center;font-size:12px;color:#66756e;}
.strength-dot{width:9px;height:9px;border-radius:50%;background:#d6ddd8;}
.strength-dot.on{background:#24362f;}
.contribute-tile h3{font-size:24px;max-width:24rem;}
.contribute-tile p{max-width:34rem;color:#44524c;}
.task-shell{display:flex;flex-direction:column;gap:18px;}
.task-stage{background:var(--paper);color:var(--ink-on-paper);border-radius:0;padding:28px;border:1px solid var(--paper-line);}
.task-stage h2{font-size:26px;}
.task-stage p{color:#44524c;margin-top:10px;}
.task-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:13px;}
.task-stimulus{min-height:150px;display:grid;place-items:center;text-align:center;margin:18px 0;border-top:1px solid #d6ddd8;border-bottom:1px solid #d6ddd8;padding:22px 0;}
.big-stim{font-size:clamp(34px,10vw,70px);font-weight:800;letter-spacing:.04em;}
.series-stim{font-size:clamp(28px,8vw,52px);font-family:var(--site-font);}
.task-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;}
.task-options button,.task-input-row button{
  min-height:54px;border:1px solid #cad3cd;background:#fff;color:#0f1a17;border-radius:0;
  font-size:15px;font-weight:700;padding:10px;
}
.task-options button:hover,.task-input-row button:hover{border-color:var(--ember);}
.task-options button.selected{background:var(--ember);border-color:var(--ember);color:#0f1a17;}
.task-input-row{display:flex;gap:10px;flex-wrap:wrap;}
.task-input-row input{flex:1;min-width:180px;padding:14px;border:1px solid #cad3cd;background:#fff;color:#0f1a17;font-size:17px;}
.task-topbar{display:grid;grid-template-columns:1fr minmax(150px,260px) auto;gap:14px;align-items:center;color:#44524c;font-size:13px;margin-bottom:10px;}
.timebar{height:8px;background:#d6ddd8;border-radius:0;overflow:hidden;}
.timebar span{display:block;height:100%;background:#24362f;width:100%;transition:width .12s linear;}
.task-feedback{min-height:28px;text-align:center;font-weight:800;margin-top:8px;}
.task-feedback.ok{color:#238047;}
.task-feedback.bad{color:#a33428;}
.task-keyhint{font-size:12px;color:#66756e;text-align:center;margin-top:8px;}
.pvt-task{display:grid;gap:0;min-height:360px;align-content:center;}
.pvt-field{position:relative;width:min(100%,720px);height:280px;margin:18px auto;border:1px solid #d6ddd8;background:#11151a;color:#fff;display:grid;place-items:center;text-align:center;overflow:hidden;}
.pvt-field.is-target{background:#11151a;}
.pvt-message{font-size:clamp(20px,5vw,34px);font-weight:900;letter-spacing:.02em;padding:0 18px;}
.pvt-target{width:132px;height:132px;border-radius:50%;border:0;background:#ff8f3d;color:#0f1a17;font-size:18px;font-weight:900;box-shadow:0 0 0 16px rgba(255,143,61,.18);cursor:pointer;}
.pvt-rt{font-size:clamp(36px,10vw,72px);font-weight:900;font-variant-numeric:tabular-nums;}
.sart-field{background:#10141c;display:grid;place-items:center;}
.sart-digit{font-size:calc(var(--sart-font-size,72) * 1px * var(--sart-screen-scale,1));line-height:1;font-weight:900;color:#fff;display:grid;place-items:center;text-align:center;min-width:1.2em;font-variant-numeric:tabular-nums;}
.sart-mask{--sart-line:5px;width:clamp(96px,22vw,156px);height:clamp(96px,22vw,156px);position:relative;display:grid;place-items:center;border:var(--sart-line) solid rgba(255,255,255,.90);border-radius:50%;color:#fff;}
.sart-mask::before{content:"";width:38%;height:38%;border:var(--sart-line) solid rgba(255,255,255,.90);border-radius:50%;display:block;}
.stroop-choice{display:flex;flex-direction:column;gap:4px;align-items:center;}
.stroop-choice .word{font-size:26px;font-weight:900;}
.stroop-choice .hint{font-size:12px;color:#44524c;}
/* air traffic control (atc-task.js). While a screen is up, the test fills the window and nothing
   scrolls: the radar takes whatever space is left after the header and the questions, keeping its
   shape, so every plane, every question, and Finished are always in view. */
/* .active.atc-mode outranks the task screen's usual card styling in pastel-screens.css */
#screen-cognitive.active.atc-mode{position:fixed;inset:0;z-index:60;overflow:hidden;background:#eef1ec;
  max-width:none;min-height:0;height:100%;height:100dvh;margin:0;border-top:4px solid #f2b33d;display:block;
  padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));}
body:has(#screen-cognitive.active.atc-mode){overflow:hidden;}
#screen-cognitive.atc-mode .task-shell{height:100%;width:100%;max-width:1280px;margin:0 auto;display:grid;gap:8px;
  grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);grid-template-areas:"meta quit" "stage stage";}
#screen-cognitive.atc-mode .task-meta{grid-area:meta;align-items:center;margin:0;}
#screen-cognitive.atc-mode #taskFooter{grid-area:quit;margin:0;}
#screen-cognitive.atc-mode #taskFooter .btn{min-height:36px;padding:6px 12px;font-size:13px;}
#screen-cognitive.atc-mode .task-stage{grid-area:stage;min-height:0;overflow:hidden;padding:12px;border-radius:14px;border:0;
  background:#fff;box-shadow:0 1px 2px rgba(15,26,23,.08),0 10px 30px -18px rgba(15,26,23,.35);}
.atc-task{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,290px);gap:14px;}
.atc-radar-wrap{min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;}
.atc-radar{display:block;width:100%;height:100%;max-height:100%;}
.atc-path{stroke:rgba(214,236,226,.22);stroke-width:.2;}
.atc-leader{stroke:rgba(242,179,61,.55);stroke-width:.16;}
.atc-tag{fill:rgba(9,20,16,.78);stroke:rgba(214,236,226,.18);stroke-width:.1;}
.atc-halo{fill:rgba(242,179,61,.16);}
.atc-dot{fill:#f7f3e8;stroke:#f2b33d;stroke-width:.35;}
.atc-plane text{font-family:var(--site-font,system-ui),system-ui,sans-serif;font-size:2.15px;}
.atc-name{fill:#f7f3e8;font-weight:700;}
.atc-speed{fill:#a9c9bb;}
.atc-scale line{stroke:#f2b33d;stroke-width:.35;}
.atc-scale text{font-family:var(--site-font,system-ui),system-ui,sans-serif;font-size:1.9px;fill:#f2b33d;font-weight:700;}
.atc-panel{min-height:0;display:flex;flex-direction:column;gap:10px;}
.atc-decisions{display:grid;gap:8px;}
.atc-decision{display:grid;gap:7px;padding:10px;border-radius:10px;background:#f4f6f2;border:1px solid #e1e6e1;}
.atc-group{font-weight:800;font-size:14px;color:#0f1a17;}
.atc-choices{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.atc-choices button{min-height:42px;border-radius:8px;border:1px solid #cfd7d1;background:#fff;color:#24362f;font-weight:700;font-size:14px;
  transition:background .12s ease,border-color .12s ease,color .12s ease;}
.atc-choices button:hover:not(:disabled){border-color:#8aa699;}
.atc-choices button[data-a="conflict"].selected{background:#f2b33d;border-color:#c98f1f;color:#0f1a17;}
.atc-choices button[data-a="no_conflict"].selected{background:#1d6e55;border-color:#14503e;color:#fff;}
.atc-choices button:disabled{cursor:default;}
.atc-truth{font-size:12.5px;font-weight:700;}
.atc-truth.ok{color:#1d6e55;}
.atc-truth.bad{color:#a33428;}
.atc-tip{margin:0;font-size:13px;color:#44524c;}
.atc-finish{min-height:48px;width:100%;border-radius:10px;margin-top:auto;}
/* phones and narrow windows: radar on top, the questions two to a row beneath it */
@media (max-width:720px), (max-aspect-ratio:4/5){
  .atc-task{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:10px;}
  #screen-cognitive.atc-mode .task-stage{padding:8px;border-radius:12px;}
  .atc-plane text{font-size:2.6px;}
  .atc-panel{gap:8px;}
  .atc-decisions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
  .atc-decision{padding:7px;gap:5px;border-radius:8px;}
  .atc-group{font-size:12.5px;}
  .atc-choices{gap:4px;}
  .atc-choices button{min-height:38px;font-size:12px;padding:0 2px;border-radius:6px;}
  .atc-truth{font-size:11.5px;}
  .atc-tip{font-size:12px;}
  .atc-finish{min-height:44px;margin-top:0;}
}
/* short landscape windows (phones sideways): radar beside a compact panel */
@media (max-height:520px) and (min-aspect-ratio:4/5){
  .atc-task{grid-template-columns:minmax(0,1fr) minmax(220px,42%);grid-template-rows:none;}
  .atc-decisions{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;}
  .atc-decision{padding:5px;gap:4px;}
  .atc-group{font-size:12px;}
  .atc-choices button{min-height:32px;font-size:11.5px;}
  .atc-finish{min-height:38px;}
  #screen-cognitive.atc-mode .task-shell{gap:5px;}
}
@media (max-width:720px){
  .profile-vis{grid-template-columns:1fr;}
  .ddi-ring{margin:0 auto;}
}
@media (max-width:420px){
  .task-stage{padding:18px 12px;}
  .task-stimulus{margin:12px 0;padding:14px 0;min-height:120px;}
  .pattern-pair{gap:6px;width:100%;}
  .pattern-card{min-height:70px;padding:3px;}
  .pattern-svg{width:min(118px,35vw);}
  .pattern-svg line{stroke-width:6;}
  .pvt-task{min-height:300px;}
  .pvt-field{height:220px;margin:12px auto;}
  .pvt-target{width:108px;height:108px;box-shadow:0 0 0 12px rgba(255,143,61,.18);}
}
