body[data-page="empathy-walk-game"] { margin:0; padding:0; background:#f7f7ee; color:#354336; }
.walk { --walk-ink:#354336; --walk-muted:#65705f; --walk-line:#d9dece; font-family:var(--font-body); min-height:100svh; background:radial-gradient(ellipse at 12% 35%,#e9eddf70,transparent 50%),#f7f7ee; }
.walk *, .walk *::before,.walk *::after {box-sizing:border-box;}
.walk [hidden]{display:none!important}
.walk button,.walk input,.walk textarea,.walk select {font:inherit;}
.walk button,.walk a { -webkit-tap-highlight-color:transparent; }
.walk button {cursor:pointer; border:1px solid var(--walk-line); background:transparent; color:var(--walk-ink); padding:11px 17px; border-radius:12px; min-height:44px; line-height:1.4; transition:transform 160ms ease-out,background-color 180ms ease-out,border-color 180ms ease-out;}
.walk button:active{transform:scale(.97)}
.walk button:disabled{opacity:.45;cursor:default;}
.walk a{color:inherit;text-decoration:none;}
.walk a:hover{text-decoration:underline;text-underline-offset:4px;}
.walk :focus-visible {outline:3px solid #53755a;outline-offset:5px;}
.walk h1:focus {outline:none;}
.walk-header {max-width:1440px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 42px;border-bottom:1px solid var(--walk-line);font-size:15px;}
.walk-header>:first-child,.walk-header>a:last-child{min-width:130px;}
.walk-header>a:last-child{text-align:right;}
.walk-header button {border:0;padding-left:0;padding-right:0;font-size:15px;}
.walk-brand{display:flex;align-items:center;justify-content:center;padding:8px 0;}.walk-logo{display:block;width:220px;height:auto;}
.walk-layout{max-width:1280px;margin:auto;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);min-height:calc(100svh - 83px);}
.garden{padding:38px 32px 24px;display:flex;flex-direction:column;align-items:center;position:sticky;top:0;align-self:start;}
.garden-caption{align-self:stretch;text-align:center;}.tiny{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;line-height:1.7;}
.garden-caption h2{font-family:var(--font-display);font-size:38px;font-weight:400;margin:8px 0;color:var(--walk-ink);}
.garden-caption p{font-size:15px;color:var(--walk-muted);margin:0;}
.landscape{width:100%;max-width:450px;aspect-ratio:5/6;position:relative;margin-top:24px;}.garden-art{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.stone{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border:0!important;padding:0!important;display:flex;align-items:center;gap:9px;background:none!important;border-radius:50%!important;}
.stone-number{display:grid;place-items:center;width:44px;height:44px;border-radius:48% 53% 46% 55%;background:var(--stone);color:white;font-family:var(--font-mono);font-size:15px;box-shadow:0 4px 0 #00000012;transition:transform 240ms ease-out,box-shadow 240ms ease-out;}
.stone-label{position:absolute;left:52px;white-space:nowrap;font-size:13px;font-weight:500;padding:3px 5px;background:#f7f7eecc;border-radius:4px;}
.stone[aria-current] .stone-number{box-shadow:0 0 0 5px #f7f7ee,0 0 0 7px var(--stone);transform:scale(1.1);}
.walk .stone:active{transform:translate(-50%,-50%) scale(.97);}
.garden-bottom{font-family:var(--font-display);font-style:italic;font-size:19px;color:var(--walk-muted);margin:16px 0 4px;}
.walk .motion-control{border:0;font-size:12px;color:var(--walk-muted);min-height:44px;padding:8px;}
.walk-space{min-width:0;padding:62px 46px 48px;border-left:1px solid var(--walk-line);display:flex;align-items:center;}
#walk-content{width:100%;scroll-margin-top:106px;}.intro{max-width:460px;}.seed-mark{color:#8a9c71;font-size:54px;display:block;margin-bottom:35px;}
.walk h1{font-family:var(--font-display);font-size:clamp(40px,4.7vw,66px);font-weight:400;line-height:1.03;letter-spacing:-.035em;color:var(--walk-ink);margin:18px 0 22px;}
.intro h1{font-size:clamp(50px,5.7vw,78px);max-width:420px;}.intro-text,.station-hint{font-size:18px;line-height:1.8;color:var(--walk-muted);margin:0 0 28px;max-width:460px;}
.length-options{display:flex;gap:10px;margin-top:30px;}.walk .length-option{font-size:16px;padding:14px 20px;}.length-option[aria-pressed=true]{border-color:#5d7356;background:#e5eadc;}.length-note{font-size:13px;color:var(--walk-muted);margin:10px 0 24px;}
.walk .primary{background:#3e563e;border-color:#3e563e;color:#fff;padding:15px 24px;border-radius:10px;font-size:16px;min-height:50px;}.primary::after{content:' ↗';margin-left:20px;}
.privacy{font-size:13px;line-height:1.8;color:var(--walk-muted);max-width:375px;margin-top:30px;}.privacy span{font-size:18px;}
.station-panel{width:100%;}.station-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;color:var(--station);}.station-meta>.tiny{font-size:12px;}.deep-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--walk-muted);cursor:pointer;min-height:32px;}.deep-toggle input{accent-color:#536b4a;}
.walk label.field-label{font-size:15px;font-weight:500;display:block;margin:24px 0 10px;}.walk textarea,.walk input:not([type=checkbox]),.walk select{width:100%;border:1px solid #cbd2c2;border-radius:12px;padding:16px;background:#fffdf7;color:var(--walk-ink);font-size:18px;line-height:1.65;box-shadow:none;}.walk textarea{resize:vertical;min-height:118px;}.walk textarea::placeholder,.walk input::placeholder{color:#7e8378;opacity:1;}
.nudge{font-size:15px;color:#705b38;line-height:1.65;border-left:2px solid #c6a473;padding:3px 0 3px 14px;margin:16px 0;}.quiet-note{font-size:15px;line-height:1.7;color:var(--walk-muted);}.center{text-align:center;}
.walk .secondary{font-size:15px;background:#e9eddf;border-color:#cbd4bd;}.station-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--walk-line);padding-top:24px;margin-top:28px;}.walk .back-step{border:0;min-width:44px;}.writing-space{margin:24px 0 0;border-top:1px solid var(--walk-line);}.writing-space summary{padding:17px 0;cursor:pointer;font-size:15px;color:var(--walk-muted);list-style:none;display:flex;justify-content:space-between;}.writing-space[open] summary span{transform:rotate(45deg);}.writing-space .field-label{margin-top:0!important;}
.jackal-stage{display:flex;align-items:flex-end;gap:14px;margin:24px 0;}.jackal{width:75px;flex:none;transform:rotate(-6deg);}.thought-stack{flex:1;min-width:0;max-height:240px;overflow:auto;}.thought-stack>p{font-size:15px;line-height:1.7;color:var(--walk-muted);}.thought-bubble{margin:10px 0;padding:15px 18px;background:#f0e3d7;border-radius:18px 18px 18px 2px;font-size:17px;line-height:1.6;overflow-wrap:anywhere;animation:arrive 250ms ease-out;}.thought-return{background:#efe7df;padding:18px 22px;border-radius:5px 18px 18px 18px;position:relative;margin-bottom:25px;}.thought-return .tiny{font-size:11px;color:#846957;margin:0;}.thought-return blockquote{font-family:var(--font-display);font-size:25px;line-height:1.3;margin:10px 0;overflow-wrap:anywhere;}.thought-nav{display:flex;gap:5px;justify-content:flex-end;}.thought-nav button{padding:4px 12px!important;border:0;}
.word-cloud{display:flex;flex-wrap:wrap;gap:9px;}.walk button.word{background:#f0e7ee;border-color:transparent;font-size:16px;border-radius:40% 45% 40% 43%;padding:11px 17px;}.walk button.word[aria-pressed=true]{background:#885571;color:#fff;border-color:#885571;}.custom-word{display:flex;gap:8px;margin-top:23px;}.custom-word input{min-width:0;padding:10px 14px!important;font-size:17px!important;}.custom-word button{font-size:15px;flex:none;}
.feeling-ribbon{display:flex;flex-wrap:wrap;gap:8px;}.walk .feeling-thread{border-radius:50px;font-size:15px;background:#f0e7ee;}.feeling-thread[aria-pressed=true]{border-color:#885571;box-shadow:0 0 0 1px #885571;}.mapping-hint{margin:18px 0;color:#7d693a;}.need-board{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:15px 0;}.walk .need{border:1px solid #dfd4ae;background:#efe8d0;border-radius:44% 52% 45% 50%;font-size:calc(12px + var(--growth)*2px);padding:calc(11px + var(--growth)*2px) 17px;}.need[aria-pressed=true]{background:#c6a451;border-color:#a58941;color:#302c20;}
.breathing-space{position:relative;height:250px;display:grid;place-items:center;margin:22px 0;}.breath-flower{position:absolute;width:200px;height:200px;animation:breath 10s ease-in-out infinite;}.breath-flower i{position:absolute;left:50px;top:0;width:100px;height:155px;border-radius:50%;background:#c6bdd76b;transform-origin:50% 100px;transform:rotate(calc(var(--petal)*60deg));}.breath-need{font-family:var(--font-display);font-size:38px;z-index:1;color:#625673;max-width:100%;overflow-wrap:anywhere;text-align:center;}.breath-cue{text-align:center;font-size:16px;color:#746685;}.minute-track{width:100px;height:3px;background:#ddd7e4;margin:20px auto;overflow:hidden;border-radius:10px;}.minute-track span{display:block;height:100%;background:#8980ab;transform-origin:left;transform:scaleX(0);}
.forgiveness{text-align:center;padding:8px 0;}.forgiveness p{font-family:var(--font-display);font-size:28px;margin:15px 0;}.forgiveness select{width:auto;max-width:100%;min-width:200px;border-width:0 0 1px;border-radius:0;background:transparent;font-family:var(--font-display);font-size:26px;text-align:center;padding:5px 16px;}.forgive-leaf{display:block;color:#8ca67a;font-size:48px;margin-top:20px;}.text-button{border:0!important;text-decoration:underline;text-underline-offset:4px;font-size:15px!important;}
.walk-card{padding:26px;background:#fffdf8;border:1px solid #e1deca;box-shadow:0 6px 0 -3px #e9e5d5;border-radius:3px;transform:rotate(-1deg);}.walk-card>.tiny{display:flex;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--walk-line);}.card-line{margin-top:18px;}.card-line>span{font-size:12px;color:var(--walk-muted);}.card-line p{font-family:var(--font-display);font-size:24px;margin:4px 0;line-height:1.3;overflow-wrap:anywhere;}.card-actions{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap;}.community{font-size:15px;line-height:1.9;color:var(--walk-muted);margin-top:28px;display:block;}.community a{text-decoration:underline;text-underline-offset:4px;}#email-panel{border:1px solid var(--walk-line);padding:20px;border-radius:12px;}#email-panel label{display:block;font-size:15px;margin-bottom:10px;}#email-status{font-size:15px;line-height:1.6;}
.walk dialog{background:#f7f7ee;border:1px solid var(--walk-line);border-radius:20px;max-width:440px;width:calc(100% - 32px);padding:30px;color:var(--walk-ink);}.walk dialog::backdrop{background:#26312470;}.walk dialog h2{font-family:var(--font-display);font-size:36px;line-height:1.1;}.walk dialog p{font-size:17px;line-height:1.7;}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.plant{transform-box:fill-box;transform-origin:bottom center;animation:sway 7s ease-in-out infinite;}.plant-b{animation-delay:-3s;}.plant-c{animation-delay:-1s;}.butterfly{animation:flutter 6s ease-in-out infinite;}.motion-paused *{animation-play-state:paused!important;}
@keyframes sway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}@keyframes flutter{0%,100%{transform:translate(300px,60px) rotate(-5deg)}50%{transform:translate(310px,47px) rotate(8deg)}}@keyframes breath{0%,100%{transform:scale(.8);opacity:.65}40%{transform:scale(1.1);opacity:1}}@keyframes arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){.walk .primary:hover{background:#4c674b;}.stone:hover .stone-number{transform:translateY(-3px);}.walk button.word:hover,.walk .need:hover{border-color:#8b926f;}}
@media(min-width:1100px){.walk-space{padding-left:64px;padding-right:64px;}}
@media(max-width:760px){.walk-header{padding:13px 20px;gap:8px;font-size:12px;}.walk-header>:first-child,.walk-header>a:last-child,.walk-header>button{min-width:0;}.walk-brand{font-size:17px;}.walk-brand span{font-size:20px;}.walk-layout{display:flex;flex-direction:column;}.garden{position:relative;padding:24px 20px 8px;width:100%;}.garden-caption .tiny{font-size:10px;}.garden-caption h2{font-size:30px;}.garden-caption p{display:none;}.landscape{max-width:260px;margin-top:10px;}.garden-bottom{font-size:18px;margin:8px 0 0;}.walk-space{border:0;padding:20px 25px 40px;}.intro{max-width:500px;margin:auto;text-align:center;}.intro h1{font-size:54px;margin:10px auto 18px;max-width:320px;}.intro-text{font-size:17px;max-width:370px;margin:0 auto 24px;}.intro .seed-mark{display:none;}.intro>.tiny{display:none;}.length-options{justify-content:center;margin-top:15px;}.walk .length-option{font-size:15px;padding:12px 16px;}.privacy{margin:25px auto 0;max-width:340px;font-size:12px;text-align:left;}.stone-number{width:35px;height:35px;font-size:12px;}.stone-label{font-size:11px;left:39px;}.stone{min-width:44px;min-height:44px;}.garden .motion-control{min-height:36px;font-size:11px;}.is-walking .garden{position:sticky;top:0;z-index:5;padding:8px 16px 12px;background:#f7f7eef5;border-bottom:1px solid var(--walk-line);}.is-walking .garden-caption,.is-walking .garden-art,.is-walking .garden-bottom,.is-walking .motion-control{display:none;}.is-walking .landscape{width:100%;max-width:none;height:65px;aspect-ratio:auto;margin:0;}.is-walking .stones{display:flex;justify-content:space-between;align-items:center;height:100%;position:relative;}.is-walking .stones::before{content:'';position:absolute;top:25px;left:15px;right:15px;height:1px;background:#d0d4c2;}.is-walking .stone{position:relative;left:auto;top:auto;transform:none;display:flex;flex-direction:column;gap:7px;width:40px;border-radius:8px!important;}.is-walking .stone:active{transform:scale(.97);}.is-walking .stone-number{width:33px;height:33px;font-size:11px;}.is-walking .stone-label{position:static;padding:0;background:none;font-size:10px;}.is-walking .walk-space{padding-top:30px;}.walk h1{font-size:42px;}.station-hint{font-size:17px;line-height:1.7;}.station-meta{gap:8px;}.deep-toggle{font-size:11px;}.word-cloud{gap:8px;}.walk button.word{font-size:15px;padding:10px 15px;}.walk .need{padding-left:13px;padding-right:13px;}.breathing-space{height:230px;}.walk-card{padding:22px;}}
@media(prefers-reduced-motion:reduce){.walk *,.walk *::before,.walk *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

@media(max-width:360px){.is-walking .stones{overflow-x:auto;gap:6px;padding:6px;}.is-walking .stone{flex:none;}.walk-space{padding-left:20px;padding-right:20px;}}

.walk button.word,.walk .need,.walk .feeling-thread{max-width:100%;overflow-wrap:anywhere;}.mapping-hint{overflow-wrap:anywhere;}

/* The vocabulary companion stays outside station transitions. */
.walk-reference{max-width:1280px;margin:0 auto;padding:16px 42px;display:flex;justify-content:flex-end;align-items:center;gap:14px;border-bottom:1px solid var(--walk-line);font-size:14px;}
.walk-reference a{display:inline-flex;gap:14px;align-items:center;min-height:44px;text-decoration:underline;text-decoration-color:#abb69e;text-underline-offset:5px;}
.walk-reference>span{font-size:12px;color:var(--walk-muted);}
.is-walking .walk-space{align-items:flex-start;}
#walk-content{position:relative;}
#walk-content.station-scrolling{overflow:clip;isolation:isolate;}
.station-outgoing{position:absolute;inset:0 0 auto;pointer-events:none;user-select:none;}

/* Tactile, softly coloured leaves for words that belong together. */
.word-cloud{gap:12px;}
.walk button.word,.walk .need{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:49px;line-height:1.35;box-shadow:inset 0 1px 0 #ffffffb3,0 2px 3px #42334f08;transition:transform 180ms ease-out,background-color 180ms ease-out,border-color 180ms ease-out,box-shadow 180ms ease-out;}
.walk button.word{color:#76516c;background:linear-gradient(155deg,#fbf4f8,#eee0ea);border:1px solid #dbc5d5;border-radius:22px 22px 22px 9px;padding:13px 18px;font-size:17px;}
.walk button.word::before{content:'';flex:none;width:6px;height:6px;border-radius:50%;background:#b889a6;box-shadow:0 0 0 3px #b889a615;}
.walk button.word[aria-pressed=true]{background:linear-gradient(145deg,#926780,#79526c);border-color:#79526c;color:#fff;box-shadow:inset 0 1px 0 #ffffff30,0 3px 8px #79526c24;}
.walk button.word[aria-pressed=true]::before{background:#f4d9e8;box-shadow:0 0 0 3px #ffffff15;}
.need-board{justify-content:flex-start;gap:13px;padding:16px 0;}
.walk .need{font-size:calc(17px + var(--growth)*1.5px);padding:calc(13px + var(--growth)*2px) 19px;color:#736039;border:1px solid #d9cba4;background:linear-gradient(150deg,#faf5e6,#ede4c7);border-radius:25px 10px 25px 10px;}
.walk .need::before{content:'';flex:none;width:9px;height:14px;border-radius:9px 1px 9px 1px;background:#baaa73;transform:rotate(25deg);}
.walk .need[aria-pressed=true]{color:#59441d;background:linear-gradient(145deg,#ecd9a0,#d9bc73);border-color:#bba05c;box-shadow:inset 0 1px 0 #fff4cf,0 3px 8px #9c80331a;}
.walk .need[aria-pressed=true]::before{background:#8d753b;}
.walk .feeling-thread{font-size:15px;padding:12px 16px;background:#f1e6ed;border:1px solid #dbc7d5;border-radius:18px 18px 18px 7px;}
.walk .feeling-thread[aria-pressed=true]{background:#e6d5e0;box-shadow:none;border-color:#a67795;}
.walk .custom-word input{font-size:17px!important;}
.walk .text-button{font-size:15px!important;}
@media(hover:hover) and (pointer:fine){.walk button.word:hover,.walk .need:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffffc0,0 5px 10px #4d453b0d;}.walk button.word:hover{border-color:#b58ca7;}.walk .need:hover{border-color:#b7a365;}}
@media(max-width:760px){
  .walk-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:13px 16px;gap:12px;font-size:12px;}
  .walk-header>a,.walk-header>button{min-width:0;}
  .walk-logo{width:clamp(110px,32vw,150px);}
  .walk-header button{font-size:13px;}
  .walk-reference{padding:8px 20px;justify-content:center;flex-wrap:wrap;column-gap:12px;row-gap:0;font-size:14px;}
  .walk-reference>span{font-size:11px;}
  .is-walking .landscape{height:77px;}
  .is-walking .stone-label{font-size:10px;max-width:54px;white-space:normal;text-align:center;min-height:24px;line-height:1.15;}
  .is-walking .stones::before{top:27px;}
  #walk-content{scroll-margin-top:118px;}
  .walk button.word{font-size:16px;padding:12px 16px;}
  .walk .need{font-size:calc(16px + var(--growth)*1.5px);padding:calc(12px + var(--growth)*2px) 17px;}
  .word-cloud,.need-board{gap:11px;}
  .deep-toggle{font-size:12px;}
  .walk .length-option{font-size:15px;}
}

.recovery-notice{max-width:1280px;margin:0 auto;padding:14px 24px;background:#e9eddf;color:#465b40;border-bottom:1px solid var(--walk-line);font-size:14px;line-height:1.6;}
