:root{--ink:#f4f0e7;--muted:#a7aca2;--soft:#d9d2c2;--green:#b6d783;--green-deep:#173d35;--line:rgba(237,229,207,.15);--panel:rgba(24,43,38,.92);--panel-deep:#102821;--orange:#efa363;--red:#ef8773;--shadow:0 26px 80px rgba(0,0,0,.3);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html{background:#10251f;scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink);background:radial-gradient(circle at 75% 0,#234f43 0,#10251f 39%,#0c1a17 100%);min-height:100vh}button,a{font:inherit}button{cursor:pointer}.site-header{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:28px 0;display:flex;justify-content:space-between;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-size:14px;font-weight:760;letter-spacing:.05em}.brand small{display:block;color:#91a096;font-size:10px;font-weight:500;letter-spacing:.05em;margin-top:4px}.brand-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:var(--green);color:var(--green-deep);font-family:serif;font-size:17px;box-shadow:0 0 0 5px rgba(182,215,131,.08)}nav{display:flex;align-items:center;gap:8px}.nav-button,.text-button{border:0;background:none;color:#9eaaa1;font-size:12px;padding:8px 10px}.nav-button:hover,.text-button:hover{color:var(--green)}.nav-button span{color:#65766d;margin-left:4px}.site-footer{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:28px 0 34px;display:flex;justify-content:space-between;gap:20px;color:#72847b;font-size:10px;letter-spacing:.03em}.site-footer a{color:#8ba99a;text-decoration:none}.site-footer a:hover{color:var(--green)}#app{min-height:calc(100vh - 115px)}.eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#a5c47c}.intro-fallback,.no-script{max-width:600px;margin:100px auto;padding:30px;color:var(--soft)}

/* shared illustrated storefront */
.scene-art{position:relative;isolation:isolate;overflow:hidden;min-height:390px;border:1px solid rgba(225,222,191,.18);background:#213b35;border-radius:18px;box-shadow:var(--shadow)}.art-sky{position:absolute;inset:0 0 36% 0;background:linear-gradient(180deg,#203a44 0%,#3c5f5a 80%)}.morning .art-sky{background:linear-gradient(180deg,#9eb1a3,#5b7e6c)}.warm .art-sky{background:linear-gradient(180deg,#5d6970,#465b55)}.night .art-sky{background:linear-gradient(180deg,#172934,#253f45)}.art-moon{position:absolute;right:13%;top:12%;width:42px;height:42px;border-radius:50%;background:#e8dfbd;box-shadow:0 0 45px rgba(238,227,182,.25)}.morning .art-moon{background:#f1c978;box-shadow:0 0 60px rgba(241,201,120,.45)}.art-cloud{position:absolute;width:140px;height:36px;border-radius:80px;background:rgba(211,224,203,.12)}.cloud-a{top:22%;left:-3%}.cloud-b{top:36%;right:-13%;transform:scale(.7)}.art-road{position:absolute;z-index:-1;bottom:0;left:0;right:0;height:39%;background:linear-gradient(180deg,#243e3b,#182d29)}.art-road:after{content:"";position:absolute;left:0;right:0;bottom:14%;height:1px;background:rgba(203,211,171,.18);box-shadow:0 35px 0 rgba(203,211,171,.08)}.store-building{position:absolute;z-index:2;left:14%;right:13%;bottom:14%;height:54%;background:#162822;border:2px solid #0f1f1b;border-radius:5px 5px 1px 1px;box-shadow:18px 26px 30px rgba(5,12,10,.3)}.store-roof{position:absolute;left:-5%;right:-5%;top:-12%;height:14px;background:#d28e58;border-radius:3px;transform:skewX(-7deg);box-shadow:0 8px 0 rgba(9,21,17,.3)}.store-sign{position:absolute;left:9%;right:9%;top:9%;height:22%;background:#e8c673;color:#26433a;display:flex;justify-content:center;align-items:center;gap:10px;font-family:serif;letter-spacing:.12em;font-size:16px;box-shadow:0 3px 0 #9b6b47}.store-sign b{font-size:12px;letter-spacing:.18em}.store-windows{position:absolute;left:8%;right:28%;bottom:13%;height:40%;display:flex;gap:7px}.store-windows span{flex:1;border:3px solid #ba8158;background:linear-gradient(145deg,rgba(228,221,151,.9),rgba(94,145,112,.55));box-shadow:inset 0 0 24px rgba(249,225,129,.45)}.store-door{position:absolute;right:7%;bottom:0;width:19%;height:52%;border:3px solid #b67c57;background:linear-gradient(145deg,rgba(107,146,126,.8),rgba(26,55,45,.9));display:flex;align-items:center;justify-content:center}.store-door i{position:absolute;right:7%;top:54%;width:4px;height:4px;border-radius:50%;background:#d7be71}.store-door em{writing-mode:vertical-rl;font-size:7px;font-style:normal;letter-spacing:.22em;color:#d6e2c9}.store-awning{position:absolute;z-index:3;left:6%;right:24%;top:36%;height:11px;background:repeating-linear-gradient(90deg,#dc9a61 0 20px,#f0d48b 20px 40px);box-shadow:0 5px 0 rgba(8,21,16,.28);border-radius:0 0 3px 3px}.store-light{position:absolute;z-index:4;right:8%;top:8%;width:6px;height:6px;border-radius:50%;background:#edda7c;box-shadow:0 0 15px 4px rgba(237,218,124,.8)}.art-rain{position:absolute;z-index:5;inset:0;pointer-events:none}.art-rain i{position:absolute;top:-30px;left:var(--x);width:1px;height:var(--length);background:rgba(210,227,211,.3);transform:rotate(16deg);animation:rain 1.35s linear var(--delay) infinite}.morning .art-rain i{background:rgba(238,248,226,.17)}@keyframes rain{to{transform:translate(90px,490px) rotate(16deg)}}.art-caption{position:absolute;z-index:6;left:20px;right:20px;bottom:17px;display:flex;justify-content:space-between;color:#b4c5ae;font-size:8px;letter-spacing:.15em}.art-caption b{color:#d6bb75;font-weight:600}

/* landing */
.landing-page{width:min(1180px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:minmax(360px,.92fr) minmax(390px,1.08fr);align-items:center;gap:72px;padding:30px 0 70px}.landing-art{position:relative}.landing-art .scene-art{min-height:590px;border-radius:2px 24px 2px 24px;transform:rotate(-1.5deg)}.landing-art .store-building{bottom:17%;height:48%}.landing-stamp{position:absolute;left:-25px;bottom:9%;z-index:7;border:1px solid #d3b870;color:#e4cc82;padding:11px 14px;font-size:10px;line-height:1.4;letter-spacing:.14em;transform:rotate(-6deg);background:rgba(17,39,32,.82)}.landing-copy{padding:10px 0}.landing-copy h1{font-family:Georgia,"Songti SC",serif;font-size:clamp(46px,6vw,80px);line-height:1.04;letter-spacing:-.06em;margin:18px 0 25px;font-weight:500}.landing-copy h1 em{font-style:normal;color:var(--green)}.lead{max-width:530px;color:#b8c1b7;font-size:16px;line-height:1.9;margin:0}.landing-meta{display:flex;gap:28px;margin:34px 0;color:#8f9e94;font-size:11px}.landing-meta b{display:block;color:#e4decd;font-size:22px;font-weight:500;margin-bottom:4px}.landing-actions{display:flex;align-items:center;gap:13px}.button{border:1px solid transparent;border-radius:2px;padding:13px 18px;font-weight:700;font-size:13px;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--green);color:#16372f;box-shadow:0 12px 26px rgba(182,215,131,.13)}.button.primary:hover{background:#c6e392}.button.quiet{background:rgba(255,255,255,.04);color:#c7d0c2;border-color:var(--line)}.button.wide{width:100%;margin-top:28px}.button span{margin-left:20px;font-size:15px}.save-hint{color:#718277;font-size:11px;display:flex;align-items:center;gap:7px;margin-top:22px}.save-dot{width:6px;height:6px;border-radius:50%;background:#b6d783;box-shadow:0 0 0 4px rgba(182,215,131,.08)}.shared-card{border:1px solid rgba(182,215,131,.35);border-left:3px solid var(--green);background:rgba(182,215,131,.06);padding:14px 16px;margin:23px 0 0;max-width:430px}.shared-card span{font-size:10px;letter-spacing:.14em;color:#a5c47c}.shared-card strong{display:block;color:#f1e5bd;font-family:Georgia,serif;font-size:20px;font-weight:500;margin-top:6px}.shared-card p{color:#a9b4a5;font-size:12px;margin:5px 0 0}

/* game */
.game-page,.ending-page{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:22px 0 72px}.game-top{display:grid;grid-template-columns:1fr minmax(360px,440px);gap:60px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:28px}.progress-title{display:flex;align-items:baseline;gap:14px;margin-top:10px}.progress-title strong{font-family:Georgia,serif;font-size:24px;font-weight:500}.progress-title span,.progress-foot{font-size:10px;color:#86968b}.progress-track{height:3px;background:rgba(255,255,255,.1);margin-top:16px;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--green);transition:width .5s ease}.progress-foot{display:flex;justify-content:space-between;margin-top:8px}.ledger{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ledger-item{min-width:0}.ledger-item small{display:block;color:#809188;font-size:9px;letter-spacing:.08em;margin-bottom:6px}.ledger-item strong{display:block;color:#ede5d2;font-size:15px;font-weight:650}.cash-item{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px}.cash-item strong{font-family:Georgia,serif;font-size:24px;font-weight:500}.rent-note{font-size:10px;color:#d79779}.meter{display:block;height:3px;margin-top:7px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}.meter i{display:block;height:100%;border-radius:2px;background:var(--green)}.stock-meter{background:#c5a269!important}.rep-meter{background:#7cbca0!important}.energy-meter{background:#e8916d!important}.story-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(450px,1.2fr);gap:38px;align-items:start}.art-column .scene-art{min-height:470px}.chapter-note{display:flex;justify-content:space-between;color:#788b80;font-size:9px;letter-spacing:.13em;margin-top:11px}.story-card{border-top:1px solid var(--green);padding-top:23px}.scene-meta{display:flex;gap:14px;color:#92a095;font-size:10px;letter-spacing:.08em}.scene-meta span+span{border-left:1px solid #60776c;padding-left:14px}.story-kicker{color:#789080;font-size:10px;letter-spacing:.13em;margin-top:38px}.story-card h1,.interlude-copy h1{font-family:Georgia,"Songti SC",serif;font-size:clamp(34px,4vw,54px);line-height:1.13;font-weight:500;letter-spacing:-.045em;margin:13px 0 23px}.story-card blockquote{color:#d5be80;border-left:2px solid #d5be80;margin:0 0 25px;padding:5px 0 5px 15px;font-family:Georgia,"Songti SC",serif;font-size:17px;line-height:1.65}.story-text{color:#b6c0b5;font-size:14px;line-height:1.9}.story-text p{margin:0 0 12px}.choice-head{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);margin-top:32px;padding-top:18px}.choice-head strong{font-size:14px}.choice-head span,.story-foot{color:#72847a;font-size:10px}.choices{display:grid;gap:9px;margin-top:13px}.choice{display:grid;grid-template-columns:31px 1fr auto;gap:12px;align-items:center;text-align:left;width:100%;padding:14px 13px;background:rgba(255,255,255,.035);border:1px solid var(--line);color:var(--ink);border-radius:2px;transition:background .2s,border-color .2s,transform .2s}.choice:hover{background:rgba(182,215,131,.09);border-color:rgba(182,215,131,.55);transform:translateX(4px)}.choice.disabled{opacity:.46;cursor:not-allowed}.choice-letter{display:grid;place-items:center;width:28px;height:28px;border:1px solid #70877a;color:#b6d783;font-size:11px}.choice-body strong{display:block;font-size:13px;font-weight:700}.choice-body small{display:block;color:#91a097;font-size:10px;margin-top:4px;line-height:1.5}.choice-arrow{color:#b6d783;font-size:13px;white-space:nowrap}.choice.disabled .choice-arrow{color:#8f756b;font-size:9px}.story-foot{display:flex;justify-content:space-between;align-items:center;margin-top:17px}.story-foot .text-button{padding:0;font-size:10px;color:#76897e}

/* interlude */
.interlude-layout{min-height:530px;display:grid;grid-template-columns:minmax(260px,.75fr) minmax(450px,1.25fr);gap:80px;align-items:center;max-width:980px;margin:0 auto}.receipt-wrap{display:flex;justify-content:center}.receipt{position:relative;width:265px;min-height:360px;background:#eadfbe;color:#2b3f33;padding:25px 21px 28px;box-shadow:0 20px 50px rgba(0,0,0,.24);transform:rotate(-2deg);clip-path:polygon(0 0,100% 0,100% 98%,97% 100%,94% 98%,91% 100%,88% 98%,85% 100%,82% 98%,79% 100%,76% 98%,73% 100%,70% 98%,67% 100%,64% 98%,61% 100%,58% 98%,55% 100%,52% 98%,49% 100%,46% 98%,43% 100%,40% 98%,37% 100%,34% 98%,31% 100%,28% 98%,25% 100%,22% 98%,19% 100%,16% 98%,13% 100%,10% 98%,7% 100%,4% 98%,0 100%)}.receipt-logo{text-align:center;font-family:Georgia,serif;font-size:19px}.receipt-title{text-align:center;letter-spacing:.2em;font-size:10px;margin-top:7px}.receipt-rule{height:1px;border-top:1px dashed rgba(43,63,51,.45);margin:18px 0 12px}.receipt-row{display:flex;justify-content:space-between;gap:12px;font-size:10px;margin:10px 0}.receipt-row span{color:#6b786d}.receipt-row b{font-weight:700;text-align:right;max-width:160px}.receipt-row .positive{color:#31745a}.receipt-row .negative{color:#a75343}.receipt-barcode{height:31px;margin:25px 8px 10px;background:repeating-linear-gradient(90deg,#203a30 0 2px,transparent 2px 4px,#203a30 4px 5px,transparent 5px 8px)}.receipt-small{text-align:center;font-size:8px;letter-spacing:.15em}.interlude-copy{max-width:540px}.interlude-copy h1{font-size:clamp(37px,5vw,68px);margin-top:16px}.interlude-copy>p{color:#bdc5ba;font-size:16px;line-height:1.9;max-width:500px}.impact-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px}.impact-chip{font-size:10px;padding:7px 9px;border:1px solid var(--line);color:#b9c6b8}.impact-chip.up{color:#b6d783;border-color:rgba(182,215,131,.25)}.impact-chip.down{color:#e89b86;border-color:rgba(232,155,134,.25)}.next-note{display:flex;align-items:center;gap:9px;color:#819188;font-size:11px;margin-top:47px}.next-dot{width:7px;height:7px;border-radius:50%;background:#b6d783;box-shadow:0 0 0 5px rgba(182,215,131,.08)}

/* ending */
.ending-page{padding-top:31px}.ending-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:19px}.ending-number{font-family:Georgia,serif;color:#d5be80;font-size:13px}.ending-hero{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(450px,1.1fr);gap:65px;align-items:center;padding:55px 0 47px}.ending-art{position:relative}.ending-art .scene-art{min-height:510px}.ending-seal{position:absolute;z-index:8;right:-24px;top:45%;display:grid;place-items:center;width:95px;height:95px;border:1px solid var(--seal);border-radius:50%;background:rgba(16,39,32,.92);color:var(--seal);transform:rotate(8deg)}.ending-seal span{font-size:8px;letter-spacing:.2em}.ending-seal b{font-family:Georgia,serif;font-size:34px;font-weight:500;line-height:.85}.ending-copy .eyebrow{color:#d5be80}.ending-copy h1{font-family:Georgia,serif;font-size:clamp(43px,6vw,77px);line-height:1.02;letter-spacing:-.06em;font-weight:500;margin:15px 0 27px}.ending-copy>p{color:#b8c2b7;font-size:16px;line-height:1.9;margin:0 0 13px;max-width:540px}.ending-stats{display:flex;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin-top:31px}.ending-stats small{display:block;color:#7f9085;font-size:9px;margin-bottom:6px}.ending-stats strong{font-family:Georgia,serif;font-size:21px;font-weight:500}.ending-actions{display:flex;gap:10px;margin-top:24px}.share-tip{color:#7f9085!important;font-size:10px!important;margin-top:22px!important}.ending-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;color:#7d8e84;font-size:10px}.ending-bottom .text-button{padding:0}.ending-link-preview{font-size:9px;color:#496157;margin-top:17px;word-break:break-all}

/* dialog */
dialog{border:1px solid rgba(182,215,131,.35);padding:0;color:var(--ink);background:#17342c;max-width:500px;width:calc(100% - 36px);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(4,12,10,.78);backdrop-filter:blur(5px)}#dialog-content{padding:27px}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.dialog-close{border:0;background:none;color:#95a69a;font-size:24px;line-height:1;padding:0}.dialog-close:hover{color:var(--green)}dialog h2{font-family:Georgia,serif;font-size:32px;font-weight:500;margin:19px 0 13px}dialog p{color:#b5c0b5;font-size:13px;line-height:1.85;margin:0}.help-rules{border-top:1px solid var(--line);margin-top:22px}.help-rules div{display:grid;grid-template-columns:60px 1fr;gap:14px;border-bottom:1px solid var(--line);padding:13px 0}.help-rules b{color:#d5be80;font-size:12px}.help-rules span{color:#9fac9f;font-size:11px;line-height:1.7}.collection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:22px}.collection-item{display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:12px;color:#6e8277;font-size:11px}.collection-item span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.06);color:#8ca196}.collection-item.found{border-color:rgba(182,215,131,.45);color:#d9e5cc}.collection-item.found span{background:var(--green);color:var(--green-deep)}#toast{position:fixed;z-index:30;left:50%;bottom:25px;transform:translate(-50%,20px);padding:11px 17px;background:#e8dfbe;color:#234238;font-size:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}#toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:900px){.landing-page{grid-template-columns:1fr;gap:28px;padding-top:0;max-width:650px}.landing-art{order:2}.landing-art .scene-art{min-height:390px}.landing-copy{order:1;padding-top:36px}.landing-copy h1{font-size:clamp(43px,11vw,70px)}.game-top{grid-template-columns:1fr;gap:23px}.story-layout,.ending-hero{grid-template-columns:1fr;gap:30px}.story-layout .art-column{max-width:580px}.ending-art{max-width:580px}.interlude-layout{grid-template-columns:1fr;gap:20px;max-width:620px;padding:20px 0}.interlude-copy{order:1}.receipt-wrap{order:2;justify-content:flex-start}.interlude-copy h1{font-size:52px}.next-note{margin-top:31px}.ending-copy h1{font-size:58px}.ending-stats{max-width:540px}.ending-seal{right:12px}}
@media(max-width:560px){.site-header,.site-footer,.game-page,.ending-page,.landing-page{width:min(100% - 32px,1180px)}.site-header{padding:18px 0}.site-header nav{display:none}.site-footer{display:grid;gap:8px;font-size:9px}.landing-copy{padding-top:27px}.landing-copy h1{font-size:45px;margin:15px 0 19px}.lead{font-size:14px;line-height:1.8}.landing-meta{gap:19px;margin:26px 0}.landing-meta b{font-size:19px}.landing-art .scene-art{min-height:330px}.landing-stamp{left:-6px}.game-page{padding-top:8px}.ledger{gap:8px}.cash-item strong{font-size:21px}.story-layout{gap:24px}.art-column .scene-art{min-height:310px}.story-card h1{font-size:37px}.story-kicker{margin-top:26px}.story-card blockquote{font-size:15px}.story-text{font-size:13px}.choice-head{display:block}.choice-head span{display:block;margin-top:7px}.choice{grid-template-columns:28px 1fr auto;padding:12px 10px;gap:9px}.choice-body strong{font-size:12px}.choice-body small{font-size:9px}.story-foot{font-size:9px}.interlude-copy h1{font-size:44px}.interlude-copy>p{font-size:14px}.receipt{width:240px;min-height:330px}.ending-hero{padding-top:34px}.ending-art .scene-art{min-height:340px}.ending-copy h1{font-size:48px}.ending-copy>p{font-size:14px}.ending-stats{gap:18px}.ending-stats strong{font-size:18px}.ending-actions{flex-wrap:wrap}.ending-actions .button{flex:1 1 auto}.collection-grid{grid-template-columns:1fr}}
