/* Local calculator preview: the visual language of OUTLYR Training System.
   Content, calculations and generated PDFs are deliberately independent. */
:root {
  --outlyr-yellow:#f6ff99;
  --calc-bg:#151515;
  --calc-panel:#222220;
  --calc-text:#f3f3ed;
  --calc-muted:#b5b5ad;
  --calc-line:#4b4b45;
  --calc-error:#ffb5a6;
  --calc-button-width:360px;
  --calc-button-height:56px;
  --calc-button-radius:999px;
  --calc-panel-radius:0;
  --calc-secondary:#42423e;
  --outlyr-font:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
html { background:var(--calc-bg); color-scheme:dark; }
body { background:var(--calc-bg); color:var(--calc-text); font:400 17px/1.4 var(--outlyr-font); letter-spacing:-.05em; padding:28px 24px 48px; }
.calculator-window { max-width:1020px; margin:0 auto; background:var(--calc-bg); padding:0; border:0; box-shadow:none; }
#outlyr-calculator button,#outlyr-calculator input,#outlyr-calculator textarea { font-family:inherit; letter-spacing:inherit; box-shadow:none; }
#outlyr-calculator header { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; height:auto; min-height:0; margin:0; padding:8px 0 36px; border:0; background:transparent; }
#outlyr-calculator .wordmark { grid-column:1; grid-row:1; color:var(--calc-muted); font-size:22px; font-weight:700; letter-spacing:-.05em; }
#outlyr-calculator .header-title { grid-column:1 / -1; grid-row:2; display:block; text-align:center; font-size:clamp(32px,4.8vw,52px); line-height:1.1; color:var(--calc-text); font-weight:700; letter-spacing:-.05em; overflow-wrap:anywhere; min-width:0; }
#outlyr-calculator .header-tools { display:contents; }
#outlyr-calculator .language-switch { grid-column:3; grid-row:1; justify-self:end; display:flex; gap:4px; }
#outlyr-calculator .language-switch button { border:1px solid transparent; border-radius:0; min-height:36px; min-width:36px; padding:8px; font-size:13px; font-weight:500; background:transparent; color:var(--calc-muted); }
#outlyr-calculator .language-switch button:hover { color:var(--calc-text); border-color:var(--calc-line); }
#outlyr-calculator .language-switch button[aria-pressed="true"] { color:var(--outlyr-yellow); border-color:var(--calc-line); background:var(--calc-panel); }
#outlyr-calculator .heart-mascot { grid-column:2; grid-row:1; display:block; width:64px; height:64px; background:transparent; padding:0; border:0; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.heart-logo { display:block; width:100%; height:100%; overflow:visible; }
.heart-shape { fill:var(--outlyr-yellow); }
.heart-lashes { stroke:#151515; }
.heart-eye > path { fill:var(--outlyr-yellow); stroke:#151515; stroke-width:1.5; }
.heart-pupil > circle:nth-child(2) { fill:var(--outlyr-yellow); }
.heart-frown > path:nth-child(1) { fill:var(--outlyr-yellow); }
.heart-frown > path:nth-child(2) { stroke:#151515; }
.heart-eye { transform-origin:50px 49px; }
.heart-pupil { transition:transform 95ms ease-out; }
.heart-frown { opacity:0; pointer-events:none; }
.heart-mascot[data-mood="angry"] .heart-frown { opacity:1; }
.heart-mascot[data-mood="angry"] .heart-lashes { opacity:0; }
.heart-mascot[data-mood="blink"] .heart-eye { animation:outlyr-heart-wink 240ms ease-in-out; }
@keyframes outlyr-heart-wink { 0%,100%{transform:scaleY(1)}40%,60%{transform:scaleY(.07)} }
#outlyr-calculator .shell { max-width:none; min-height:400px; display:block; padding:0 0 40px; }
#outlyr-calculator aside { padding:0; }
#outlyr-calculator nav { display:flex; align-items:stretch; justify-content:center; gap:32px; margin:0 0 36px; border-top:1px solid var(--calc-line); border-bottom:1px solid var(--calc-line); }
#outlyr-calculator .step { display:flex; gap:9px; padding:14px 0; margin:0 0 -1px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:var(--calc-muted); font-size:15px; font-weight:500; cursor:pointer; }
#outlyr-calculator .step b { display:inline; background:none; color:inherit; width:auto; height:auto; border:0; border-radius:0; font-size:13px; font-weight:400; }
#outlyr-calculator .step.active { color:var(--outlyr-yellow); font-weight:500; }
#outlyr-calculator .step.active b { color:var(--outlyr-yellow); }
#outlyr-calculator .step:disabled { opacity:1; cursor:default; }
#outlyr-calculator .step.can-go:hover { color:var(--calc-text); }
#outlyr-calculator h1,#outlyr-calculator h2,#outlyr-calculator h3 { font-family:inherit; letter-spacing:inherit; color:var(--calc-text); }
#outlyr-calculator h1 { max-width:none; font-size:36px; font-weight:700; line-height:1.15; margin:0 0 18px; }
#outlyr-calculator h2 { font-size:27px; font-weight:500; line-height:1.2; }
#outlyr-calculator h3 { font-size:21px; font-weight:500; }
#outlyr-calculator h1 em { color:var(--outlyr-yellow); }
#outlyr-calculator .intro { max-width:68ch; color:var(--calc-muted); font-size:18px; line-height:1.5; }
#outlyr-calculator .eyebrow,#outlyr-calculator .smallcaps { font-size:13px; font-weight:400; letter-spacing:-.02em; color:var(--calc-muted); }
#outlyr-calculator .back,#outlyr-calculator .link-btn { color:var(--calc-muted); font-size:15px; }
#outlyr-calculator .back:hover,#outlyr-calculator .link-btn:hover { color:var(--outlyr-yellow); }
#outlyr-calculator .back { margin-bottom:24px; }
#outlyr-calculator .btn { width:min(100%,var(--calc-button-width)); max-width:100%; min-height:var(--calc-button-height); padding:14px 24px; border:1px solid var(--outlyr-yellow); border-radius:var(--calc-button-radius); background:var(--outlyr-yellow); color:var(--calc-bg); font-size:17px; font-weight:700; line-height:1.2; box-shadow:none; text-align:center; }
#outlyr-calculator .btn:hover { background:#e8ef85; border-color:#e8ef85; color:var(--calc-bg); }
#outlyr-calculator .btn.secondary { background:var(--calc-secondary); color:var(--calc-text); border-color:#5b5b54; }
#outlyr-calculator .btn.secondary:hover { background:#50504b; border-color:var(--calc-muted); color:var(--calc-text); }
#outlyr-calculator .btn:disabled { opacity:.45; cursor:not-allowed; }
#outlyr-calculator .actions { justify-content:center; gap:14px; margin-top:28px; }
#outlyr-calculator main:has(.start-actions) { text-align:center; }
#outlyr-calculator main:has(.start-actions) .intro { margin-inline:auto; }
#outlyr-calculator:has(.start-actions) nav { justify-content:center; }
#outlyr-calculator:has(.start-actions) footer { text-align:center; }
#outlyr-calculator .start-actions { display:flex; flex-direction:column; align-items:center; gap:22px; margin-top:32px; }
#outlyr-calculator .choices { gap:20px; margin-top:28px; }
#outlyr-calculator .choice { display:flex; flex-direction:column; padding:28px; min-height:175px; border:1px solid var(--calc-line); border-radius:var(--calc-panel-radius); background:var(--calc-panel); color:var(--calc-text); box-shadow:none; transition:background .18s; }
#outlyr-calculator .choice:hover { background:#2a2a27; border-color:var(--calc-muted); transform:none; box-shadow:none; }
#outlyr-calculator .choice strong { max-width:none; font-size:27px; font-weight:700; letter-spacing:-.05em; color:var(--outlyr-yellow); margin-bottom:12px; }
#outlyr-calculator .choice p { color:var(--calc-text); font-size:17px; line-height:1.45; max-width:340px; margin-bottom:18px; }
#outlyr-calculator .choice-next { display:block; margin:auto 0 0 auto; padding:0; background:transparent; color:var(--outlyr-yellow); font-size:24px; }
#outlyr-calculator .data-options { display:grid; grid-template-columns:1fr 1fr; max-width:none; gap:12px; margin:26px 0 0; padding:0; border:0; }
#outlyr-calculator .data-option { display:flex; align-items:center; gap:12px; padding:16px 20px; border:1px solid var(--calc-line); border-radius:var(--calc-panel-radius); background:var(--calc-panel); color:var(--calc-text); font-size:18px; font-weight:500; }
#outlyr-calculator .data-option:hover { border-color:var(--calc-muted); }
#outlyr-calculator .data-option:has(input:checked) { background:var(--calc-panel); color:var(--calc-text); border-color:var(--outlyr-yellow); }
#outlyr-calculator input[type="checkbox"],#outlyr-calculator input[type="radio"] { width:19px; height:19px; flex:0 0 19px; accent-color:var(--outlyr-yellow); }
#outlyr-calculator .data-option input:checked { accent-color:var(--outlyr-yellow); }
#outlyr-calculator .form-panel { max-width:none; background:transparent; border:0; border-top:1px solid var(--calc-line); border-radius:0; margin-top:28px; padding:28px 0 0; }
#outlyr-calculator .field { margin-bottom:28px; }
#outlyr-calculator .field label { color:var(--calc-text); font-size:17px; font-weight:500; margin-bottom:8px; }
#outlyr-calculator .field .hint { color:var(--calc-muted); font-size:15px; line-height:1.45; margin:0 0 12px; }
#outlyr-calculator .optional { color:var(--calc-muted); font-size:13px; }
#outlyr-calculator .input-unit { max-width:300px; }
#outlyr-calculator .input-unit input { background:var(--calc-panel); color:var(--calc-text); height:54px; border:1px solid var(--calc-line); border-radius:var(--calc-panel-radius); padding:10px 64px 10px 14px; font-size:25px; font-weight:500; }
#outlyr-calculator .input-unit input::placeholder { color:#8e8e85; font-weight:400; }
#outlyr-calculator .input-unit span { color:var(--calc-muted); top:16px; font-size:15px; }
#outlyr-calculator .experience-field { border:0; padding:0; margin:0 0 28px; min-width:0; }
#outlyr-calculator .experience-field legend { padding:0; margin-bottom:8px; font-size:17px; font-weight:500; }
#outlyr-calculator .environment-field .hint { display:none; }
#outlyr-calculator .experience-options { display:grid; gap:8px; margin-top:8px; }
#outlyr-calculator .environment-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:8px; }
#outlyr-calculator .experience-option { display:flex; align-items:flex-start; gap:12px; padding:16px 18px; background:var(--calc-panel); color:var(--calc-text); border:1px solid var(--calc-line); border-radius:var(--calc-panel-radius); cursor:pointer; }
#outlyr-calculator .experience-option:hover { border-color:var(--calc-muted); }
#outlyr-calculator .experience-option:has(input:checked) { border-color:var(--outlyr-yellow); }
#outlyr-calculator .experience-option input { margin:2px 0 0; }
#outlyr-calculator .experience-option b { display:block; font-size:18px; font-weight:700; color:var(--outlyr-yellow); }
#outlyr-calculator .experience-option small { display:block; font-size:15px; font-weight:400; line-height:1.45; margin-top:5px; }
#outlyr-calculator .environment-options b { color:var(--calc-text); font-size:17px; font-weight:400; }
#outlyr-calculator .result-cards { display:flex; flex-wrap:wrap; align-items:stretch; gap:16px; margin:28px 0; }
#outlyr-calculator .metric { flex:1; min-width:190px; padding:24px; background:var(--calc-panel); color:var(--calc-text); border:1px solid var(--calc-line); border-radius:0; }
#outlyr-calculator .metric-label { font-size:18px; font-weight:700; color:var(--calc-text); }
#outlyr-calculator .metric-subtitle { font-size:15px; color:var(--calc-muted); line-height:1.4; margin:5px 0 18px; }
#outlyr-calculator .metric strong { display:block; font-size:44px; font-weight:700; color:var(--outlyr-yellow); letter-spacing:-.05em; white-space:nowrap; }
#outlyr-calculator .metric strong small { font-size:17px; font-weight:400; margin-left:7px; letter-spacing:-.025em; }
#outlyr-calculator .metric p { color:var(--calc-muted); font-size:14px; }
#outlyr-calculator .metric .link-btn { font-size:14px; }
#outlyr-calculator .test-context { font-size:15px; color:var(--calc-muted); margin:14px 0 -10px; }
#outlyr-calculator .zone-context { font-size:15px; margin:-7px 0 16px; color:var(--calc-muted); }
#outlyr-calculator .zone-context .link-btn { margin-left:8px; }
#outlyr-calculator .section-title { margin-top:32px; }
#outlyr-calculator .table-wrap { margin:20px 0 0; border:1px solid var(--calc-line); border-radius:var(--calc-panel-radius); background:var(--calc-panel); }
#outlyr-calculator table { font-size:16px; }
#outlyr-calculator th { font-size:13px; font-weight:500; letter-spacing:-.02em; background:var(--calc-panel); color:var(--calc-muted); }
#outlyr-calculator th,#outlyr-calculator td { padding:16px 18px; border-bottom:1px solid var(--calc-line); }
#outlyr-calculator tr:last-child td { border-bottom:0; }
#outlyr-calculator td b { font-size:16px; font-weight:500; }
#outlyr-calculator .zone-tag { min-width:32px; height:30px; color:color-mix(in srgb,var(--zone) 50%,white); background:color-mix(in srgb,var(--zone) 15%,var(--calc-bg)); border:1px solid color-mix(in srgb,var(--zone) 50%,var(--calc-muted)); border-radius:0; font-size:13px; }
#outlyr-calculator .zone-name small,#outlyr-calculator td .pct { font-size:13px; color:var(--calc-muted); }
#outlyr-calculator .numeric { font-weight:500; }
#outlyr-calculator .table-note { font-size:14px; color:var(--calc-muted); line-height:1.5; }
#outlyr-calculator .note { border:0; border-left:3px solid var(--outlyr-yellow); border-radius:0; padding:16px 20px; background:var(--calc-panel); color:var(--calc-text); font-size:16px; }
#outlyr-calculator details { border-bottom:1px solid var(--calc-line); padding:18px 0; }
#outlyr-calculator summary { color:var(--calc-text); font-size:17px; font-weight:500; }
#outlyr-calculator summary:after { background:none; border:0; color:var(--calc-muted); font-size:23px; }
#outlyr-calculator details p,#outlyr-calculator details ol,#outlyr-calculator details ul { color:var(--calc-muted); font-size:16px; line-height:1.5; }
#outlyr-calculator .end-actions,#outlyr-calculator .next-panel { border-top-color:var(--calc-line); }
#outlyr-calculator .next-panel p { color:var(--calc-muted); font-size:15px; }
#outlyr-calculator .download-panel { background:var(--calc-panel); border:1px solid var(--calc-line); border-radius:var(--calc-panel-radius); padding:28px; }
#outlyr-calculator .download-panel > p:not(.eyebrow) { color:var(--calc-muted); font-size:16px; }
#outlyr-calculator .guide-section { margin:26px 0; }
#outlyr-calculator .guide-section p { line-height:1.5; }
#outlyr-calculator .guide-download { margin-top:28px; text-align:center; }
#outlyr-calculator .guide-download .actions { margin-top:0; justify-content:center; }
#outlyr-calculator .guide-download-hint { margin:0 0 18px; text-align:center; }
#outlyr-calculator .indoor-guide-actions { flex-direction:column; align-items:center; gap:16px; }
#outlyr-calculator .indoor-guide-actions > .btn:not(.secondary) { align-self:center; }
#outlyr-calculator footer { display:block; margin:0; padding:18px 0; border-top:1px solid var(--calc-line); color:var(--calc-muted); font-size:13px; }
#outlyr-calculator footer span:first-child { display:inline; font-weight:400; letter-spacing:-.02em; }
#outlyr-calculator .error { color:var(--calc-error); font-size:15px; }
#outlyr-calculator .input-unit input[aria-invalid="true"] { border:2px solid var(--calc-error); }
#outlyr-calculator #copy-data { background:var(--calc-panel); color:var(--calc-text); border:1px solid var(--calc-line); border-radius:0; }
#outlyr-calculator button:focus-visible,#outlyr-calculator a:focus-visible,#outlyr-calculator input:focus-visible,#outlyr-calculator summary:focus-visible,#outlyr-calculator .table-wrap:focus-visible { outline:2px solid var(--outlyr-yellow); outline-offset:4px; }
#outlyr-calculator .btn:not(.secondary):focus-visible { outline-color:var(--calc-text); }
.skip { background:var(--outlyr-yellow); color:var(--calc-bg); }
#status { font-family:var(--outlyr-font); letter-spacing:-.025em; background:var(--outlyr-yellow); color:var(--calc-bg); border:1px solid var(--calc-line); border-radius:0; box-shadow:none; }
/* Keep the existing iframe height handshake and scrolling ownership. */
html.is-embedded { min-height:0; height:auto; background:transparent; scroll-behavior:auto; }
html.is-embedded body { min-height:0; height:auto; padding:12px 8px; background:transparent; }
html.is-embedded .calculator-window { max-width:1020px; }
html.is-embedded #status { position:static; display:none; margin:8px auto 0; max-width:1020px; transform:none; }
html.is-embedded #status:not(:empty) { display:block; }
@media(max-width:720px) {
  body { padding:18px 18px 32px; font-size:16px; }
  #outlyr-calculator header { gap:20px 12px; padding:0 0 28px; }
  #outlyr-calculator .wordmark { font-size:18px; }
  #outlyr-calculator .heart-mascot { width:52px; height:52px; }
  #outlyr-calculator .header-title { font-size:clamp(28px,6.5vw,40px); }
  #outlyr-calculator .language-switch button { min-width:30px; padding:7px 5px; font-size:12px; }
  #outlyr-calculator .shell { padding:0 0 28px; min-height:0; }
  #outlyr-calculator nav { gap:20px; margin-bottom:28px; justify-content:center; }
  #outlyr-calculator .step { font-size:13px; gap:6px; padding:13px 0; }
  #outlyr-calculator .step b { font-size:12px; }
  #outlyr-calculator h1 { font-size:29px; }
  #outlyr-calculator h2 { font-size:24px; }
  #outlyr-calculator .intro { font-size:17px; }
  #outlyr-calculator .choices { grid-template-columns:1fr; gap:16px; }
  #outlyr-calculator .choice { padding:24px; min-height:155px; }
  #outlyr-calculator .choice strong { font-size:25px; }
  #outlyr-calculator .choice p { font-size:16px; }
  #outlyr-calculator .data-options { gap:8px; }
  #outlyr-calculator .data-option { padding:14px 12px; gap:8px; font-size:16px; }
  #outlyr-calculator .input-unit { max-width:100%; }
  #outlyr-calculator .experience-option { padding:14px; }
  #outlyr-calculator .experience-option small { font-size:15px; }
  #outlyr-calculator .environment-options { gap:8px; }
  #outlyr-calculator .result-cards { display:grid; grid-template-columns:1fr; gap:12px; margin:24px 0; }
  #outlyr-calculator .metric { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:14px; align-items:center; padding:20px; }
  #outlyr-calculator .metric-label { grid-column:1; grid-row:1; font-size:17px; }
  #outlyr-calculator .metric-subtitle { grid-column:1; grid-row:2; margin:4px 0 0; min-height:0; font-size:14px; }
  #outlyr-calculator .metric strong { grid-column:2; grid-row:1 / span 2; font-size:35px; }
  #outlyr-calculator .metric strong small { font-size:14px; }
  #outlyr-calculator .metric p,#outlyr-calculator .metric > .link-btn { grid-column:1 / -1; margin-top:10px; text-align:left; }
  #outlyr-calculator th,#outlyr-calculator td { padding:14px 12px; }
  #outlyr-calculator .zone-name b { font-size:15px; }
  #outlyr-calculator .download-panel { padding:22px; }
  #outlyr-calculator .section-title .smallcaps { display:none; }
}
@media(max-width:360px) {
  #outlyr-calculator nav { gap:10px; }
  #outlyr-calculator .step { font-size:12px; }
  #outlyr-calculator .data-options { grid-template-columns:1fr; }
  #outlyr-calculator .header-title { font-size:27px; }
  #outlyr-calculator .metric strong { font-size:31px; }
}
@media(prefers-reduced-motion:reduce) {
  .heart-pupil,#outlyr-calculator .choice { transition:none; }
  .heart-mascot[data-mood="blink"] .heart-eye { animation:none; transform:scaleY(.07); }
}

/* Result actions and concise PDF information. */
#outlyr-calculator .result-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
#outlyr-calculator .result-heading h1 { margin:0; }
#outlyr-calculator .result-heading .btn { flex-shrink:0; }
#outlyr-calculator .table-note { margin:10px 0 28px; }
#outlyr-calculator .pdf-summary { margin:0; }
#outlyr-calculator .result-actions { margin-top:18px; }
@media (max-width:720px) {
  #outlyr-calculator .result-heading { gap:16px; flex-wrap:wrap; }
  #outlyr-calculator .result-heading .btn { margin-left:auto; }
}
@media (max-width:480px) {
  #outlyr-calculator .result-heading { gap:16px; }
  #outlyr-calculator .result-heading h1 { font-size:25px; }
}
@media (max-width:350px) {
  #outlyr-calculator .result-heading { flex-wrap:wrap; }
  #outlyr-calculator .result-heading .btn { margin-left:auto; }
}

#outlyr-calculator .result-context { display:flex; flex-wrap:wrap; column-gap:28px; row-gap:10px; margin:14px 0 0; font-size:15px; color:var(--calc-muted); }
#outlyr-calculator .result-context > span { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px; }
#outlyr-calculator .result-context .link-btn { font-size:inherit; margin-left:5px; }
#outlyr-calculator #result-weight:empty { display:none; }

#outlyr-calculator .pdf-summary { text-align:center; }
#outlyr-calculator .result-actions { justify-content:center; }

#outlyr-calculator .end-actions { justify-content:center; }
