@charset "UTF-8";
/* Presentation overrides live at the end; current UI: v0.9.5 beaver pilot. */
:root{--paper:#f5f3eb;--white:#fffef8;--ink:#263f36;--muted:#6f7b70;--line:#d9dfd2;--green:#355b47;--sage:#e8eee2;--gold:#b48243;--danger:#9d4c36;--danger-bg:#f8eee5;--serif:"Noto Serif SC","Songti SC","STSong","SimSun",serif;--sans:"Microsoft YaHei","PingFang SC",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.65;background-image:radial-gradient(ellipse at 12% 7%,#e9eedf70,transparent 46%)}button,a,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--green)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #aa7e43;outline-offset:4px}button{touch-action:manipulation}button .icon{flex:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}button{border:0}::selection{background:#d7e3c6}.icon{vertical-align:middle;display:inline-block;flex-shrink:0}.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}.noscript{padding:50px}.app-shell{width:min(1256px,calc(100% - 88px));margin:0 auto}.topbar{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;background:none;padding:0;text-align:left}.brand-seal{width:39px;height:43px;background:var(--green);color:#e5e8c9;display:grid;place-items:center;border-radius:6px 14px 6px 14px}.brand-title{font-family:var(--serif);font-size:26px;letter-spacing:5px;line-height:1.1}.brand-caption{font-size:9px;letter-spacing:2.5px;display:block;margin-top:7px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:23px}.text-button{display:inline-flex;gap:7px;align-items:center;padding:6px 0;background:transparent;color:var(--muted);font-size:12px;white-space:nowrap}.text-button:hover{color:var(--green)}.text-button .icon{width:17px;height:17px}.version-mark{font-size:10px;letter-spacing:2px;color:var(--muted)}.resources{display:flex;gap:27px;align-items:center}.resource{display:flex;gap:10px;align-items:center}.resource>.icon{color:#8c9d7b;width:24px;height:24px}.resource-label{display:block;color:var(--muted);font-size:10px;letter-spacing:1px;line-height:1.5}.resource strong{font-size:24px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.1}.resource small{font-size:11px;color:var(--muted);margin-left:5px}.resource.divided{border-left:1px solid var(--line);padding-left:26px}.journey-nav{display:flex;margin:29px auto 27px;padding:0;list-style:none;max-width:780px;justify-content:space-between}.journey-nav li{position:relative;display:flex;align-items:center;gap:9px;font-size:12px;color:#8d9989;flex:1}.journey-nav li:last-child{flex:0 0 auto}.journey-nav li:not(:last-child):after{content:"";height:1px;background:var(--line);flex:1;margin:0 20px 0 10px}.step-dot{border:1px solid #cdd6c6;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:10px;flex-shrink:0}.step-dot .icon{height:14px;width:14px}.journey-nav .current{color:var(--ink);font-weight:600}.current .step-dot{color:var(--white);background:var(--green);border-color:var(--green);box-shadow:0 0 0 4px #dfe8d8}.journey-nav .complete{color:var(--green)}.complete .step-dot{background:var(--sage);border-color:var(--sage)}.eyebrow{display:flex;align-items:center;gap:10px;letter-spacing:2px;color:var(--muted);font-size:10px;text-transform:uppercase}.eyebrow:before{content:"";height:1px;width:25px;background:#9fad92}.intro{display:grid;grid-template-columns:1fr 1.06fr;gap:58px;align-items:center;min-height:calc(100vh - 180px);padding:55px 0}.intro h1{font-family:var(--serif);font-size:clamp(38px,4.4vw,64px);line-height:1.6;letter-spacing:3px;margin:20px 0 23px}.intro h1 em{font-style:normal;color:#718566}.intro-description{color:var(--muted);font-size:14px;line-height:2.1;max-width:440px}.intro-stats{display:flex;gap:27px;margin:26px 0 27px}.intro-stat{border-right:1px solid var(--line);padding-right:25px}.intro-stat:last-child{border:0;padding:0}.intro-stat strong{font-family:var(--serif);font-size:29px;margin-right:5px}.intro-stat span{font-size:12px;color:var(--muted)}.primary{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 26px;border-radius:7px;background:var(--green);color:var(--white);font-size:14px;min-height:48px;transition:background .18s,transform .18s}.primary:hover:not(:disabled){background:#284a38;transform:translateY(-1px)}.primary .icon{height:19px;width:19px}.primary.danger{background:var(--danger)}.primary.danger:hover:not(:disabled){background:#843d2b}.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:transparent;padding:12px 18px;border-radius:7px;min-height:46px;font-size:13px}.secondary:hover{background:var(--sage)}.intro-cta{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.quiet-note{font-size:11px;color:var(--muted);margin-top:13px;display:flex;gap:6px;align-items:center}.quiet-note .icon{height:14px;width:14px}.intro-art{position:relative;padding-bottom:36px}.art-mat{padding:11px;border:1px solid #d2dbca;border-radius:45% 45% 9px 9px}.art-mat .landscape{display:block;width:100%;height:450px;object-fit:cover;border-radius:44% 44% 5px 5px}.intro-art .landscape{preserveAspectRatio:xMidYMid slice}.art-stamp{position:absolute;top:19px;right:3px;writing-mode:vertical-rl;font-family:var(--serif);font-size:12px;letter-spacing:5px;line-height:1.8;padding:13px 9px;border:1px solid #859b75;color:#708462;background:var(--paper)}.companions-card{position:absolute;bottom:6px;left:28px;right:28px;background:var(--white);border:1px solid var(--line);border-radius:9px;padding:17px 23px;box-shadow:0 8px 25px #263f3609}.companions-label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;margin-bottom:10px}.companions-label span{color:var(--muted);font-size:11px}.herd{display:flex;gap:6px;align-items:center;justify-content:space-between}.herd-member{color:#5e785c;display:inline-flex}.herd-member .icon{height:24px;width:24px;stroke-width:1.4}.herd-member.lost{color:#c6cbc0;opacity:.58}.herd-large .herd-member .icon{height:31px;width:31px}.intro-rules{margin-top:25px;border-top:1px solid var(--line);padding-top:18px;max-width:450px;display:flex;gap:12px}.intro-rules>.icon{color:var(--gold);margin-top:3px}.intro-rules p{font-size:12px;color:var(--muted);line-height:1.9}.intro-rules strong{font-weight:500;color:var(--ink)}.site-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:18px 0 23px;color:var(--muted);font-size:10px;letter-spacing:1px;gap:20px}.site-footer .footer-mark{letter-spacing:2px}.negotiation{display:grid;grid-template-columns:1fr 1.06fr;gap:40px;padding:5px 0 32px;align-items:start}.scene-card{position:relative;overflow:hidden;border-radius:10px;background:#cbd8c2}.scene-card .landscape{display:block;width:100%;height:auto}.scene-tag{position:absolute;top:17px;left:19px;color:#456454;font-size:10px;letter-spacing:3px;border-bottom:1px solid #708b6760;padding-bottom:5px}.scene-title{position:absolute;bottom:20px;left:24px;color:#fffef0;font-family:var(--serif);font-size:29px;letter-spacing:4px}.scene-caption{position:absolute;bottom:25px;right:21px;font-size:10px;letter-spacing:2px;color:#edf2e4}.dialogue{padding:22px 1px 0}.speaker{display:flex;align-items:center;gap:10px;margin-bottom:13px}.speaker-symbol{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e5e9d9;color:#65794f}.speaker-symbol .icon{width:18px;height:18px}.speaker-name{font-size:13px}.speaker-role{font-size:10px;color:var(--muted);margin-left:9px}.dialogue-text{font-family:var(--serif);font-size:17px;line-height:1.95;min-height:66px}.scene-description{font-size:12px;color:var(--muted);line-height:1.9;margin-top:12px}.questions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.question-button{background:transparent;border:1px solid #d4dccc;border-radius:5px;padding:7px 10px;font-size:11px;color:#60735c}.question-button:hover,.question-button.active{background:#e7ecdf;border-color:#91a382}.answer{padding:12px 15px;margin-top:13px;border-left:2px solid #9eaf8f;background:#eceee4;font-size:12px;color:#52684f;line-height:1.95}.world-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.world-tag{display:inline-flex;gap:5px;align-items:center;font-size:10px;color:var(--muted)}.world-tag .icon{width:14px;height:14px}.world-tag.positive{color:#587a51}.world-tag.risky{color:var(--danger)}.offer-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.offer-heading h1{font-family:var(--serif);font-size:25px;letter-spacing:1px}.offer-heading>span{font-size:10px;color:var(--muted)}.offer-list{display:grid;gap:12px}.offer-card{display:grid;grid-template-columns:42px 1fr 19px;gap:13px;align-items:center;width:100%;padding:18px 19px;background:#fffef7b8;border:1px solid #d7dfce;border-radius:8px;text-align:left;transition:border-color .18s,box-shadow .18s,transform .18s;position:relative}.offer-card:hover{border-color:#90a17d;box-shadow:0 3px 13px #324b3610;transform:translateY(-1px)}.offer-symbol{display:grid;place-items:center;width:42px;height:47px;background:#edf0e5;color:#6f8055;border-radius:8px}.offer-symbol .icon{width:25px;height:25px}.offer-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.offer-title{font-size:16px;font-weight:500}.offer-tag{font-size:9px;color:#859079;letter-spacing:.4px}.offer-summary{font-size:11px;color:var(--muted);line-height:1.85;margin:5px 0 11px}.offer-costs{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:11px}.offer-costs span{display:inline-flex;gap:4px;align-items:center}.offer-costs .icon{height:14px;width:14px;color:#8c9c7b}.reward{color:#648246}.offer-arrow{color:#8ca077;width:18px;height:18px}.offer-card.unaffordable{background:#edece5;border-style:dashed}.offer-card.unaffordable .offer-symbol{background:#e2e4da;color:#929982}.availability{font-size:11px;color:var(--danger);margin-top:8px}.route-warning{font-size:11px;color:var(--danger);margin-top:10px;border-top:1px solid #ecdccf;padding-top:8px;display:flex;gap:5px;align-items:center}.route-warning .icon{width:14px;height:14px}.other-routes{margin-top:17px;border-top:1px solid var(--line);padding-top:13px}.other-toggle{display:flex;width:100%;justify-content:space-between;align-items:center;background:transparent;font-size:12px;color:var(--muted);padding:5px 0}.other-toggle span{display:flex;align-items:center;gap:7px}.other-toggle .icon{width:15px;height:15px}.other-toggle[aria-expanded=true]>.icon{transform:rotate(90deg)}.other-routes .offer-card{margin-top:12px;border-color:#dccbc0}.other-routes .offer-symbol{background:#f0e6da;color:var(--danger)}.other-routes .offer-tag{color:var(--danger)}.selection-note{font-size:11px;color:var(--muted);display:flex;gap:8px;align-items:flex-start;margin-top:20px}.selection-note .icon{height:15px;width:15px;margin-top:2px}.party-line{border-top:1px solid var(--line);margin-top:20px;padding-top:15px;display:flex;gap:13px;align-items:center;justify-content:space-between}.party-line .herd{gap:3px;flex:1;max-width:335px}.party-line .herd .icon{width:20px;height:20px}.party-line>span{font-size:10px;color:var(--muted);white-space:nowrap}.result-layout{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:48px;min-height:calc(100vh - 256px);padding:18px 0 45px}.result-art .landscape{display:block;width:100%;border-radius:10px}.result-text h1{font-family:var(--serif);font-size:36px;line-height:1.6;margin:17px 0 20px;letter-spacing:1px}.result-text>p{color:var(--muted);font-size:13px;line-height:2}.change-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0 17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.change-strip .label{font-size:11px;color:var(--muted);display:block;margin-bottom:7px}.change-strip strong{font-size:22px;font-weight:500}.change-strip small{font-size:12px;color:var(--muted);margin-right:6px}.change-strip .icon{width:16px;height:16px;color:#96a48a;margin:0 8px 0 4px}.loss-notice{color:var(--danger)!important;margin:16px 0;font-size:12px!important}.result-text .primary{margin-top:24px}.ending-header{text-align:center;margin:35px 0 25px}.ending-header .eyebrow{justify-content:center}.ending-header h1{font-family:var(--serif);font-size:46px;letter-spacing:4px;margin:12px 0}.ending-subtitle{font-size:12px;color:var(--muted)}.ending-layout{display:grid;grid-template-columns:1.07fr 1fr;gap:37px;margin-bottom:34px}.ending-illustration .landscape{display:block;width:100%;border-radius:10px}.ending-party{background:var(--white);border:1px solid var(--line);padding:18px 20px;border-radius:8px;margin-top:13px}.ending-total{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.ending-total strong{font-family:var(--serif);font-size:36px}.ending-total strong small{font-family:var(--sans);font-size:12px;color:var(--muted)}.ending-total>span{color:var(--muted);font-size:12px}.ending-details h2{font-family:var(--serif);font-size:23px;margin-bottom:12px}.ending-details>p{font-size:13px;color:var(--muted);line-height:2}.ending-stats{display:flex;gap:30px;margin:18px 0 22px}.ending-stats span{font-size:11px;color:var(--muted);display:block}.ending-stats strong{font-size:23px;font-weight:500}.death-ledger{border-top:1px solid var(--line);padding-top:16px}.ledger-row{display:flex;justify-content:space-between;font-size:12px;margin:7px 0;color:var(--muted)}.ledger-row strong{font-weight:500;color:var(--ink)}.causes{display:grid;gap:9px;margin:20px 0}.cause{background:#e9eee2;border-radius:6px;padding:11px 14px;color:#56704d;font-size:12px;line-height:1.8}.cause.danger{background:var(--danger-bg);color:var(--danger)}.ending-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.closing-quote{font-family:var(--serif);font-size:15px;color:#728166;text-align:center;letter-spacing:2px;border-top:1px solid var(--line);padding:22px 0 30px}dialog{padding:0;background:var(--white);color:var(--ink);border:1px solid #cdd7c4;border-radius:13px;width:min(660px,calc(100% - 36px));max-height:calc(100dvh - 48px);box-shadow:0 20px 90px #162c3540;overflow:hidden}dialog::backdrop{background:#1d332d7d;backdrop-filter:blur(3px)}.modal-frame{display:flex;flex-direction:column;max-height:calc(100dvh - 50px)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:22px 27px 18px;border-bottom:1px solid var(--line);gap:18px;flex-shrink:0}.modal-header h2{font-family:var(--serif);font-size:25px}.modal-kicker{font-size:10px;color:var(--muted);letter-spacing:1px;margin-bottom:4px}.icon-button{border:1px solid var(--line);background:transparent;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}.icon-button:hover{background:var(--sage)}.icon-button .icon{width:17px;height:17px}.modal-body{overflow-y:auto;padding:22px 27px;overscroll-behavior:contain}.proposal{font-size:12px;color:var(--muted);margin-bottom:10px}.response{font-family:var(--serif);font-size:17px;line-height:1.85}.quote-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:18px 0;margin:19px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quote-metrics span{display:block;color:var(--muted);font-size:11px}.quote-metrics strong{display:block;font-size:27px;font-weight:500;margin-top:3px}.quote-metrics small{font-size:11px;color:var(--muted);margin-left:4px}.cost-detail{font-size:11px;color:var(--muted);margin-top:10px;line-height:1.9}.item-exchange{font-size:12px;color:var(--green);padding:10px 12px;border-radius:5px;background:var(--sage);margin-top:12px;display:flex;gap:8px;align-items:center}.item-exchange .icon{width:18px;height:18px}.preview-title{font-size:12px;font-weight:500;margin-top:21px;margin-bottom:10px}.preview-strip{display:flex;gap:22px;flex-wrap:wrap;font-size:12px}.preview-strip span{color:var(--muted)}.preview-strip b{color:var(--ink);font-weight:500;margin-left:8px}.preview-strip .icon{height:12px;width:12px;color:#8e9c80;margin:0 7px}.impact{font-size:12px;color:var(--muted);line-height:1.95;margin-top:17px}.warning-box{border:1px solid #e0c6b6;background:var(--danger-bg);border-radius:6px;padding:13px 15px;margin-top:17px;color:var(--danger);font-size:12px;line-height:1.9}.warning-box h3{font-size:14px;margin-bottom:5px;font-weight:600;display:flex;align-items:center;gap:7px}.warning-box .icon{width:17px;height:17px}.survival-box{border:1px solid #cedac4;background:#edf2e7;border-radius:6px;padding:14px 16px;margin-top:17px}.survival-box.danger{background:var(--danger-bg);border-color:#e0c6b6}.survival-top{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:8px}.survival-top span{font-size:12px}.survival-top strong{font-family:var(--serif);font-size:29px}.survival-top strong small{font-size:12px;font-family:var(--sans);margin-left:6px}.survival-box.danger .survival-top{color:var(--danger)}.survival-box p{font-size:12px;color:var(--muted);line-height:1.9}.survival-box .ledger-row{font-size:11px}.modal-footer{padding:16px 27px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;align-items:center;background:var(--white);flex-shrink:0}.modal-footer .secondary{min-width:110px}.modal-footer .primary{font-size:13px}.help-intro{font-family:var(--serif);font-size:19px;line-height:1.8;margin-bottom:18px}.help-list{margin:0;padding-left:20px;font-size:13px;line-height:1.9}.help-list li{margin:11px 0;padding-left:3px}.help-list strong{font-weight:500}.help-footnote{font-size:11px;color:var(--muted);margin-top:19px;padding-top:14px;border-top:1px solid var(--line)}.journal-entry{border-left:1px solid #c6d4ba;margin-left:8px;padding:0 0 25px 24px;position:relative}.journal-entry:before{content:"";position:absolute;width:9px;height:9px;background:#879e72;border:3px solid var(--white);box-shadow:0 0 0 1px #b9caaa;left:-5px;top:7px;border-radius:50%}.journal-entry:last-child{padding-bottom:0;border-left-color:transparent}.journal-day{font-size:10px;letter-spacing:1px;color:var(--muted)}.journal-entry h3{font-family:var(--serif);font-size:21px;margin:3px 0 8px}.journal-entry p{font-size:12px;color:var(--muted);line-height:1.9}.journal-numbers{display:flex;gap:17px;font-size:11px;color:#647959;margin-top:9px;flex-wrap:wrap}.empty-journal{text-align:center;padding:30px 0;color:var(--muted)}.empty-journal .icon{height:35px;width:35px;margin-bottom:14px}.empty-journal p{font-size:13px}.save-notice{font-size:11px;color:var(--danger);margin-top:10px}.snow-dot{animation:snow-breathe 6s ease-in-out infinite}@keyframes snow-breathe{50%{opacity:.35;transform:translateY(7px)}}.fade-in{animation:appear .35s ease-out}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1450px){.app-shell{width:min(1320px,calc(100% - 110px))}.negotiation{gap:55px}.offer-card{padding:22px}.intro h1{font-size:64px}.art-mat .landscape{height:500px}}
@media(max-width:1100px){.app-shell{width:calc(100% - 48px)}.top-actions{gap:13px}.resources{gap:18px}.resource.divided{padding-left:18px}.brand-caption{display:none}.intro{gap:35px}.intro h1{font-size:45px;letter-spacing:1px}.art-mat .landscape{height:415px}.negotiation{gap:26px;grid-template-columns:.9fr 1.1fr}.offer-card{padding:15px;gap:10px;grid-template-columns:35px 1fr 15px}.offer-symbol{width:35px;height:42px}.offer-costs{gap:10px}.offer-tag{display:none}.dialogue-text{font-size:16px}.result-text h1{font-size:31px}.herd-large .herd-member .icon{width:24px;height:24px}.ending-layout{gap:25px}}
@media(max-width:800px){.topbar{flex-wrap:wrap;gap:14px;padding:20px 0;min-height:90px}.resources{order:3;justify-content:space-between;width:100%;border-top:1px solid var(--line);padding-top:15px}.resource strong{font-size:23px}.resource.divided{border:0;padding:0}.top-actions{gap:20px}.intro{grid-template-columns:1fr;gap:34px;padding:35px 0;min-height:auto}.intro-copy{max-width:600px}.intro h1{font-size:43px;margin:17px 0}.intro-description{max-width:100%}.intro-art{max-width:600px;width:100%;margin:auto}.art-mat{border-radius:9px}.art-mat .landscape{height:auto;border-radius:5px}.art-stamp{right:-8px;top:18px}.intro-rules{max-width:100%;margin-top:22px}.journey-nav{margin:25px 0}.journey-nav li:not(:last-child):after{margin:0 12px;height:1px}.journey-nav li{font-size:11px;gap:7px}.step-dot{width:24px;height:24px}.negotiation{grid-template-columns:1fr;gap:25px}.scene-card .landscape{max-height:300px;object-fit:cover}.scene-description{display:none}.dialogue-text{min-height:0}.questions{margin-top:12px}.dialogue{padding-top:17px}.world-tags{margin-top:14px}.offer-card{padding:17px;grid-template-columns:42px 1fr 19px;gap:13px}.offer-symbol{width:42px;height:46px}.offer-tag{display:inline}.offer-summary{font-size:12px}.offer-costs{font-size:12px;gap:20px}.offer-heading h1{font-size:23px}.result-layout{grid-template-columns:1fr;gap:27px;padding-top:5px;min-height:0}.result-art{max-width:580px}.result-text h1{font-size:30px;margin:12px 0}.result-text>p{font-size:13px}.result-text .primary{margin-top:16px}.ending-layout{grid-template-columns:1fr;gap:25px}.ending-illustration .landscape{max-height:330px;object-fit:cover}.ending-header{margin-top:28px}.ending-header h1{font-size:35px}.ending-party .herd{justify-content:space-between}.ending-details h2{font-size:23px}.closing-quote{font-size:13px}.site-footer{font-size:9px}.hero-note{display:none}}
@media(max-width:440px){.app-shell{width:calc(100% - 32px)}.top-actions{gap:13px}.brand-title{font-size:23px}.brand-seal{width:33px;height:37px}.brand{gap:8px}.text-button{font-size:11px}.resource{gap:7px}.resource>.icon{width:19px;height:19px}.resource-label{font-size:9px}.resource strong{font-size:21px}.resource small{font-size:10px}.intro h1{font-size:36px;line-height:1.65}.intro-description{font-size:13px}.intro-stat{padding-right:17px}.intro-stats{gap:17px}.intro-stat strong{font-size:26px}.companions-card{left:12px;right:12px;padding:14px 16px}.herd-member .icon{width:19px;height:19px}.herd{gap:3px}.journey-nav{gap:4px}.journey-nav li{font-size:10px;gap:5px}.journey-nav li:not(:last-child):after{margin:0 6px}.step-dot{width:21px;height:21px}.scene-title{font-size:24px;left:18px;bottom:16px}.scene-caption{bottom:20px;right:16px;font-size:9px}.scene-card .landscape{min-height:230px;object-fit:cover}.offer-tag{display:none}.offer-card{grid-template-columns:34px 1fr 15px;padding:15px 13px;gap:11px}.offer-symbol{width:34px;height:42px}.offer-symbol .icon{width:21px}.offer-title{font-size:15px}.offer-summary{font-size:11px}.offer-costs{font-size:11px;gap:11px}.offer-heading>span{font-size:9px}.party-line .herd .icon{width:18px}.modal-header{padding:17px 19px}.modal-header h2{font-size:23px}.modal-body{padding:18px 19px}.modal-footer{padding:13px 15px;gap:8px}.modal-footer .primary{padding:12px 15px;gap:8px}.modal-footer .secondary{padding:12px;min-width:88px}.quote-metrics{gap:10px}.quote-metrics strong{font-size:24px}.quote-metrics span{font-size:10px}.preview-strip{gap:12px;font-size:11px}.response{font-size:16px}.ending-header h1{font-size:29px;letter-spacing:2px}.site-footer .footer-mark{display:none}}
.prediction-note{font-size:11px;opacity:.85;margin-top:10px}
.future-details{margin-top:14px;padding-top:12px;border-top:1px solid #d9bbaa;font-size:12px;line-height:1.9}.future-details summary{cursor:pointer;font-size:12px;text-decoration:underline;text-underline-offset:3px}.future-details p{margin-top:10px}.future-details ul{padding-left:20px}.future-details li+li{margin-top:10px}
.review-stages{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 16px}.review-stages .secondary{flex:1;white-space:nowrap;padding:10px 12px}.review-current{font-size:13px;color:var(--muted);margin:12px 0}.review-choices{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 20px}.review-choices .secondary{font-size:12px;text-align:left}.secondary.is-selected{border-color:var(--green);background:var(--sage);color:var(--green)}.review-comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.review-outcome{border:1px solid var(--line);background:var(--white);border-radius:9px;padding:16px;min-width:0}.review-outcome h3{font-size:13px;color:var(--muted);margin-bottom:8px}.review-outcome>strong{font-family:var(--serif);font-size:38px;line-height:1.4;font-weight:400}.review-outcome>strong small{font-family:var(--sans);font-size:12px;margin-left:5px}.review-outcome p{font-size:11px;line-height:1.9;color:var(--muted);margin-top:6px}.review-explanation,.review-empty{font-size:12px;line-height:1.9;color:var(--muted);margin:14px 0}.review-route{list-style:none;padding:0;margin:18px 0;display:grid;gap:10px}.review-route li{border-left:2px solid var(--line);padding:8px 14px;background:#edf0e640;border-radius:0 7px 7px 0}.review-route li.changed{border-color:var(--green);background:var(--sage)}.review-route span,.review-route small{display:block;color:var(--muted);font-size:11px}.review-route strong{display:block;font-size:14px;font-weight:500;margin:4px 0}.replan-entry{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.replan-entry p{font-size:12px;color:var(--muted);margin-bottom:12px}.replan-result{margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:9px}.replan-result>h3{font-family:var(--serif);font-size:22px;margin-bottom:10px}.replan-result>p{font-size:12px;line-height:1.9;color:var(--muted)}.ending-actions{flex-wrap:wrap}
@media(max-width:440px){.review-stages .secondary{font-size:11px;padding:9px 8px}.review-comparison{gap:8px}.review-outcome{padding:12px 10px}.review-outcome>strong{font-size:30px}.replan-result{padding:13px}.review-choices .secondary{width:100%}.ending-actions>*{flex:1 1 auto}}
.export-label{display:block;margin:18px 0 8px;font-size:13px;color:var(--green)}
.export-text{display:block;width:100%;min-height:260px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-family:inherit;font-size:13px;line-height:1.8;resize:vertical}
.ending-layout>section,.negotiation>section{min-width:0}.herd,.herd-member{min-width:0}.herd-member .icon{max-width:100%}.herd-member{flex-shrink:1}
@media(max-width:800px){.ending-layout,.negotiation{grid-template-columns:minmax(0,1fr)}}
@media(max-width:440px){.ending-stats{flex-wrap:wrap;gap:15px 22px}.herd-large .herd-member .icon{width:19px;height:22px}.herd-large{gap:3px}.modal-footer .primary{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Keep the current inventory in view while comparing agreements. */
/* Information is a remembered fact, separate from the resource counters. */
.information-reward{margin:20px 0;padding:18px;border:2px solid #779566;border-radius:8px;background:#eaf0e1}
.information-reward h2{display:flex;align-items:center;gap:9px;font-size:18px;line-height:1.6;margin-bottom:10px}
.information-reward h2 .icon{width:22px;height:22px;flex-shrink:0}
.information-reward p{font-size:14px;line-height:1.9;margin-bottom:9px}
.information-reward small{display:block;font-size:12px;line-height:1.7;color:var(--muted)}
.world-tag.information-tag{grid-column:1/-1}
.information-tag small{display:block;font-size:12px;line-height:1.8;margin-top:6px}
/* Explain the action sequence and show costs in the order they are paid. */
.flow-guide{padding:16px;margin:0 0 18px;border:1px solid var(--line);border-radius:8px;background:#e9eee080}
.flow-guide h2{font-size:15px;font-weight:600;margin-bottom:12px}
.flow-guide ol{display:flex;list-style:none;padding:0;margin:0 0 12px;gap:12px;flex-wrap:wrap}
.flow-guide li{display:flex;gap:6px;align-items:center;font-size:13px}
.flow-guide li span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--green);color:var(--white);font-size:11px}
.flow-guide p,.agreement-reminder{font-size:14px;line-height:1.85;color:var(--muted)}
.agreement-reminder{margin:0 0 16px}.stage-goal{font-size:15px;line-height:1.85;margin-bottom:17px}
.stage-bridge{font-size:14px;line-height:1.9;border-left:3px solid #859d73;padding:10px 13px;margin-bottom:16px;background:#e8eddf}
.start-check{border:1px solid var(--line);border-radius:7px;padding:15px 16px;margin:20px 0;background:var(--paper);font-size:14px;line-height:1.9}
.start-check h3,.settlement h3,.survival-box>h3{font-size:16px;font-weight:600;margin-bottom:9px}
.start-check p+p{margin-top:6px}.start-check.blocked{border-color:#d7b29e;background:var(--danger-bg)}
.shortage-message{color:var(--danger);font-weight:600}
.modal-footer{flex-wrap:wrap}.confirm-inventory{flex-basis:100%;font-size:14px;line-height:1.6;text-align:right;color:var(--ink);margin:0 0 2px}.confirm-inventory .icon{height:17px;width:17px;margin-right:6px;color:var(--green)}
.quote-causes{font-size:14px;line-height:1.85;padding-left:20px;margin:16px 0}.quote-causes li+li{margin-top:8px}
.settlement{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:20px 0}
.time-equation,.member-equation{font-size:14px;line-height:1.85;display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.time-equation .icon,.member-equation .icon{width:17px;height:17px;margin-right:3px}
.time-equation small{font-size:12px;color:var(--muted)}
.food-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;list-style:none;margin:15px 0 12px;padding:0}
.food-flow li{border:1px solid var(--line);border-radius:7px;padding:12px 9px;background:#f5f5ed;min-width:0}
.food-flow span{display:block;font-size:13px;color:var(--muted)}
.food-flow strong{display:block;font-size:27px;font-weight:500;line-height:1.6}
.food-flow small{font-size:12px;line-height:1.6;color:var(--muted)}
.food-flow strong small{margin-left:3px;white-space:nowrap}
.food-flow li.food-balance{background:#e9efe1;border-color:#bacaad}
.settlement .settlement-note{font-size:14px;line-height:1.85;margin-bottom:12px;color:var(--muted)}
.feeding-timeline{list-style:none;padding:0;margin:14px 0;display:grid;gap:9px}
.feeding-timeline li{border-left:3px solid #92a283;padding:8px 12px;background:#fffef888;font-size:14px}
.feeding-timeline strong,.feeding-timeline span{display:block}.feeding-timeline strong{font-weight:500}
.feeding-timeline span{margin-top:3px;color:var(--muted)}.feeding-timeline .cold-period{border-color:var(--gold)}
.survival-box p+p{margin-top:10px}
.intro-description+.intro-description{margin-top:13px}
.intro-description strong{font-weight:500;color:var(--ink)}
.intro-description{max-width:540px;font-size:15px;line-height:2}
.intro h1{font-size:54px;letter-spacing:1px;line-height:1.5;margin:16px 0 20px}
.route-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.route-map li{position:relative;padding:13px 17px;text-align:center}.route-map li+li{border-left:1px solid var(--line)}
.route-map li:not(:last-child):after{content:'→';position:absolute;right:-8px;top:25px;background:var(--paper);z-index:1;color:#6c8162}
.route-map span{display:block;font-size:12px;color:var(--muted)}.route-map strong{display:block;font-size:15px;font-weight:500;margin-top:3px}
.intro-stats{gap:20px;margin:22px 0 15px}.intro-stat{padding-right:20px}
.intro-stat strong{font-size:30px}.intro-stat span{font-size:13px}
.intro-objective{font-size:14px;line-height:1.9;margin:0 0 20px;color:var(--muted)}
.intro-rules{max-width:540px}.intro-rules p{font-size:14px;line-height:1.9}
.journey-calendar{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 13px;font-size:14px}
.journey-calendar>div{border-top:3px solid #8d9f7d;padding-top:8px}.journey-calendar>div+div{border-color:var(--gold)}
.journey-calendar strong,.journey-calendar span{display:block}.journey-calendar strong{font-weight:500}.journey-calendar span{font-size:13px;color:var(--muted)}
@media(max-width:800px){
  .intro h1{font-size:43px}.intro-description,.intro-rules{max-width:100%}
}
@media(max-width:540px){
  .food-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .food-flow li{padding:12px}.food-flow strong{font-size:27px}
}
@media(max-width:440px){
  .intro h1{font-size:36px}.intro-description{font-size:15px}
  .route-map li{padding:12px 6px}.route-map strong{font-size:14px}
  .intro-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .intro-stat{padding-right:8px}.intro-stat strong{font-size:27px}.intro-stat span{display:block;font-size:12px}
  .flow-guide{padding:14px}.flow-guide ol{gap:9px 12px}
  .settlement h3,.start-check h3{font-size:15px}
}
:root{--muted:#58685d}
.topbar{min-height:78px}
.resources{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:var(--paper);border:1px solid var(--line);border-radius:0 0 10px 10px;padding:13px 20px;box-shadow:0 5px 12px #263f3608}
.resource{justify-content:center;gap:12px;min-width:0}
.resource+.resource{border-left:1px solid var(--line)}
.resource-label{font-size:13px;letter-spacing:0;margin-bottom:4px}
.resource strong{font-size:27px}.resource small{font-size:13px}
.resource-meta{display:block;font-size:12px;color:var(--muted);margin-top:4px;line-height:1.4}
.herb-resource{color:var(--green)}.herb-resource.is-spent{color:var(--muted)}
.resource>.icon{color:var(--green)}.is-spent>.icon{opacity:.6}
.world-state{margin-top:20px;padding:16px;background:#ecefe5;border:1px solid var(--line);border-radius:8px}
.world-state h3,.state-changes h3{font-size:14px;font-weight:600;margin-bottom:10px}
.world-tags{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.world-tag{font-size:13px;align-items:flex-start;gap:9px;line-height:1.5;color:var(--muted)}
.world-tag .icon{width:19px;height:19px;margin-top:2px}
.world-tag strong{display:block;color:var(--ink);font-size:14px;font-weight:500;margin-top:3px}
.world-tag.risky strong{color:var(--danger)}
.herb-context{margin-top:13px;padding-top:12px;border-top:1px solid #cfd8c5;font-size:14px;line-height:1.8}
.herb-context .icon{width:17px;height:17px;margin-right:7px}
.state-changes{padding:14px 16px;margin:18px 0;background:#eaf0e1;border-left:3px solid #779566;border-radius:0 7px 7px 0}
.state-changes ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:14px;line-height:1.8}
.offer-context{display:grid;gap:7px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;line-height:1.8;color:var(--muted)}
.offer-summary,.offer-costs,.availability,.route-warning,.question-button,.selection-note{font-size:14px}
.offer-costs{gap:9px 16px}.offer-costs span{font-weight:500}
.offer-costs .icon{width:17px;height:17px;color:var(--green)}
.offer-summary{margin:7px 0 12px}.offer-heading>span{font-size:12px}
.scene-description{display:block;font-size:14px;line-height:1.9}
.answer,.cost-detail,.impact,.item-exchange,.preview-strip,.warning-box,.survival-box p,.survival-box .ledger-row{font-size:14px}
.quote-metrics span{font-size:13px}.preview-title{font-size:15px}
.journal-entry .journal-fact{font-size:14px;margin-top:8px;color:var(--ink)}
.text-button{font-size:14px}.result-text>p{font-size:14px}
[tabindex="-1"]{scroll-margin-top:125px}
@media(max-width:800px){
  .topbar{min-height:76px;padding:16px 0;gap:12px;flex-wrap:nowrap}
  .resources{padding:10px 0;width:100%;margin:0}
  .resource{gap:5px}.resource>.icon{display:none}
  .resource-label{font-size:12px}.resource strong{font-size:23px}.resource-meta{font-size:11px}
  .scene-description{display:block}.question-button{padding:9px 11px}
}
@media(max-width:440px){
  .resources{margin-left:-8px;width:calc(100% + 16px)}
  .resource{padding:0 4px}.resource-label{font-size:12px}.resource small{font-size:12px;margin-left:3px}
  .top-actions{gap:12px}.text-button{font-size:13px}.text-button .icon{display:none}
  .world-state{padding:14px}.world-tags{gap:13px 9px}.world-tag{gap:6px}
  .offer-card{grid-template-columns:29px minmax(0,1fr) 13px;gap:10px;padding:16px 12px}
  .offer-symbol{width:29px;height:38px}.offer-title{font-size:17px}
  .offer-summary,.offer-costs,.route-warning,.availability{font-size:14px}
  .offer-heading{align-items:flex-start;flex-direction:column;gap:4px}
  .quote-metrics{gap:8px}.quote-metrics strong{font-size:24px}.quote-metrics span{font-size:12px}
  .preview-strip{font-size:14px;gap:8px 16px}.preview-strip b{margin-left:5px}
  .modal-footer{flex-wrap:wrap}.modal-footer .primary{font-size:13px}
}

/* v0.6.1: put the next decision before optional background and reference text. */
.optional-details{margin:16px 0;border-top:1px solid var(--line);font-size:14px}
.optional-details>summary{cursor:pointer;padding:13px 0;min-height:46px;font-weight:500}
.optional-details[open]>summary{color:var(--green)}
.optional-details p+p{margin-top:10px}
.optional-details .secondary{margin-top:12px}
.optional-details .world-state{margin-top:0}
.intro-objective{margin-top:16px}
.negotiation{grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:20px 36px}
.stage-scene{grid-column:1;grid-row:1}
.stage-offers{grid-column:2;grid-row:1 / span 2}
.stage-details{grid-column:1;grid-row:2;min-width:0}
.scene-brief{margin-top:14px;font-size:15px;line-height:1.8}
.stage-goal{margin:0 0 12px;font-size:15px}
.offer-heading{margin-bottom:8px}
.offer-context{font-size:14px;line-height:1.6;margin-top:9px;padding-top:8px}
.offer-costs{margin-top:8px}
.quote-check{font-size:14px}
.compact-settlement{margin:14px 0;padding:14px;background:var(--sage);border-radius:8px}
.compact-settlement h3{font-size:15px;margin:0 0 12px}
.compact-settlement .food-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:0;padding:0}
.compact-settlement .food-flow li{position:relative;padding:9px 6px;text-align:center}
.compact-settlement .food-flow li+li:before{content:'→';position:absolute;left:-13px;top:34%;font-size:16px;color:var(--muted)}
.compact-settlement .food-flow strong{font-size:27px}
.compact-settlement .food-flow small{font-size:12px}
.compact-settlement .settlement-note{margin-top:10px;line-height:1.7}
.balance-line{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;margin-top:10px}
.balance-line strong{font-weight:500}
.quote-causes{padding-left:20px;font-size:14px;line-height:1.7}
.quote-causes li+li{margin-top:6px}
.modal-body{min-height:0}
.modal-header,.modal-footer{flex-shrink:0}
.modal-body .optional-details:last-child{margin-bottom:0}
.modal-body .state-changes{margin:12px 0;padding:10px 13px}
.survival-box{margin:14px 0;padding:14px}
.survival-box .optional-details{margin-bottom:0}
.survival-box .survival-top{margin:5px 0}
.result-text{min-width:0}
.result-art{align-self:start}
.result-text h1{font-size:30px;line-height:1.5;margin:12px 0}
.practice-page{max-width:650px;margin:24px auto 36px;font-size:15px}
.practice-page h1{font-family:var(--serif);font-size:32px;line-height:1.5;margin:8px 0 16px}
.practice-page>p{margin:12px 0}
.practice-art{overflow:hidden;border-radius:10px;margin:14px 0}
.practice-art .landscape{display:block;width:100%;max-height:250px}
.practice-page .stage-goal{background:var(--sage);padding:10px 13px;border-radius:7px}
.mentor-line{border-left:2px solid #ad9768;padding-left:12px;color:#5b654d}
.practice-resources{grid-template-columns:repeat(3,minmax(0,1fr))}
.practice-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.practice-page>.primary{margin-top:12px}
.brand-title small{font-family:var(--sans);font-size:14px;letter-spacing:1px}
.rain-timeline{padding:0;list-style:none;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:18px 0}
.rain-timeline li{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--white)}
.rain-timeline li+li{border-top:1px solid var(--line)}
.rain-timeline li:last-child{background:var(--sage)}
.rain-timeline strong{font-weight:500;white-space:nowrap}
.practice-page .quiet-note{font-size:13px}
.other-toggle,.text-button,.question-button{min-height:44px}
@media(max-width:800px){
  .negotiation{grid-template-columns:minmax(0,1fr);gap:16px}
  .stage-scene,.stage-offers,.stage-details{grid-column:auto;grid-row:auto}
  .stage-details{margin-top:0}
  .stage-details .optional-details:first-child{margin-top:0}
  .scene-card .landscape{height:132px;min-height:0;max-height:none}
  .scene-tag{top:10px;left:14px;letter-spacing:1px}
  .scene-title{font-size:23px;bottom:12px;left:15px}
  .scene-brief{margin-top:10px;line-height:1.7}
  .topbar{min-height:62px;padding:8px 0}
  .resources{padding:9px 0;gap:0;margin:0;width:100%}
  .resource-label{font-size:12px;margin-bottom:3px}
  .resource strong{font-size:23px}
  .resource-meta{font-size:11px;margin-top:3px}
  .journey-nav{margin:14px 0}
  .journey-nav li:not(:last-child):after{margin:0 5px}
  .step-dot{width:21px;height:21px}
  .intro{padding:24px 0;gap:20px}
  .intro h1{font-size:36px;line-height:1.45;margin:10px 0 14px}
  .intro-description{font-size:15px;line-height:1.85}
  .intro-art{max-width:420px}
  .intro-art .art-mat .landscape{height:180px}
  .intro .intro-cta{gap:10px}
  .offer-card{padding:13px 12px;grid-template-columns:28px minmax(0,1fr) 15px;gap:9px}
  .offer-symbol{width:28px;height:35px}
  .offer-symbol .icon{width:22px;height:22px}
  .offer-title{font-size:17px}
  .offer-tag{display:none}
  .offer-summary{font-size:14px;line-height:1.65;margin:5px 0 7px}
  .offer-costs{font-size:14px;gap:6px 12px;margin-top:6px}
  .offer-heading h1{font-size:22px}
  .agreement-reminder{font-size:13px;margin:0 0 12px}
  .selection-note{margin-top:10px}
  .other-routes{margin-top:12px;padding-top:3px}
  .result-layout{gap:20px;padding-top:8px}
  .result-text h1{font-size:26px}
  .result-text>p{font-size:15px}
  .result-art .landscape{max-height:160px}
  .ending-illustration .landscape{height:150px;max-height:150px}
  .ending-header{margin:18px 0}
  .ending-header h1{font-size:28px;line-height:1.5}
  .ending-layout{gap:18px}
  .information-reward{padding:13px}
  .information-reward h2{font-size:17px}
  .practice-page{margin:18px auto 28px}
  .practice-page h1{font-size:27px;margin:7px 0 10px}
  .practice-art{margin:10px 0}
  .practice-art .landscape{height:132px;max-height:none}
  .practice-page>p{margin:10px 0}
  .practice-page .offer-list{gap:10px}
  .practice-page .stage-goal{font-size:15px}
  .practice-page .mentor-line{font-size:14px}
  .site-footer{padding:14px 0;gap:10px;flex-wrap:wrap;font-size:11px}
  .site-footer>span:first-child{display:none}
  .site-footer .footer-mark{display:inline}
  [tabindex="-1"]{scroll-margin-top:105px}
}
@media(max-width:540px){
  dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:12px}
  .modal-frame{max-height:calc(100dvh - 22px)}
  .modal-header{padding:14px 16px;gap:12px}
  .modal-header h2{font-size:22px;line-height:1.4}
  .icon-button{width:44px;height:44px}
  .modal-body{padding:14px 16px}
  .modal-footer{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:10px 12px max(12px,env(safe-area-inset-bottom))}
  .modal-footer .confirm-inventory{grid-column:1 / -1;text-align:left;font-size:13px}
  .modal-footer .primary,.modal-footer .secondary{font-size:14px;padding:11px 12px;min-width:0;gap:5px;white-space:normal}
  .modal-footer>.primary:only-child{grid-column:1 / -1}
  .compact-settlement{padding:12px}
  .compact-settlement .food-flow{grid-template-columns:repeat(3,minmax(0,1fr))}
  .compact-settlement .food-flow strong{font-size:25px}
  .compact-settlement .food-flow li>span{font-size:13px}
  .survival-top strong{font-size:28px}
  .warning-box{padding:13px}
  .warning-box p{font-size:14px;line-height:1.7}
  .world-tags{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:380px){
  .app-shell{width:calc(100% - 24px)}
  .resource small{font-size:11px;margin-left:2px}
  .top-actions{gap:10px}
  .journey-nav li{gap:3px;font-size:10px}
  .scene-card .landscape,.practice-art .landscape{height:112px}
  .offer-costs{gap:5px 8px}
  .modal-footer{grid-template-columns:1fr}
  .modal-footer .primary{grid-row:2}
  .modal-footer .confirm-inventory+.secondary{grid-row:3}
}

/* v0.6.2: visible conversation and routes, shared resource comparisons. */
:root{
  --ink:#343b3e;--muted:#626158;
  --gain:#276645;--spend:#895020;--question:#255c85;
  --danger:#9b3531;--danger-bg:#f8eee5;--speech-bg:#f0f2f4;
}
.negotiation{gap:22px 30px}
.stage-scene{grid-column:1;grid-row:1;min-width:0}
.stage-talk{grid-column:2;grid-row:1;min-width:0}
.stage-offers{grid-column:1 / -1;grid-row:2;min-width:0}
.stage-details{grid-column:1 / -1;grid-row:3}
.stage-talk h1,.offer-heading h2{font-family:var(--serif);font-size:23px;line-height:1.5;margin-bottom:10px}
.scene-card .landscape{max-height:220px;object-fit:cover}
.scene-tag{background:var(--white);color:var(--ink);padding:3px 6px;border:0;border-radius:3px}
.scene-title{background:#263f36ed;padding:2px 9px;border-radius:4px}
.scene-brief,.narration,.scene-description{color:var(--muted)}
.stage-details .scene-description{display:block;margin:0 0 12px;font-size:14px}
.npc-speech,.answer,.mentor-line{background:var(--speech-bg);border-left:3px solid #839aaa;border-radius:0 7px 7px 0;color:var(--ink);padding:11px 13px;font-size:15px;line-height:1.75}
.npc-speech{margin:10px 0}
.speech-label{display:block;font:600 13px/1.6 var(--sans);margin-bottom:4px;color:var(--ink)}
.question-hint{font-size:13px;color:var(--muted);margin-top:12px}
.questions{margin-top:8px;gap:8px}
.question-button{color:var(--question);background:var(--white);border-color:#a5b9c7;font-size:14px;line-height:1.5;text-align:left;min-height:44px;padding:9px 11px}
.question-button:hover,.question-button.active{color:var(--question);background:#e6eff7;border-color:var(--question)}
.question-button.active{box-shadow:inset 3px 0 var(--question)}
.answer{margin-top:12px;font-size:14px}
.stage-offers>.offer-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.offer-card{display:block;padding:15px;background:var(--white);color:var(--ink);min-width:0}
.offer-card-heading{display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:9px;margin-bottom:9px}
.offer-symbol{width:30px;height:35px}
.offer-symbol .icon{width:22px;height:22px}
.offer-title{font-size:17px;font-weight:600;line-height:1.5}
.offer-title-line{gap:3px 10px}
.offer-tag{color:var(--muted);font-size:12px}
.offer-summary{display:block;font-size:14px;line-height:1.7;margin:0 0 10px;color:var(--muted)}
.offer-card.risky-offer{border-color:#c79e95}
.risky-offer .offer-symbol{background:var(--danger-bg);color:var(--danger)}
.risky-offer .offer-tag{color:var(--danger)}
.offer-context,.availability{display:block;line-height:1.7;font-size:14px}
.offer-open{display:flex;align-items:center;justify-content:flex-end;gap:3px;margin-top:10px;font-size:13px;color:var(--ink)}
.offer-open .icon{width:15px;height:15px}
.route-warning{font-size:14px;line-height:1.6;align-items:flex-start}
.route-warning .icon{width:18px;height:18px;margin-top:2px}
.resource-comparison{display:block;min-width:0;font-size:14px;line-height:1.55;font-variant-numeric:tabular-nums}
.resource-row{display:grid;grid-template-columns:2em minmax(3em,1fr) minmax(6.6em,1.8fr) minmax(3em,1fr);gap:5px;align-items:center;padding:7px 0;border-top:1px solid var(--line)}
.resource-row>strong{font-weight:600;white-space:nowrap;color:var(--ink)}
.resource-columns{font-size:12px;color:var(--muted);border-top:0;padding:0 0 6px;grid-template-columns:28px minmax(42px,1fr) minmax(92.4px,1.8fr) minmax(42px,1fr)}
.resource-name{color:var(--ink)}
.resource-changes,.resource-delta{display:block}
.resource-delta{white-space:nowrap}
.delta-gain,.reward{color:var(--gain)}
.delta-spend{color:var(--spend)}
.delta-danger{color:var(--danger);font-weight:600}
.delta-neutral{color:var(--muted)}
.compact-settlement{background:var(--white);border:1px solid var(--line);padding:12px}
.compact-settlement h3{font-size:14px;line-height:1.6}
.compact-settlement .settlement-note{margin:9px 0 0;font-size:14px}
.response{color:var(--ink)}
.proposal{color:var(--question)}
.result-text>p,.practice-page>p:not(.mentor-line):not(.stage-goal):not(.npc-speech){color:var(--muted)}
button:focus-visible,summary:focus-visible{outline:3px solid var(--question);outline-offset:3px}
@media(max-width:800px){
  .negotiation{grid-template-columns:minmax(0,1fr);gap:14px}
  .stage-scene,.stage-talk,.stage-offers,.stage-details{grid-column:auto;grid-row:auto}
  .stage-offers>.offer-list{grid-template-columns:minmax(0,1fr)}
  .scene-card .landscape{height:112px}
  .scene-brief{margin-top:8px;font-size:14px;line-height:1.7}
  .stage-talk h1,.offer-heading h2{font-size:21px}
  .stage-talk h1{margin-bottom:8px}
  .offer-card{padding:13px 12px}
  .question-hint{margin-top:9px}
  .questions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .npc-speech{margin:8px 0;padding:10px 12px}
}
@media(max-width:380px){
  .resource-row{gap:4px}
  .compact-settlement{padding:10px}
}

/* v0.6.3: one goal + current-state panel; short offers, detailed receipts. */
:root{
  --ink:#20282d;--muted:#44494b;--green:#254e3b;
  --gain:#125538;--spend:#783900;--question:#104a79;
  --danger:#911f2b;--speech-bg:#e8f0fa;--danger-bg:#fff0ed;
  --gain-bg:#e5f4eb;--spend-bg:#fff0dc;--mentor:#49316c;--mentor-bg:#f1edf8;
}
.journey-panel{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:minmax(270px,1fr) minmax(0,1.5fr);column-gap:24px;background:var(--white);border:1px solid #aeb8b0;border-top:3px solid var(--green);border-radius:0 0 10px 10px;padding:12px 18px;box-shadow:0 5px 14px #263f3612}
.journey-goal{grid-row:1 / span 2;font-size:14px;line-height:1.6}
.goal-title{display:block;font-size:15px;margin-bottom:3px;color:var(--green)}
.goal-title.delta-danger{color:var(--danger)}
.journey-goal>div{display:flex;flex-wrap:wrap;gap:0 7px}
.journey-goal>div>span{font-weight:600;color:var(--muted);margin-right:3px}
.journey-goal>div>strong{margin-left:-3px}
.status-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:12px;color:var(--muted)}
.status-heading>strong{color:var(--ink);font-size:13px}
.journey-panel .resources{position:static;border:0;border-radius:0;box-shadow:none;background:transparent;padding:6px 0 0;margin:0;width:100%;min-width:0}
.journey-panel .resource{padding:0 7px;justify-content:center;align-items:start}
.journey-panel .resource-label{font-size:12px;margin:0}
.journey-panel .resource strong{font-size:24px;font-weight:650;line-height:1.45}
.journey-panel .resource-meta{font-size:11px;line-height:1.2;margin:0}
.offer-changes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;font-variant-numeric:tabular-nums}
.offer-changes>span{display:block;border-radius:6px;padding:7px 9px;background:var(--paper)}
.offer-changes>span.delta-spend{background:var(--spend-bg)}
.offer-changes>span.delta-gain{background:var(--gain-bg)}
.offer-changes>span>span{display:block;font-size:12px;font-weight:600}
.offer-changes strong{display:block;font-size:20px;line-height:1.5;font-weight:650}
.item-cost{display:block;margin-top:9px;font-size:14px;font-weight:650}
.offer-open{color:var(--question);font-weight:600}
.offer-summary{margin-bottom:8px}
.quote-settlement{padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:8px;margin:12px 0}
.quote-settlement h3{font-size:15px;font-weight:650;margin:0 0 7px}
.after-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;font-size:14px}
.after-values.with-loss{grid-template-columns:repeat(3,minmax(0,1fr))}
.after-values>span{display:flex;flex-direction:column}
.after-values strong{font-size:19px}
.payment-line{font-size:14px;margin-top:8px;line-height:1.7}
.payment-line>span{font-weight:650}
.quote-settlement>.optional-details{margin:8px 0 0}
.quote-settlement>.optional-details>summary{padding:9px 0;min-height:44px}
.quote-settlement .compact-settlement{margin:0}
.goal-check{width:100%;table-layout:fixed;border-collapse:collapse;margin:12px 0;font-size:14px;line-height:1.65}
.goal-check .check-requirement{width:46%}.goal-check .check-value{width:32%}.goal-check .check-result{width:22%}
.goal-check th,.goal-check td{padding:9px 6px;text-align:left;vertical-align:middle;border-bottom:1px solid #b6c6b9}
.goal-check thead th{font-weight:400;font-size:13px;color:var(--muted)}
.goal-check tbody th{font-weight:500;color:var(--ink)}
.goal-check td{font-weight:650}
.goal-check .check-pass{color:var(--gain);background:var(--gain-bg)}
.goal-check .check-fail{color:var(--danger);background:var(--danger-bg)}
.check-verdict{white-space:nowrap}
.meal-result,.feeding-reminder{padding:10px 12px;background:var(--sage);border-left:3px solid var(--green);line-height:1.8}
.meal-result strong{margin:0 3px}
.question-button{border:1px solid var(--question);background:#eef5fc;font-weight:650}
.question-button.active{background:var(--question);color:var(--white);box-shadow:none}
.npc-speech,.answer{border-left:4px solid var(--question);color:#173d5c}
.npc-speech .speech-label,.answer .speech-label{color:var(--question)}
.mentor-line{color:var(--mentor);background:var(--mentor-bg);border-left:4px solid var(--mentor);font-weight:500}
.resource-delta.delta-gain,.resource-delta.delta-spend{font-weight:650}
.warning-box,.route-warning,.loss-notice{color:var(--danger)}
[tabindex="-1"]{scroll-margin-top:170px}
@media(max-width:800px){
  .journey-panel{display:block;padding:8px 10px}
  .journey-goal{font-size:13px;line-height:1.55}
  .goal-title{font-size:14px;margin-bottom:2px}
  .status-heading{border-top:1px solid var(--line);margin-top:6px;padding-top:4px;font-size:11px;gap:3px 9px}
  .journey-panel .resources{padding-top:3px}
  .journey-panel .resource{padding:0 4px}
  .journey-panel .resource strong{font-size:22px}
  .journey-panel .resource small{font-size:12px}
  .practice-page h1{font-size:23px}
  .offer-changes>span{padding:6px 8px}
  .offer-changes strong{font-size:19px}
  .goal-check{font-size:13px}
  .goal-check th,.goal-check td{padding:9px 5px}
  .goal-check thead th{font-size:12px}
  [tabindex="-1"]{scroll-margin-top:195px}
}
@media(max-height:520px){.journey-panel{position:static}}

/* v0.7.1: shared speech roles, stage facts and visible state changes. */
:root{--question-bg:#eef5fc;--facts-bg:#e8eff5;--items-bg:#fff2d9}
.question-button,.dialogue-question>summary.question-button{font-size:15px;line-height:1.75;color:var(--mentor);background:var(--mentor-bg);border:1px solid var(--mentor);border-radius:6px;padding:10px 12px;font-weight:500;text-align:left}
.question-button:hover{background:var(--mentor-bg);border-color:var(--mentor)}
.question-button.active{background:var(--mentor);color:var(--white)}
.dialogue-question>summary.question-button{margin:10px 0;min-height:44px}
.dialogue-bubble,.practice-page .dialogue-bubble{font-family:var(--sans);font-size:15px;font-weight:400;line-height:1.75;padding:11px 13px;margin:12px 0;border:0;border-left:4px solid currentColor;border-radius:0 7px 7px 0}
.dialogue-bubble.speech-self{color:var(--mentor);background:var(--mentor-bg)}
.dialogue-bubble.speech-other{color:var(--question);background:var(--speech-bg)}
.dialogue-bubble.speech-neutral{color:var(--ink);background:var(--paper);border-left-color:var(--muted)}
.dialogue-bubble .speech-label,.dialogue-question .speech-label{display:block;font-size:14px;font-weight:650;line-height:1.6;color:inherit;margin-bottom:4px}
.dialogue-question>summary .speech-label{display:inline}
.dialogue-question>summary>span{display:block;margin-top:4px}
.speech-text{display:block}
.quote-dialogue>summary{color:var(--ink);font-size:15px}
.stage-intel{padding:10px 12px;margin:12px 0 16px;background:var(--spend-bg);border:1px solid var(--spend);border-left-width:4px;border-radius:6px;font-size:15px;line-height:1.75}
.stage-intel>strong{display:flex;align-items:center;gap:6px;color:var(--spend);font-size:14px;margin-bottom:4px}
.stage-intel p{color:var(--ink)}
.deadline-mark,.requirement-mark,.weather-mark{padding:1px 5px;border-radius:4px;font-weight:650;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.deadline-mark,.requirement-mark{color:var(--spend);background:var(--spend-bg)}
.weather-mark{color:var(--question);background:var(--speech-bg)}
.journey-calendar>div{padding:10px 12px;border-radius:6px}
.journey-calendar>.calendar-prepare{color:var(--spend);background:var(--spend-bg);border-color:var(--spend)}
.journey-calendar>.calendar-weather{color:var(--question);background:var(--speech-bg);border-color:var(--question)}
.journey-calendar strong{font-weight:650}
.world-sections{display:grid;gap:12px}
.world-sections .world-state{margin:0}
.world-state.known-state{background:var(--facts-bg);border-color:#8da5b8}
.world-state.inventory-state{background:var(--items-bg);border-color:#b5a16e}
.world-state h3{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:16px}
.world-tags{grid-template-columns:minmax(0,1fr);gap:9px}
.world-tag{align-items:flex-start;gap:8px;font-size:15px;line-height:1.75;padding:10px 12px;border:1px solid;border-left-width:4px;border-radius:6px}
.world-tag .icon{width:19px;height:19px;margin-top:3px}
.world-tag .state-name{font-size:14px}
.world-tag strong{display:block;font-weight:650}
.world-tag small{display:block;color:inherit;font-size:14px;line-height:1.7;margin-top:3px}
.state-gain{color:var(--gain);background:var(--gain-bg);border-color:var(--gain)}
.state-loss{color:var(--danger);background:var(--danger-bg);border-color:var(--danger)}
.information-reward{color:var(--gain);background:var(--gain-bg);border-color:var(--gain)}
.information-reward small{color:inherit}
.state-changes,.modal-body .state-changes{padding:0;border:0;background:transparent}
.state-line{padding:8px 11px;border:1px solid;border-left-width:4px;border-radius:6px}
.inventory-status{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid;border-left-width:4px;border-radius:6px;text-align:left;line-height:1.6}
.inventory-status .icon{color:inherit;margin:0;width:20px;height:20px}
.inventory-status strong{display:block;font-size:14px;font-weight:650}
.inventory-status small{display:block;font-size:13px}
.warning-box,.route-warning,.loss-notice{background:var(--danger-bg);border:1px solid var(--danger);border-left-width:4px;border-radius:6px;padding:11px 12px;color:var(--danger);line-height:1.7}
.route-warning{margin-top:12px;gap:8px;font-size:14px}
.route-warning strong,.loss-notice strong{display:block;font-weight:700}
.result-text>.loss-notice{font-size:15px!important}
.warning-box h3{font-size:16px;line-height:1.6}
.survival-box.danger{border-color:var(--danger);border-left-width:4px}
.survival-box.danger p{color:var(--danger)}
.offer-card.unaffordable .availability{padding:9px;border:1px dashed var(--muted);border-radius:6px;color:var(--ink);background:var(--paper)}
.offer-card.unaffordable .offer-symbol{color:var(--muted)}
.preparation-panel{position:static;display:block;margin-top:12px}
.route-map{grid-template-columns:repeat(4,minmax(0,1fr))}
.journey-nav{max-width:100%}
.journey-nav li{color:var(--muted)}
.modal-footer button:disabled{opacity:1;background:#e4e5df;color:var(--muted);border:1px solid #aeb8b0}
@media(max-width:800px){
  .journey-nav{gap:6px;align-items:flex-start}
  .journey-nav li{flex:1;flex-direction:column;gap:6px;text-align:center;font-size:11px}
  .journey-nav li:last-child{flex:1}
  .journey-nav li:not(:last-child):after{display:none}
  .scene-card .landscape{min-height:112px}
  .world-tags{grid-template-columns:minmax(0,1fr)}
  .route-map strong{font-size:13px}
  .modal-footer .primary,.modal-footer .secondary{grid-row:auto}
  .modal-footer .confirm-inventory+.secondary{grid-row:auto}
}
@media(max-width:380px){.modal-footer{grid-template-columns:1fr}.modal-footer .confirm-inventory{grid-column:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fade-in,.snow-dot{animation:none}button{transition:none}}

/* v0.7.2: concise preparation goals and requirement / outcome checks. */
.goal-condition>span{white-space:nowrap}
.departure-rules{margin:20px 0 0;font-size:15px;line-height:1.8}
.departure-rules>div{display:grid;grid-template-columns:2em minmax(0,1fr);gap:12px;padding:9px 0;border-top:1px solid var(--line)}
.departure-rules dt{font-weight:650}.departure-rules dd{margin:0}
.departure-rules dd>span{display:inline-block;white-space:nowrap}
.departure-rules dd>span+span:before{content:"｜";color:var(--muted);padding:0 3px}
.preparation-members{color:var(--muted);font-size:14px;margin-top:5px}
.reserve-calculation{font-size:14px;line-height:1.8}

/* v0.7.3: reach the decision sooner without shrinking reading text. */
.mobile-scene{display:none}
.conversation-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}
.conversation-actions .question-hint{margin:0}
.compare-jump{color:var(--green);font-size:14px;gap:4px}
.compare-jump .icon{display:inline-block;width:16px;height:16px}
.stage-offers .offer-heading{flex-direction:row;align-items:center}
.stage-offers .offer-heading h2{margin:0;font-size:20px}
.inventory-status.inventory-compact{padding:5px 9px;border-left-width:1px}
.negotiable-hint{display:block;color:var(--mentor);font-size:14px;font-weight:650;margin:6px 0}
.negotiation-entry{margin:16px 0}.negotiation-entry .question-button,.counteroffer>.secondary{width:100%}
.negotiation-entry .speech-label{display:block;font-size:14px;font-weight:650;margin-bottom:4px}
.negotiation-entry .quiet-note{margin:8px 0}
.counteroffer{margin:16px 0;padding-bottom:20px;border-bottom:1px solid var(--line)}
.counteroffer h3{font-size:17px;scroll-margin:12px}.counteroffer>p{font-size:15px;line-height:1.8}
.negotiation-comparison{width:100%;table-layout:fixed;border-collapse:collapse;margin:16px 0;font-size:15px;line-height:1.6;font-variant-numeric:tabular-nums}
.negotiation-comparison th,.negotiation-comparison td{text-align:left;vertical-align:top;padding:9px 7px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.negotiation-comparison thead th{font-weight:650;color:var(--ink);background:var(--paper)}
.negotiation-comparison tbody th{font-weight:500}
.negotiation-comparison small{display:block;font-size:14px;font-weight:400}
.negotiation-comparison small>span{display:block;white-space:nowrap}
@media(max-width:800px){
  .journey-panel:not(.preparation-panel) .goal-title{display:inline;font-size:13px;margin-right:6px}
  .journey-panel:not(.preparation-panel) .goal-condition{display:inline}
  .journey-nav{margin:10px 0 12px;gap:4px}
  .journey-nav li{font-size:12px;gap:0;padding:5px 0;border-bottom:2px solid var(--line)}
  .journey-nav .current{border-color:var(--green)}
  .journey-nav .step-dot{display:none}
  .negotiation{gap:12px}
  .stage-scene{display:none}
  .mobile-scene{display:block;margin-bottom:12px}
  .mobile-scene .landscape{display:block;width:100%;max-height:180px}
  .stage-talk h1{font-size:22px;margin-bottom:8px}
  .stage-talk .stage-intel{margin:8px 0}
  .stage-intel>strong{display:inline;margin-right:5px}
  .stage-intel p{display:inline}
  .stage-talk .npc-speech{margin:8px 0}
  .questions{margin-top:0}
  .stage-offers .offer-heading{margin:0 0 8px}
  .practice-decision{margin-top:12px}
  .practice-decision .practice-art .landscape{height:72px}
  .practice-decision .stage-intel{margin:8px 0}
}

/* v0.9: keep construction obligations and camp consequences visible. */
.continuation-plans,.camp-story{margin:18px 0;padding:18px;border:1px solid var(--sage);border-radius:12px;background:var(--paper);color:var(--ink)}
.continuation-plans h3,.camp-story h3{margin:0 0 10px;font-size:17px;line-height:1.5}
.continuation-plans p,.camp-story p{font-size:15px;line-height:1.8}
.continuation-plan{padding:12px 0;border-top:1px solid var(--sage)}
.continuation-plan h4{margin:0 0 5px;font-size:15px;line-height:1.6}
.continuation-plan p{margin:4px 0}
@media(max-width:600px){.continuation-plans,.camp-story{padding:14px}.continuation-plans h3,.camp-story h3{font-size:16px}}

/* v0.9.1: dated phases and short, route-specific story responses. */
.arrival-story{font-size:15px;line-height:1.8;color:var(--ink);margin:12px 0;padding-left:12px;border-left:2px solid var(--line)}
.journey-panel.journey-finished{display:flex;justify-content:space-between;align-items:center;gap:8px;position:static;font-size:15px}
.journey-finished span{white-space:nowrap}.journey-finished b{font-size:22px;margin:0 3px}
.action-schedule{margin:18px 0;color:var(--ink)}
.action-schedule h3{font-size:16px;line-height:1.6;margin-bottom:10px}
.schedule-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.schedule-list li{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;padding:12px;border-left:3px solid var(--spend);border-radius:4px;background:var(--spend-bg)}
.schedule-list .schedule-wait{background:var(--paper);border-color:var(--muted)}
.schedule-list .schedule-weather{background:var(--speech-bg);border-color:var(--question)}
.schedule-list .schedule-open{background:var(--paper);border-left:3px dashed var(--muted)}
.schedule-date,.schedule-list strong{font-size:15px;font-weight:650;line-height:1.6}
.schedule-list p,.survival-box .schedule-list p{font-size:15px;line-height:1.7;color:var(--ink);margin:4px 0 0}
.food-balance{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:10px 0}
.food-balance span,.food-balance strong{display:block}.food-balance span{font-size:15px}
.food-balance strong{font-size:32px;line-height:1.5}.food-balance small{font-size:15px;font-weight:400;margin-left:5px}
.survival-box p,.preparation-details p{font-size:15px;line-height:1.8}
.survival-verdict{font-weight:650}.survival-box .survival-top{border-top:1px solid var(--line);padding-top:9px;margin-top:12px}
.species-echoes{display:grid;gap:16px;margin:18px 0}.species-echoes article{padding-left:14px;border-left:2px solid var(--line)}
.species-echoes h3{font-size:16px;margin-bottom:6px}.species-echoes p{font-size:15px;line-height:1.85;color:var(--ink)}
.ending-details>p,.result-text>.result-story{font-size:16px;line-height:1.85;color:var(--ink)}
@media(max-width:600px){
  .schedule-list li{grid-template-columns:minmax(0,1fr);gap:3px;padding:10px}
  .schedule-date{color:var(--muted)}
  .journey-panel.journey-finished{flex-wrap:wrap}
  .arrival-story{margin:8px 0;line-height:1.7}
}

/* v0.9.2: actual inventory / negotiation / forecast stay separate. */
[hidden]{display:none!important}
.workbench-shell{max-width:1560px}
.negotiation-workbench{min-height:0;margin-bottom:20px;border:1px solid var(--line);border-radius:12px;background:var(--white);overflow:clip}
.workbench-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr);min-height:0}
.workbench-main{padding:24px 28px;min-width:0;font-size:17px;line-height:1.8}
.stage-banner{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}
.stage-banner>div:first-child{flex:1;min-width:0}.stage-banner h1{font-family:var(--serif);font-size:28px;line-height:1.5;margin:6px 0 0}
.banner-art{width:140px;flex-shrink:0;height:92px;overflow:hidden;border-radius:8px;opacity:.9}
.banner-art .landscape{display:block;width:100%;height:100%}
.workbench-tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 20px}
.workbench-tabs .secondary{padding:9px 14px;font-size:15px}
.workbench-tabs [aria-pressed="true"]{background:var(--green);border-color:var(--green);color:var(--white)}
.workbench-tabs .preview-jump{margin-left:auto;font-size:14px}
.workbench-main .stage-talk{grid-area:auto}.workbench-main .stage-talk h1{margin:0}
.workbench-main .arrival-story,.workbench-main .speech-text{font-size:17px;line-height:1.85}
.workbench-main .stage-offers{margin-top:22px}.workbench-main .offer-heading{display:flex;justify-content:space-between;gap:12px}
.workbench-main .offer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.workbench-main .offer-card{height:100%;padding:16px;align-content:start;gap:9px;border-radius:9px;min-width:0}
.workbench-main .offer-card-heading{align-items:flex-start}.workbench-main .offer-tag{display:none}
.workbench-main .offer-title{font-size:17px;line-height:1.5}.workbench-main .offer-summary{font-size:15px}
.workbench-main .offer-changes{gap:6px}.workbench-main .offer-changes>span{padding:6px}
.workbench-main .offer-changes strong{font-size:19px}.workbench-main .offer-open{margin-top:auto;font-size:14px}
.workbench-main .scene-background .landscape{width:100%;max-height:250px;display:block;border-radius:8px}
.workbench-main .quote-dialogue{margin-top:12px}.workbench-main .quote-dialogue .speech-text{font-size:17px}
#terms-title{font-size:23px;font-family:var(--serif);line-height:1.5}.draft-caption{font-size:15px;color:var(--muted);margin:8px 0}
.base-terms{margin:20px 0;padding:16px;background:var(--paper);border-radius:9px}.base-terms h3{font-size:16px;margin-bottom:12px}
.workbench-main .negotiation-comparison{font-size:16px}.workbench-main .counteroffer>p{font-size:16px}
.preview-rail{min-width:0;background:var(--paper);border-left:1px solid var(--line);padding:24px 22px;font-size:15px;line-height:1.75}
.preview-heading{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:16px}
.preview-heading h2{font-family:var(--serif);font-size:24px;line-height:1.5;margin:5px 0 8px}
.preview-heading>p{font-size:14px;color:var(--muted)}
.preview-empty{padding:22px 4px;color:var(--muted)}.preview-empty>.icon{width:32px;height:32px;color:var(--green);margin-bottom:12px}.preview-empty p+p{margin-top:12px}
.preview-rail .quote-settlement{margin:12px 0;padding:14px}.preview-rail .quote-check{font-size:15px}
.preview-rail .after-values{gap:8px 20px}.preview-rail .inventory-status{margin:12px 0}
.preview-rail .warning-box{margin:14px 0;font-size:15px}.preview-rail .warning-box h3{font-size:16px}
.preview-rail .schedule-list li{grid-template-columns:minmax(0,1fr);gap:3px;padding:10px}
.preview-rail .schedule-date{color:var(--muted)}.preview-rail .survival-box{padding:13px;margin:14px 0}
.preview-rail .food-balance strong{font-size:30px}.preview-rail .state-changes{padding:12px;margin:14px 0}
.preview-rail .quote-causes{font-size:15px}.preview-rail .world-state{padding:12px}
.preview-rail .resource-comparison{font-size:15px}.preview-rail .resource-row{gap:5px}
.stage-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--white);border-top:1px solid var(--line);padding:15px 24px}
.draft-status{min-width:0;font-size:15px;line-height:1.6}.draft-status strong,.draft-status span{display:block}.draft-status span{font-size:13px;color:var(--muted)}
.draft-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.draft-actions button{font-size:15px;min-height:46px}
.final-agreement{font-size:17px;line-height:1.85}.final-agreement p+p{margin-top:12px}.final-agreement strong{color:var(--spend)}
.workbench-main:focus,.preview-rail:focus{outline:none}
@media(min-width:1100px) and (min-height:700px){
  .workbench-shell{height:100dvh;display:flex;flex-direction:column;width:calc(100% - 48px);overflow:hidden}
  .workbench-shell>.topbar{min-height:58px;padding:12px 0;flex-shrink:0}
  .workbench-shell>.journey-panel{position:static;flex-shrink:0;padding:10px 18px}
  .workbench-shell>.journey-nav{margin:12px 0;flex-shrink:0}
  .workbench-shell>.site-footer{display:none}
  .workbench-shell>.save-notice{margin:4px 0;flex-shrink:0}
  .negotiation-workbench{flex:1;display:flex;flex-direction:column;margin-bottom:16px;overflow:hidden}
  .workbench-grid{flex:1;overflow:hidden}.workbench-main,.preview-rail{overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding:12px}
  .stage-actions{flex-shrink:0}.workbench-shell .journey-nav li{font-size:13px}
  .workbench-tabs .preview-jump{display:none}
  .workbench-tabs{position:sticky;top:0;z-index:2;background:var(--white);padding:10px 0}
}
@media(max-width:1099px),(max-height:699px){
  .workbench-grid{grid-template-columns:minmax(0,1fr)}
  .preview-rail{border-left:0;border-top:1px solid var(--line)}
  .stage-actions{position:sticky;bottom:0;z-index:6;box-shadow:0 -6px 18px #263f3612}
  .negotiation-workbench{overflow:visible}
}
@media(max-width:600px){
  .workbench-shell{width:calc(100% - 24px)}
  .workbench-main,.preview-rail{padding:16px 14px}
  .stage-banner{padding-bottom:12px;margin-bottom:12px}.stage-banner h1{font-size:22px}.stage-banner .eyebrow{font-size:12px}
  .banner-art{display:none}.workbench-main .arrival-story,.workbench-main .speech-text{font-size:15px}
  .workbench-tabs{gap:6px;margin-bottom:14px}.workbench-tabs .secondary{padding:8px 10px;font-size:14px}
  .workbench-tabs .preview-jump{width:100%;margin:0;justify-content:flex-start}
  .workbench-main .offer-list{grid-template-columns:1fr}.workbench-main .offer-heading{align-items:baseline}
  .workbench-main .offer-heading>span{font-size:12px}.workbench-main .quote-dialogue .speech-text{font-size:15px}
  .workbench-main .negotiation-comparison{font-size:15px}.workbench-main .counteroffer>p{font-size:15px}
  .stage-actions{flex-wrap:wrap;gap:8px;padding:10px 12px}.draft-status{width:100%;font-size:13px}
  .draft-status strong{overflow-wrap:anywhere}.draft-status span{font-size:12px}
  .draft-actions{width:100%;gap:8px}.draft-actions .primary{flex:1}.draft-actions button{font-size:14px;padding:10px 12px}
  .preview-heading h2{font-size:22px}#terms-title{font-size:22px}
}

/* v0.9.3: area identifies purpose; color and labels identify consequences. */
:root{--status-bg:#244638;--status-text:#fffef8;--status-muted:#dce8df;--talk-bg:#fff9ee;--preview-bg:#e4eaf0;--actions-bg:#ece1cd;--partition-line:#a9b9b5}
.journey-panel:not(.journey-finished){background:var(--status-bg);color:var(--status-text);border-color:var(--status-bg)}
.journey-panel:not(.journey-finished) .goal-title,.journey-panel:not(.journey-finished) .status-heading>strong,.journey-panel:not(.journey-finished) .resource strong{color:var(--status-text)}
.journey-panel:not(.journey-finished) .status-heading,.journey-panel:not(.journey-finished) .resource-label,.journey-panel:not(.journey-finished) .resource small,.journey-panel:not(.journey-finished) .resource-meta{color:var(--status-muted)}
.journey-panel:not(.journey-finished) .status-heading{border-color:#658174}
.journey-panel .status-heading .delta-danger{color:var(--danger);background:var(--danger-bg);padding:0 5px;border-radius:3px}
.workbench-main,.workbench-tabs{background:var(--talk-bg)}
.preview-rail{background:var(--preview-bg);border-color:var(--partition-line)}
.preview-heading{border-color:var(--partition-line);padding-bottom:12px;margin-bottom:12px}
.preview-heading .eyebrow{font-weight:700;color:var(--question)}
.preview-rail .quote-settlement,.preview-rail .survival-box,.preview-rail .state-changes,.preview-rail .continuation-plans{background:var(--white);border:1px solid var(--partition-line);border-radius:8px}
.preview-rail .quote-check{color:var(--ink);padding:10px 12px;background:var(--white);border:1px solid var(--partition-line);border-radius:8px}
.preview-rail .quote-check strong{color:var(--ink)}
.preview-verdict{padding:12px 14px;border:1px solid;border-left-width:4px;border-radius:8px;margin:0 0 12px;line-height:1.65}
.preview-verdict .survival-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 5px}
.preview-verdict .survival-top>span{font-size:16px;font-weight:700}
.preview-verdict .survival-top strong{font-size:36px;line-height:1.25;color:inherit}
.preview-verdict .survival-top small{font-size:15px;margin-left:5px}
.preview-verdict .survival-verdict{font-weight:700}.preview-verdict p+p{margin-top:5px}
.preview-content>.warning-box:first-child{margin-top:0}
.stage-actions{background:var(--actions-bg);border-top:2px solid var(--partition-line)}
.stage-actions .secondary{background:var(--talk-bg);border-color:#a7987c}
.dialogue-bubble .speech-label,.dialogue-question .speech-label,.negotiation-entry .speech-label{font-size:15px;font-weight:700}
.state-spend{color:var(--spend);background:var(--spend-bg);border-color:var(--spend)}
.state-neutral{color:var(--muted);background:var(--paper);border-color:#969e98}
.negotiation-comparison td{background:transparent;color:var(--ink)}
.negotiation-comparison td.term-changed{background:var(--spend-bg);color:var(--ink);border-left:3px solid var(--spend)}
.change-label{display:block;font-size:12px;font-weight:700;line-height:1.5;color:var(--spend);margin-bottom:4px}
.negotiation-comparison .term-note{margin-top:5px;font-size:13px;color:var(--spend)}

/* v0.9.4: original scene plates + shared atlas retain the cast's identity. */
.fable-scene{position:relative;display:block;isolation:isolate;width:100%;height:auto;aspect-ratio:2/1;overflow:hidden;background:#e7dcc6;border-radius:12px}
.fable-backdrop{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:0}
.fable-character{display:block;aspect-ratio:1;width:150px;background-image:url('assets/forest-fable/cast.png');background-size:200% 200%;background-repeat:no-repeat}
.character-elephant{background-position:0 0}.character-beaver{background-position:100% 0}.character-wolf{background-position:0 100%}.character-deer{background-position:100% 100%}
.scene-leader,.scene-partner,.scene-neighbor{position:absolute;z-index:2;bottom:7%;filter:drop-shadow(0 5px 3px #34271835)}
.scene-leader{left:10%;width:39%}.scene-partner{right:12%;width:31%}.scene-beaver .scene-partner{width:25%;bottom:7%}.scene-deer .scene-partner{width:34%}
.scene-cover .scene-leader,.scene-memory .scene-leader{left:28%;width:44%}.scene-memory{filter:saturate(.65)}
.scene-ending .scene-leader{left:12%;width:32%;bottom:4%}.scene-neighbor{right:12%;width:27%;bottom:4%}
.scene-caption{position:absolute;z-index:3;left:12px;bottom:10px;max-width:calc(100% - 24px);padding:4px 9px;background:#fff9eef5;color:var(--ink);border-radius:4px;font-size:12px;line-height:1.5;font-weight:600}
.fable-shelter{position:absolute;z-index:1;right:14%;top:14%;height:65%;background-image:url('assets/forest-fable/shelters.png');background-repeat:no-repeat}
.shelter-joint{aspect-ratio:1.16;background-size:172.414% 100%;background-position:left center}
.shelter-independent{aspect-ratio:.72;background-size:277.778% 100%;background-position:right center;right:22%}
.character-portrait{position:absolute;width:72px;height:72px;left:7px;top:8px;overflow:hidden;border-radius:50%;background:#f4ead5;border:1px solid #cdbf9f}
.character-portrait .fable-character{width:94px;position:absolute;left:-11px;top:-10px}
.dialogue-bubble.with-portrait{position:relative;padding-left:90px;min-height:92px}
.story-panel{border:1px solid #cdbb98;border-radius:12px;overflow:hidden;background:var(--talk-bg)}
.story-illustration .fable-scene{height:200px;aspect-ratio:auto;border-radius:0}
.story-illustration .fable-backdrop{object-position:center 60%}
.story-illustration .scene-leader{width:185px;left:12%;bottom:2%}.story-illustration .scene-partner{width:158px;right:14%;bottom:3%}.story-illustration .scene-beaver .scene-partner{width:135px}
.story-illustration .scene-caption{top:10px;bottom:auto;font-size:12px}
.story-dialogue .dialogue-bubble{margin:0;border-radius:0;border-width:0 0 0 3px;padding-top:10px;padding-bottom:10px;background:#eef5fc}
.story-dialogue .speech-self{background:var(--mentor-bg)}
.story-dialogue .speech-text{font-size:16px;line-height:1.7}
.question-drawer{padding:10px 14px;border-top:1px solid #d8c9aa;font-size:14px;color:var(--question)}
.question-drawer summary{cursor:pointer;min-height:28px;line-height:28px;font-weight:600}
.question-drawer summary span{margin-left:12px;font-weight:400;font-size:12px;color:var(--muted)}
.question-drawer .questions{margin:8px 0 2px}.question-drawer .question-button{font-size:14px;min-height:40px}
.workbench-main .stage-banner{margin-bottom:0;padding-bottom:8px}.workbench-main .stage-banner h1{font-size:25px}
.workbench-main .workbench-tabs{margin-bottom:12px;padding:8px 0}.workbench-main .stage-talk{margin:0 0 18px}
.workbench-main .offer-heading{margin-bottom:12px}.workbench-main .offer-heading>span{font-size:12px}
.intent-card{position:relative;padding:14px 16px;gap:7px;border-radius:10px;background:#fffef9}
.intent-card .offer-card-heading{gap:10px}.intent-card .offer-symbol{width:32px;height:32px;flex:0 0 32px}.intent-card .offer-title{font-size:18px}
.intent-card .offer-summary{font-size:14px;line-height:1.6;margin-top:4px}.intent-card .negotiable-hint{font-size:12px;display:inline-block;width:fit-content;padding:1px 6px;background:#edf3e8;border-radius:4px;margin-top:4px;color:var(--green)}
.intent-card .offer-open{font-size:12px;margin-top:6px}.intent-card .route-warning{font-size:13px;line-height:1.5;margin-top:7px;padding:7px 9px}.intent-card .route-warning strong{font-size:13px}
.intent-card .availability{font-size:13px}.workbench-main .offer-list{align-items:start;gap:12px}
.intro-art .art-mat{padding:0;overflow:hidden;transform:rotate(1deg);border:7px solid #fffaf0;box-shadow:0 12px 35px #473b2820;border-radius:10px}
.intro-art .fable-scene{aspect-ratio:1.3;height:auto;border-radius:4px}.intro-art .fable-backdrop{object-fit:cover;object-position:35% center}.intro-art .scene-leader{width:72%;left:10%;bottom:12%}
.result-art .fable-scene,.ending-art .fable-scene{height:auto;aspect-ratio:1.35}.result-art .scene-leader{bottom:12%;width:46%;left:4%}.result-art .scene-partner{bottom:13%;right:4%;width:40%}
.practice-art .fable-scene{height:200px;aspect-ratio:auto}.practice-art .scene-leader{height:200px;width:200px;left:calc(50% - 100px);bottom:0}
.awaiting-choice .workbench-grid{grid-template-columns:minmax(0,1fr)}
.awaiting-choice .preview-rail,.awaiting-choice .stage-actions,.awaiting-choice .workbench-tabs{display:none}
.workbench-main .intent-card{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;height:auto;padding:12px 14px;gap:0}
.scene-caption{right:auto;width:fit-content;background:var(--talk-bg)}
@media(min-width:1100px) and (min-height:700px){
 .awaiting-choice #talk-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 26px;align-items:start}
 .awaiting-choice .stage-talk{grid-column:1;grid-row:1;margin-bottom:0}
 .awaiting-choice .stage-offers{grid-column:2;grid-row:1 / span 2;margin-top:0}
 .awaiting-choice .scene-background{grid-column:1;grid-row:2;margin:0}
 .awaiting-choice .offer-heading{margin-top:0}.awaiting-choice .stage-banner{margin-bottom:14px}
}
@media(min-width:1100px) and (min-height:700px){.story-illustration .fable-scene{height:175px}.story-illustration .scene-leader{width:164px}.story-illustration .scene-partner{width:142px}.story-illustration .scene-beaver .scene-partner{width:116px}}
@media(min-width:1100px) and (min-height:750px){.awaiting-choice .story-illustration .fable-scene{height:220px}.awaiting-choice .story-illustration .scene-leader{width:205px}.awaiting-choice .story-illustration .scene-partner{width:178px}.awaiting-choice .story-illustration .scene-beaver .scene-partner{width:145px}}
@media(max-width:600px){
 .workbench-main .stage-banner h1{font-size:21px}.story-illustration .fable-scene{height:150px}.story-illustration .scene-leader{width:136px;left:4%;bottom:0}.story-illustration .scene-partner{width:116px;right:5%;bottom:0}.story-illustration .scene-beaver .scene-partner{width:102px}
 .story-illustration .scene-caption{font-size:11px;left:8px;top:8px;max-width:calc(100% - 16px)}
 .story-dialogue .dialogue-bubble{padding:10px 12px}.story-dialogue .character-portrait{display:none}.story-dialogue .speech-text{font-size:15px}.story-dialogue .with-portrait{min-height:0}
 .question-drawer{padding:7px 10px}.question-drawer summary{font-size:13px}.question-drawer summary span{display:none}
 .workbench-main .offer-heading{display:block}.workbench-main .offer-heading h2{margin:0 0 3px;font-size:20px}.intent-card{padding:12px 14px}.intent-card .offer-title{font-size:17px}.intent-card .offer-summary{font-size:14px}
 .workbench-main .stage-talk{margin-bottom:16px}.intro-art .fable-scene{aspect-ratio:1.7}.intro-art .scene-leader{width:48%;left:25%;bottom:5%}
 .result-layout{display:flex;flex-direction:column}.result-layout .result-art{order:-1}.result-art .fable-scene,.ending-art .fable-scene{aspect-ratio:1.8}
 .dialogue-bubble.with-portrait:not(.story-dialogue *){padding-left:74px}.character-portrait{width:54px;height:54px}.character-portrait .fable-character{width:76px}
}

/* v0.9.5: beaver-only scene pilot. Composite images already contain both animals. */
.beaver-shell{width:calc(100% - 32px);max-width:1640px}
.beaver-shell>.topbar{min-height:44px;padding:6px 0}
.beaver-shell .brand-seal{width:29px;height:30px;border-radius:5px 10px 5px 10px}
.beaver-shell .brand-title{font-size:21px}.beaver-shell .brand-caption{display:none}
.beaver-shell>.journey-panel{padding:8px 16px;column-gap:18px}
.beaver-shell .goal-title{font-size:12px;margin-bottom:0}
.beaver-shell .goal-condition{font-size:13px}.beaver-shell .resource strong{font-size:23px}
.beaver-shell>.journey-nav{margin:9px 0;max-width:none}
.beaver-shell>.site-footer{font-size:11px;padding:12px 0}
.beaver-workbench{border-color:#bcab89;border-radius:10px}
.beaver-scene-view .workbench-grid{grid-template-columns:minmax(0,1fr)}
.beaver-scene-view .workbench-main{padding:0;scrollbar-gutter:auto}
.beaver-scene-view #talk-panel{display:block}
.beaver-scene-view .stage-actions{display:none}
.beaver-stage-scene{position:relative;background:#e6d6b9}
.beaver-scene{position:relative;isolation:isolate;width:100%;aspect-ratio:1672/941;overflow:hidden;border-radius:0;background:#e6d6b9}
.beaver-scene>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 70%}
.beaver-stage-scene .beaver-scene{height:clamp(470px,calc(100dvh - 290px),790px);aspect-ratio:auto}
.beaver-scene .scene-caption{left:18px;bottom:14px;background:#fff9eef5;font-weight:500}
.beaver-arrival{position:absolute;top:20px;left:24px;padding:13px 20px;border-left:3px solid #b48243;background:#fff9eef2;box-shadow:0 4px 20px #30251016;border-radius:0 5px 5px 0}
.beaver-arrival h1{font-family:var(--serif);font-size:32px;letter-spacing:4px;line-height:1.5;margin:3px 0}
.beaver-arrival>p:last-child{font-size:14px;color:var(--muted)}
.beaver-choices{position:absolute;top:18px;right:18px;width:285px;padding:15px;background:#fff9eef5;border:1px solid #bcab89;border-radius:8px;box-shadow:0 8px 24px #35271220}
.workbench-main .beaver-choices{margin-top:0}
.workbench-main .beaver-choices .offer-heading{display:block;margin:0 0 10px}
.beaver-choices .offer-heading h2{font-size:18px;margin:0;line-height:1.5}
.beaver-choices .offer-heading>span{font-size:12px}
.workbench-main .beaver-choices .offer-list{grid-template-columns:minmax(0,1fr);gap:7px}
.workbench-main .beaver-choices .intent-card{padding:9px 11px;border-radius:5px;position:relative}
.beaver-choices .offer-symbol,.beaver-choices .offer-open{display:none}
.beaver-choices .offer-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}
.beaver-choices .offer-title-line{flex:1;min-width:0;padding-right:35px}
.beaver-choices .offer-title{font-size:16px;line-height:1.4}
.beaver-choices .offer-summary{font-size:13px;line-height:1.5;margin:3px 0 0}
.beaver-choices .negotiable-hint{position:absolute;right:31px;top:9px;margin:0;font-size:11px}
.beaver-choices .route-warning{margin-top:5px;padding:4px 6px}
.beaver-choices .route-warning strong{font-size:12px}
.beaver-choices .offer-arrow{width:16px;height:18px}
.beaver-conversation .resume-draft{grid-column:1/-1;margin:0 14px 12px;font-size:13px;white-space:normal;min-height:40px}
.beaver-conversation{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:0;background:var(--talk-bg);border-top:1px solid #bcab89}
.beaver-conversation .story-dialogue{align-self:center}
.beaver-conversation .dialogue-bubble{padding:12px 22px;border-left:0;background:transparent;font-size:16px;margin:0;min-height:0}
.beaver-conversation .speech-label{font-size:13px;color:var(--question);margin-bottom:3px}
.beaver-conversation .speech-text{font-size:16px;line-height:1.7}
.beaver-conversation .question-drawer{border-top:0;border-left:1px solid #d8c9aa;padding:12px 14px;align-self:stretch}
.beaver-conversation .questions{display:grid;grid-template-columns:1fr;gap:6px;margin:7px 0 0}
.beaver-conversation .question-button{padding:6px 10px;font-size:13px;min-height:36px}
.beaver-reference{padding:0 22px;margin:0;border-top:1px solid #d8c9aa}
.beaver-reference>summary{font-size:13px;padding:8px 0}.beaver-reference>p{font-size:14px;margin:10px 0}
.beaver-reference>.secondary{margin-bottom:15px}
.beaver-quote-heading{display:flex;align-items:center;gap:16px;padding-bottom:15px;border-bottom:1px solid var(--line);margin-bottom:16px}
.beaver-quote-thumb{width:145px;flex-shrink:0;border-radius:6px;overflow:hidden}
.beaver-quote-thumb .beaver-scene{height:auto;aspect-ratio:1672/941}.beaver-quote-thumb .scene-caption{display:none}
.beaver-quote-heading h1{font-size:23px;font-family:var(--serif);line-height:1.5;margin:4px 0}
.beaver-quote-heading .text-button{font-size:13px;white-space:normal}.beaver-quote-heading .text-button .icon{transform:rotate(180deg)}
.beaver-quote-view .workbench-main{padding:18px 24px}.beaver-quote-view .preview-rail{padding:18px 22px}
.beaver-quote-view .preview-jump{margin:12px 0}
.beaver-result{border:1px solid #bcab89;border-radius:10px;overflow:hidden;background:var(--talk-bg);margin-bottom:20px}
.beaver-result-scene{position:relative}.beaver-result-scene .beaver-scene{height:clamp(300px,44dvh,560px);aspect-ratio:auto}
.beaver-result-title{position:absolute;top:20px;left:24px;max-width:calc(100% - 48px);background:#fff9eef5;padding:14px 20px;border-left:3px solid #b48243}
.beaver-result-title h1{font-family:var(--serif);font-size:27px;line-height:1.5;margin-top:5px}
.beaver-result-body{display:grid;grid-template-columns:1.05fr 1fr;gap:0}
.beaver-result-story{padding:24px 28px}.beaver-result-story>.result-story{font-size:16px;line-height:1.9}
.beaver-result-story>.primary{margin-top:18px}.beaver-result-account{padding:16px 24px;background:#edf1f1;border-left:1px solid var(--partition-line)}
.beaver-result-account .quote-settlement{margin-top:0}
@media(min-width:1100px) and (min-height:700px){
 .beaver-shell.workbench-shell>.topbar{min-height:44px;padding:6px 0}
 .beaver-shell.workbench-shell>.journey-panel{padding:7px 16px}
 .beaver-shell.workbench-shell>.journey-nav{margin:8px 0}
 .beaver-shell .negotiation-workbench{margin-bottom:10px}
 .beaver-quote-view .preview-jump{display:none}
}
@media(max-width:1099px),(max-height:699px){
 .beaver-stage-scene .beaver-scene{height:auto;aspect-ratio:1672/941}
 .beaver-scene-view #talk-panel{display:flex;flex-direction:column}
 .beaver-stage-scene{display:contents}.beaver-stage-scene>.beaver-scene{order:1}
 .beaver-stage-scene>.beaver-arrival{position:static;order:0;margin:0;box-shadow:none}
 .beaver-conversation{order:2}.beaver-choices{order:3}.beaver-reference{order:4}
 .beaver-choices{position:static;width:auto;margin:0;border:0;border-radius:0;box-shadow:none;padding:16px 20px}
 .workbench-main .beaver-choices .offer-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .beaver-arrival{top:12px;left:16px;padding:9px 14px}.beaver-arrival h1{font-size:25px}
 .beaver-conversation{grid-template-columns:1fr}.beaver-conversation .question-drawer{border-left:0;border-top:1px solid #d8c9aa;padding:8px 20px}
 .beaver-conversation .questions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .beaver-shell{width:calc(100% - 20px)}.beaver-shell>.topbar{min-height:45px}
 .beaver-shell>.journey-panel{padding:8px 6px}.beaver-shell .resource strong{font-size:21px}
 .beaver-shell .journey-goal{font-size:12px}.beaver-shell .goal-condition{font-size:12px}
 .beaver-shell .journey-nav li{font-size:11px}
 .beaver-arrival{position:static;padding:10px 15px;box-shadow:none;border-left:0;border-bottom:1px solid #d8c9aa}
 .beaver-arrival .eyebrow{font-size:10px}.beaver-arrival h1{font-size:23px;letter-spacing:2px;margin:1px 0}
 .beaver-arrival>p:last-child{font-size:13px}.beaver-stage-scene{display:flex;flex-direction:column}
 .beaver-arrival{order:-1}.beaver-scene .scene-caption{left:8px;bottom:8px;font-size:11px;padding:2px 6px}
 .beaver-choices{padding:14px}.workbench-main .beaver-choices .offer-list{grid-template-columns:1fr;gap:8px}
 .beaver-conversation .dialogue-bubble{padding:13px 15px}.beaver-conversation .speech-text{font-size:15px}
 .beaver-conversation .question-drawer{padding:8px 15px}.beaver-conversation .questions{grid-template-columns:1fr}
 .beaver-reference{padding:0 15px}.beaver-quote-heading{gap:10px;margin-bottom:12px;padding-bottom:12px}
 .beaver-quote-thumb{width:82px}.beaver-quote-heading h1{font-size:19px}.beaver-quote-heading .eyebrow{font-size:10px;letter-spacing:0}
 .beaver-quote-heading .eyebrow:before{display:none}.beaver-quote-view .workbench-main,.beaver-quote-view .preview-rail{padding:16px 14px}
 .beaver-result-scene{display:flex;flex-direction:column}.beaver-result-scene .beaver-scene{height:auto;aspect-ratio:1672/941}
 .beaver-result-title{position:static;order:-1;max-width:none;padding:13px 15px;border-left:0;border-bottom:1px solid #d8c9aa}
 .beaver-result-title h1{font-size:22px}.beaver-result-body{grid-template-columns:1fr}
 .beaver-result-story,.beaver-result-account{padding:17px 15px}.beaver-result-account{border-left:0;border-top:1px solid var(--partition-line)}
}
