/* V2: ink, paper and small moments. V1 stays in dist/. */
:root { --soft-shadow: 3px 5px 0 #203c321b; }
body { background-color: var(--paper); }
.section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .16;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23997950' opacity='.16' filter='url(%23p)' d='M0 0h170v170H0z'/%3E%3C/svg%3E");
}
.reading-progress { position:fixed; left:0; top:0; width:100%; height:3px; z-index:100; pointer-events:none; }
.reading-progress > span { display:block; width:100%; height:100%; background:var(--orange); transform:scaleX(var(--reading,0)); transform-origin:left; }
.site-header { background:#fff6e4f2; backdrop-filter:blur(12px); }
.concept-tag { background:#e8edd7; border-style:dashed; letter-spacing:.7px; }
.chapter-label { font-family:Consolas,"Courier New",var(--sans); font-size:11px; letter-spacing:1.5px; }
.button { transition:translate .22s,box-shadow .22s,background .22s; }
.button:active { translate:4px 4px; box-shadow:0 1px 0 var(--ink); }
.orange-button:hover { background:#ff9254; }
.cream-button:hover { background:#ffe79d; }
.hero-world { transform:translate3d(0,var(--hero-drift,0px),0); }
.destination { border-radius:2px 5px 2px 7px; box-shadow:3px 5px 0 #203c3226; }
.plane-id { background:#fff8e3bd; padding:7px 10px; border-radius:3px 8px 3px 5px; }
.hero .intro { max-width:390px; }
.hero-whisper { color:#355962; }
.thought-world { box-shadow:0 9px 0 #203c3209; }
.thought { transition:background .35s,box-shadow .35s,color .35s; min-height:46px; }
.thought.selected { background:#ffdf74; }
.thought:active { box-shadow:1px 2px 0 var(--ink); }
.listening-mimo { rotate:var(--lean,0deg); transition:rotate .7s; }
.listening-mimo > svg { filter:drop-shadow(0 9px 0 #203c3210); }
.thought-land path { transition:fill 1s; }
[data-feel="stars"] .listening-mimo { filter:drop-shadow(0 0 16px #ffe8ad18); }
[data-feel="sunshine"] .thought-land path:first-child { fill:#d0d39a; }
[data-feel="breeze"] { background:#e1e8f1; }
[data-feel="portal"] { background:#f0e4ce; }
.response-copy { display:flex; align-items:center; gap:17px; }
.response-copy > p { font-size:17px; font-weight:700; line-height:1.8; }
.scene-replay { border:0; border-bottom:1px dashed #71836a; padding:7px 0; font-size:11px; color:#52654d; background:none; white-space:nowrap; }
.scene-replay:hover { color:var(--ink); }
.garden-label { position:absolute; bottom:8%; right:6%; font-size:11px; rotate:-5deg; opacity:0; transition:opacity 1.2s; }
[data-phase="settled"] .garden-label { opacity:1; }
[data-feel="garden"][data-phase="settled"] .garden-layer > svg { animation:flower-breeze 5s ease-in-out infinite; }
.garden-layer > svg:nth-child(2) { animation-delay:-2s; }
.sun-jar small { position:absolute; bottom:6px; left:0; width:100%; text-align:center; font-size:10px; font-weight:700; }
.night-stars { position:absolute; inset:0; width:100%; height:100%; opacity:.8; }
.night-stars circle:nth-child(3n) { animation:twinkle 4s ease-in-out -1s infinite; }
.night-window { overflow:hidden; background:#e4bb78; transition:box-shadow 1.2s,background 1.2s; }
.night-window i { display:block; position:absolute; bottom:-5px; left:15%; width:60%; height:35px; background:#2c5148; border:2px solid #294539; border-radius:55% 45% 12% 12%; translate:0 35px; transition:translate 1.2s .6s; }
.night-window i::before { content:""; position:absolute; width:4px; height:7px; border-radius:50%; background:#fff2cf; top:11px; left:10px; box-shadow:12px 1px #fff2cf; }
.night-window b { position:absolute; top:0; left:0; width:100%; height:100%; background:repeating-linear-gradient(90deg,#a16c6e 0 7px,#b57d7b 7px 13px); transition:clip-path 1.3s .2s; clip-path:polygon(0 0,100% 0,100% 100%,0 100%); }
.night-window::after,.night-window::before { z-index:3; }
[data-feel="stars"][data-phase="settled"] .night-window { box-shadow:0 0 0 7px #486860,0 0 25px #ffde883b; }
[data-feel="stars"][data-phase="settled"] .night-window b { clip-path:polygon(0 0,20% 0,20% 100%,0 100%); }
[data-feel="stars"][data-phase="settled"] .night-window i { translate:0 0; }
.window-right i { transition-delay:1s; }
.window-right b { transition-delay:.7s; }
[data-feel="breeze"][data-phase="arriving"] .breeze-layer > span { opacity:0; }
[data-phase="arriving"] .garden-layer > svg { transform:scaleY(0); }
[data-feel="portal"][data-phase="arriving"] .door-leaf { transform:rotateY(0); }
[data-feel="portal"][data-phase="arriving"] .door-light { transform:scaleY(0); }
.scene-restart .garden-layer > svg { transition:none!important; }
.scene-restart .breeze-layer > svg,.scene-restart .receipt,.scene-restart .clear-ticket,.scene-restart .sun,.scene-restart .sun-jar > span,.scene-restart .rain,.scene-restart .rain-cloud { animation:none!important; }
.making-section { background:#e6ddf0; }
.sketchbook { background-color:#fff9e9; box-shadow:7px 9px 0 #b8a6c9,0 23px 32px -26px #3a2b46; }
.sketchbook::after { content:""; position:absolute; top:18px; bottom:18px; left:12px; width:7px; background:radial-gradient(circle,#6c7967 2px,transparent 3px) 0 0 / 7px 23px; opacity:.5; }
.sketch-what { font-size:clamp(17px,2vw,28px); max-width:86%; line-height:1.7; }
[data-step="3"] .sketch-what { opacity:0; }
.sketch-window { box-shadow:4px 6px 0 #203c3210; }
.sketch-window > span { font-family:Consolas,var(--sans); }
.making-steps { counter-reset:none; }
.making-steps > li { opacity:.55; }
.making-steps > li > button { border:0; background:transparent; padding:0; font-size:inherit; display:flex; align-items:center; gap:15px; text-align:left; line-height:1.7; }
.making-steps > li > button > span { display:inline-flex; justify-content:center; align-items:center; font-size:10px; width:30px; height:30px; border:1.5px solid var(--ink); border-radius:50%; background:#f6edff; }
.making-steps > li.active > button > span { background:#ffdf71; box-shadow:2px 2px 0 #203c3230; }
.making-steps > li.done { opacity:.85; }
.making-steps > li.done > button > span { background:#c9dab8; }
.workshop-controls { display:flex; justify-content:flex-end; gap:18px; }
.workshop-controls .sketch-again { margin-left:0; min-height:35px; }
.workshop-controls [aria-pressed="true"] { color:#704d8b; }
.workshop-caption { min-height:24px; }
.route-traveler { pointer-events:none; }
.journal-page { background-color:#fffbed; background-image:repeating-linear-gradient(0deg,transparent 0 26px,#58795107 27px 28px); }
.journal-bills { position:relative; }
.journal-bills > span { transition:translate 1s var(--ease),rotate 1s var(--ease); box-shadow:2px 3px 0 #203c3210; }
.journal-bills > strong { transition:opacity .6s,translate .6s; }
.js .ledger-section:not(.bills-settled) .journal-bills > strong { opacity:.3; translate:0 4px; }
.bills-settled .journal-bills > span:first-child { rotate:-1deg; translate:0 -3px; }
.bills-settled .journal-bills > span:nth-child(2) { rotate:1deg; translate:0 -3px; }
.real-stats .stat-number { color:var(--ink); font-size:inherit; padding:0; font-variant-numeric:tabular-nums; }
.real-stats > span { min-width:100px; }
.data-date,.journal-example,.first-feedback cite { font-size:10px; }
.first-feedback cite { font-family:Consolas,var(--sans); letter-spacing:.1px; }
.conversation { background-image:repeating-linear-gradient(0deg,transparent 0 29px,#58795104 30px); }
.conversation-top { position:relative; }
.conversation-top::after { content:""; position:absolute; width:5px; height:5px; border-radius:50%; background:#6b954e; right:43px; top:9px; box-shadow:0 0 0 3px #6b954e15; }
.chat-bubble { box-shadow:2px 3px 0 #203c3208; transition:opacity .6s,translate .6s; min-height:74px; }
.memory-tag { width:max-content; max-width:100%; background:#e9efd8; padding:5px 9px; border-radius:3px 7px 3px 7px; }
.js .conversation[data-chat-stage="1"] .mimo-bubble,
.js .conversation[data-chat-stage="1"] .memory-tag,
.js .conversation[data-chat-stage="1"] .next-time,
.js .conversation[data-chat-stage="2"] .remembered,
.js .conversation[data-chat-stage="2"] .next-time { opacity:.07; translate:0 5px; }
.js .conversation[data-chat-stage="1"] .memory-tag { opacity:0; }
.memory-options { min-height:35px; }
.memory-options > button { min-height:35px; transition:background .2s,box-shadow .2s; }
.demo-note { font-size:10px; line-height:1.8; }
.invitation-seed { width:max-content; max-width:90%; margin:25px auto -10px; font-size:12px; line-height:1.8; padding:8px 14px; border:1px dashed #5d7f81; background:#f5efc9; rotate:-2deg; }
.idea-note textarea { background:repeating-linear-gradient(transparent 0 40px,#b7a35040 41px,transparent 42px); line-height:42px; border-bottom:0; }
.idea-note textarea:focus-visible { outline:0; }
.idea-note:focus-within { box-shadow:7px 10px 0 #5b8b8b45; border-color:#78529b; }
.note-foot > small,.note-foot { font-size:10px; line-height:1.7; }
footer { position:relative; flex-wrap:wrap; padding-bottom:58px; }
footer .filing { position:absolute; left:0; bottom:21px; font-size:10px; color:#456569; }
footer .filing:hover { text-decoration:underline; }
.nojs-contact { background:#fff1bd; padding:25px var(--gutter); display:flex; flex-wrap:wrap; gap:20px; font-size:14px; }
dialog { border-radius:5px 16px 7px 12px; }
dialog:modal { animation:dialog-open .25s var(--ease); }
.qr { border:2px solid var(--ink); border-radius:4px; box-shadow:3px 4px 0 #203c3220; }
dialog > p:not(.chapter-label) { font-size:13px; }
.dialog-close { width:40px; height:40px; right:4px; top:3px; }
@keyframes flower-breeze { 0%,100% { rotate:-2deg; } 50% { rotate:3deg; } }
@keyframes dialog-open { from { opacity:0; translate:0 10px; } to { opacity:1; translate:0 0; } }
@media(max-width:1100px) {
  .response-copy > p { font-size:14px; }
  .response-copy { gap:12px; }
  .thought-response { gap:22px; }
  .scene-replay { font-size:10px; }
}
@media(max-width:760px) {
  .chapter-label { font-size:9px; letter-spacing:1px; }
  .hero-world { transform:none; }
  .hero-whisper { font-size:10px; max-width:100%; }
  .plane-id { bottom:4%; }
  .thought { min-height:44px; padding:11px 10px; }
  .thought-response { padding-top:18px; min-height:128px; }
  .response-copy { display:block; }
  .response-copy > p { font-size:13px; min-height:25px; }
  .scene-replay { margin-top:2px; padding:5px; min-height:32px; }
  .scene-note { font-size:9px; }
  .thought-response .text-link { font-size:12px; min-height:36px; }
  .garden-label { font-size:8px; bottom:4%; right:5%; }
  .night-window i { height:28px; left:10%; width:80%; }
  .night-window i::before { left:6px; top:9px; }
  .sun-jar small { font-size:12px; }
  .making-steps > li > button { display:block; font-size:10px; }
  .making-steps > li > button > span { display:flex; width:28px; height:28px; margin-bottom:7px; font-size:9px; }
  .making-steps { gap:12px; }
  .workshop-controls { gap:14px; }
  .workshop-controls .sketch-again { font-size:10px; }
  .workshop-caption { font-size:10px; max-width:75%; min-height:36px; }
  .maker-mimo { left:-4%; }
  .sketch-what { font-size:20px; }
  .real-stats > span,.data-date { font-size:10px; }
  .journal-example { font-size:8px; line-height:1.8; }
  .first-feedback cite { font-size:9px; padding-right:12px; }
  .demo-note { font-size:9px; }
  .chat-bubble { font-size:12px; }
  .chat-time { font-size:9px; }
  .memory-tag { font-size:9px; }
  .memory-options > button { font-size:10px; }
  .invitation-seed { font-size:11px; margin-top:20px; }
  .note-foot { gap:12px; }
  .note-foot > small,.note-foot { font-size:9px; }
  .note-foot > span { white-space:nowrap; }
  .idea-note > .button { font-size:11px; }
  .invitation-mimo { bottom:-5px; }
  footer { padding-bottom:55px; }
  footer .filing { display:block; font-size:9px; bottom:20px; }
  dialog > p:not(.chapter-label) { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-world { transform:none; }
  .night-window b { clip-path:polygon(0 0,20% 0,20% 100%,0 100%); }
  .night-window i { translate:0 0; }
  .js .conversation .chat-bubble,.js .conversation .memory-tag,.js .conversation .next-time { opacity:1!important; translate:0 0!important; }
  .js .ledger-section .journal-bills > strong { opacity:1; translate:0 0; }
}

/* Core chapter: give the character, story and controls their own space. */
.destination { width:300px; max-width:68%; font-size:13px; line-height:1.8; transition:background .25s,box-shadow .25s; }
.destination > #greeting { display:block; margin:0; white-space:normal; overflow-wrap:anywhere; }
.destination.speaking { background:#ffedaf; box-shadow:4px 6px 0 #203c3229; }
@keyframes pilot-hello { 0%,100% { translate:0 0; rotate:0deg; } 35% { translate:4px 6px; rotate:-3deg; } 70% { translate:-3px 3px; rotate:2deg; } }
.mobile-break { display:none; }
.ideas-section .section-heading > p:last-child { max-width:650px; margin-inline:auto; }
#thought-world { height:660px; border-radius:30px 70px 34px 52px / 40px 30px 30px 40px; background:#e9efda; }
#thought-world[data-feel="breeze"] { background:#e3eaf0; }
#thought-world[data-feel="sunshine"] { background:#ffedaf; }
#thought-world[data-feel="stars"] { background:#244c60; }
#thought-world[data-feel="travel"] { background:#efe8d4; }
#thought-world[data-feel="portal"] { background:#f0e4ce; }
.thought-stage { position:absolute; inset:0; overflow:hidden; isolation:isolate; }
#thought-world .breeze-layer,#thought-world .travel-layer { z-index:2; }
#thought-world .listening-mimo { width:250px; top:57%; left:50%; transform:translate(-50%,-50%) rotate(-4deg); }
#thought-world .thought { display:flex; align-items:center; gap:12px; width:220px; max-width:none; white-space:normal; text-align:left; padding:14px 16px; border-radius:4px 13px 5px 10px; min-height:78px; }
#thought-world .thought > .thought-icon { flex:none; width:24px; font-size:24px; padding:0; }
#thought-world .thought > .thought-copy { color:var(--ink); font-size:inherit; padding:0; }
.thought-copy strong { display:block; font-size:15px; font-weight:750; line-height:1.6; }
.thought-copy small { display:block; margin-top:4px; font-size:10px; color:#53624c; font-weight:400; line-height:1.6; }
#thought-world .thought-one { left:15%; top:18%; --tilt:-5deg; }
#thought-world .thought-two { left:50%; top:12%; --tilt:3deg; }
#thought-world .thought-three { left:85%; top:19%; --tilt:-4deg; }
#thought-world .thought-four { left:13%; top:68%; --tilt:4deg; }
#thought-world .thought-five { left:87%; top:68%; --tilt:-4deg; }
#thought-world .thought-six { left:50%; top:91%; --tilt:2deg; }
.ideas-section .thought-response { max-width:1200px; margin:18px auto 0; gap:28px; }
.response-copy { flex:1; min-width:0; justify-content:center; }
.response-copy > p { font-size:16px; }
.ideas-section .text-link { flex:none; }
.idea-principle { text-align:center; margin:9px auto 0; max-width:850px; font-size:14px; line-height:2; color:#60705a; }
.idea-principle strong { color:var(--ink); font-weight:650; }
#thought-world .garden-layer > svg:nth-child(1) { left:31%; bottom:26%; width:66px; height:132px; }
#thought-world .garden-layer > svg:nth-child(2) { left:63%; bottom:25%; width:78px; height:156px; }
#thought-world .garden-layer > svg:nth-child(3) { left:70%; bottom:30%; width:48px; height:96px; }
#thought-world .garden-layer > svg:nth-child(4) { left:34%; bottom:16%; width:45px; height:90px; }
#thought-world .garden-layer > .seed-ground { left:24%; bottom:18%; width:54%; height:70px; transform:none!important; rotate:0deg; animation:none; z-index:-1; }
#thought-world .breeze-layer > .wind-path { inset:0; width:100%; height:100%; transform:none; opacity:.5; animation:none!important; }
.wind-path path { animation:trail 24s linear infinite; }
#thought-world .breeze-layer > .wind-plane { left:28%; top:31%; width:115px; height:90px; animation:wind-letter 8s var(--ease) infinite; }
.wind-envelope { position:absolute; width:94px; height:61px; top:56%; left:28%; border:2px solid var(--ink); border-radius:4px 4px 8px 5px; background:#f5dfab; rotate:-10deg; perspective:300px; }
.wind-envelope::before { content:""; position:absolute; inset:0; background:linear-gradient(32deg,transparent 49%,#a3977470 50%,transparent 52%),linear-gradient(-32deg,transparent 49%,#a3977470 50%,transparent 52%); z-index:3; }
.wind-envelope > i { position:absolute; top:-1px; left:0; right:0; height:42px; clip-path:polygon(0 0,100% 0,50% 86%); background:#d4b986; transform-origin:top; transition:transform 1s; z-index:4; }
.wind-envelope > b { position:absolute; left:24%; top:12%; width:48%; height:65%; background:#fff7e1; border:1.5px solid #7d7395; transition:translate 1.6s,opacity 1.6s; }
[data-feel="breeze"][data-phase="settled"] .wind-envelope > i { transform:rotateX(155deg); }
[data-feel="breeze"][data-phase="settled"] .wind-envelope > b { translate:15px -80px; opacity:0; }
.wind-leaf { position:absolute; left:64%; top:42%; width:20px; height:10px; background:#8eae83; border:1px solid #415e52; border-radius:0 85% 0 85%; rotate:25deg; animation:leaf-wind 7s ease-in-out infinite; }
.leaf-two { left:33%; top:39%; width:14px; height:8px; rotate:-15deg; animation-delay:-3s; }
#thought-world .night-layer .window-left { left:29%; bottom:28%; }
#thought-world .night-layer .window-right { right:25%; bottom:33%; }
#thought-world .moon { top:29%; right:32%; }
#thought-world .rain-cloud { left:25%; top:30%; width:155px; height:85px; }
#thought-world .rain { left:30%; top:42%; }
#thought-world .rain-two { left:27%; top:49%; }
#thought-world .sun { right:26%; top:27%; font-size:76px; }
#thought-world .sun-jar { left:65%; bottom:27%; }
#thought-world .receipt { left:27%; top:42%; }
#thought-world .receipt-b { left:65%; top:38%; }
#thought-world .clear-ticket { left:65%; top:45%; width:174px; font-size:11px; padding:15px; }
#thought-world .clear-ticket > strong { font-size:16px; }
#thought-world .portal-layer { left:65%; top:30%; width:140px; height:225px; }
@keyframes wind-letter {
  0%,8% { transform:translate(-20px,70px) rotate(12deg) scale(.2); opacity:0; }
  18% { opacity:1; }
  48% { transform:translate(150px,-12px) rotate(-9deg) scale(.95); opacity:1; }
  80% { transform:translate(305px,-30px) rotate(4deg) scale(.8); opacity:1; }
  100% { transform:translate(380px,-40px) rotate(-8deg) scale(.65); opacity:0; }
}
@keyframes leaf-wind { 50% { translate:32px -17px; rotate:55deg; } }
@media(min-width:761px) and (max-width:1100px) {
  #thought-world { height:620px; }
  #thought-world .thought { width:184px; padding:12px; gap:8px; min-height:76px; }
  #thought-world .thought > .thought-icon { width:20px; font-size:21px; }
  .thought-copy strong { font-size:13px; }
  .thought-copy small { font-size:9px; }
  #thought-world .thought-one,#thought-world .thought-four { left:16%; }
  #thought-world .thought-three,#thought-world .thought-five { left:84%; }
  #thought-world .listening-mimo { width:200px; }
  #thought-world .garden-layer > svg:nth-child(1) { left:28%; width:50px; height:100px; }
  #thought-world .garden-layer > svg:nth-child(2) { left:64%; width:55px; height:110px; }
  #thought-world .garden-layer > svg:nth-child(3) { left:72%; width:38px; height:76px; }
  #thought-world .sun-jar { scale:.8; transform-origin:bottom left; }
  #thought-world .receipt { width:90px; padding:12px; }
  #thought-world .clear-ticket { width:130px; font-size:10px; padding:12px; }
  #thought-world .clear-ticket > strong { font-size:13px; }
  #thought-world .portal-layer { width:105px; height:180px; }
  .ideas-section .thought-response { display:block; text-align:center; }
  .ideas-section .thought-response > .text-link { margin-top:8px; }
  .response-copy > p { font-size:14px; }
}
@media(max-width:760px) {
  .destination { left:26%; top:0; width:245px; max-width:71%; font-size:11px; padding:10px 13px; }
  .mobile-break { display:block; }
  .ideas-section { padding-top:55px; }
  .ideas-section .section-heading h2 { font-size:31px; }
  .ideas-section .section-heading > p:last-child { font-size:12px; line-height:1.9; max-width:100%; }
  #thought-world { height:auto; border-radius:18px 28px 12px 22px; margin-top:25px; }
  .thought-stage { position:relative; inset:auto; width:100%; height:310px; border-bottom:1px dashed #203c3245; }
  #thought-world .listening-mimo { width:162px; top:58%; left:50%; }
  #thought-world .thoughts { position:relative; inset:auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px 9px; padding:16px 12px 18px; background:#fff6e4; }
  #thought-world .thought { position:relative; inset:auto; left:auto; top:auto; width:auto; max-width:100%; min-width:0; min-height:63px; padding:8px 4px; display:flex; flex-direction:column; justify-content:center; gap:3px; text-align:center; border-width:1.5px; transform:none; translate:none; rotate:0deg; animation:none; box-shadow:2px 3px 0 #203c3226; }
  #thought-world .thought.selected { box-shadow:2px 3px 0 var(--ink); }
  #thought-world .thought > .thought-icon { font-size:18px; width:auto; line-height:1.1; }
  #thought-world .thought-copy strong { font-size:12px; line-height:1.6; white-space:nowrap; }
  #thought-world .thought-copy small { display:none; }
  .ideas-section .thought-response { display:block; margin-top:10px; padding-top:10px; min-height:122px; }
  .response-copy > p { font-size:13px; min-height:25px; }
  .scene-replay { margin-top:3px; }
  .idea-principle { font-size:11px; margin-top:0; line-height:2; }
  .idea-principle strong { display:block; font-size:13px; }
  #thought-world .thought-land { height:27%; }
  #thought-world .garden-layer > svg:nth-child(1) { left:20%; bottom:22%; width:42px; height:84px; }
  #thought-world .garden-layer > svg:nth-child(2) { left:72%; bottom:21%; width:43px; height:86px; }
  #thought-world .garden-layer > svg:nth-child(3) { left:81%; bottom:29%; width:29px; height:58px; }
  #thought-world .garden-layer > svg:nth-child(4) { display:block; left:26%; bottom:12%; width:26px; height:52px; }
  #thought-world .garden-layer > .seed-ground { left:15%; bottom:17%; width:75%; height:46px; }
  #thought-world .breeze-layer > .wind-plane { left:12%; top:26%; width:85px; height:70px; animation-name:wind-letter-mobile; }
  .wind-envelope { left:8%; top:62%; width:57px; height:39px; border-width:1.5px; }
  .wind-envelope > i { height:26px; }
  .wind-envelope > b { border-width:1px; }
  .wind-leaf { left:78%; top:42%; scale:.65; }
  .leaf-two { left:24%; top:28%; }
  #thought-world .night-layer .window-left { left:11%; bottom:20%; width:43px; height:57px; }
  #thought-world .night-layer .window-right { right:10%; bottom:25%; width:43px; height:57px; }
  #thought-world .moon { top:13%; right:20%; font-size:51px; }
  #thought-world .sky-spark { top:23%; left:17%; }
  #thought-world .sky-spark:nth-of-type(3) { top:32%; left:78%; }
  #thought-world .sky-spark:nth-of-type(4) { top:81%; left:67%; }
  #thought-world .rain-cloud { left:6%; top:16%; width:105px; height:58px; }
  #thought-world .rain { left:13%; top:34%; scale:.6; }
  #thought-world .rain-two { left:8%; top:43%; scale:.5; }
  #thought-world .sun { right:12%; top:13%; font-size:53px; }
  #thought-world .sun-jar { left:77%; bottom:24%; scale:.51; transform-origin:bottom left; }
  #thought-world .receipt { left:7%; top:34%; width:68px; padding:9px; font-size:9px; }
  #thought-world .receipt > b { font-size:15px; margin-top:7px; }
  #thought-world .receipt-b { left:75%; top:25%; }
  #thought-world .clear-ticket { left:75%; top:52%; width:24%; padding:9px 5px; font-size:8px; }
  #thought-world .clear-ticket > strong { font-size:9px; margin-top:7px; }
  #thought-world .portal-layer { left:73%; top:22%; width:67px; height:135px; }
  #thought-world .door-view { font-size:32px; padding-top:20px; }
  #thought-world .door-view > span { font-size:24px; margin-top:12px; }
  #thought-world .door-leaf { font-size:28px; padding-top:67px; }
}
@keyframes wind-letter-mobile {
  0%,8% { transform:translate(-8px,55px) rotate(12deg) scale(.2); opacity:0; }
  18% { opacity:1; }
  50% { transform:translate(70px,-10px) rotate(-8deg) scale(.9); opacity:1; }
  80% { transform:translate(150px,-17px) rotate(5deg) scale(.8); opacity:1; }
  100% { transform:translate(190px,-20px) rotate(-8deg) scale(.6); opacity:0; }
}
@media(max-width:370px) {
  .thought-stage { height:290px; }
  #thought-world .thoughts { padding-inline:10px; gap:10px 8px; }
  #thought-world .thought-copy strong { font-size:11px; }
  #thought-world .listening-mimo { width:150px; }
}
@media(prefers-reduced-motion:reduce) {
  #thought-world .breeze-layer > .wind-plane { transform:translate(70px,-10px) scale(.8); opacity:1; }
  #thought-world .wind-envelope > i { transform:rotateX(155deg); }
  #thought-world .wind-envelope > b { opacity:0; }
}

/* A real note: sending, delivery confirmation and a small thank-you from Mimo. */
#send-idea { min-width:245px; min-height:49px; }
#send-idea:disabled { background:#d9d4bc; color:#6e7465; border-color:#89917e; box-shadow:2px 3px 0 #89917e; cursor:not-allowed; translate:0 0; }
.idea-note[aria-busy="true"] { border-style:dashed; }
.idea-note textarea[readonly] { color:#64705b; }
.idea-status { font-size:12px; line-height:1.8; margin-top:19px; min-height:44px; max-width:94%; color:#52634b; }
.idea-status[data-tone="success"] { color:#345b3e; font-weight:650; }
.idea-status[data-tone="error"] { color:#923f30; }
.idea-actions { display:flex; align-items:center; flex-wrap:wrap; gap:9px 25px; margin-top:5px; }
.idea-actions .text-link { font-size:11px; gap:0; border-bottom-width:1px; padding:7px 0; min-height:32px; }
.invitation-section[data-delivery="sent"] .invitation-mimo > span { background:#ffeba6; }
.invitation-section.note-arrived .invitation-mimo > svg { animation:receive-note 1.7s var(--ease) both; }
.invitation-section.note-arrived .invitation-plane { animation:delivered-plane 2.1s var(--ease) both; }
.invitation-section.note-arrived .invitation-mimo > span { animation:received-bubble .8s .4s var(--ease) both; }
.invitation-section.note-arrived .invitation-mimo .eye { animation:happy-blink 1.8s both; }
@keyframes receive-note { 0%,100%{translate:0 0;scale:1 1;rotate:0deg} 20%{translate:0 5px;scale:1.04 .95;rotate:-4deg} 45%{translate:0 -15px;scale:.97 1.04;rotate:3deg} 70%{translate:0 3px;scale:1.02 .98;rotate:-2deg} }
@keyframes delivered-plane { 0%{translate:-280px 100px;rotate:-18deg;scale:.65;opacity:0} 15%{opacity:1} 65%{translate:-5px 5px;rotate:5deg;scale:1;opacity:1} 100%{translate:0 0;rotate:0deg;scale:.9;opacity:1} }
@keyframes received-bubble { from{opacity:0;translate:0 7px;scale:.92} to{opacity:1;translate:0 0;scale:1} }
@keyframes happy-blink { 0%,100%{scale:1 1} 20%,35%{scale:1 .2} 50%,70%{scale:1 1.08} }
@media(max-width:760px) {
 #send-idea { min-width:210px; min-height:45px; }
 .idea-status { font-size:11px; line-height:1.8; margin-top:17px; min-height:58px; max-width:100%; }
 .idea-actions { gap:5px 15px; }
 .idea-actions .text-link { font-size:10px; }
 .invitation-mimo > span { max-width:140px; white-space:nowrap; font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
 .invitation-section.note-arrived .invitation-mimo > svg,.invitation-section.note-arrived .invitation-plane,.invitation-section.note-arrived .invitation-mimo > span,.invitation-section.note-arrived .invitation-mimo .eye { animation:none!important; }
}
