:root{--bg:#fbf2dc;--paper:#fffaf0;--green:#174c32;--green2:#2c6845;--sage:#e7efd8;--gold:#d9c58c;--muted:#687266;--shadow:0 12px 36px rgba(40,55,38,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:#153b28;font-family:Georgia,'Times New Roman',serif}button,textarea,input{font:inherit}.app{min-height:100vh}.screen{display:none;min-height:100vh}.screen.active{display:flex}.leaf-corner{position:fixed;pointer-events:none;opacity:.12;width:76px;height:76px;object-fit:contain;mix-blend-mode:multiply}.leaf-corner.a{top:8px;left:8px;transform:rotate(-18deg)}.leaf-corner.b{right:8px;top:8px;transform:scaleX(-1) rotate(-18deg)}.welcome{width:min(1080px,100%);margin:auto;padding:22px 34px;display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center}.eyebrow{letter-spacing:.16em;text-transform:uppercase;font:700 12px/1.4 Arial,sans-serif;color:var(--green2);display:flex;align-items:center;gap:7px}.eyebrow-leaf{width:24px;height:24px;object-fit:contain;mix-blend-mode:multiply}.welcome h1{font-size:clamp(2.15rem,4.8vw,4.25rem);line-height:.98;margin:7px 0 8px}.subtitle{font-size:clamp(1.25rem,2.2vw,1.85rem);font-style:italic;margin-bottom:15px}.welcome-copy{font-size:1.08rem;line-height:1.5;max-width:690px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:17px 0}.mini-card{background:rgba(255,250,240,.82);border:1px solid var(--gold);border-radius:18px;padding:14px;line-height:1.38}.mini-card strong{display:block;color:var(--green);margin-bottom:5px}.primary{border:0;background:var(--green2);color:white;padding:13px 21px;border-radius:999px;font-weight:700;cursor:pointer;box-shadow:var(--shadow)}.primary:hover{transform:translateY(-1px)}.leafy-card{background:var(--paper);border:1px solid var(--gold);border-radius:28px;padding:16px;text-align:center;box-shadow:var(--shadow)}.leafy-card img{width:min(300px,92%);max-height:315px;object-fit:contain}.leafy-card .speech{font-size:1.01rem;line-height:1.42;margin:5px auto 0;max-width:340px}.fine{font:13px/1.45 Arial,sans-serif;color:var(--muted)}.questions-wrap{width:min(920px,100%);margin:auto;padding:34px 28px}.questions-head{text-align:center;margin-bottom:24px}.questions-head .eyebrow{justify-content:center}.questions-head h1{font-size:clamp(2rem,4vw,3.4rem);margin:7px 0 10px}.foundation-explainer{max-width:760px;margin:18px auto 20px;padding:18px 20px;background:rgba(255,250,240,.72);border:1px solid var(--gold);border-radius:18px;text-align:left;line-height:1.5}.foundation-explainer p{margin:0 0 12px}.foundation-explainer p:last-child{margin-bottom:0}.four-truths{color:var(--green);line-height:1.65}.question-prompt{margin:18px 0 0;font-style:italic}.truth-note{text-align:center;max-width:760px;margin:18px auto 0;color:var(--muted);font-size:.95rem;line-height:1.5}.question-list{display:grid;gap:14px}.question-card{width:100%;text-align:left;border:1px solid var(--gold);background:var(--paper);color:var(--green);border-radius:20px;padding:20px 22px;cursor:pointer;display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:clamp(1.05rem,2vw,1.35rem);box-shadow:0 6px 18px rgba(40,55,38,.05);transition:.18s ease}.question-card:hover,.question-card:focus-visible{transform:translateY(-2px);border-color:#9fb184;background:#fffdf6;box-shadow:var(--shadow);outline:none}.question-card .arrow{font-family:Arial,sans-serif}.question-foot{text-align:center;margin:18px 0 0;color:var(--muted)}.chat-wrap{width:min(980px,100%);margin:auto;padding:18px}.chat-shell{width:100%;background:#fbf3df;border:1px solid var(--gold);border-radius:26px;overflow:hidden;box-shadow:var(--shadow);min-height:calc(100vh - 36px);display:flex;flex-direction:column}.chat-head{padding:11px 20px;border-bottom:1px solid var(--gold);display:flex;gap:13px;align-items:center;background:#fff8e8}.avatar{width:58px;height:62px;border-radius:15px;object-fit:contain}.brand h1{font-size:1.55rem;margin:0}.brand small{letter-spacing:.14em;font:11px Arial,sans-serif}.brand-leaf{width:42px;height:42px;object-fit:contain;margin-left:auto;mix-blend-mode:multiply}.chat-body{padding:20px;flex:1;overflow:auto}.bubble{max-width:84%;padding:14px 17px;border-radius:18px;margin:11px 0;line-height:1.55;white-space:pre-wrap}.bubble.leafy{background:var(--paper);border:1px solid var(--gold)}.bubble.user{margin-left:auto;background:var(--sage)}.bubble.system{background:#f5ead0;border-left:4px solid var(--green2);max-width:100%;font-size:.95rem}.toolbar{padding:0 20px 12px;display:flex;gap:8px;flex-wrap:wrap}.ghost{border:1px solid #9cab86;background:var(--paper);color:var(--green);border-radius:999px;padding:8px 13px;cursor:pointer;text-decoration:none}.composer{display:flex;gap:10px;padding:15px 18px;border-top:1px solid var(--gold);background:#fff8e8}.composer textarea{flex:1;min-height:72px;max-height:190px;resize:vertical;border:1px solid #a99b75;border-radius:16px;padding:12px 14px;background:#fffef9;line-height:1.4}.composer textarea:focus{outline:2px solid #9fb184;outline-offset:1px}.send{border:0;background:var(--green2);color:#fff;border-radius:16px;padding:0 24px;font-weight:700;cursor:pointer}.send:disabled{opacity:.5;cursor:wait}.result-card{background:var(--paper);border:1px solid var(--gold);border-radius:20px;padding:20px;margin:14px 0}.result-card h3{margin:0 0 8px;color:var(--green);font-size:1.45rem}.result-card p{line-height:1.5}.reading-layout{display:grid;grid-template-columns:132px 1fr;gap:18px;align-items:start;margin-top:18px}.book-cover{width:132px;border-radius:8px;box-shadow:0 8px 20px rgba(40,55,38,.16)}.reading-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-badge{font:700 12px Arial,sans-serif;background:#e9efd9;border:1px solid #c6d2a7;color:var(--green);padding:5px 9px;border-radius:999px}.continue-reading{font-weight:700;color:var(--green2);margin-top:9px}.chapter-list{display:grid;gap:9px;margin-top:8px}.chapter-item{background:#edf1df;border-radius:16px;padding:10px 12px;line-height:1.4}.chapter-item strong{color:var(--green)}.feedback{background:#fff8e8;border-top:1px solid var(--gold);padding:20px}.feedback h3{margin-bottom:7px;font-size:1.5rem}.rating{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.rating button{border:1px solid #9cab86;background:var(--paper);border-radius:999px;padding:9px 13px;cursor:pointer}.rating button.selected{background:var(--green2);color:white}.feedback textarea{width:100%;min-height:86px;border:1px solid #b6a87f;border-radius:14px;padding:11px;background:white;margin:7px 0 12px}.feedback-actions,.end-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.final-signoff{margin-top:20px;padding-top:17px;border-top:1px solid var(--gold)}.signoff{display:flex;align-items:center;gap:5px;color:var(--muted);font-family:Arial,sans-serif}.inline-leaf{width:23px;height:23px;object-fit:contain;mix-blend-mode:multiply}.action-link{display:inline-flex;align-items:center;justify-content:center}.hidden{display:none!important}.loading::after{content:' ···';animation:dots 1.2s infinite}@keyframes dots{0%,20%{content:' ·'}40%{content:' ··'}60%,100%{content:' ···'}}.legal{width:min(760px,calc(100% - 36px));margin:40px auto;background:var(--paper);border:1px solid var(--gold);border-radius:24px;padding:30px;line-height:1.6}.legal a{color:var(--green2)}.modal{position:fixed;inset:0;background:rgba(20,48,32,.52);display:none;align-items:center;justify-content:center;padding:18px;z-index:50}.modal.open{display:flex}.modal-card{width:min(620px,100%);background:var(--paper);border:1px solid var(--gold);border-radius:24px;padding:24px;box-shadow:0 28px 80px rgba(0,0,0,.24)}.modal-card label{display:block;margin:13px 0;line-height:1.4}.modal-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.text-link{color:var(--green2)}.error{color:#8a2f2f;font:14px Arial,sans-serif;padding:0 20px 12px}
@media(max-width:760px){.welcome{grid-template-columns:1fr;padding:18px 18px}.leafy-card{display:grid;grid-template-columns:118px 1fr;align-items:center;text-align:left}.leafy-card img{width:118px}.mini-grid{grid-template-columns:1fr}.questions-wrap{padding:24px 16px}.question-card{padding:17px}.chat-wrap{padding:0}.chat-shell{border-radius:0;min-height:100vh;border-left:0;border-right:0}.bubble{max-width:94%}.composer{position:sticky;bottom:0}.leaf-corner{width:50px;height:50px}.reading-layout{grid-template-columns:92px 1fr}.book-cover{width:92px}.end-actions>*{width:100%;text-align:center}.brand-leaf{width:34px;height:34px}}
.compact-welcome{max-width:980px}
.questions-layout{width:min(1120px,100%);margin:auto;padding:28px;display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:24px;align-items:center}
.questions-layout .questions-wrap{width:100%;padding:20px 0}
.questions-leafy{padding:12px}
.questions-leafy img{width:min(210px,92%)}
.foundation-truth{font-size:clamp(1.2rem,2.2vw,1.55rem);font-style:italic;color:var(--green2);margin:8px 0 16px}
.intro-back{margin-left:8px}
@media(max-width:860px){.questions-layout{grid-template-columns:1fr;padding:20px 16px}.questions-leafy{display:grid;grid-template-columns:105px 1fr;align-items:center;text-align:left}.questions-leafy img{width:105px}.intro-back{margin-left:0;margin-top:10px}}
.legal-leafy{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:var(--green2);font-weight:700}.legal-leafy img{width:58px;height:58px;object-fit:contain}

/* v17: Leafy visually looks toward the content on right-side panels. */
.gaze-to-content{transform:scaleX(-1)}
.page-back{margin:0 0 18px 0;padding:8px 14px}
@media(max-width:760px){.gaze-to-content{transform:none}}

/* v21: lighter onboarding + visual reflection map */
.process-flow,.lens-flow{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:18px 0 20px;font:700 13px/1.3 Arial,sans-serif;color:var(--green)}
.process-flow span,.lens-flow span{background:rgba(255,250,240,.86);border:1px solid var(--gold);border-radius:999px;padding:9px 12px}
.process-flow b,.lens-flow b{color:var(--green2);font-size:1.1rem}
.situation-label{display:block;font-weight:700;margin:20px 0 8px;color:var(--green)}
.situation-box{width:100%;min-height:145px;resize:vertical;border:1px solid #a99b75;border-radius:18px;padding:14px 16px;background:#fffef9;line-height:1.5;margin-bottom:14px}
.situation-box:focus{outline:2px solid #9fb184;outline-offset:1px}
.foundation-short{max-width:700px;margin:15px auto 20px;line-height:1.45}
.foundation-more{max-width:760px;margin:18px auto 16px;background:rgba(255,250,240,.72);border:1px solid var(--gold);border-radius:16px;padding:12px 16px;text-align:left;line-height:1.5}
.foundation-more summary{cursor:pointer;font-weight:700;color:var(--green)}
.foundation-more p:last-child{margin-bottom:0;color:var(--muted)}
.question-card strong,.question-card small,.question-card em{display:block}
.question-card strong{font-size:1.12em;margin-bottom:3px}
.question-card small{font:700 12px/1.35 Arial,sans-serif;color:var(--green2);margin-bottom:7px}
.question-card em{font-style:normal;color:#264f39}
.chat-wrap{width:min(1240px,100%)}
.chat-workspace{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:16px;align-items:start}
.reflection-panel{position:sticky;top:18px;background:var(--paper);border:1px solid var(--gold);border-radius:22px;padding:15px;box-shadow:var(--shadow)}
.reflection-panel summary{cursor:pointer;font-weight:700;color:var(--green);font-size:1.05rem}
.reflection-panel-note{font:12px/1.4 Arial,sans-serif;color:var(--muted);margin:8px 0 12px}
.reflection-map{display:grid;gap:9px}
.reflection-map-item{border-top:1px solid #eadfbd;padding-top:8px}
.reflection-map-item:first-child{border-top:0;padding-top:0}
.reflection-map-item span{display:block;font:700 11px/1.3 Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.reflection-map-item strong{display:block;margin-top:3px;font-size:.98rem;font-weight:400;color:#8b8f86}
.reflection-map-item.has-value strong{color:var(--green);font-weight:700}
@media(max-width:900px){.chat-workspace{grid-template-columns:1fr}.reflection-panel{position:static;order:-1;margin:0 10px}.reflection-panel:not([open]){padding-bottom:15px}.reflection-panel[open] .reflection-map{grid-template-columns:repeat(2,minmax(0,1fr))}.lens-flow{justify-content:center}}
@media(max-width:600px){.process-flow,.lens-flow{gap:6px}.process-flow span,.lens-flow span{padding:7px 9px}.process-flow b,.lens-flow b{font-size:.9rem}.reflection-panel[open] .reflection-map{grid-template-columns:1fr}.situation-box{min-height:120px}}

/* v22: situation stays visible while choosing a lens; reflection panel carries cumulative memory */
.situation-preview{max-width:760px;margin:16px auto 12px;background:rgba(231,239,216,.72);border:1px solid #c8d3a9;border-radius:18px;padding:13px 16px;text-align:left}
.situation-preview span{display:block;font:700 11px/1.3 Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:5px}
.situation-preview p{margin:0;line-height:1.45;color:var(--green);font-weight:700}
.lens-instruction{max-width:760px;margin:10px auto 18px;text-align:center;line-height:1.45}
.bubble.reflection-intro{max-width:100%;background:#f5ead0;border:1px solid var(--gold);font-size:.95rem}

.progressive-flow .current{box-shadow:0 0 0 2px rgba(176,139,60,.16);font-weight:800}.chat-progress{max-width:1180px;margin:0 auto 12px;padding:0 10px}
.safety-support{padding:24px;background:#fff8e8;flex:1}.safety-leafy{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:center;max-width:720px;margin:18px auto}.safety-leafy img{width:150px;max-height:180px;object-fit:contain}.safety-speech{position:relative;background:var(--paper);border:1px solid var(--gold);border-radius:22px;padding:18px 20px;line-height:1.5;box-shadow:var(--shadow)}.safety-speech:before{content:"";position:absolute;left:-12px;top:42px;width:22px;height:22px;background:var(--paper);border-left:1px solid var(--gold);border-bottom:1px solid var(--gold);transform:rotate(45deg)}.safety-speech p{margin:0 0 12px}.safety-speech p:last-child{margin-bottom:0}.safety-actions{max-width:620px;margin:18px auto;text-align:center;display:grid;gap:12px}.safety-actions .action-link{width:100%;padding:13px 18px}.safety-actions p{line-height:1.5;margin:0}
@media(max-width:600px){.safety-leafy{grid-template-columns:90px 1fr;gap:10px}.safety-leafy img{width:90px}.safety-speech{padding:15px}.safety-speech:before{left:-9px;width:16px;height:16px}.safety-support{padding:18px 14px}}
