
:root{--paper:#f5f3ed;--card:#fffef9;--ink:#253d34;--muted:#7b8176;--line:#e2e5d9;--green:#254c3b;--orange:#c36d3e;--soft:#e9eee2;--red:#a54b3e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:8px;padding:11px 17px;background:var(--green);color:white;font-weight:600;transition:background .18s,transform .18s}button:hover{background:#38654e}button:active{transform:translateY(1px)}button:disabled{opacity:.42;cursor:not-allowed;transform:none}button:focus-visible,a:focus-visible{outline:3px solid #c1813e;outline-offset:3px}button.soft{background:var(--soft);color:var(--green)}button.ghost{background:transparent;color:var(--muted);padding:8px}button.ghost:hover{background:var(--soft)}button.orange{background:var(--orange)}button.danger{background:#a54b3e}.shell{display:grid;grid-template-columns:224px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#f9f9f2;border-right:1px solid var(--line);padding:33px 20px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;font-family:Georgia,serif;font-size:21px;line-height:1.15}.brand small{font:10px 'Segoe UI',sans-serif;letter-spacing:2px;text-transform:uppercase;display:block;margin-top:7px;color:var(--muted)}.brand-mark{width:40px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--green);color:#f3e5ba;font-size:26px}.side-label,.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted)}.side-label{margin:42px 14px 12px}.nav{display:grid;gap:6px}.nav button{display:flex;text-align:left;align-items:center;gap:13px;background:transparent;color:#738074;padding:12px 14px;font-size:13px}.nav button.active{background:#e5ecde;color:#244b37}.nav svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6}.chapters{margin:13px 14px;display:grid;gap:16px}.chapter{font-size:12px;color:#99a090;display:flex;gap:11px}.chapter b{border:1px solid var(--line);border-radius:50%;font-size:10px;width:24px;height:24px;display:grid;place-items:center}.chapter.current{color:var(--green)}.chapter.current b{background:var(--green);color:white}.sidebar-foot{margin-top:auto;padding:20px 12px 0;color:var(--muted);font-size:11px}.sidebar-foot span{display:block;margin-top:7px}.main{padding:29px 36px 32px;max-width:1550px;width:100%;margin:auto}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px}.breadcrumb{font-size:12px;color:var(--muted)}.top-right{display:flex;gap:17px;align-items:center}.saved{font-size:11px;color:#71816b}.saved:before{content:'●';font-size:8px;color:#698a57;margin-right:6px}.avatar{display:flex;align-items:center;gap:8px;background:#e8ecdf;color:var(--green);font-size:12px}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:24px}h1{font-family:Georgia,'Times New Roman',serif;font-size:36px;line-height:1.2;font-weight:400;margin:7px 0}p{margin:0;color:var(--muted)}.pagehead p{font-size:13px}.date{font-size:12px;background:#fffef8;border:1px solid var(--line);padding:9px 14px;border-radius:30px;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:23px}.stat{padding:18px 19px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.stat-label{font-size:11px;color:var(--muted);display:flex;justify-content:space-between}.stat strong{display:block;font-size:25px;letter-spacing:-.8px;font-weight:600;margin:5px 0}.stat small{font-size:10px;color:var(--muted)}.positive{color:#518354!important}.negative{color:var(--red)!important}.columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:22px;align-items:start}.panel{background:var(--card);border:1px solid var(--line);border-radius:13px;overflow:hidden;margin-bottom:20px}.panel-pad{padding:22px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.panel-title h2{font-size:15px;font-weight:600;margin:0}.panel-title small{font-size:11px;color:var(--muted)}.scene{position:relative;background:#dfe4d5}.scene img{display:block;width:100%;height:280px;object-fit:cover}.scene-badge{position:absolute;top:17px;left:17px;padding:6px 11px;background:#fffcf0e8;border-radius:20px;font-size:10px;color:#36523e}.scene-label{display:flex;justify-content:space-between;gap:12px;padding:16px 20px;align-items:center}.scene-label strong{display:block;font-family:Georgia,serif;font-size:20px;font-weight:400}.scene-label small{font-size:11px;color:var(--muted)}.pill{font-size:10px;color:#57704e;background:#edf1e4;padding:5px 9px;border-radius:20px;white-space:nowrap}.story{background:#f0f1e7;border-color:#dce2cf}.story .eyebrow{color:#83936c}.story h2{font-family:Georgia,serif;font-weight:400;font-size:27px;line-height:1.2;margin:15px 0}.story p{font-size:13px;color:#68755f;line-height:1.7}.choices{display:grid;gap:9px;margin-top:21px}.choice{text-align:left;background:#fffef8;border:1px solid #d8dfca;color:var(--ink);padding:13px 14px}.choice:hover{background:#e2e9d6}.choice span{display:block;font-size:12px}.choice small{display:block;font-weight:400;color:#7b8272;margin-top:4px;font-size:10px}.story-footer{font-size:10px;margin-top:17px;color:#8a917f}.row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:16px 0}.row label,.row>span{font-size:12px}.row small{display:block;color:var(--muted);font-size:10px}.row strong{font-size:13px}.meter{height:5px;border-radius:5px;background:#eceee3;overflow:hidden;margin-top:8px}.meter i{height:100%;display:block;background:#8a9e6f;border-radius:5px}.metric-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}.controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.controls button{font-size:11px;padding:8px 11px}input,select{background:#fffef9;color:var(--ink);border:1px solid #d4dccb;border-radius:7px;padding:9px 11px;max-width:100%;outline-color:#91a679}input[type=range]{accent-color:var(--green);padding:0;width:100%}label{display:block}.field{margin-bottom:17px}.field>label{font-size:12px;margin-bottom:7px}.field input:not([type=range]){width:100%}.field select{width:100%}.field small{font-size:11px;color:var(--muted)}.turn{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:19px 21px;background:#e8eddf;border:1px solid #d7e0c8;border-radius:12px;margin-top:3px}.turn strong{display:block;font-size:13px}.turn small{display:block;font-size:10px;color:#7d8970}.turn .controls{flex-wrap:nowrap}.turn button{white-space:nowrap}.hint{padding:11px 14px;font-size:12px;border-radius:8px;background:#f7e9d6;color:#9b652f;margin:12px 0}.help{font-size:11px;color:var(--muted);line-height:1.7}.chart{display:flex;align-items:end;height:130px;gap:5px;padding-top:15px}.bar{flex:1;min-width:3px;border-radius:4px 4px 0 0;background:#9baa84;position:relative}.bar:hover{background:#52734e}.chart-label{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:8px}.ledger{width:100%;border-collapse:collapse;font-size:12px}.ledger th{text-align:left;color:var(--muted);font-size:10px;font-weight:500;padding:12px 8px;border-bottom:1px solid var(--line)}.ledger td{padding:12px 8px;border-bottom:1px solid var(--line)}.scroll-table{overflow-x:auto}.cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.upgrade h3{font:24px Georgia,serif;margin:14px 0 8px}.upgrade p{font-size:12px;min-height:42px}.upgrade .price{font-weight:600;margin:20px 0 12px;display:block}.upgrade button{width:100%}.icon-tile{width:42px;height:42px;background:#e8eddf;border-radius:12px;display:grid;place-items:center;font-size:23px}.journal-item{display:grid;grid-template-columns:65px 1fr;gap:15px;padding:19px 0;border-bottom:1px solid var(--line)}.journal-item>span{color:var(--muted);font-size:11px}.journal-item h3{font-size:14px;margin:0 0 5px}.journal-item p{font-size:12px}.empty{padding:35px 15px;text-align:center;color:var(--muted);font-size:13px}.welcome{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#f6f2e8}.welcome-art{background:#dfe5d6;display:flex;flex-direction:column;justify-content:center;padding:48px}.welcome-art img{width:100%;border-radius:18px}.welcome-art blockquote{font:28px/1.4 Georgia,serif;margin:30px 12px}.welcome-body{padding:60px;align-self:center;max-width:650px}.welcome h1{font-size:52px;line-height:1.1;margin:26px 0}.welcome p{font-size:15px;line-height:1.8;margin-bottom:25px}.welcome .start{display:block;width:100%;margin:25px 0 10px;padding:16px}.welcome .small{font-size:11px}.welcome .brand{margin-bottom:50px}.welcome .steps{display:flex;gap:14px;font-size:11px;color:#879177;margin:25px 0}.loading{height:100vh;display:grid;place-content:center;text-align:center;font:34px Georgia;color:var(--green)}.loading span{font:13px 'Segoe UI',sans-serif;margin-top:15px}dialog{border:1px solid var(--line);border-radius:17px;background:var(--card);color:var(--ink);max-width:440px;width:calc(100% - 30px);padding:30px}dialog::backdrop{background:#182f2590;backdrop-filter:blur(4px)}dialog h2{font:28px Georgia;margin:0 0 10px}dialog p{font-size:12px;margin-bottom:20px}dialog .close{float:right;padding:3px 8px;font-size:20px}dialog button[type=submit]{width:100%}.error{font-size:12px;color:var(--red);margin:10px 0}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:12px 22px;border-radius:10px;max-width:90%;background:#243e32;color:#fff;box-shadow:0 8px 35px #203d3225;opacity:0;pointer-events:none;transition:.2s;z-index:10;font-size:13px}#toast.show{opacity:1;transform:translate(-50%,0)}.end{background:#e9eddf;text-align:center;padding:35px}.end h2{font:32px Georgia;margin:10px}.end p{font-size:13px;margin-bottom:18px}.footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#9a9f91;margin-top:25px}.busy{pointer-events:none;opacity:.8}@media(min-width:1550px){.scene img{height:350px}}@media(max-width:1150px){.sidebar{padding:25px 12px}.shell{grid-template-columns:190px 1fr}.main{padding:25px}.columns{grid-template-columns:1fr}.scene img{height:330px}.right-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.story{grid-column:1/-1}.stats{gap:10px}.stat{padding:15px}.stat strong{font-size:22px}}@media(max-width:760px){.shell{display:block}.sidebar{position:static;height:auto;padding:15px 18px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:19px}.brand small{font-size:8px}.brand-mark{width:34px;height:36px}.side-label,.chapters,.sidebar-foot{display:none}.nav{display:flex;margin-top:18px;gap:5px;justify-content:space-between}.nav button{font-size:11px;padding:9px 10px;gap:6px}.nav svg{width:15px}.main{padding:20px 16px}.top{margin-bottom:20px}.top-right{gap:5px}.saved{display:none}.pagehead{align-items:flex-start}.pagehead h1{font-size:30px}.pagehead p{font-size:12px}.eyebrow{font-size:9px}.date{font-size:10px;padding:7px 10px;margin-top:6px}.stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.stat strong{font-size:24px}.stat-label{font-size:11px}.columns{gap:0}.scene img{height:240px}.right-col{display:block}.panel-pad{padding:20px}.turn{padding:16px;flex-wrap:wrap}.turn .controls{width:100%}.turn button{flex:1}.cards{grid-template-columns:1fr}.welcome{grid-template-columns:1fr}.welcome-body{padding:30px;grid-row:1}.welcome .brand{margin-bottom:30px}.welcome h1{font-size:42px}.welcome-art{padding:25px}.welcome-art blockquote{font-size:23px}.welcome .steps{flex-wrap:wrap}.footer{flex-direction:column;gap:5px}.metric-pair{gap:16px}.breadcrumb{font-size:10px}.scene-label strong{font-size:19px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

@media(max-width:760px){.nav{gap:3px}.nav button{flex:1;min-width:0;padding:9px 5px;justify-content:center}.overview-layout{display:flex;flex-direction:column}.overview-layout>.left-col,.overview-layout>.right-col{display:contents}.overview-layout .panel{width:100%}.overview-layout .story,.overview-layout .end{order:-1}}
