@font-face{font-family:"Gaegu Local";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/gaegu-400.ttf") format("truetype")}
@font-face{font-family:"Gaegu Local";font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/gaegu-700.ttf") format("truetype")}

:root{--yellow:#ffd95a;--blue:#91cef4;--green:#bde88a;--orange:#ffaa78;--ink:#25483b;--paper:#fff9e9;--line:rgba(37,72,59,.72);--muted:rgba(37,72,59,.65);--hand:"Yuanti SC","Kaiti SC",STKaiti,ui-rounded,sans-serif;--scribble:"Gaegu Local","Yuanti SC","Kaiti SC",ui-rounded,sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:var(--hand)}button,textarea{font:inherit;color:inherit}button{cursor:pointer}.shell{position:relative;width:min(100%,520px);min-height:100dvh;margin:auto;padding:max(22px,env(safe-area-inset-top)) 26px calc(92px + env(safe-area-inset-bottom));overflow:hidden;background:var(--yellow);transition:background .45s ease}.shell:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.18;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E")}.shell>*{position:relative;z-index:1}body[data-view="record"] .shell{background:var(--blue)}body[data-view="journey"] .shell{background:var(--green)}body[data-view="prompt"] .shell,body[data-view="review"] .shell,body[data-view="settings"] .shell{background:var(--yellow)}
.masthead{height:46px;display:flex;align-items:center;justify-content:space-between}.brand,.icon-button,.back,.text-button{border:0;background:none;padding:0}.brand{font:700 25px var(--scribble);letter-spacing:.02em}.icon-button{width:34px;height:34px}.icon-button svg{width:100%;height:100%;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round}.view{display:none;animation:page-in .38s ease-out}.view.active{display:block}@keyframes page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.dayline{display:flex;justify-content:space-between;margin-top:15px;font:12px var(--hand);color:var(--muted)}.weather-doodle{position:absolute;right:18px;top:108px;display:flex;align-items:center;gap:7px;font:28px var(--scribble);transform:rotate(-5deg)}.weather-doodle .cloud{font-size:25px}.hero{padding:20vh 0 7vh}.hero h1{margin:0;font-size:clamp(40px,11vw,58px);font-weight:500;line-height:1.55;letter-spacing:.02em}.choices{display:grid;gap:18px;width:min(100%,300px)}.choice-card,.primary,.finish-button{border:3px solid var(--ink);background:transparent;box-shadow:1px 1px 0 var(--ink);border-radius:47% 53% 49% 51%/53% 47% 55% 45%}.choice-card{min-height:62px;display:flex;align-items:center;gap:16px;padding:12px 25px;text-align:left;transform:rotate(-.5deg)}.choice-card:nth-child(2){transform:rotate(.6deg)}.choice-card:active,.primary:active{transform:translate(1px,1px);box-shadow:none}.choice-card strong{font-weight:500;font-size:15px}.seed-mark{font:24px var(--scribble)}.corner-sprout{position:absolute;right:10px;bottom:14px;width:65px;transform:rotate(4deg)}.corner-sprout svg{fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.back{font-size:14px;margin:25px 0 11vh}.eyebrow{margin:0 0 18px;font-size:11px;letter-spacing:.12em;color:var(--muted)}.prompt-view h2{font-size:31px;line-height:1.75;font-weight:500;margin:6vh 0 9vh}.prompt-loading{height:120px;display:none;align-items:center;justify-content:center}.prompt-loading.visible{display:flex}.prompt-loading span{width:6px;height:6px;margin:6px;border-radius:50%;background:var(--ink);animation:bob .7s infinite alternate}.prompt-loading span:nth-child(2){animation-delay:.18s}.prompt-loading span:nth-child(3){animation-delay:.36s}@keyframes bob{to{transform:translateY(-12px)}}#ownText{display:none;width:100%;min-height:160px;padding:17px;border:2px solid var(--ink);border-radius:45% 55% 48% 52%/7% 8% 6% 9%;background:rgba(255,255,255,.12);outline:none;resize:none;line-height:1.8}.prompt-actions{display:flex;justify-content:space-between;align-items:center}.text-button{font-size:13px}.primary{padding:13px 23px;font-size:14px}.full{width:100%;margin-top:22px}.record-view{text-align:center}.record-view>.back{position:absolute;left:-3px;top:0;margin:26px 0;font-size:27px}.topic-overline{margin:52px 0 10px;font-size:10px;letter-spacing:.14em;color:var(--muted)}.record-view h2{max-width:330px;margin:0 auto;font-size:17px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-cloud{position:absolute;left:15px;top:145px;font:29px var(--scribble);transform:rotate(-7deg)}.timer-wrap{padding-top:23vh}.tomato-button{width:78px;height:78px;padding:0;border:0;background:none;transition:transform .25s}.tomato-button svg{width:100%;height:100%;overflow:visible}.tomato-fruit{fill:var(--orange);stroke:var(--ink);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.tomato-leaf{fill:var(--ink)}.tomato-button:active{transform:scale(.93) rotate(-3deg)}.recording .tomato-button{animation:tomato-breathe 1.25s ease-in-out infinite}.recording .tomato-fruit{fill:#ff9168}@keyframes tomato-breathe{50%{transform:scale(1.1) rotate(2deg)}}#waveform{display:block;width:120px;height:38px;margin:-2px auto 5px}.timer{font:31px var(--scribble);letter-spacing:.06em}.timer-wrap p{margin-top:5px;font-size:11px;color:var(--muted)}.finish-button{visibility:hidden;margin-top:24px;padding:10px 24px}.recording .finish-button{visibility:visible}.review-view{padding-top:7vh}.review-view h2{font-size:32px;line-height:1.55;font-weight:500;margin:0 0 34px}.recording-card,.analysis{border:2px solid var(--ink);background:rgba(255,255,255,.1)}.recording-card{display:grid;grid-template-columns:44px 1fr 36px;align-items:center;gap:13px;padding:14px;border-radius:30px 25px 32px 27px}.play,.restart{display:grid;place-items:center;border:2px solid var(--ink);border-radius:50%;background:transparent}.play{width:42px;height:42px}.restart{width:34px;height:34px;font-size:18px}.recording-card strong,.recording-card small{display:block}.recording-card strong{font-size:13px;font-weight:500}.recording-card small{font:17px var(--scribble);margin-top:3px}.analysis{margin-top:14px;padding:19px;border-radius:24px 31px 26px 28px}.reflection>label{display:block;margin:0 0 10px;font-size:10px;letter-spacing:.08em}.reflection>label span{color:var(--muted)}.flow-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:19px}.flow-choices button{padding:9px 3px;border:1.5px solid var(--ink);border-radius:50%;background:transparent;font-size:10px}.flow-choices button.selected{background:var(--green);transform:rotate(-2deg)}#reflectionNote{width:100%;height:68px;padding:10px;border:1.5px solid var(--ink);border-radius:14px 19px 13px 18px;background:rgba(255,255,255,.12);outline:none;resize:none;font-size:11px}.listening-cue{margin-top:14px;padding:11px 13px;border-left:3px solid var(--ink);text-align:left}.listening-cue small{font-size:9px;color:var(--muted)}.listening-cue p{margin:6px 0 0;font-size:11px;line-height:1.6}.journey-view{padding-top:6vh}.journey-head{display:flex;justify-content:space-between;align-items:end}.journey-head h2{margin:0;font-size:29px;font-weight:500}.journey-head>span{font-size:10px;color:var(--muted)}.season-sky{position:relative;width:82px;height:40px;margin:15px auto 0;border-radius:50%;background:var(--ink);color:var(--yellow);text-align:center;transform:rotate(2deg)}.season-sky span{margin:5px}.season-sky i{position:absolute;width:1px;height:20px;background:var(--ink);left:50%;top:35px}.journey-list{position:relative;min-height:55vh;padding:20px 0 30px}.journey-list:before{content:"";position:absolute;left:50%;top:0;bottom:10px;border-left:2px dashed var(--ink);opacity:.7}.journey-item{position:relative;width:92%;margin:0 auto 26px;display:grid;grid-template-columns:55px 1fr;gap:11px;align-items:center;padding:12px 14px;border:2px solid transparent}.journey-item:nth-child(odd){transform:translateX(-3%) rotate(-.35deg)}.journey-item:nth-child(even){transform:translateX(3%) rotate(.35deg)}.journey-item.open{border-color:var(--ink);border-radius:21px 28px 22px 25px;background:rgba(255,255,255,.12)}.produce-mark{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;margin:auto;background:var(--green);font-size:24px}.journey-copy{min-width:0}.journey-copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:500}.journey-copy small{display:block;margin-top:4px;font:14px var(--scribble);color:var(--muted)}.journey-controls{grid-column:2;display:flex;gap:8px;margin-top:3px}.journey-controls button{display:grid;place-items:center;width:29px;height:29px;border:1.5px solid var(--ink);border-radius:50%;background:transparent}.journey-controls .delete-control{margin-left:auto}.empty{position:relative;text-align:center;padding:20vh 20px;color:var(--muted);font-size:12px}.settings-view{padding-top:3vh}.settings-view h2{font-size:31px;line-height:1.5;font-weight:500}.settings-note{font-size:11px;line-height:1.8;color:var(--muted)}#contextEditor{width:100%;height:38vh;padding:16px;border:2px solid var(--ink);border-radius:23px 30px 25px 28px;background:rgba(255,255,255,.12);outline:none;resize:none;font-size:11px;line-height:1.8}.danger-link{display:block;margin:20px auto;border:0;background:none;font-size:10px;text-decoration:underline}.bottom-nav{position:fixed;z-index:5;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 46px),474px);height:57px;display:flex;align-items:center;justify-content:space-around;border-top:2px solid var(--ink);background:color-mix(in srgb,var(--yellow) 88%,transparent);backdrop-filter:blur(8px)}body[data-view="record"] .bottom-nav{background:color-mix(in srgb,var(--blue) 88%,transparent)}body[data-view="journey"] .bottom-nav{background:color-mix(in srgb,var(--green) 88%,transparent)}.bottom-nav button{min-width:55px;border:0;background:none;font:20px var(--scribble)}.bottom-nav button span,.bottom-nav button small{display:block}.bottom-nav button small{font:8px var(--hand);opacity:0}.bottom-nav button.active small{opacity:1}.record-nav span{font-size:14px}.focus-mode .bottom-nav,.focus-mode .masthead{display:none}#toast{position:fixed;z-index:20;left:50%;bottom:90px;transform:translate(-50%,12px);padding:9px 15px;border:2px solid var(--ink);border-radius:50%;background:var(--paper);font-size:10px;opacity:0;pointer-events:none;transition:.2s;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:700px){.shell{box-shadow:0 0 0 2px rgba(37,72,59,.12)}.hero{padding-top:120px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.produce-mark{width:40px;height:40px;font-size:0}.produce-mark svg{width:36px;height:36px;overflow:visible;fill:none;stroke:var(--ink);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.produce-mark .fill-orange{fill:var(--orange)}.produce-mark .fill-pale{fill:#dcefa7}

/* Mobile clarity: keep the voice, not decoration, as the focus. */
.hero h1{font-size:clamp(27px,7.5vw,31px);line-height:1.55}
.choice-card{justify-content:center;padding-inline:20px}
.journey-controls{grid-column:1/-1;justify-content:flex-end;gap:11px;margin-top:7px}
.journey-controls button{width:38px;height:38px;border-width:2px;font:18px var(--scribble);background:rgba(255,255,255,.14)}
.journey-controls button svg{width:19px;height:19px;fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.play svg{width:20px;height:20px;fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.history-player{position:absolute;width:1px;height:1px;opacity:.001;pointer-events:none}

/* Long spoken topics stay quiet in the garden until the listener opens them. */
.journey-topic{display:block;width:100%;padding:0;border:0;background:none;text-align:left}
.journey-topic strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px;font-weight:500;line-height:1.65;white-space:pre-wrap}
.journey-topic:not(.is-expandable){cursor:default}
.topic-toggle-label{display:block;margin-top:3px;font-size:9px;color:var(--muted)}
.journey-item.topic-open .journey-topic strong{-webkit-line-clamp:unset;overflow:visible}
.journey-note{display:block;width:100%;margin-top:10px;padding:8px 9px 7px;border:0;border-left:2px solid var(--ink);background:rgba(255,255,255,.1);text-align:left}
.journey-note>span{display:block;font-size:8px;letter-spacing:.08em;color:var(--muted)}
.journey-note p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:5px 0 0;font-size:10px;line-height:1.65;white-space:pre-wrap}
.journey-note:not(.is-expandable){cursor:default}
.note-toggle-label{display:block;margin-top:4px;font-size:8px;font-style:normal;color:var(--muted)}
.journey-item.note-open .journey-note p{-webkit-line-clamp:unset;overflow:visible}
.journey-controls .delete-control{margin-left:8px}
