/* =========================================================================
   Thrive Worksheets , shared engine styles
   Matches My Progress 2.0: cream #faf8f6, white cards r20, orange #f3661e
   accent, teal #4db6ac secondary, peach #fde8d8. Cardo headings, Caveat
   accents/numbers, Montserrat for ALL body text. Lucide for UI controls.
   ========================================================================= */
:root{
  --primary:#f3661e; --primary-light:#f8945e; --primary-dark:#d4550f;
  --teal:#4db6ac; --teal-light:#80cbc4; --teal-dark:#00897b;
  --bg:#faf8f6; --bg-warm:#fdf8f3; --peach:#fde8d8;
  --text-dark:#2d2a26; --text-mid:#5a5550; --text-light:#746f6a;
  --line:#ece6df;
  --shadow:0 4px 22px rgba(0,0,0,.07); --shadow-lg:0 12px 40px rgba(0,0,0,.14);
  --heading:'Cardo',Georgia,serif;
  --body:'Montserrat','Helvetica Neue',sans-serif;
  --hand:'Caveat',cursive;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{
  font-family:var(--body);
  background:var(--bg);
  color:var(--text-dark);
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
  font-size:16px;
}

/* lucide icon wrapper (same as my-progress) */
.ico{display:inline-flex;align-items:center;justify-content:center;line-height:0;color:inherit}
.ico svg{width:var(--s,20px);height:var(--s,20px);stroke-width:1.9}

/* ---- thin top progress bar ---- */
.ws-progress{position:fixed;top:0;left:0;right:0;height:4px;background:#eee5dd;z-index:40}
.ws-progress > span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--primary-light),var(--primary));transition:width .4s ease}

/* source-aware back nav (fixed top-left) — Back to dashboard / Back to home.
   OWN class (NOT .ws-back) so it never collides with the in-flow step "Back"
   button below — that collision made this pill transparent (text bled through)
   AND leaked position:fixed onto the step button. */
.ws-backhome{position:fixed;top:calc(13px + env(safe-area-inset-top));left:13px;z-index:50;display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,0.06);padding:8px 12px 8px 10px;border-radius:18px;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;color:#5a5550;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,0.05)}
.ws-backhome:hover{color:var(--primary)}
.ws-backhome svg{width:14px;height:14px}

/* ---- frame / shell ---- */
.ws-shell{max-width:480px;margin:0 auto;padding:calc(58px + env(safe-area-inset-top)) 20px 70px;min-height:100vh;display:flex;flex-direction:column}

/* ---- the no-identity / saved-session note line ---- */
.ws-topnote{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;color:var(--teal-dark);background:rgba(77,182,172,.1);border:1px solid rgba(77,182,172,.2);border-radius:999px;padding:7px 14px;margin-bottom:18px;align-self:flex-start;line-height:1.3}
.ws-topnote .ico svg{width:14px;height:14px}

/* ---- emoji hero ---- */
.ws-hero{text-align:center;margin:8px 0 6px}
.ws-emoji{font-size:64px;line-height:1;display:block;margin-bottom:14px}
.ws-eyebrow{display:inline-block;font-family:var(--hand);font-size:20px;color:var(--teal-dark);font-weight:600;margin-bottom:4px}
.ws-title{font-family:var(--heading);font-size:clamp(34px,9vw,44px);font-weight:700;line-height:1.05;letter-spacing:-.01em;color:var(--text-dark);font-style:normal}
.ws-title .accent{color:var(--primary)}

/* ---- DARK MODE emoji fix (2026-06-11) ----
   Emojis are color glyphs. The page-wide dark filter (invert + hue-rotate) flips
   their colors, so the sun/cloud hero and the more-tools icons looked blemished.
   Counter-invert every emoji span so they render in their true colors in dark mode.
   Applies to ALL worksheets (shared stylesheet). */
html.thrive-dark .ws-emoji,
html.thrive-dark .ws-ins-emoji,
html.thrive-dark .rt-emoji{filter:invert(1) hue-rotate(180deg)}

/* ---- intro card ---- */
.ws-card{background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:24px 22px;margin-top:18px;position:relative;overflow:hidden}
.ws-card.accent::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--teal),var(--primary-light))}
.ws-intro-text{font-family:var(--body);font-size:16px;color:var(--text-mid);line-height:1.65;font-weight:400}

/* ---------- instructions screen (2nd screen, after Start) ---------- */
.ws-ins-head{text-align:center;margin:6px 0 20px}
.ws-ins-emoji{font-size:44px;line-height:1;display:block;margin-bottom:8px}
.ws-ins-title{font-family:var(--heading);font-size:clamp(27px,7.5vw,34px);font-weight:700;color:var(--primary);line-height:1.1;font-style:normal}
.ws-ins-intro{font-family:var(--body);font-size:15px;color:var(--text-mid);line-height:1.6;margin:10px auto 0;max-width:440px;font-weight:400}
.ws-ins-list{counter-reset:ins;list-style:none;display:flex;flex-direction:column;gap:12px;margin:4px 0 6px;padding:0}
.ws-ins-point{counter-increment:ins;display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow)}
.ws-ins-num{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--peach);color:var(--primary-dark);font-family:var(--body);font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center}
.ws-ins-num::before{content:counter(ins)}
.ws-ins-tx{font-family:var(--body);font-size:14.5px;color:var(--text-mid);line-height:1.5;padding-top:3px}
.ws-ins-tx b{color:var(--text-dark);font-weight:700}
.ws-ins-note{font-family:var(--hand);font-size:19px;color:var(--primary);text-align:center;line-height:1.3;margin:16px 0 4px}

.ws-meta-chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.ws-meta-chip{font-family:var(--body);font-size:12px;font-weight:700;color:var(--primary);background:#fff;border:1px solid rgba(243,102,30,.18);border-radius:999px;padding:8px 16px;box-shadow:var(--shadow)}

/* ---- audio play row ---- */
.ws-audio{display:flex;align-items:center;gap:11px;background:var(--bg-warm);border:1px solid var(--line);border-radius:12px;padding:11px 13px;margin-top:14px;cursor:pointer;transition:border-color .15s}
.ws-audio:hover{border-color:var(--primary-light)}
.ws-audio .au-ic{width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}
.ws-audio .au-ic [data-au-icon]{display:flex;align-items:center;justify-content:center}
.ws-audio .au-ic svg{width:16px;height:16px;display:block;transform:translateX(1px)}
.ws-audio .au-tx{font-size:12.5px;font-weight:600;color:var(--text-mid);line-height:1.35}
.ws-audio .au-tx b{display:block;color:var(--text-dark);font-size:13px}

/* ---- step body (one visible at a time) ---- */
.ws-step{display:flex;flex-direction:column;flex:1}
.ws-step[hidden]{display:none}
.ws-step-count{font-family:var(--hand);font-size:19px;color:var(--primary);font-weight:600;margin-bottom:8px}
.ws-prompt{font-family:var(--heading);font-size:clamp(25px,6.5vw,30px);font-weight:700;color:var(--text-dark);line-height:1.18;font-style:normal}
.ws-guide{font-family:var(--body);font-size:14px;color:var(--text-mid);line-height:1.5;margin-top:11px;font-weight:400}
.ws-example{font-family:var(--body);font-size:13px;color:var(--text-light);line-height:1.5;margin-top:9px;font-style:italic;border-left:2px solid var(--peach);padding-left:12px}

.ws-input-wrap{margin-top:22px}

/* text / longtext */
.ws-text{width:100%;font-family:var(--body);font-size:16px;color:var(--text-dark);background:#fff;border:2px solid var(--line);border-radius:14px;padding:15px 17px;outline:none;transition:border-color .15s;line-height:1.5}
.ws-text:focus{border-color:var(--primary)}
textarea.ws-text{resize:none;min-height:200px;overflow:hidden;line-height:1.75}
input.ws-text{min-height:56px}

/* multiselect chips + single-choice options share the option look */
.ws-multi-hint{font-family:var(--body);font-size:12.5px;color:var(--text-light);font-style:italic;margin-bottom:12px}
.ws-options{display:flex;flex-direction:column;gap:10px}
.ws-opt{display:flex;align-items:center;gap:13px;background:#fff;border:2px solid var(--line);border-radius:14px;padding:15px 17px;font-family:var(--body);font-size:15px;font-weight:600;color:var(--text-dark);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}
.ws-opt:hover{border-color:var(--primary);background:#fff7f1}
.ws-opt.selected{background:var(--peach);border-color:var(--primary)}
.ws-opt .opt-marker{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .15s}
.ws-opt.multi .opt-marker{border-radius:7px}
.ws-opt.selected .opt-marker{background:var(--primary);border-color:var(--primary)}
.ws-opt .opt-marker svg{width:14px;height:14px;stroke-width:3}

/* chips style (compact, wrap) for big trait lists */
.ws-chips{display:flex;flex-wrap:wrap;gap:9px}
.ws-chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--body);font-size:14px;font-weight:600;color:var(--text-mid);background:#fff;border:2px solid var(--line);border-radius:999px;padding:10px 16px;cursor:pointer;transition:all .15s;user-select:none}
.ws-chip:hover{border-color:var(--primary);color:var(--text-dark)}
.ws-chip.selected{background:var(--peach);border-color:var(--primary);color:var(--primary-dark)}
.ws-chip .chip-tick{display:none;color:var(--primary)}
.ws-chip.selected .chip-tick{display:inline-flex}
.ws-chip .chip-tick svg{width:14px;height:14px;stroke-width:3}

/* scale 0-10 circles row */
.ws-scale{display:flex;flex-wrap:wrap;gap:7px;justify-content:space-between}
.ws-scale-btn{flex:1;min-width:30px;aspect-ratio:1;max-width:38px;border-radius:50%;border:2px solid var(--line);background:#fff;font-family:var(--body);font-size:13px;font-weight:700;color:var(--text-light);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}
.ws-scale-btn:hover{border-color:var(--primary)}
.ws-scale-btn.selected{background:var(--primary);border-color:var(--primary);color:#fff}
.ws-scale-ends{display:flex;justify-content:space-between;margin-top:9px;font-family:var(--body);font-size:11.5px;color:var(--text-light);font-weight:600}

/* ---- nav ---- */
.ws-nav{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:30px}
.ws-back{display:inline-flex;align-items:center;gap:7px;font-family:var(--body);font-size:13px;font-weight:600;color:var(--text-mid);background:transparent;border:1.5px solid var(--line);border-radius:999px;padding:13px 20px;cursor:pointer;transition:border-color .15s}
.ws-back:hover{border-color:var(--text-mid)}
.ws-back .ico svg{width:16px;height:16px}
.ws-back[hidden]{display:none}
.ws-spacer{flex:1}
.ws-next{display:inline-flex;align-items:center;gap:8px;font-family:var(--body);font-size:14px;font-weight:700;color:#fff;background:var(--primary);border:none;border-radius:999px;padding:14px 28px;cursor:pointer;transition:background .2s,transform .15s;box-shadow:0 6px 18px rgba(243,102,30,.28)}
.ws-next:hover{background:var(--primary-dark);transform:translateY(-1px)}
.ws-next:disabled{background:#cfc6bd;cursor:not-allowed;transform:none;box-shadow:none}
.ws-next .ico svg{width:16px;height:16px}
.ws-skip{font-family:var(--body);font-size:12.5px;font-weight:600;color:var(--text-light);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px;margin-top:14px;align-self:center}
.ws-skip:hover{color:var(--text-mid)}

/* ---- loading ---- */
.ws-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px 10px}
.ws-spinner{width:56px;height:56px;border:5px solid var(--peach);border-top-color:var(--primary);border-radius:50%;animation:ws-spin 1s linear infinite;margin-bottom:24px}
@keyframes ws-spin{to{transform:rotate(360deg)}}
.ws-loading h2{font-family:var(--heading);font-size:28px;font-weight:700;color:var(--text-dark);margin-bottom:12px}
.ws-loading p{font-family:var(--body);font-size:15px;color:var(--text-mid);max-width:340px;line-height:1.6;margin-bottom:18px}
.ws-loading .ws-step-rotate{font-family:var(--hand);font-size:22px;color:var(--primary);min-height:30px}

/* ---- results ---- */
.ws-result-hero{text-align:center;margin-bottom:8px}
.ws-result-hero .ws-emoji{font-size:50px;margin-bottom:10px}
.ws-result-pill{display:inline-block;font-family:var(--body);font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--primary);background:rgba(243,102,30,.12);border-radius:999px;padding:7px 16px;margin-bottom:14px}
.ws-result-title{font-family:var(--heading);font-size:clamp(28px,8vw,36px);font-weight:700;color:var(--text-dark);line-height:1.08;font-style:normal}
.ws-result-title .accent{color:var(--primary)}

/* the member's own summary card (their answers reflected) */
.ws-summary{background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:22px 20px;margin-top:18px;position:relative;overflow:hidden}
.ws-summary::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--teal),var(--primary-light))}
.ws-summary-label{font-family:var(--body);font-size:11px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:var(--teal-dark);margin-bottom:12px}
.ws-summary-line{font-family:var(--body);font-size:15px;color:var(--text-dark);line-height:1.6;margin-bottom:11px}
.ws-summary-line:last-child{margin-bottom:0}
.ws-summary-line .big{font-family:var(--hand);font-size:34px;color:var(--primary);font-weight:700;display:block;line-height:1.1;margin:2px 0 4px}

/* the reflection , broken into labeled parts (one block each) */
.ws-reflection{margin-top:18px}
.ws-reflection-intro{font-family:var(--hand);font-size:20px;color:var(--teal-dark);font-weight:600;margin:0 2px 12px}
.ws-part{background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:18px 19px;margin-bottom:11px;border-left:4px solid var(--primary)}
.ws-part:nth-child(even){border-left-color:var(--teal)}
.ws-part-label{font-family:var(--body);font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--primary);margin-bottom:7px}
.ws-part:nth-child(even) .ws-part-label{color:var(--teal-dark)}
.ws-part-body{font-family:var(--body);font-size:15px;color:var(--text-dark);line-height:1.65}

/* cross-links to belief tools */
.ws-crosslinks{margin-top:16px}
.ws-crosslink{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:10px;text-decoration:none;cursor:pointer;transition:border-color .15s,transform .15s}
.ws-crosslink:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.ws-crosslink .cl-ic{width:38px;height:38px;border-radius:11px;background:rgba(243,102,30,.1);color:var(--primary-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ws-crosslink .cl-ic svg{width:19px;height:19px}
.ws-crosslink .cl-tx{flex:1;min-width:0}
.ws-crosslink .cl-tx b{display:block;font-family:var(--body);font-size:13.5px;font-weight:700;color:var(--text-dark);line-height:1.3}
.ws-crosslink .cl-tx span{font-family:var(--body);font-size:11.5px;color:var(--text-mid);line-height:1.4}
.ws-crosslink .cl-go{color:var(--text-light);display:inline-flex}
.ws-crosslink .cl-go svg{width:17px;height:17px}

/* save toggle row */
.ws-save{display:flex;align-items:center;gap:13px;background:var(--bg-warm);border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin-top:18px}
.ws-save .sv-tx{flex:1;min-width:0}
.ws-save .sv-tx b{display:block;font-family:var(--body);font-size:13.5px;font-weight:700;color:var(--text-dark)}
.ws-save .sv-tx span{font-family:var(--body);font-size:11.5px;color:var(--text-light);line-height:1.4}
.toggle{margin-left:auto;width:46px;height:26px;border-radius:999px;background:var(--teal);position:relative;cursor:pointer;border:none;flex-shrink:0;transition:background .2s}
.toggle::after{content:'';position:absolute;top:2px;left:22px;width:22px;height:22px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.toggle.off{background:#d8d2cb}.toggle.off::after{left:2px}

/* footer actions */
.ws-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.ws-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;font-family:var(--body);font-weight:700;font-size:14px;padding:15px;border-radius:999px;border:none;cursor:pointer;transition:all .2s}
.ws-cta.primary{background:var(--primary);color:#fff;box-shadow:0 6px 18px rgba(243,102,30,.28)}
.ws-cta.primary:hover{background:var(--primary-dark);transform:translateY(-1px)}
.ws-cta.ghost{background:transparent;color:var(--text-mid);border:1.5px solid var(--line)}
.ws-cta.ghost:hover{border-color:var(--text-mid)}
.ws-cta.share{background:rgba(77,182,172,.1);color:var(--teal-dark);border:1.5px solid rgba(77,182,172,.3)}
.ws-cta.share:hover{background:rgba(77,182,172,.16)}
.ws-cta.share.copied{background:var(--teal);color:#fff;border-color:var(--teal)}
.ws-cta .ico svg{width:16px;height:16px}

/* revisit banner (returning member) */
.ws-revisit{background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:16px 18px;margin-top:16px;border-left:4px solid var(--teal)}
.ws-revisit .rv-when{font-family:var(--hand);font-size:18px;color:var(--teal-dark);font-weight:600}
.ws-revisit .rv-tx{font-family:var(--body);font-size:13px;color:var(--text-mid);line-height:1.55;margin-top:5px}
.ws-revisit-actions{display:flex;gap:9px;margin-top:13px;flex-wrap:wrap}
.ws-revisit-actions button{font-family:var(--body);font-size:12.5px;font-weight:700;border-radius:999px;padding:10px 18px;cursor:pointer;border:none}
.ws-revisit-actions .rv-see{background:var(--primary);color:#fff}
.ws-revisit-actions .rv-see:hover{background:var(--primary-dark)}
.ws-revisit-actions .rv-redo{background:transparent;color:var(--text-mid);border:1.5px solid var(--line)}
.ws-revisit-actions .rv-redo:hover{border-color:var(--text-mid)}

/* tiny error toast inline */
.ws-error{background:rgba(243,102,30,.08);border:1px solid rgba(243,102,30,.25);border-radius:12px;padding:13px 15px;font-family:var(--body);font-size:13px;color:var(--primary-dark);line-height:1.5;margin-top:14px}

/* in-progress: resume card + save-and-come-back-later */
.ws-resume{background:linear-gradient(135deg,rgba(243,102,30,.09),rgba(243,102,30,.03));border:1px solid rgba(243,102,30,.22);border-radius:16px;padding:16px 18px;margin-top:16px}
.ws-resume .rs-tx{margin-bottom:14px}
.ws-resume .rs-tx b{display:block;font-family:var(--body);font-size:14px;font-weight:700;color:#2d2a26;margin-bottom:3px}
.ws-resume .rs-tx span{font-family:var(--body);font-size:12.5px;color:var(--text-mid);line-height:1.5}
.rs-btn{display:flex;width:100%;align-items:center;justify-content:center;gap:7px;font-family:var(--body);font-size:13px;font-weight:700;color:#fff;background:var(--primary);border:none;border-radius:999px;padding:13px 16px;cursor:pointer;transition:background .2s}
.rs-btn:hover{background:var(--primary-dark)}
.rs-btn svg{width:15px;height:15px}
.ws-save-later{display:block;width:100%;text-align:center;background:none;border:none;margin-top:16px;padding:6px;font-family:var(--body);font-size:12.5px;font-weight:500;color:#8a8580;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ws-save-later:hover{color:var(--text-mid)}

/* ---- charge-aware regulation pull (results screen) ---- */
.ws-regulate{margin-top:18px;background:linear-gradient(135deg,var(--peach),#fef4ec);border:1px solid rgba(243,102,30,.2);border-radius:18px;padding:20px 20px 22px}
.ws-regulate.high{background:linear-gradient(135deg,#ffe6d6,#fff1e8);border-color:rgba(243,102,30,.34)}
.ws-reg-eyebrow{display:inline-flex;align-items:center;gap:7px;font-family:var(--body);font-size:11px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;color:var(--primary-dark)}
.ws-reg-eyebrow .ico svg{width:14px;height:14px}
.ws-reg-title{font-family:var(--heading);font-size:21px;font-weight:700;color:var(--text-dark);line-height:1.2;margin:8px 0 6px;font-style:normal}
.ws-reg-sub{font-family:var(--body);font-size:14px;color:var(--text-mid);line-height:1.6}
.ws-reg-tools{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.ws-reg-tool{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 15px;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s,box-shadow .15s}
.ws-reg-tool:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow)}
.ws-reg-tool.soft{cursor:default}
.ws-reg-tool.soft:hover{border-color:var(--line);transform:none;box-shadow:none}
.ws-reg-tool .rt-emoji{font-size:24px;line-height:1;flex-shrink:0;width:30px;text-align:center}
.ws-reg-tool .rt-tx{flex:1;min-width:0}
.ws-reg-tool .rt-tx b{display:block;font-family:var(--body);font-size:14.5px;font-weight:700;color:var(--text-dark);line-height:1.3}
.ws-reg-tool .rt-tx span{font-family:var(--body);font-size:12.5px;color:var(--text-mid);line-height:1.45}
.ws-reg-tool .rt-go{color:var(--text-light);display:inline-flex;flex-shrink:0}
.ws-reg-tool .rt-go svg{width:17px;height:17px}
.ws-reg-tool:hover .rt-go{color:var(--primary)}
.ws-reg-stmts{margin-top:18px;background:rgba(255,255,255,.7);border:1px dashed rgba(243,102,30,.3);border-radius:14px;padding:16px 16px 14px}
.ws-reg-stmts-label{font-family:var(--body);font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--teal-dark);margin-bottom:11px}
.ws-reg-stmt{font-family:var(--heading);font-size:16.5px;color:var(--text-dark);line-height:1.5;padding:9px 0;border-bottom:1px solid rgba(0,0,0,.05);font-style:normal}
.ws-reg-stmt:last-of-type{border-bottom:none}
.ws-reg-copy{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-family:var(--body);font-size:12.5px;font-weight:700;color:var(--primary-dark);background:#fff;border:1px solid rgba(243,102,30,.25);border-radius:999px;padding:9px 16px;cursor:pointer;transition:background .15s}
.ws-reg-copy:hover{background:var(--peach)}
.ws-reg-copy.copied{background:var(--teal);color:#fff;border-color:var(--teal)}
.ws-reg-copy .ico svg{width:14px;height:14px}

/* ---- download-as-PDF row (results screen) ---- */
.ws-cta.pdf{background:#2d2a26;color:#fff;border:none}
.ws-cta.pdf:hover{background:#1a1816;transform:translateY(-1px)}
.ws-cta.pdf:disabled{background:#aaa;cursor:wait;transform:none}
.ws-pdf-note{font-family:var(--body);font-size:11.5px;color:var(--text-light);text-align:center;margin-top:-2px;line-height:1.45}

/* =========================================================================
   DESKTOP , the elegant A4 sheet. Mobile keeps the exact layout above; from
   900px the worksheet becomes a generous paper sheet on the cream desk
   (mirrors the 860px Plan-Your-Escape canvas) instead of a phone column.
   ========================================================================= */
@media (min-width:900px){
  body{padding-bottom:40px}
  .ws-shell{
    max-width:880px;
    background:#fff;
    border-radius:28px;
    box-shadow:0 18px 60px rgba(45,42,38,.09),0 2px 10px rgba(45,42,38,.04);
    margin:74px auto 40px;
    padding:64px 92px 58px;
    min-height:72vh;
  }
  /* cards sit ON the sheet now: flatten to soft outlines so it reads as one page */
  .ws-card,.ws-summary,.ws-part,.ws-ins-point,.ws-revisit,.ws-resume,.ws-crosslink,.ws-save{box-shadow:none;border:1px solid var(--line)}
  .ws-card,.ws-summary{background:var(--bg)}
  .ws-meta-chip{box-shadow:none}

  .ws-backhome{top:20px;left:20px;font-size:13px;padding:10px 15px 10px 12px}
  .ws-topnote{font-size:12px}

  /* typography breathes at desk size */
  .ws-emoji{font-size:72px}
  .ws-eyebrow{font-size:23px}
  .ws-title{font-size:50px}
  .ws-intro-text{font-size:17.5px;line-height:1.7}
  .ws-step-count{font-size:21px}
  .ws-prompt{font-size:34px;line-height:1.16}
  .ws-guide{font-size:15.5px;max-width:640px}
  .ws-example{font-size:14px;max-width:640px}
  .ws-ins-title{font-size:38px}
  .ws-ins-intro{font-size:16px;max-width:560px}
  .ws-ins-tx{font-size:15px}
  .ws-result-title{font-size:42px}
  .ws-summary-line{font-size:16px}
  .ws-part-body{font-size:15.5px;line-height:1.7}
  .ws-reflection-intro{font-size:22px}

  /* inputs get room */
  textarea.ws-text{min-height:260px;font-size:16.5px;padding:20px 22px;line-height:1.8}
  input.ws-text{font-size:16.5px;padding:17px 20px}
  .ws-input-wrap{margin-top:26px}

  /* choices read as an elegant two-column sheet */
  .ws-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .ws-options .ws-opt{padding:16px 18px}
  .ws-chips{gap:10px}
  .ws-chip{font-size:14.5px;padding:11px 18px}
  .ws-scale{max-width:600px;gap:10px}
  .ws-scale-btn{max-width:44px}
  .ws-scale-ends{max-width:600px}

  /* nav + actions: buttons stop being full-width bars */
  .ws-nav{padding-top:38px}
  .ws-next{padding:15px 34px;font-size:15px}
  .ws-back{padding:14px 24px}
  .ws-actions{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}
  .ws-cta{width:auto;min-width:230px;padding:15px 30px}
  .ws-revisit-actions button{font-size:13px}
  .ws-loading{padding:90px 10px}
}

/* very wide screens: keep the sheet anchored, just give it more desk */
@media (min-width:1500px){
  .ws-shell{margin-top:90px}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}
