:root {
  --ink: #17312d;
  --ink-soft: #3f5d57;
  --paper: #f7f1e8;
  --paper-soft: rgba(250, 247, 241, .84);
  --sage: #91aa9b;
  --sage-dark: #3f6860;
  --sage-deep: #173c36;
  --sky: #cddfd9;
  --peach: #dca789;
  --sun: #efd69e;
  --line: rgba(35, 69, 63, .18);
  --shadow: 0 24px 70px rgba(27, 55, 49, .18);
  --safe-bottom: max(18px, env(safe-area-inset-bottom));
}

* { box-sizing: border-box; }
html, body { width: 100%; min-height: 100%; margin: 0; }
body {
  overflow: hidden;
  color: var(--ink);
  background: #d6e1dc;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
button, input, textarea { font: inherit; }
button { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.hidden { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.eyebrow { margin: 0; color: var(--sage-dark); font-size: 10px; font-weight: 800; letter-spacing: .2em; }

.sanctuary {
  position: relative;
  width: 100vw;
  min-height: 100dvh;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 72% 18%, rgba(255,244,211,.88), transparent 25%),
    linear-gradient(130deg, #dbe6e1 0%, #c6d9d4 47%, #f0dfcd 100%);
}
.room-sky, .sun-wash, .soft-orbs, .window-scene, .room-objects { position: absolute; inset: 0; pointer-events: none; }
.room-sky {
  z-index: -5;
  background:
    linear-gradient(90deg, rgba(32,66,59,.08) 1px, transparent 1px) 0 0 / 8vw 100%,
    linear-gradient(180deg, transparent 58%, rgba(255,250,241,.68) 58% 100%);
}
.sun-wash {
  z-index: -4;
  background: conic-gradient(from 210deg at 78% -4%, transparent 0 16%, rgba(255,247,217,.35) 17% 23%, transparent 24% 100%);
  filter: blur(5px);
  animation: sun-drift 15s ease-in-out infinite alternate;
}
.soft-orbs { z-index: -1; }
.soft-orbs i { position: absolute; border-radius: 50%; background: rgba(255,251,233,.42); filter: blur(2px); animation: orb-float 8s ease-in-out infinite; }
.soft-orbs i:nth-child(1) { width: 8px; height: 8px; left: 12%; top: 25%; }
.soft-orbs i:nth-child(2) { width: 4px; height: 4px; left: 52%; top: 16%; animation-delay: -2s; }
.soft-orbs i:nth-child(3) { width: 11px; height: 11px; right: 12%; top: 48%; animation-delay: -5s; }
.soft-orbs i:nth-child(4) { width: 6px; height: 6px; left: 33%; bottom: 22%; animation-delay: -1s; }
.soft-orbs i:nth-child(5) { width: 3px; height: 3px; right: 32%; bottom: 13%; animation-delay: -6s; }

.window-scene { z-index: -3; left: auto; width: 43vw; min-width: 440px; overflow: hidden; border-left: 1px solid rgba(255,255,255,.45); }
.window-frame { position: absolute; inset: 8vh 8vw 25vh 4vw; border: 14px solid rgba(249,245,235,.72); border-radius: 180px 180px 12px 12px; box-shadow: inset 0 0 0 1px rgba(31,71,63,.15), 0 16px 40px rgba(51,88,80,.12); }
.window-frame::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: rgba(255,255,255,.65); }
.window-frame::after { content: ""; position: absolute; left: 0; right: 0; top: 58%; height: 1px; background: rgba(255,255,255,.65); }
.distant-hill { position: absolute; bottom: 25vh; width: 75%; height: 24%; border-radius: 50% 60% 0 0; filter: blur(2px); }
.hill-a { right: -8%; background: rgba(83,119,100,.24); transform: rotate(-7deg); }
.hill-b { right: 38%; bottom: 22vh; background: rgba(119,146,125,.2); transform: rotate(10deg); }
.window-light { position: absolute; inset: 8vh 7vw 25vh 4vw; border-radius: 180px 180px 12px 12px; background: linear-gradient(155deg, rgba(251,248,225,.65), rgba(201,222,217,.2)); }

.room-objects { z-index: -2; }
.plant { position: absolute; right: 3vw; bottom: 18vh; width: 130px; height: 190px; }
.plant b { position: absolute; left: 44px; bottom: 0; width: 65px; height: 76px; border-radius: 12px 12px 28px 28px; background: linear-gradient(90deg,#92725e,#b99378); box-shadow: var(--shadow); }
.plant i { position: absolute; left: 60px; bottom: 65px; width: 42px; height: 92px; transform-origin: bottom; border-radius: 90% 8% 90% 8%; background: #638977; opacity: .84; }
.plant i:nth-child(1) { transform: rotate(-48deg) scale(.9); }.plant i:nth-child(2) { transform: rotate(-18deg) scale(1.05); }
.plant i:nth-child(3) { transform: rotate(25deg) scale(.92); }.plant i:nth-child(4) { transform: rotate(55deg) scale(.72); }
.lamp { position: absolute; left: 6vw; bottom: 19vh; width: 100px; height: 160px; }
.lamp i { position: absolute; left: 48px; top: 54px; width: 3px; height: 92px; background: #6d766f; }
.lamp b { position: absolute; left: 17px; top: 12px; width: 70px; height: 60px; border-radius: 50% 50% 20% 20%; background: rgba(244,215,163,.85); box-shadow: 0 0 80px rgba(244,212,151,.52); }
.side-table { position: absolute; left: 4vw; bottom: 11vh; width: 145px; height: 80px; }
.side-table i { position: absolute; inset: 0 0 auto; height: 20px; border-radius: 50%; background: #ad927c; }
.side-table b { position: absolute; left: 68px; top: 14px; width: 8px; height: 66px; background: #8e7563; }

.topbar {
  position: fixed; z-index: 40; top: 0; left: 0; right: 0;
  height: 78px; padding: max(16px,env(safe-area-inset-top)) clamp(18px,4vw,56px) 10px;
  display: flex; align-items: center; justify-content: space-between;
  background: linear-gradient(180deg,rgba(244,242,233,.92),rgba(244,242,233,.2),transparent);
}
.brand { display: flex; gap: 12px; align-items: center; color: var(--ink); text-decoration: none; }
.brand-mark { position: relative; width: 35px; height: 35px; border: 1px solid rgba(45,92,82,.32); border-radius: 50%; }
.brand-mark i, .brand-mark b { position: absolute; border-radius: 50%; }
.brand-mark i { inset: 7px; border: 1px solid var(--sage-dark); }
.brand-mark b { width: 8px; height: 8px; top: 3px; right: 2px; background: var(--peach); box-shadow: 0 0 13px rgba(220,167,137,.8); }
.brand strong { display: block; font: 600 19px/1 Georgia,serif; letter-spacing: .22em; }
.brand small { display: block; margin-top: 4px; color: var(--ink-soft); font-size: 9px; letter-spacing: .08em; }
.scope-button { padding: 9px 14px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.38); color: var(--ink-soft); font-size: 10px; cursor: pointer; backdrop-filter: blur(8px); }
.session-progress { display: flex; align-items: center; gap: 9px; padding: 8px 12px; border: 1px solid rgba(53,96,87,.16); border-radius: 999px; background: rgba(252,249,242,.72); box-shadow: 0 9px 24px rgba(39,69,62,.08); }
.session-progress i { width: 7px; height: 7px; border-radius: 50%; background: var(--sage-dark); animation: presence 2s ease-in-out infinite; }
.session-progress span { color: var(--ink-soft); font-size: 10px; }.session-progress b { font: 600 16px Georgia,serif; }

.welcome { position: absolute; z-index: 30; inset: 0; display: grid; place-items: center; padding: 100px 9vw 8vh; background: linear-gradient(115deg,rgba(214,228,222,.97),rgba(225,235,229,.86) 52%,rgba(243,223,205,.82)); }
.welcome::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 72% 45%,rgba(255,249,222,.72),transparent 27%); pointer-events: none; }
.welcome-copy { position: relative; z-index: 3; width: min(620px,90vw); margin-right: 28vw; animation: welcome-in 1s ease both; }
.welcome-copy h1 { max-width: 620px; margin: 15px 0 18px; font: 500 clamp(49px,6.5vw,88px)/.96 Georgia,serif; letter-spacing: -.045em; }
.welcome-copy > p:not(.eyebrow) { max-width: 500px; margin: 0 0 28px; color: var(--ink-soft); font: 18px/1.55 Georgia,serif; }
.welcome-copy > small { display: block; margin-top: 13px; color: #617b74; font-size: 9px; }
.welcome-breath { position: absolute; z-index: 2; right: 9vw; top: 50%; width: min(30vw,410px); aspect-ratio: 1; transform: translateY(-50%); }
.welcome-breath span, .welcome-breath i, .welcome-breath b { position: absolute; border-radius: 50%; inset: 18%; border: 1px solid rgba(57,103,94,.22); animation: breathe 5.5s ease-in-out infinite; }
.welcome-breath i { inset: 2%; animation-delay: -.8s; }.welcome-breath b { inset: 34%; background: rgba(255,250,225,.46); border: 0; animation-delay: -1.6s; }
.welcome-leaving .welcome { animation: welcome-out .8s cubic-bezier(.5,0,.2,1) both; pointer-events: none; }

.primary-button, .soft-button, .text-button, .round-button, .mic-button, .scope-button { border: 0; }
.primary-button { min-height: 54px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; border-radius: 17px; border: 1px solid rgba(26,67,59,.12); background: linear-gradient(135deg,var(--sage-deep),#557b70); color: #fffdf7; box-shadow: 0 15px 34px rgba(33,75,67,.22); font-weight: 700; cursor: pointer; }
.primary-button b { font-size: 19px; font-weight: 400; transition: transform .2s ease; }.primary-button:hover b { transform: translateX(3px); }
.primary-button:disabled { opacity: .42; cursor: not-allowed; }
.soft-button { min-height: 44px; padding: 0 17px; border: 1px solid rgba(53,96,87,.2); border-radius: 14px; background: rgba(255,255,255,.54); color: var(--sage-deep); font-weight: 700; cursor: pointer; }
.text-button { padding: 8px; background: none; color: var(--sage-deep); font-weight: 700; cursor: pointer; }
.text-button span { margin-right: 7px; color: var(--peach); }

.selene-stage { position: absolute; z-index: 3; top: 9vh; bottom: 0; left: 54%; width: min(43vw,620px); transform: translateX(-50%); transition: left .8s ease,width .8s ease,opacity .5s ease; }
.portrait-shell { position: absolute; inset: 5% 0 0; overflow: hidden; border-radius: 48% 48% 7% 7% / 28% 28% 4% 4%; mask-image: linear-gradient(#000 75%,transparent 99%); }
.portrait-shell img { width: 100%; height: 100%; object-fit: cover; object-position: center 31%; filter: saturate(.72) contrast(.9) brightness(1.08); transform: scale(1.02); }
.portrait-shell video { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 31%;background:#dce7df;filter:saturate(.78) contrast(.94) brightness(1.04); }
.portrait-tone { position: absolute; inset: 0; background: linear-gradient(120deg,rgba(169,205,190,.18),transparent 38%,rgba(240,195,166,.16)); mix-blend-mode: soft-light; }
.portrait-halo { position: absolute; inset: 8% 4% 15%; border-radius: 50%; background: rgba(252,237,193,.35); filter: blur(40px); animation: halo-breathe 6s ease-in-out infinite; }
.presence-pill { position: absolute; z-index: 5; top: 15%; left: 50%; transform: translateX(-50%); padding: 9px 14px; display: flex; align-items: center; gap: 8px; border: 1px solid rgba(57,97,89,.18); border-radius: 999px; background: rgba(250,248,240,.72); box-shadow: 0 10px 30px rgba(42,75,68,.09); backdrop-filter: blur(12px); white-space: nowrap; color: var(--ink-soft); font-size: 9px; letter-spacing: .09em; }
.presence-pill i { width: 7px; height: 7px; border-radius: 50%; background: #6c9d7d; box-shadow: 0 0 12px rgba(92,156,119,.65); }
.breathing-rhythm { position: absolute; left: 50%; bottom: 8%; display: flex; gap: 5px; transform: translateX(-50%); }
.breathing-rhythm i { width: 4px; height: 4px; border-radius: 50%; background: rgba(255,255,255,.75); animation: rhythm 1.8s ease-in-out infinite; }.breathing-rhythm i:nth-child(2){animation-delay:.2s}.breathing-rhythm i:nth-child(3){animation-delay:.4s}

.lobby { position: absolute; z-index: 12; left: clamp(24px,5vw,76px); top: 14vh; bottom: 5vh; width: min(520px,44vw); padding: 30px; overflow: auto; scrollbar-width: thin; border: 1px solid rgba(44,84,76,.16); border-radius: 32px; background: rgba(250,247,240,.76); box-shadow: var(--shadow); backdrop-filter: blur(22px); animation: panel-in .75s ease both; }
.lobby-heading h2 { margin: 9px 0 10px; font: 500 clamp(36px,4vw,56px)/.98 Georgia,serif; letter-spacing: -.035em; }
.lobby-heading > p:last-child { margin: 0; color: var(--ink-soft); font: 15px/1.5 Georgia,serif; }
.care-options { margin-top: 24px; display: grid; gap: 12px; }
.care-card { padding: 20px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.48); }
.care-card-main { background: linear-gradient(145deg,rgba(248,245,234,.92),rgba(226,239,232,.84)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.45); }
.care-kicker { color: var(--sage-dark); font-size: 8px; font-weight: 800; letter-spacing: .19em; }
.care-card h3 { margin: 8px 0 8px; font: 600 23px/1.07 Georgia,serif; }.care-card p { margin: 0 0 14px; color: var(--ink-soft); font-size: 12px; line-height: 1.45; }
.care-card .primary-button { width: 100%; }.care-card .soft-button { width: 100%; }
.payment-unavailable{margin:12px 0 0;padding:11px 13px;border:1px solid rgba(137,91,66,.24);border-radius:14px;background:rgba(255,247,238,.75);color:#795747;font-size:10px;line-height:1.45;text-align:center}
.care-meta { margin: 12px 0 16px; display: flex; flex-wrap: wrap; gap: 7px; }.care-meta span { padding: 7px 9px; border-radius: 999px; background: rgba(68,111,101,.08); color: var(--sage-deep); font-size: 9px; }.care-meta b { font: 600 14px Georgia,serif; }
.lobby-actions { margin-top: 14px; display: flex; justify-content: space-between; gap: 8px; }.lobby-actions button { font-size: 10px; }
.scope-note { margin: 16px 3px 0; color: #627a74; font-size: 9px; line-height: 1.45; }
.lobby-visible .selene-stage { left: 76%; width: min(37vw,540px); }

.session { position: absolute; z-index: 10; inset: 80px 0 0; }
.session-active .selene-stage { left: 26%; width: min(43vw,590px); }
.phase-rail { position: absolute; top: 20px; right: clamp(24px,5vw,70px); width: min(47vw,650px); display: grid; grid-template-columns: repeat(4,1fr); gap: 2px; }
.phase-rail::before { content:""; position:absolute; left: 7%; right: 7%; top: 7px; height: 1px; background: rgba(42,83,75,.18); }
.phase-rail span { position: relative; z-index: 1; display: grid; justify-items: center; gap: 6px; color: #759088; font-size: 8px; text-transform: uppercase; letter-spacing: .11em; }
.phase-rail i { width: 14px; height: 14px; border: 4px solid #d8e2dc; border-radius: 50%; background: #8da89e; }.phase-rail span.active { color: var(--sage-deep); font-weight: 800; }.phase-rail span.active i { background: var(--peach); box-shadow: 0 0 0 5px rgba(220,167,137,.16); }
.selene-message { position: absolute; top: 66px; right: clamp(24px,5vw,70px); width: min(47vw,650px); min-height: 120px; padding: 19px 54px 18px 21px; border: 1px solid rgba(46,89,80,.16); border-radius: 24px; background: rgba(250,248,241,.75); box-shadow: var(--shadow); backdrop-filter: blur(18px); }
.selene-message > span { color: var(--sage-dark); font-size: 8px; font-weight: 800; letter-spacing: .18em; }.selene-message > span i { display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--peach); }
.selene-message p { margin: 10px 0 0; font: 18px/1.45 Georgia,serif; }.selene-message > button { position:absolute;right:16px;top:50%;width:31px;height:31px;transform:translateY(-50%);border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer; }
.session-controls { position: absolute; z-index: 15; right: clamp(24px,5vw,70px); bottom: var(--safe-bottom); width: min(47vw,650px); display: flex; align-items: center; justify-content: center; gap: 12px; }
.round-button { position:relative;width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(47,89,80,.18);border-radius:50%;background:rgba(249,247,241,.78);box-shadow:0 12px 30px rgba(37,70,63,.12);cursor:pointer; }
.round-button svg { width:23px;fill:none;stroke:var(--sage-deep);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }.round-button > i {position:absolute;right:-2px;top:-2px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:var(--peach);color:white;font-size:9px;font-style:normal;}
.mic-button { min-width: 265px; height: 62px; padding: 0 22px; display: flex; align-items: center; justify-content: center; gap: 14px; border-radius: 22px; background: linear-gradient(135deg,#f8efe2,#d7e5de); box-shadow: 0 15px 38px rgba(35,73,65,.18); cursor: pointer; user-select: none; -webkit-user-select:none; -webkit-touch-callout:none; touch-action: none; }
.mic-button *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;pointer-events:none}
.mic-button > svg { width:25px;fill:none;stroke:var(--sage-deep);stroke-width:1.8;stroke-linecap:round; }.mic-button span { text-align:left; }.mic-button b,.mic-button small {display:block}.mic-button b{font-size:13px}.mic-button small{margin-top:2px;color:#668078;font-size:8px}.mic-button.recording{background:linear-gradient(135deg,#f5d2c4,#f1e2d0);transform:scale(1.02)}
.voice-wave { display:none!important; align-items:center; gap:2px; height:20px; }.recording .voice-wave{display:flex!important}.voice-wave i{width:2px;height:6px;border-radius:2px;background:var(--peach);animation:wave .7s ease-in-out infinite}.voice-wave i:nth-child(2){animation-delay:.1s}.voice-wave i:nth-child(3){animation-delay:.2s}.voice-wave i:nth-child(4){animation-delay:.3s}.voice-wave i:nth-child(5){animation-delay:.4s}.voice-wave i:nth-child(6){animation-delay:.2s}.voice-wave i:nth-child(7){animation-delay:.1s}

.mechanic-stage { position: absolute; z-index: 13; top: 205px; right: clamp(24px,5vw,70px); bottom: 94px; width: min(47vw,650px); padding: 22px; overflow: auto; border: 1px solid rgba(44,87,78,.16); border-radius: 30px; background: rgba(249,247,239,.88); box-shadow: var(--shadow); backdrop-filter: blur(24px); animation: mechanic-in .55s cubic-bezier(.2,.76,.2,1) both; }
.mechanic-stage > header { display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.mechanic-stage > header span{color:var(--sage-dark);font-size:8px;font-weight:800;letter-spacing:.17em}.mechanic-stage h2{margin:5px 0 0;font:500 29px/1 Georgia,serif}.mechanic-stage > header button,.chat-drawer header button,.catalog header > button,.modal-close{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.5);font-size:21px;cursor:pointer}.mechanic-stage>p{margin:12px 0 15px;color:var(--ink-soft);font-size:12px;line-height:1.45}
.mechanic-consent{padding:18px;display:grid;grid-template-columns:55px 1fr;gap:5px 14px;border-radius:20px;background:linear-gradient(135deg,rgba(216,233,225,.75),rgba(250,233,219,.62));}.consent-orbit{position:relative;grid-row:1/3;width:50px;height:50px;border:1px solid rgba(58,102,93,.24);border-radius:50%;animation:slow-spin 9s linear infinite}.consent-orbit i{position:absolute;inset:12px;border:1px solid rgba(58,102,93,.32);border-radius:50%}.consent-orbit b{position:absolute;width:8px;height:8px;right:2px;top:8px;border-radius:50%;background:var(--peach)}.mechanic-consent p{margin:0;font:15px/1.35 Georgia,serif}.mechanic-consent>div{display:flex;gap:8px}.mechanic-consent button{min-height:40px}.mechanic-consent .primary-button{padding:0 15px;border-radius:13px}
.mechanic-workspace { display: grid; gap: 14px; padding: 3px 1px; }
.workspace-question { margin:0;font:600 18px/1.3 Georgia,serif; }
.choice-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:9px }.choice-chip { min-height:52px;padding:10px;border:1px solid rgba(49,92,83,.15);border-radius:15px;background:rgba(255,255,255,.58);cursor:pointer;text-align:left;transition:.2s ease}.choice-chip:hover,.choice-chip.selected{border-color:var(--sage-dark);background:#e0ede6;transform:translateY(-1px)}.choice-chip b,.choice-chip small{display:block}.choice-chip b{font:600 15px Georgia,serif}.choice-chip small{margin-top:3px;color:#6a817b;font-size:8px}
.range-shell { padding:15px;border-radius:18px;background:rgba(220,234,227,.58) }.range-shell output{display:block;margin-bottom:8px;font:600 40px Georgia,serif}.range-shell input{width:100%;accent-color:var(--sage-dark)}.range-labels{display:flex;justify-content:space-between;color:#6b837c;font-size:8px}
.workspace-field { display:grid;gap:6px }.workspace-field span{color:var(--sage-dark);font-size:9px;font-weight:800;letter-spacing:.08em}.workspace-field input,.workspace-field textarea,.message-form textarea{width:100%;border:1px solid rgba(45,88,79,.18);border-radius:15px;background:rgba(255,255,255,.62);color:var(--ink);outline:0}.workspace-field input{height:47px;padding:0 13px}.workspace-field textarea{min-height:82px;padding:12px;resize:vertical}.workspace-field input:focus,.workspace-field textarea:focus{border-color:var(--sage-dark);box-shadow:0 0 0 4px rgba(73,117,107,.09)}
.two-column { display:grid;grid-template-columns:1fr 1fr;gap:10px}.column-box{padding:13px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.48)}.column-box h3{margin:0 0 8px;font:600 15px Georgia,serif}.column-box textarea{width:100%;min-height:100px;padding:0;border:0;background:none;resize:none;outline:0;color:var(--ink)}
.body-map{position:relative;width:min(210px,70%);height:270px;margin:auto}.body-map::before{content:"";position:absolute;left:50%;top:36px;width:72px;height:175px;transform:translateX(-50%);border:2px solid rgba(61,103,94,.24);border-radius:40% 40% 30% 30%}.body-map::after{content:"";position:absolute;left:50%;top:0;width:56px;height:56px;transform:translateX(-50%);border:2px solid rgba(61,103,94,.24);border-radius:50%}.body-point{position:absolute;width:48px;height:48px;border:1px solid rgba(50,93,84,.18);border-radius:50%;background:rgba(255,255,255,.6);cursor:pointer}.body-point.selected{background:rgba(220,167,137,.65);box-shadow:0 0 0 8px rgba(220,167,137,.12)}.body-point[data-zone=head]{left:50%;top:3px;transform:translateX(-50%)}.body-point[data-zone=chest]{left:50%;top:76px;transform:translateX(-50%)}.body-point[data-zone=belly]{left:50%;top:134px;transform:translateX(-50%)}.body-point[data-zone=hands]{left:15px;top:118px}.body-point[data-zone=legs]{right:25px;bottom:5px}
.sort-zones,.control-zones{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sort-zone,.control-zone{min-height:80px;padding:9px;border:1px dashed rgba(49,92,83,.3);border-radius:15px;background:rgba(255,255,255,.35)}.sort-zone b,.control-zone b{display:block;margin-bottom:8px;font:600 13px Georgia,serif}.mini-card{display:inline-flex;margin:3px;padding:6px 8px;border:0;border-radius:10px;background:#e0ebe5;color:var(--ink);font-size:9px;cursor:pointer}.mini-card.selected{background:var(--peach);color:#fff}
.option-scale{display:grid;gap:9px}.option-row{padding:11px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.42)}.option-row label{display:flex;justify-content:space-between;gap:8px;font-size:11px}.option-row input{width:100%;accent-color:var(--sage-dark)}
.breath-light{width:150px;height:150px;margin:10px auto 4px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,rgba(255,246,202,.9),rgba(138,177,162,.25) 55%,transparent 57%);animation:breathe 6s ease-in-out infinite}.breath-light span{font:600 13px Georgia,serif}.step-route{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:7px}.step-node{min-height:86px;padding:10px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.46)}.step-node b{display:block;font:600 13px Georgia,serif}.step-node input{width:100%;margin-top:7px;border:0;border-bottom:1px solid var(--line);background:none;outline:0}.route-arrow{color:var(--peach)}
.timeline-builder{display:flex;gap:8px;align-items:stretch}.timeline-item{flex:1;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.45)}.timeline-item b{display:block;margin-bottom:7px;font:600 13px Georgia,serif}.timeline-item input{width:100%;border:0;border-bottom:1px solid var(--line);background:none;outline:0}.sensory-wheel{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sense-card{min-height:75px;padding:10px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.48);cursor:pointer}.sense-card b{display:block;font:600 15px Georgia,serif}.sense-card small{font-size:8px;color:#6a827b}.sense-card.selected{background:#dceae3;border-color:var(--sage-dark)}
.workspace-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:3px}.workspace-actions .primary-button{min-height:44px;border-radius:14px;padding:0 16px}.mechanic-check{padding:15px;border-radius:18px;background:rgba(226,236,230,.7)}.mechanic-check p{margin:0 0 10px;font:600 16px Georgia,serif}.mechanic-check>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mechanic-check button{min-height:42px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.55);cursor:pointer}.mechanic-check button:hover{background:#dceae3}

/* Cada técnica comparte la calma visual del producto, pero tiene un gesto propio. */
.practice-guide{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:7px;margin:1px 0 2px;color:#7a918b;font-size:7px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.practice-guide span{display:flex;align-items:center;gap:5px;white-space:nowrap}.practice-guide i{width:7px;height:7px;border:2px solid #c5d5ce;border-radius:50%;background:#f7f3ea}.practice-guide span.active{color:var(--sage-deep)}.practice-guide span.active i{border-color:var(--peach);background:var(--peach);box-shadow:0 0 0 4px rgba(220,167,137,.13)}.practice-guide b{height:1px;background:linear-gradient(90deg,rgba(57,101,92,.08),rgba(57,101,92,.28),rgba(57,101,92,.08))}
.mechanic-stage[data-interaction="soft_light_timer"],.mechanic-stage[data-interaction="body_region_sequence"],.mechanic-stage[data-interaction="pressure_feedback"]{background:radial-gradient(circle at 50% 55%,rgba(247,226,177,.42),transparent 36%),rgba(244,248,240,.92)}
.mechanic-stage[data-interaction="private_message_editor"],.mechanic-stage[data-interaction="progressive_prompts"],.mechanic-stage[data-interaction="rewrite_inner_voice"]{background:linear-gradient(145deg,rgba(252,244,232,.94),rgba(235,243,238,.92))}
.mechanic-stage[data-interaction="weighted_options"],.mechanic-stage[data-interaction="drag_into_circles"],.mechanic-stage[data-interaction="goal_obstacle_route"]{background:linear-gradient(155deg,rgba(235,245,240,.96),rgba(248,239,226,.9))}
.mechanic-card{position:relative;overflow:hidden}.mechanic-card::after{content:"";position:absolute;right:-28px;top:-30px;width:88px;height:88px;border:1px solid rgba(65,109,99,.12);border-radius:50%;box-shadow:0 0 0 12px rgba(255,255,255,.12),0 0 0 25px rgba(71,115,105,.035);transition:.35s ease}.mechanic-card:hover::after{transform:scale(1.14) translate(-4px,4px)}.mechanic-card[data-interaction="soft_light_timer"]::after{background:radial-gradient(circle,#f6db95 0 8%,rgba(246,219,149,.2) 9% 40%,transparent 41%)}.mechanic-card[data-interaction="sensory_wheel"]::after{border-style:dashed}.mechanic-card[data-interaction="timeline_builder"]::after{border-radius:45% 55% 12% 88%}
.mechanic-workspace[data-interaction="radial_choice"] .choice-grid{grid-template-columns:repeat(4,1fr);gap:7px}.mechanic-workspace[data-interaction="radial_choice"] .choice-chip{min-height:86px;border-radius:50% 50% 44% 44%;text-align:center;display:grid;place-items:center}.mechanic-workspace[data-interaction="radial_choice"] .choice-chip small{display:none}.mechanic-workspace[data-interaction="choose_three_cards"] .choice-grid{display:flex;gap:0;padding:8px 24px 18px;justify-content:center;overflow:visible}.mechanic-workspace[data-interaction="choose_three_cards"] .choice-chip{flex:0 1 92px;min-height:126px;margin-left:-12px;border-radius:14px 14px 24px 24px;text-align:center;transform:rotate(-4deg);box-shadow:0 12px 22px rgba(36,71,64,.09)}.mechanic-workspace[data-interaction="choose_three_cards"] .choice-chip:nth-child(even){transform:translateY(-7px) rotate(3deg)}.mechanic-workspace[data-interaction="choose_three_cards"] .choice-chip.selected{z-index:2;transform:translateY(-14px) rotate(0deg);box-shadow:0 16px 28px rgba(38,75,67,.18)}
.body-map{border-radius:46%;background:radial-gradient(circle at 50% 42%,rgba(236,207,186,.25),transparent 45%)}.body-map::before,.body-map::after{box-shadow:0 0 28px rgba(83,132,118,.08)}.body-point{z-index:2}.body-point::after{content:"";position:absolute;inset:8px;border:1px solid rgba(62,105,96,.2);border-radius:50%;animation:presence 2.4s ease-in-out infinite}.body-point.selected::after{border-color:#fff}
.control-zones{position:relative;isolation:isolate}.control-zone{padding:14px;border-style:solid;border-radius:24px;background:rgba(255,255,255,.46)}.control-zone:nth-child(1){box-shadow:inset 0 0 0 5px rgba(104,152,137,.08)}.control-zone:nth-child(2){box-shadow:inset 0 0 0 5px rgba(221,173,143,.08)}.control-zone:nth-child(3){box-shadow:inset 0 0 0 5px rgba(126,143,155,.07)}.mini-card{transition:.2s ease}.mini-card:hover{transform:translateY(-2px)}
.breath-light{position:relative;width:180px;height:180px;background:radial-gradient(circle,rgba(255,246,202,.95) 0 14%,rgba(138,177,162,.22) 35%,transparent 59%)}.breath-light::before,.breath-light::after{content:"";position:absolute;border:1px solid rgba(77,126,114,.2);border-radius:50%;animation:breathe 6s ease-in-out infinite}.breath-light::before{inset:18px}.breath-light::after{inset:-8px;animation-delay:-1.5s}.breath-light span{z-index:2;max-width:90px;text-align:center}.sensory-wheel{position:relative;padding:18px;border-radius:50%;background:radial-gradient(circle,rgba(244,216,170,.28) 0 12%,transparent 13%)}.sense-card{border-radius:45% 55% 50% 50%;transition:.2s ease}.sense-card:nth-child(even){transform:translateY(6px)}.sense-card.selected{transform:translateY(-3px);box-shadow:0 12px 22px rgba(38,75,67,.12)}
.step-route{position:relative}.step-node{position:relative;overflow:hidden}.step-node::after{content:"";position:absolute;right:-17px;bottom:-18px;width:50px;height:50px;border:1px solid rgba(66,111,101,.12);border-radius:50%}.route-arrow{font-size:24px;animation:route-pulse 2.2s ease-in-out infinite}.timeline-builder{position:relative;padding-top:11px}.timeline-builder::before{content:"";position:absolute;left:9%;right:9%;top:0;height:2px;background:linear-gradient(90deg,var(--peach),var(--sage-dark))}.timeline-item{position:relative}.timeline-item::before{content:"";position:absolute;top:-17px;left:50%;width:10px;height:10px;transform:translateX(-50%);border-radius:50%;background:#f8f2e8;border:2px solid var(--sage-dark)}
@keyframes route-pulse{50%{transform:translateX(3px);opacity:.45}}

.chat-drawer { position: fixed; z-index: 60; top: 82px; right: 24px; bottom: 24px; width: min(430px,calc(100vw - 48px)); display:flex;flex-direction:column;border:1px solid rgba(44,85,77,.17);border-radius:28px;background:rgba(249,247,240,.94);box-shadow:0 30px 100px rgba(25,58,51,.28);backdrop-filter:blur(24px);animation:drawer-in .35s ease both; }
.chat-drawer header{padding:17px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.chat-drawer header span,.chat-drawer header small{display:block}.chat-drawer header span{font-size:9px;font-weight:800;letter-spacing:.15em}.chat-drawer header small{margin-top:3px;color:#708780;font-size:8px}.messages{flex:1;padding:16px;overflow:auto}.messages article{max-width:88%;margin-bottom:12px;padding:12px 14px;border-radius:17px}.messages article span{font-size:7px;font-weight:800;letter-spacing:.13em}.messages article p{margin:5px 0 0;font:14px/1.45 Georgia,serif}.messages .assistant{background:#e2ede7}.messages .user{margin-left:auto;background:#f1dfd2}.messages .system{margin-left:auto;margin-right:auto;background:transparent;color:#6b827b;text-align:center}.message-form,#message-form{width:100%;padding:12px;display:flex;align-items:flex-end;gap:8px;border-top:1px solid var(--line);box-sizing:border-box}#message-form textarea{width:auto;min-width:0;min-height:54px;max-height:140px;flex:1 1 auto;padding:15px 16px;border:1px solid rgba(45,88,79,.18);border-radius:15px;background:rgba(255,255,255,.7);color:var(--ink);font-size:16px;line-height:1.4;resize:none;overflow-y:auto;outline:0}#message-form textarea:focus{border-color:var(--sage-dark);box-shadow:0 0 0 4px rgba(73,117,107,.09)}#message-form button{width:54px;height:54px;flex:0 0 54px;border:0;border-radius:15px;background:var(--sage-deep);color:white;font-size:20px;cursor:pointer}

.catalog { position: fixed; z-index: 70; inset: 18px; padding: clamp(22px,4vw,48px); overflow:auto;border:1px solid rgba(44,85,77,.16);border-radius:34px;background:rgba(246,244,237,.97);box-shadow:0 35px 120px rgba(24,56,49,.28);backdrop-filter:blur(25px);animation:catalog-in .45s ease both; }
.catalog>header{display:flex;justify-content:space-between;gap:20px}.catalog>header h2{max-width:760px;margin:8px 0 10px;font:500 clamp(35px,4.5vw,64px)/.98 Georgia,serif;letter-spacing:-.035em}.catalog>header p:last-child{margin:0;color:var(--ink-soft)}.path-filters{position:sticky;top:-1px;z-index:3;margin:25px -4px 18px;padding:8px 4px;display:flex;gap:7px;overflow:auto;background:rgba(246,244,237,.94);scrollbar-width:none}.path-filters button{flex:0 0 auto;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.5);font-size:9px;cursor:pointer}.path-filters button.active{background:var(--sage-deep);color:white}.mechanic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.mechanic-card{min-height:180px;padding:17px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:21px;background:linear-gradient(150deg,rgba(255,255,255,.65),rgba(225,237,230,.55));cursor:pointer;text-align:left;transition:.2s ease}.mechanic-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(36,73,65,.12)}.mechanic-card>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(220,167,137,.23);font:600 14px Georgia,serif}.mechanic-card h3{margin:14px 0 7px;font:600 18px/1.08 Georgia,serif}.mechanic-card p{margin:0;color:var(--ink-soft);font-size:10px;line-height:1.45}.mechanic-card small{margin-top:auto;padding-top:12px;color:var(--sage-dark);font-size:7px;font-weight:800;letter-spacing:.1em}

.booking-modal,.scope-modal { position:fixed;z-index:80;inset:0;padding:20px;display:grid;place-items:center;background:rgba(25,53,48,.35);backdrop-filter:blur(12px);animation:fade-in .25s ease both}.booking-shell,.scope-modal>div{position:relative;width:min(540px,100%);max-height:90dvh;padding:28px;overflow:auto;border:1px solid rgba(255,255,255,.5);border-radius:28px;background:#f7f3eb;box-shadow:0 30px 100px rgba(23,50,45,.3)}.booking-shell h2,.scope-modal h2{margin:8px 0 10px;font:500 34px/1 Georgia,serif}.booking-shell>p:not(.eyebrow){color:var(--ink-soft);font-size:12px;line-height:1.5}.modal-close{position:absolute;right:18px;top:18px}.booking-slots{min-height:110px;margin:18px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.booking-slot{padding:10px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.58);cursor:pointer}.booking-slot b,.booking-slot small{display:block}.booking-slot b{font:600 15px Georgia,serif}.booking-slot small{margin-top:3px;color:#6c827c;font-size:8px}.booking-slot.selected{border-color:var(--sage-dark);background:#dae9e1}.loading-line{grid-column:1/-1;padding:25px;text-align:center;color:#6d837d;font-size:11px}.consent-row{margin:9px 0;display:flex;align-items:flex-start;gap:9px;color:var(--ink-soft);font-size:10px;line-height:1.35}.consent-row input{margin-top:2px;accent-color:var(--sage-dark)}.booking-shell>.primary-button{width:100%;margin-top:12px}.booking-shell>small{display:block;margin-top:9px;color:#6c817b;font-size:8px}.scope-modal ul{padding-left:20px;color:var(--ink-soft);font-size:12px;line-height:1.55}.scope-modal .soft-button{width:100%;margin-top:8px}
.booking-suggestion{margin:16px 0 4px;padding:14px 15px;display:grid;gap:5px;border:1px solid rgba(74,121,111,.28);border-radius:17px;background:linear-gradient(135deg,rgba(215,233,224,.8),rgba(255,242,226,.7));box-shadow:0 12px 30px rgba(52,91,82,.08)}.booking-suggestion>span{color:var(--sage-dark);font-size:8px;font-weight:800;letter-spacing:.13em}.booking-suggestion>b{font:600 17px/1.25 Georgia,serif}.booking-suggestion .text-button{justify-self:start;padding:4px 0;color:#54736b;font-size:9px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.booking-suggestion.unavailable{border-color:rgba(151,90,80,.24);background:rgba(249,230,222,.68)}.booking-payment-button{width:100%;margin-top:10px}.booking-pack-balance{margin:13px 0 2px!important;padding:10px 12px;border-radius:13px;background:rgba(216,234,225,.65);color:var(--sage-deep)!important;font-size:10px!important;font-weight:700;text-align:center}.booking-buy-pack{margin-top:13px;padding:13px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.38)}.booking-buy-pack>span{display:block;margin-bottom:9px;color:var(--ink-soft);font-size:9px;line-height:1.35;text-align:center}.booking-buy-pack>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.booking-buy-pack button{min-height:39px;padding:0 10px;font-size:10px}.booking-buy-pack button:disabled{opacity:.42;cursor:not-allowed}
.toast{position:fixed;z-index:100;left:50%;bottom:calc(var(--safe-bottom) + 10px);max-width:min(420px,calc(100vw - 28px));padding:12px 17px;transform:translateX(-50%);border-radius:14px;background:#183b35;color:white;box-shadow:0 15px 40px rgba(22,54,48,.3);font-size:11px;animation:toast-in .25s ease both}
.session-complete-card{text-align:left}.session-complete-card h2{margin:.45rem 0 .8rem}.checkout-grace-note{margin:1rem 0;padding:.8rem 1rem;border:1px solid rgba(44,85,77,.14);border-radius:16px;color:var(--ink-soft);font-size:.88rem}.completion-actions{display:grid;gap:.7rem}

.continuity-card{margin-top:14px;padding:16px;display:grid;grid-template-columns:1fr minmax(150px,.65fr);gap:12px 18px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.38)}.continuity-card h3{margin:4px 0;font:600 18px/1.1 Georgia,serif}.continuity-card p{margin:0;color:var(--ink-soft);font-size:9px;line-height:1.4}.email-field{display:grid;gap:6px;align-content:center;color:var(--sage-dark);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.email-field input{min-width:0;height:45px;padding:0 13px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.7);color:var(--ink);font-size:16px;outline:0}.email-field input:focus{border-color:var(--sage-dark);box-shadow:0 0 0 4px rgba(73,117,107,.09)}.pack-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.legal-links{margin-top:10px;display:flex;justify-content:center;gap:16px}.legal-links a,.booking-shell small a{color:#607b73;font-size:8px}
.booking-panel{position:fixed;z-index:55;inset:0;display:grid;place-items:center;padding:90px 20px 20px;background:linear-gradient(180deg,rgba(212,228,221,.46),rgba(244,235,224,.84));backdrop-filter:blur(18px);animation:fade-in .35s ease both}.booking-panel-card{width:min(540px,100%);max-height:calc(100dvh - 110px);overflow:auto;padding:30px;border:1px solid rgba(255,255,255,.65);border-radius:30px;background:rgba(249,247,240,.92);box-shadow:var(--shadow);text-align:center}.booking-panel-card h2{margin:8px 0;font:500 38px/1 Georgia,serif}.booking-panel-card>p{color:var(--ink-soft);font-size:11px}.arrival-clock{position:relative;margin:22px 0;padding:22px;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(221,235,228,.72),rgba(250,239,228,.72))}.arrival-clock span,.arrival-clock b,.arrival-clock small{display:block}.arrival-clock span{font-size:8px;font-weight:800;letter-spacing:.15em}.arrival-clock b{margin:8px 0 10px;font:500 45px/1 Georgia,serif}.arrival-clock small{margin:0 0 13px;color:var(--ink-soft);font-size:10px}.arrival-clock i{height:4px;display:block;overflow:hidden;border-radius:99px;background:rgba(47,89,80,.12)}.arrival-clock em{width:0;height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,var(--sage-dark),var(--peach));transition:width .8s ease}.arrival-clock.preparing{border-color:rgba(74,122,111,.35);box-shadow:0 0 0 6px rgba(86,132,120,.05),0 18px 45px rgba(48,91,81,.11)}.arrival-clock.preparing::after{content:"";position:absolute;inset:-80% -35%;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.45) 49%,transparent 60%);animation:preparing-sheen 3.2s ease-in-out infinite;pointer-events:none}.booking-panel-card>.primary-button{width:100%}.booking-primary-actions{margin-top:11px;display:grid;grid-template-columns:1.2fr 1fr;gap:9px}.booking-primary-actions .primary-button,.booking-primary-actions .soft-button{width:100%}.booking-secondary-actions{margin-top:17px;padding-top:14px;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;border-top:1px solid var(--line)}.compact-action{padding:7px 3px;border:0;background:none;color:#58736c;font-size:9px;font-weight:700;text-decoration:underline;text-decoration-color:rgba(69,105,96,.24);text-underline-offset:3px;cursor:pointer}.danger{color:#915b55!important}
.cancellation-shell{text-align:left}.cancellation-shell h2{margin-right:32px}.cancellation-choice{max-width:510px}.reschedule-assurance{margin:20px 0;padding:15px;display:flex;align-items:center;gap:13px;border:1px solid rgba(56,103,93,.17);border-radius:17px;background:linear-gradient(135deg,rgba(217,234,226,.7),rgba(255,249,240,.76))}.reschedule-assurance i{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:50%;background:rgba(49,94,84,.1);color:var(--sage-dark);font:500 24px/1 Georgia,serif}.reschedule-assurance span,.reschedule-assurance b,.reschedule-assurance small{display:block}.reschedule-assurance b{font:600 15px/1.2 Georgia,serif}.reschedule-assurance small{margin-top:4px;color:var(--ink-soft);font-size:9px;line-height:1.35}.cancel-choice-actions{display:grid;grid-template-columns:1.25fr 1fr;gap:9px}.cancel-choice-actions .primary-button,.cancel-choice-actions .soft-button{width:100%}.cancel-choice-actions .compact-action{grid-column:1/-1;justify-self:center;margin-top:3px}.cancel-reasons{margin:18px 0 14px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;border:0}.cancel-reasons legend{grid-column:1/-1;margin-bottom:5px;color:var(--sage-dark);font-size:9px;font-weight:800;letter-spacing:.1em}.cancel-reasons label{min-height:52px;padding:10px 12px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.5);cursor:pointer}.cancel-reasons input{accent-color:var(--sage-dark)}.cancel-reasons span{font-size:10px;font-weight:700}.cancel-detail{display:grid;gap:7px;color:var(--sage-dark);font-size:9px;font-weight:800;letter-spacing:.08em}.cancel-detail textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.64);color:var(--ink);font-size:16px;line-height:1.4;resize:vertical}.refund-note{margin:12px 0;padding:10px 12px;border-radius:13px;background:rgba(218,233,225,.6);color:var(--ink-soft);font-size:9px;line-height:1.45}.cancel-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:8px}.cancel-actions button{width:100%}

@keyframes sun-drift{to{transform:translateX(2%) rotate(.5deg)}}
@keyframes orb-float{50%{transform:translateY(-13px);opacity:.35}}
@keyframes welcome-in{from{opacity:0;transform:translateY(20px);filter:blur(6px)}}
@keyframes welcome-out{to{opacity:0;transform:scale(1.03);filter:blur(8px);visibility:hidden}}
@keyframes breathe{50%{transform:scale(.78);opacity:.42}}
@keyframes halo-breathe{50%{transform:scale(.93);opacity:.58}}
@keyframes rhythm{50%{transform:translateY(-4px);opacity:.35}}
@keyframes presence{50%{opacity:.35;transform:scale(.8)}}
@keyframes panel-in{from{opacity:0;transform:translateY(24px) scale(.97);filter:blur(4px)}}
@keyframes mechanic-in{from{opacity:0;transform:translateY(17px) scale(.97)}}
@keyframes drawer-in{from{opacity:0;transform:translateX(20px)}}
@keyframes catalog-in{from{opacity:0;transform:scale(.98);filter:blur(5px)}}
@keyframes fade-in{from{opacity:0}}
@keyframes toast-in{from{opacity:0;transform:translate(-50%,8px)}}
@keyframes wave{50%{height:20px}}
@keyframes preparing-sheen{0%,20%{transform:translateX(-45%)}70%,100%{transform:translateX(45%)}}
@keyframes slow-spin{to{transform:rotate(360deg)}}

@media (max-width: 980px) {
  .window-scene{width:50vw;min-width:0}.room-objects .lamp,.side-table{display:none}.plant{opacity:.55;right:-30px}
  .lobby{width:min(500px,52vw)}.lobby-visible .selene-stage{left:78%;width:43vw}.session-active .selene-stage{left:25%;width:48vw}
  .phase-rail,.selene-message,.mechanic-stage,.session-controls{right:24px;width:50vw}.mechanic-grid{grid-template-columns:repeat(3,1fr)}
}

@media (max-width: 720px) {
  body{overflow:hidden}.sanctuary{min-height:100dvh}.topbar{height:68px;padding:calc(env(safe-area-inset-top) + 10px) 17px 8px}.brand small,.scope-button{display:none}.brand strong{font-size:17px}.brand-mark{width:30px;height:30px}.session-progress{margin-left:auto}.session-progress span{display:none}
  .window-scene{left:0;width:100vw;opacity:.48}.window-frame{inset:10vh 12vw 35vh}.room-objects{opacity:.52}.plant{bottom:20vh}
  .welcome{padding:80px 20px max(34px,env(safe-area-inset-bottom));align-items:end;background:linear-gradient(180deg,rgba(213,228,222,.35),rgba(223,233,227,.68) 40%,rgba(243,230,217,.98) 72%)}
  .welcome-copy{width:100%;margin:0;text-align:center}.welcome-copy h1{margin:9px auto 12px;font-size:clamp(41px,12vw,58px);line-height:.94}.welcome-copy>p:not(.eyebrow){margin:0 auto 19px;max-width:390px;font-size:15px;line-height:1.42}.welcome-copy .primary-button{width:100%}.welcome-copy>small{font-size:8px}.welcome-breath{right:50%;top:29%;width:58vw;transform:translate(50%,-50%)}
  .selene-stage,.lobby-visible .selene-stage,.session-active .selene-stage{top:5vh;bottom:35vh;left:50%;width:min(106vw,610px);opacity:.82}.portrait-shell{inset:1% 0 0;border-radius:47% 47% 3% 3%}.portrait-shell img,.portrait-shell video{object-position:center 34%}.presence-pill{top:15%;font-size:8px}.breathing-rhythm{bottom:2%}
  .lobby{left:14px;right:14px;top:auto;bottom:var(--safe-bottom);width:auto;max-height:64dvh;padding:21px;border-radius:25px;background:rgba(248,245,237,.9)}.lobby-heading h2{font-size:34px}.lobby-heading>p:last-child{font-size:13px}.care-options{margin-top:16px}.care-card{padding:16px}.care-card h3{font-size:20px}.care-options .care-card:not(.care-card-main){display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 9px}.care-options .care-card:not(.care-card-main) .care-kicker,.care-options .care-card:not(.care-card-main) p{grid-column:1}.care-options .care-card:not(.care-card-main) h3{grid-column:1;margin:3px 0}.care-options .care-card:not(.care-card-main) button{grid-column:2;grid-row:1/4;width:auto;white-space:nowrap}.lobby-actions{display:grid;grid-template-columns:1fr 1fr}.lobby-actions button{font-size:9px}.scope-note{display:none}
  .continuity-card{grid-template-columns:1fr;padding:14px}.continuity-card .email-field,.pack-actions{grid-column:1}.legal-links{padding-bottom:4px}.booking-panel{padding:calc(env(safe-area-inset-top) + 78px) 12px 12px}.booking-panel-card{max-height:calc(100dvh - 95px);padding:24px 17px;border-radius:25px}.booking-panel-card h2{font-size:33px}.arrival-clock b{font-size:39px}.booking-primary-actions{grid-template-columns:1fr 1fr}.booking-primary-actions button{padding-left:13px;padding-right:13px;font-size:11px}.cancel-choice-actions,.cancel-reasons{grid-template-columns:1fr}.cancel-choice-actions .compact-action{grid-column:1}.cancel-actions{grid-template-columns:1fr}
  .session{inset:68px 0 0}.phase-rail{top:7px;left:17px;right:17px;width:auto}.phase-rail span{font-size:7px}.selene-message{top:49px;left:15px;right:15px;width:auto;min-height:86px;padding:14px 48px 13px 15px;border-radius:20px}.selene-message p{margin-top:6px;font-size:15px;line-height:1.35}.selene-message>button{right:12px}
  .mechanic-stage{left:13px;right:13px;top:auto;bottom:calc(var(--safe-bottom) + 80px);width:auto;max-height:53dvh;padding:17px;border-radius:25px}.mechanic-stage h2{font-size:25px}.mechanic-stage>p{font-size:11px}.mechanic-consent{grid-template-columns:44px 1fr;padding:14px}.consent-orbit{width:42px;height:42px}.mechanic-consent p{font-size:13px}.mechanic-consent>div{grid-column:1/-1;margin-top:8px}.mechanic-consent button{flex:1}
  .session-controls{left:12px;right:12px;bottom:var(--safe-bottom);width:auto;gap:8px}.round-button{width:50px;height:50px;flex:0 0 50px}.mic-button{min-width:0;flex:1;height:58px;padding:0 14px;gap:9px}.mic-button b{font-size:12px}
  .chat-drawer{top:auto;left:10px;right:10px;bottom:10px;width:auto;height:min(68dvh,570px);border-radius:25px}.catalog{inset:0;padding:calc(env(safe-area-inset-top) + 20px) 15px var(--safe-bottom);border-radius:0}.catalog>header h2{font-size:37px}.catalog>header p:last-child{font-size:11px}.mechanic-grid{grid-template-columns:repeat(2,1fr);gap:8px}.mechanic-card{min-height:165px;padding:14px}.mechanic-card h3{font-size:16px}.booking-modal,.scope-modal{padding:10px}.booking-shell,.scope-modal>div{padding:23px 18px;border-radius:24px}.booking-slots{grid-template-columns:repeat(2,1fr)}
  .choice-grid,.two-column{grid-template-columns:1fr 1fr}.sort-zones,.control-zones{grid-template-columns:1fr}.step-route{grid-template-columns:1fr}.route-arrow{transform:rotate(90deg);text-align:center}.timeline-builder{flex-direction:column}.sensory-wheel{grid-template-columns:repeat(2,1fr)}
  .mechanic-workspace{min-width:0;overflow:hidden}.practice-guide{grid-template-columns:auto minmax(8px,1fr) auto minmax(8px,1fr) auto;gap:4px}.practice-guide span{font-size:6px;letter-spacing:.07em}
  .mechanic-workspace[data-interaction="radial_choice"] .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mechanic-workspace[data-interaction="radial_choice"] .choice-chip{min-height:72px}
  .mechanic-workspace[data-interaction="choose_three_cards"] .choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}.mechanic-workspace[data-interaction="choose_three_cards"] .choice-chip,.mechanic-workspace[data-interaction="choose_three_cards"] .choice-chip:nth-child(even){min-height:96px;margin:0;transform:none}.mechanic-workspace[data-interaction="choose_three_cards"] .choice-chip.selected{transform:translateY(-4px)}
}

@media (max-width: 390px) {
  .lobby{max-height:66dvh;padding:17px}.lobby-heading h2{font-size:30px}.care-card-main p,.care-meta span:nth-child(3){display:none}.care-meta{margin:8px 0 11px}.primary-button{min-height:49px}.mechanic-grid{grid-template-columns:1fr 1fr}.mechanic-card{min-height:150px}.choice-grid{grid-template-columns:1fr}.mechanic-stage{max-height:56dvh}.selene-message p{font-size:14px}.mechanic-workspace[data-interaction="radial_choice"] .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-buy-pack>div{grid-template-columns:1fr}
}

/* Session workspace: transcript and practices replace the latest response instead of covering it. */
.selene-message.chat-replaced{visibility:hidden;pointer-events:none}
.avatar-audio-resume{position:absolute;z-index:18;left:26%;top:20%;transform:translateX(-50%);padding:10px 15px;border:1px solid rgba(46,89,80,.22);border-radius:999px;background:rgba(250,248,241,.9);color:var(--sage-deep);box-shadow:0 10px 30px rgba(37,70,63,.13);font-weight:750;cursor:pointer}
.round-button.active{background:var(--sage-deep);transform:translateY(-2px)}
.round-button.active svg{stroke:white}
.end-session-button{color:#945b54}
.end-session-button span{font-size:13px;line-height:1}
.end-session-card{width:min(520px,92vw)}
.end-session-card h2{margin:8px 0 12px;font:500 clamp(31px,5vw,46px)/1 Georgia,serif}
.end-session-card>p:not(.eyebrow){color:var(--ink-soft);font:15px/1.55 Georgia,serif}
.practice-active .mechanic-stage{top:66px}
.practice-active .selene-message{visibility:hidden;pointer-events:none}
.mechanic-stage.chat-suspended{visibility:hidden;pointer-events:none}
.mechanic-preview{position:relative;height:112px;margin:12px 0 9px;padding:12px 14px;overflow:hidden;border:1px solid rgba(54,98,89,.13);border-radius:20px;background:radial-gradient(circle at 50% 50%,rgba(255,247,216,.88),rgba(220,237,228,.65) 56%,rgba(255,255,255,.32));box-shadow:inset 0 1px rgba(255,255,255,.8)}
.mechanic-preview>span{position:relative;z-index:3;color:var(--sage-dark);font-size:7px;font-weight:900;letter-spacing:.16em}.mechanic-demo{position:absolute;inset:24px 12px 8px;display:grid;place-items:center;color:var(--sage-deep)}.mechanic-demo *{box-sizing:border-box}.mechanic-demo span,.mechanic-demo em,.mechanic-demo b{font-style:normal}
.preview-radar{position:relative;width:66px;height:66px;border:1px dashed rgba(47,91,82,.35);border-radius:50%;animation:demo-spin 9s linear infinite}.preview-radar i{position:absolute;inset:13px;border:1px solid rgba(47,91,82,.28);border-radius:50%}.preview-radar b{position:absolute;right:-3px;top:27px;width:10px;height:10px;border-radius:50%;background:var(--peach);box-shadow:0 0 0 6px rgba(220,167,137,.16);animation:demo-pulse 1.8s ease-in-out infinite}.preview-radar span{position:absolute;inset:24px -3px auto;text-align:center;font-size:6px;font-weight:900;letter-spacing:.12em}.preview-radar em{position:absolute;left:26px;top:37px;font:600 15px Georgia,serif}
.preview-body{position:relative;width:50px;height:68px}.preview-body i{position:absolute;left:14px;top:0;width:22px;height:22px;border:1.5px solid rgba(47,91,82,.4);border-radius:50%}.preview-body b{position:absolute;left:7px;top:23px;width:36px;height:45px;border:1.5px solid rgba(47,91,82,.4);border-radius:45% 45% 30% 30%}.preview-body span,.preview-body em{position:absolute;left:21px;width:9px;height:9px;border-radius:50%;background:var(--peach);box-shadow:0 0 0 5px rgba(220,167,137,.15);animation:demo-body 3s ease-in-out infinite}.preview-body span{top:31px}.preview-body em{top:50px;animation-delay:1.5s}
.preview-sorting{position:relative;width:190px;height:58px;display:grid;grid-template-columns:1fr 1fr;gap:42px}.preview-sorting>span{padding:7px;border:1px solid rgba(47,91,82,.18);border-radius:12px;text-align:center;font-size:6px;font-weight:900;letter-spacing:.11em}.preview-sorting i,.preview-sorting b,.preview-sorting em{position:absolute;left:76px;width:38px;height:16px;border:1px solid rgba(47,91,82,.17);border-radius:7px;background:#fbf8f0;box-shadow:0 4px 10px rgba(39,75,67,.08);animation:demo-sort 3.6s ease-in-out infinite}.preview-sorting i{top:8px}.preview-sorting b{top:29px;animation-delay:1.2s}.preview-sorting em{top:47px;animation-delay:2.4s}
.preview-perspective{position:relative;width:210px;height:55px;display:grid;grid-template-columns:1fr 38px 1fr;align-items:center;gap:8px}.preview-perspective span{padding:14px 5px;border:1px solid rgba(47,91,82,.17);border-radius:12px;text-align:center;font-size:6px;font-weight:900;letter-spacing:.08em}.preview-perspective i{width:34px;height:34px;border:1px solid var(--sage-dark);border-radius:50%;animation:demo-lens 2.8s ease-in-out infinite}.preview-perspective b{position:absolute;left:18px;right:18px;top:26px;height:1px;background:linear-gradient(90deg,var(--peach),var(--sage-dark));z-index:-1}
.preview-pattern,.preview-route{position:relative;width:220px;display:flex;align-items:center;justify-content:center;gap:7px}.preview-pattern span,.preview-route span{width:43px;height:43px;display:grid;place-items:center;border:1px solid rgba(47,91,82,.2);border-radius:50%;background:rgba(255,255,255,.55);font-size:6px;font-weight:900;letter-spacing:.08em}.preview-pattern i,.preview-route i{width:24px;height:1px;background:var(--sage-dark)}.preview-pattern span{animation:demo-sequence 3s ease-in-out infinite}.preview-pattern span:nth-of-type(2){animation-delay:1s}.preview-pattern span:nth-of-type(3){animation-delay:2s}.preview-route b{position:absolute;left:37px;top:17px;width:9px;height:9px;border-radius:50%;background:var(--peach);animation:demo-route 3.6s ease-in-out infinite}
.preview-decision{position:relative;width:180px;height:58px}.preview-decision span{position:absolute;top:5px;width:48px;height:43px;display:grid;place-items:center;border:1px solid rgba(47,91,82,.18);border-radius:14px;font:600 15px Georgia,serif}.preview-decision span:first-child{left:7px}.preview-decision span:nth-of-type(2){right:7px}.preview-decision i{position:absolute;left:49px;right:49px;top:28px;height:2px;background:var(--sage-dark);transform-origin:50%;animation:demo-balance 3.2s ease-in-out infinite}.preview-decision b{position:absolute;left:86px;top:27px;width:8px;height:23px;border-radius:4px;background:var(--peach)}
.preview-words{width:220px;min-height:58px;display:flex;align-items:flex-start;justify-content:center;gap:6px;flex-wrap:wrap}.preview-words span{padding:7px 10px;border:1px solid rgba(47,91,82,.18);border-radius:999px;background:rgba(255,255,255,.66);font:600 10px Georgia,serif;animation:demo-word 3s ease-in-out infinite}.preview-words span:nth-child(2){animation-delay:.35s}.preview-words span:nth-child(3){animation-delay:.7s}.preview-words i{width:80%;height:1px;background:rgba(47,91,82,.28)}
.preview-rhythm{position:relative;width:72px;height:72px;display:grid;place-items:center}.preview-rhythm i{position:absolute;inset:8px;border:1px solid rgba(47,91,82,.32);border-radius:50%;background:rgba(255,247,214,.55);animation:demo-breathe 5s ease-in-out infinite}.preview-rhythm span,.preview-rhythm b{position:absolute;font-size:6px;font-weight:900;letter-spacing:.11em}.preview-rhythm span{top:0}.preview-rhythm b{bottom:0}
.preview-senses{position:relative;width:190px;height:58px}.preview-senses span{position:absolute;width:12px;height:12px;border:1px solid rgba(47,91,82,.3);border-radius:50%}.preview-senses span:nth-of-type(1){left:18px;top:10px}.preview-senses span:nth-of-type(2){left:91px;top:39px}.preview-senses span:nth-of-type(3){right:18px;top:7px}.preview-senses i{position:absolute;left:78px;top:12px;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle,rgba(255,241,190,.85),rgba(255,241,190,0));animation:demo-scan 3.4s ease-in-out infinite}.preview-senses b{position:absolute;left:91px;top:25px;width:8px;height:8px;border-radius:50%;background:var(--peach)}
.practice-purpose{margin:9px 0 12px;padding:10px 13px;border-left:3px solid var(--peach);border-radius:4px 16px 16px 4px;background:rgba(255,255,255,.48)}
.practice-purpose>span{color:var(--sage-dark);font-size:7px;font-weight:850;letter-spacing:.14em}
.practice-purpose p{margin:4px 0 5px;font:13px/1.35 Georgia,serif}
.practice-purpose small{color:var(--ink-soft);font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.mechanic-reflection{padding:19px;border:1px solid var(--line);border-radius:21px;background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(224,236,229,.72))}
.mechanic-reflection>span{color:var(--sage-dark);font-size:8px;font-weight:850;letter-spacing:.15em}
.mechanic-reflection h3{margin:8px 0 7px;font:600 21px/1.15 Georgia,serif}
.mechanic-reflection p{margin:0 0 12px;color:var(--ink-soft);font-size:11px;line-height:1.45}
.mechanic-reflection textarea{width:100%;min-height:76px;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.6);font-size:16px;resize:vertical}
.mechanic-reflection>div{margin-top:10px;display:flex;justify-content:flex-end;gap:8px}
.mechanic-reflection .primary-button{min-height:42px;padding:0 15px;border-radius:13px}
.game-progress{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:5px;margin:0 0 12px;color:#789089;font-size:7px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.game-progress span{display:flex;align-items:center;gap:5px;white-space:nowrap}.game-progress i{width:8px;height:8px;border:2px solid #c6d5cf;border-radius:50%;background:#f7f3ea}.game-progress b{height:1px;background:rgba(57,101,92,.18)}.game-progress span.active{color:var(--sage-deep)}.game-progress span.active i{border-color:var(--peach);background:var(--peach);box-shadow:0 0 0 4px rgba(220,167,137,.14);animation:presence 1.8s ease-in-out infinite}.game-progress span.done i{border-color:var(--sage-dark);background:var(--sage-dark)}
.game-brief{position:relative;margin-bottom:14px;padding:14px 16px 14px 18px;overflow:hidden;border:1px solid rgba(54,98,89,.12);border-radius:18px;background:linear-gradient(135deg,rgba(222,237,229,.74),rgba(250,236,221,.58))}.game-brief::after{content:"";position:absolute;right:-22px;top:-28px;width:84px;height:84px;border:1px solid rgba(63,108,98,.12);border-radius:50%;box-shadow:0 0 0 13px rgba(255,255,255,.17)}.game-brief small{position:relative;z-index:1;color:var(--sage-dark);font-size:8px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.game-brief p{position:relative;z-index:1;max-width:88%;margin:6px 0 0;font:14px/1.42 Georgia,serif}
@keyframes demo-spin{to{transform:rotate(360deg)}}@keyframes demo-pulse{50%{transform:scale(1.35);box-shadow:0 0 0 10px rgba(220,167,137,.08)}}@keyframes demo-body{0%,45%,100%{opacity:.2;transform:scale(.75)}20%{opacity:1;transform:scale(1.25)}}@keyframes demo-sort{0%,15%{transform:translateX(0)}42%,70%{transform:translateX(-72px)}88%,100%{transform:translateX(72px)}}@keyframes demo-lens{50%{transform:translateX(8px) scale(1.12);box-shadow:inset 0 0 0 8px rgba(83,131,119,.08)}}@keyframes demo-sequence{0%,25%,100%{background:rgba(255,255,255,.55);transform:scale(1)}12%{background:rgba(250,227,208,.9);transform:scale(1.12)}}@keyframes demo-route{0%{transform:translateX(0)}50%{transform:translateX(67px)}100%{transform:translateX(134px)}}@keyframes demo-balance{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}@keyframes demo-word{0%,100%{transform:translateY(0)}45%{transform:translateY(16px);background:#dceae3}}@keyframes demo-breathe{0%,100%{transform:scale(.7);background:rgba(220,235,227,.52)}45%{transform:scale(1.2);background:rgba(255,239,201,.7)}}@keyframes demo-scan{0%,100%{transform:translateX(-66px)}50%{transform:translateX(66px)}}
.game-instruction{margin:-2px 0 1px;color:var(--ink-soft);font-size:10px;line-height:1.45}.game-readiness{min-height:34px;padding:8px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:12px;background:rgba(226,236,230,.58);color:#547168;font-size:9px}.game-readiness b{flex:0 0 auto;color:var(--sage-deep);font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.mechanic-coach{position:relative;padding:20px;overflow:hidden;border:1px solid rgba(46,89,80,.16);border-radius:22px;background:linear-gradient(145deg,rgba(248,244,233,.96),rgba(220,235,227,.88));box-shadow:0 16px 40px rgba(35,71,63,.1);animation:mechanic-in .4s ease both}.mechanic-coach::after{content:"";position:absolute;right:-40px;bottom:-46px;width:130px;height:130px;border:1px solid rgba(65,109,99,.13);border-radius:50%;box-shadow:0 0 0 18px rgba(255,255,255,.13)}.mechanic-coach>span{position:relative;z-index:1;color:var(--sage-dark);font-size:8px;font-weight:900;letter-spacing:.14em}.mechanic-coach>span i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--peach);animation:presence 1.8s ease-in-out infinite}.mechanic-coach>p{position:relative;z-index:1;margin:10px 0 8px;font:18px/1.42 Georgia,serif}.mechanic-coach>small{position:relative;z-index:1;display:block;color:var(--ink-soft);font-size:10px;line-height:1.45}.mechanic-coach>button{position:relative;z-index:1;width:100%;margin-top:16px;min-height:46px;border-radius:15px}
.compass-intensity{margin-top:2px}.compass-intensity label{display:block;margin-bottom:8px;font:600 14px Georgia,serif}
.mechanic-workspace[data-interaction="radial_choice"] .choice-chip{min-height:66px;border-radius:18px}
.chat-drawer{z-index:14;top:146px;right:clamp(24px,5vw,70px);bottom:calc(var(--safe-bottom) + 82px);width:min(47vw,650px);border-radius:24px;box-shadow:var(--shadow)}
.session-active .chat-drawer{top:146px}

@media (max-width:720px){
  .avatar-audio-resume{left:50%;top:17%}
  .selene-message{top:auto;bottom:calc(var(--safe-bottom) + 76px);left:15px;right:15px;width:auto;min-height:0;max-height:28dvh;padding:14px 47px 14px 16px;overflow:auto;border-radius:21px;background:rgba(250,248,241,.9)}
  .selene-message p{margin-top:6px;font-size:14px;line-height:1.36}
  .mechanic-stage,.practice-active .mechanic-stage{left:13px;right:13px;top:49px;bottom:calc(var(--safe-bottom) + 80px);width:auto;max-height:none}
  .session-active .chat-drawer{top:117px;left:15px;right:15px;bottom:calc(var(--safe-bottom) + 80px);width:auto;height:auto;border-radius:20px}
  .mechanic-workspace[data-interaction="radial_choice"] .choice-chip{min-height:58px}
  .game-progress{gap:3px;font-size:5.8px;letter-spacing:.06em}.game-progress i{width:7px;height:7px}.game-brief{padding:12px 13px}.game-brief p{max-width:92%;font-size:12px}.mechanic-coach{padding:17px}.mechanic-coach>p{font-size:16px}.control-zones{grid-template-columns:1fr}.control-zone{min-height:64px}.two-column{grid-template-columns:1fr}.step-route{grid-template-columns:1fr}.route-arrow{transform:rotate(90deg);text-align:center}.timeline-builder{display:grid}.timeline-builder::before{display:none}
}

/* Mental game engine system: ten distinct, deterministic interaction models. */
.contextual-badge{position:relative;z-index:2;margin-top:9px;display:inline-flex;align-items:center;gap:7px;color:#547168;font-size:7px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.contextual-badge i{width:7px;height:7px;border-radius:50%;background:var(--peach);box-shadow:0 0 0 5px rgba(220,167,137,.12)}
.game-engine{position:relative;min-height:180px;padding:15px;overflow:hidden;border:1px solid rgba(47,91,82,.13);border-radius:23px;background:linear-gradient(145deg,rgba(255,255,255,.56),rgba(226,238,231,.44));box-shadow:inset 0 1px rgba(255,255,255,.72)}.game-engine::before{content:"";position:absolute;inset:auto -60px -90px auto;width:190px;height:190px;border:1px solid rgba(67,110,100,.09);border-radius:50%;box-shadow:0 0 0 22px rgba(255,255,255,.11);pointer-events:none}.game-engine>*{position:relative;z-index:1}
.scenario-card{margin:0 0 12px;padding:11px 13px;border-left:3px solid var(--peach);border-radius:4px 15px 15px 4px;background:rgba(249,238,222,.6)}.scenario-card small{color:#7b6a5d;font-size:7px;font-weight:900;letter-spacing:.14em}.scenario-card p{margin:5px 0 0;font:13px/1.4 Georgia,serif}

/* 1. Radar */
.radar-stage{position:relative;min-height:230px;display:grid;place-items:center}.radar-core,.meter-orbit{position:relative;width:125px;height:125px;display:grid;place-items:center;border:1px solid rgba(57,101,92,.25);border-radius:50%;background:radial-gradient(circle,rgba(255,246,213,.88),rgba(217,235,226,.58) 58%,rgba(255,255,255,.1) 60%);box-shadow:0 0 0 18px rgba(77,126,114,.06),0 0 0 42px rgba(77,126,114,.035)}.radar-core::before,.meter-orbit::before{content:"";position:absolute;inset:-46px;border:1px dashed rgba(57,101,92,.18);border-radius:50%;animation:slow-spin 24s linear infinite}.radar-core span{max-width:75px;text-align:center;color:var(--sage-deep);font-size:8px;font-weight:900;letter-spacing:.13em}.radar-choices{position:absolute;inset:0}.radar-choice{position:absolute;width:88px;min-height:40px!important;padding:7px!important;transform:translate(-50%,-50%);border-radius:999px!important;text-align:center!important}.radar-choice:hover,.radar-choice.selected{transform:translate(-50%,-56%)!important}.radar-choice b{font:600 11px/1.1 Georgia,serif!important}.meter-orbit{width:180px;height:180px}.meter-orbit output{font:500 58px/1 Georgia,serif}.meter-orbit span{font-size:7px;font-weight:900;letter-spacing:.13em}.meter-orbit input{position:absolute;inset:auto 20px 22px;width:140px}.radar-anchors{position:absolute;left:12%;right:12%;bottom:7px;display:flex;justify-content:space-between;color:#748a84;font-size:7px;text-transform:uppercase}
.radar-choice[data-radar-position="0"]{left:50%;top:14%}.radar-choice[data-radar-position="1"]{left:75%;top:25%}.radar-choice[data-radar-position="2"]{left:86%;top:50%}.radar-choice[data-radar-position="3"]{left:75%;top:75%}.radar-choice[data-radar-position="4"]{left:50%;top:86%}.radar-choice[data-radar-position="5"]{left:25%;top:75%}.radar-choice[data-radar-position="6"]{left:14%;top:50%}.radar-choice[data-radar-position="7"]{left:25%;top:25%}

/* 2. Body map */
.body-engine{display:grid;grid-template-columns:minmax(210px,.8fr) 1fr;gap:18px;align-items:center}.body-silhouette{position:relative;width:220px;height:300px;margin:auto;border-radius:46%;background:radial-gradient(circle at 50% 38%,rgba(236,207,186,.28),transparent 48%)}.body-silhouette::before{content:"";position:absolute;left:50%;top:55px;width:86px;height:190px;transform:translateX(-50%);border:2px solid rgba(61,103,94,.22);border-radius:44% 44% 30% 30%}.body-silhouette::after{content:"";position:absolute;left:50%;top:2px;width:66px;height:66px;transform:translateX(-50%);border:2px solid rgba(61,103,94,.22);border-radius:50%}.body-silhouette .body-point{z-index:2}.body-point span{position:absolute;left:50%;top:52px;transform:translateX(-50%);padding:3px 6px;border-radius:8px;background:rgba(248,245,237,.9);font-size:7px;white-space:nowrap}.body-point[data-zone=throat]{left:50%;top:63px;transform:translateX(-50%)}.body-silhouette .body-point[data-zone=chest]{top:112px}.body-silhouette .body-point[data-zone=belly]{top:172px}.body-silhouette .body-point[data-zone=hands]{left:16px;top:148px}.body-silhouette .body-point[data-zone=legs]{right:28px;bottom:10px}.body-legend{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:center}.body-legend b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--sage-deep);color:#fff;font:500 14px Georgia,serif}.body-legend span{font:13px/1.35 Georgia,serif}

/* 3. Sorting board */
.sorting-engine{display:grid;gap:12px}.card-tray{min-height:62px;padding:10px;display:flex;flex-wrap:wrap;gap:7px;border:1px dashed rgba(50,94,84,.28);border-radius:17px}.card-tray>small{width:100%;color:#698179;font-size:7px;font-weight:900;letter-spacing:.13em}.engine-card{min-height:38px;padding:7px 9px 7px 12px;display:flex;align-items:center;gap:8px;border:1px solid rgba(49,92,83,.14);border-radius:12px;background:#fbf8f0;color:var(--ink);box-shadow:0 6px 15px rgba(39,75,67,.07);cursor:pointer}.engine-card span{font:600 11px Georgia,serif}.engine-card i{color:var(--peach);font-style:normal}.engine-card.selected{border-color:var(--sage-dark);background:#e0ede6}.sorting-board{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sorting-board section{min-height:100px;padding:10px;border:1px solid rgba(49,92,83,.13);border-radius:18px;background:rgba(255,255,255,.4)}.sorting-board section>b{display:block;min-height:28px;font:600 12px/1.2 Georgia,serif}.sorting-board section>div{display:flex;flex-wrap:wrap;gap:4px}.sorting-board .engine-card{padding:6px 8px;box-shadow:none}.sorting-board .engine-card i{display:none}

/* 4. Perspective lab */
.perspective-engine{display:grid;grid-template-columns:1fr 80px 1fr;gap:10px;align-items:stretch}.perspective-engine section{min-height:180px;padding:14px;border:1px solid rgba(50,94,84,.13);border-radius:19px;background:rgba(255,255,255,.5)}.perspective-engine section>span{color:var(--peach);font:500 24px Georgia,serif}.perspective-engine h3{margin:5px 0 10px;font:600 16px/1.15 Georgia,serif}.perspective-engine textarea{width:100%;min-height:104px;padding:10px;border:0;border-radius:12px;background:rgba(225,236,230,.48);font:14px/1.4 Georgia,serif;resize:vertical}.perspective-lens{display:grid;place-items:center;align-content:center;gap:9px;text-align:center}.perspective-lens i{width:52px;height:52px;border:1px solid var(--sage-dark);border-radius:50%;box-shadow:inset 0 0 0 10px rgba(83,131,119,.08);animation:halo-breathe 3s ease-in-out infinite}.perspective-lens b{color:#678078;font-size:6px;letter-spacing:.12em}

/* 5. Pattern detector */
.pattern-engine{display:grid;gap:14px}.thought-loop{min-height:90px;display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:8px}.thought-loop span{min-height:54px;padding:9px;display:grid;place-items:center;border:1px solid rgba(49,92,83,.15);border-radius:50%;background:rgba(255,255,255,.55);font-size:7px;font-weight:900;letter-spacing:.1em;text-align:center}.thought-loop i{height:2px;background:linear-gradient(90deg,var(--peach),var(--sage-dark));position:relative}.thought-loop i::after{content:"›";position:absolute;right:-2px;top:-11px;color:var(--sage-dark);font-size:18px}.word-ribbon{display:flex;flex-wrap:wrap;gap:7px}.word-token{min-height:37px;padding:7px 11px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(49,92,83,.15);border-radius:999px;background:rgba(255,255,255,.62);color:var(--ink);cursor:pointer}.word-token span,.word-token{font:600 11px Georgia,serif}.word-token i{color:var(--peach);font:normal 15px/1 sans-serif}.word-token.selected{border-color:var(--sage-dark);background:#dceae3;transform:translateY(-2px)}

/* 6. Decision table */
.decision-engine{display:grid;grid-template-columns:.85fr 1.15fr;gap:14px}.value-compass{min-height:230px;padding:18px;display:flex;align-content:center;justify-content:center;flex-wrap:wrap;gap:7px;border:1px solid rgba(49,92,83,.17);border-radius:50%;background:radial-gradient(circle,rgba(255,247,214,.72),rgba(222,236,229,.55) 58%,transparent 60%)}.value-compass>span{width:100%;text-align:center;color:#607a72;font-size:7px;font-weight:900;letter-spacing:.14em}.decision-step{display:grid;align-content:center;gap:10px}.option-deck{display:block}.decision-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.option-scale{margin-top:13px;display:grid;gap:10px}.option-row{padding:10px;border:1px solid rgba(49,92,83,.12);border-radius:14px;background:rgba(255,255,255,.46)}.option-row label{display:flex;justify-content:space-between;font-size:9px}.option-row output{color:var(--sage-dark);font-size:8px;font-weight:800}.option-row input{width:100%;accent-color:var(--sage-dark)}

/* 7. Route builder */
.route-engine{display:grid;grid-template-columns:1fr 30px 1fr 30px 1fr;align-items:center;gap:4px}.route-station{position:relative;min-height:190px;padding:14px;border:1px solid rgba(49,92,83,.14);border-radius:50px 50px 18px 18px;background:linear-gradient(180deg,rgba(255,250,224,.54),rgba(221,235,228,.57))}.route-station>span{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:var(--sage-deep);color:#fff;font:500 13px Georgia,serif}.route-station>b{display:block;margin:13px 0 8px;font:600 15px Georgia,serif}.route-station textarea{width:100%;min-height:80px;padding:9px;border:0;border-radius:12px;background:rgba(255,255,255,.58);font-size:14px;resize:vertical}.route-path{color:var(--peach);font:500 30px Georgia,serif;text-align:center;animation:rhythm 2s ease-in-out infinite}

/* 8. Word studio */
.word-studio{display:grid;gap:13px}.writing-sheet{padding:14px;display:grid;gap:10px;border:1px solid rgba(50,94,84,.14);border-radius:5px 22px 22px 5px;background:linear-gradient(90deg,rgba(220,167,137,.17) 0 3px,rgba(255,255,255,.57) 3px)}.writing-sheet textarea{min-height:86px}.ephemeral-note{margin:0;color:#71857f;font-size:8px;line-height:1.4}.game-engine-word_studio .word-ribbon:empty::after{content:"Selene te acompañará con las palabras que escribas";color:#71857f;font:italic 12px Georgia,serif}

/* 9. Rhythm guide */
.rhythm-engine{display:grid;grid-template-columns:210px 1fr;gap:20px;align-items:center}.rhythm-orbit{position:relative;width:190px;height:190px;display:grid;place-items:center;align-content:center;gap:7px;border-radius:50%;background:radial-gradient(circle,rgba(255,247,214,.9),rgba(139,178,164,.22) 48%,transparent 50%)}.rhythm-orbit::before,.rhythm-orbit::after{content:"";position:absolute;inset:15px;border:1px solid rgba(62,106,96,.2);border-radius:50%;animation:breathe 6s ease-in-out infinite}.rhythm-orbit::after{inset:-5px;animation-delay:-1.5s}.rhythm-orbit.pulse{animation:rhythm-pulse .7s ease}.rhythm-orbit span,.rhythm-orbit b{position:relative;z-index:2}.rhythm-orbit span{max-width:110px;text-align:center;font:600 14px Georgia,serif}.rhythm-orbit b{color:#789088;font-size:8px;letter-spacing:.13em}.rhythm-steps{display:grid;gap:8px}.rhythm-control{min-height:48px;padding:8px 12px;display:flex;align-items:center;gap:10px;border:1px solid rgba(49,92,83,.13);border-radius:15px;background:rgba(255,255,255,.5);cursor:pointer}.rhythm-control i{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#e1ece6;font:normal 11px Georgia,serif}.rhythm-control span{font:600 12px Georgia,serif}.rhythm-control.selected{border-color:var(--sage-dark);background:#dceae3}.rhythm-control.selected i{background:var(--sage-dark);color:#fff}

/* 10. Sensory hunt */
.sensory-engine{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:center}.sensory-scene{position:relative;min-height:280px;overflow:hidden;border-radius:28px;background:linear-gradient(160deg,#dceae4,#f6ecd9 58%,#d0dfd7)}.sensory-scene::before{content:"";position:absolute;left:10%;right:10%;bottom:15%;height:1px;background:rgba(45,86,77,.18);box-shadow:0 -80px rgba(45,86,77,.08),0 -160px rgba(45,86,77,.06)}.sensory-scene>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:rgba(50,93,84,.28);font-size:28px;font-weight:900;letter-spacing:.18em}.sensory-scene .sense-card{position:absolute;min-height:0;padding:0;transform:translate(-50%,-50%);border:0;background:none}.sensory-scene .sense-card[data-sense-position="0"]{left:16%;top:20%}.sensory-scene .sense-card[data-sense-position="1"]{left:48%;top:18%}.sensory-scene .sense-card[data-sense-position="2"]{left:80%;top:26%}.sensory-scene .sense-card[data-sense-position="3"]{left:26%;top:50%}.sensory-scene .sense-card[data-sense-position="4"]{left:72%;top:52%}.sensory-scene .sense-card[data-sense-position="5"]{left:16%;top:78%}.sensory-scene .sense-card[data-sense-position="6"]{left:49%;top:80%}.sensory-scene .sense-card[data-sense-position="7"]{left:82%;top:76%}.sensory-scene .sense-card i{width:20px;height:20px;display:block;margin:auto;border:2px solid #fff;border-radius:50%;background:var(--peach);box-shadow:0 0 0 7px rgba(255,255,255,.25)}.sensory-scene .sense-card b{margin-top:5px;padding:4px 7px;border-radius:8px;background:rgba(249,247,240,.85);font:600 9px Georgia,serif;white-space:nowrap}.sensory-scene .sense-card.selected{transform:translate(-50%,-50%) scale(1.08);background:none}.sensory-scene .sense-card.selected i{background:var(--sage-deep)}

.workspace-actions.guided{align-items:center;justify-content:space-between}.workspace-actions.guided>span{max-width:260px;color:var(--ink-soft);font-size:9px;line-height:1.35;text-align:right}.game-readiness.guided{border-color:rgba(50,97,87,.18);background:linear-gradient(90deg,rgba(221,236,229,.72),rgba(249,239,221,.58))}
.reflection-options{display:grid!important;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0!important}.reflection-options button{min-height:48px;padding:8px;border:1px solid rgba(43,86,77,.18);border-radius:14px;background:rgba(255,255,255,.64);color:var(--sage-deep);font:600 11px/1.25 Georgia,serif;cursor:pointer}.reflection-options button:hover,.reflection-options button:focus-visible{border-color:var(--sage-dark);background:#dceae3}.reflection-actions{align-items:center}.reflection-actions .voice{min-height:42px;border-radius:13px}
.coach-wait{position:relative;z-index:1;display:flex;align-items:center;gap:8px;margin-top:15px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.42);color:var(--sage-dark);font-size:9px;font-weight:750;letter-spacing:.04em}.coach-wait i{width:8px;height:8px;border-radius:50%;background:var(--peach);box-shadow:0 0 0 0 rgba(220,167,137,.38);animation:presence 1.6s ease-in-out infinite}
.rhythm-orbit.guided{transform:scale(1);transition:transform 3.8s cubic-bezier(.4,0,.2,1),background 1s ease}.rhythm-orbit.guided.exhale{transform:scale(.78);transition-duration:5.8s;background:radial-gradient(circle,rgba(245,238,205,.82),rgba(139,178,164,.16) 48%,transparent 50%)}.rhythm-orbit.guided::before,.rhythm-orbit.guided::after{animation:none}.rhythm-steps>strong{display:block;padding:8px;color:var(--ink-soft);font-size:9px;line-height:1.4}.rhythm-control{cursor:default}

@keyframes rhythm-pulse{50%{transform:scale(.94)}}

@media (max-width:720px){
  .game-engine{min-height:150px;padding:11px;border-radius:18px}.contextual-badge{font-size:6px}.scenario-card p{font-size:11px}
  .radar-stage{min-height:205px}.radar-core{width:104px;height:104px}.radar-core::before{inset:-39px}.radar-choice{width:76px}.radar-choice b{font-size:9px!important}.meter-orbit{width:160px;height:160px}.meter-orbit output{font-size:48px}
  .body-engine,.decision-engine,.rhythm-engine,.sensory-engine{grid-template-columns:1fr}.body-silhouette{height:270px}.body-legend{display:none}
  .sorting-board{grid-template-columns:1fr}.sorting-board section{min-height:64px}.sorting-board section>b{min-height:0;margin-bottom:6px}.perspective-engine{grid-template-columns:1fr}.perspective-lens{grid-template-columns:auto 1fr;justify-content:center}.perspective-lens i{width:38px;height:38px}.perspective-engine section{min-height:130px}.perspective-engine textarea{min-height:68px}
  .thought-loop{gap:4px}.thought-loop span{padding:5px;font-size:6px}.decision-options{grid-template-columns:1fr}.value-compass{min-height:190px;border-radius:28px}.route-engine{grid-template-columns:1fr}.route-station{min-height:120px;border-radius:22px}.route-path{transform:rotate(90deg)}
  .rhythm-engine{justify-items:center}.rhythm-orbit{width:150px;height:150px}.rhythm-steps{width:100%}.sensory-scene{min-height:230px}.sensory-engine>.workspace-field{width:100%}
  .workspace-actions.guided{align-items:stretch;flex-direction:column-reverse}.workspace-actions.guided>span{text-align:left}.reflection-options{grid-template-columns:1fr}.reflection-actions{align-items:stretch;flex-direction:column}.reflection-actions button{width:100%}
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}
