*{box-sizing:border-box}body{margin:0;background:#eeeee7;color:#25251f;font:14px/1.65 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid #dedfd5;background:#fff;border-radius:10px;padding:10px 14px;color:inherit;font-weight:650}button:disabled{opacity:.4;cursor:default}button:active{transform:translateY(1px)}a{color:inherit;text-decoration:none}main{max-width:480px;margin:auto;background:#fff;min-height:100vh;padding-bottom:130px}header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}header span{font-size:18px;font-weight:900}header button{padding:4px 10px}.dashboard{background:#ffd83d;margin:0 16px;border-radius:20px;padding:20px}.eyeline{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.6px}.wealth{display:flex;align-items:center;justify-content:space-between;margin:14px 0}.wealth img{width:95px;height:95px;object-fit:contain;transform:rotate(6deg)}.wealth h1{font-size:34px;line-height:1.1;margin:8px 0;letter-spacing:-1px}.wealth small{font-size:11px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border-top:1px solid #29291f25;padding-top:14px;font-size:10px}.metrics b{display:block;font-size:15px;margin-top:5px}.news{margin:16px 20px;display:flex;gap:12px;font-size:12px;align-items:start}.news>span{flex-shrink:0;font-size:10px;background:#25251f;color:#ffd83d;padding:3px 7px;border-radius:4px}.news p{margin:0;color:#737365}.tabs{display:flex;margin:20px 16px 0;border-bottom:1px solid #e7e7dd;gap:5px}.tabs button{flex:1;border:0;border-radius:9px 9px 0 0;padding:13px 4px;color:#858575}.tabs .on{background:#fff3b7;color:#25251f}#panel{padding:20px}.shop-scene{height:160px;background:#fff6cc;border-radius:14px;display:flex;align-items:end;justify-content:space-around;position:relative;overflow:hidden;padding:16px}.shop-scene img{height:110px;width:110px;object-fit:contain}.shop-sign{border:2px solid #25251f;background:#ffd83d;padding:12px 15px;box-shadow:4px 4px #25251f;transform:rotate(-3deg);font-size:21px;font-weight:900}.shop-sign small{display:block;font-size:11px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:19px 0 8px}h2{font-size:21px;margin:0}h3{font-size:15px;margin:0 0 12px}.muted{color:#858575;font-size:12px}.row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0}.actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.yellow{background:#ffd83d;border-color:#25251f;box-shadow:2px 2px #25251f}.price-options{display:flex;gap:8px}.price-options button{flex:1}.chosen{background:#ffd83d!important;border-color:#25251f!important}.stock-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stock-list button{text-align:left;padding:12px;background:#fafaf6}.stock-list small{display:block;font-size:10px;color:#818172}.stock-list b{display:block;font-size:19px;margin-top:5px}.stock-list em{font-style:normal;font-size:11px}.up{color:#278252}.down{color:#cc5e4a}.chart{width:100%;height:145px;background:#fafbf7;border-radius:10px;margin:10px 0}.chart polyline{fill:none;stroke:#a88700;stroke-width:2.5;vector-effect:non-scaling-stroke}.chart text{fill:#818172;font-size:10px}.order{display:flex;gap:8px;margin-top:15px}.order input{width:100%;min-width:0;border:1px solid #dbddd1;border-radius:9px;padding:10px;background:white}.order button{white-space:nowrap}.bank-card{background:#fff6cd;border-radius:14px;padding:20px}.bank-card b{font-size:28px}.bank-card small{display:block}.bank-card p{margin:8px 0}.journal{margin:0 20px;border-top:1px solid #e8e8dd;padding-top:20px}.journal p{font-size:12px;color:#818172;border-bottom:1px solid #efefe8;padding-bottom:10px}.local{font-size:10px;text-align:center;color:#999b8b;margin:25px 20px}footer{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:17px 20px max(17px,env(safe-area-inset-bottom));background:#fffef9;border-top:1px solid #e8e8dd;z-index:5}footer small{font-size:10px;color:#868676;display:block}footer b{font-size:11px}footer button{background:#25251f;color:#ffd83d;border:0;white-space:nowrap}dialog{width:calc(100% - 40px);max-width:400px;border:0;border-radius:20px;padding:26px;box-shadow:0 15px 70px #0003}dialog::backdrop{background:#25251f88}dialog p,dialog li{font-size:13px;color:#737365}dialog button{margin:6px 4px 0 0}#message{position:fixed;bottom:110px;left:50%;transform:translateX(-50%);background:#25251f;color:white;border-radius:12px;padding:12px 18px;font-size:12px;z-index:30;display:none;width:max-content;max-width:90%}#loading{position:fixed;inset:0;background:#ffd83d;z-index:50;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px}#loading img{width:150px;height:150px;object-fit:contain;animation:bob .7s ease-in-out infinite alternate}#loading h1{font-size:36px;margin:10px}#loading small{letter-spacing:2px;font-size:9px;margin-top:20px}#loading p{font-size:12px}#loading b{font-size:10px;margin-top:12px}.track{width:210px;height:6px;background:#ffffff80;border-radius:5px;overflow:hidden;margin-top:20px}.track i{display:block;height:100%;background:#25251f;animation:progress 2.5s linear forwards}@keyframes progress{from{width:0}to{width:100%}}@keyframes bob{to{transform:translateY(-10px) rotate(-5deg)}}@media(prefers-reduced-motion:reduce){#loading img{animation:none}}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ac8700;outline-offset:3px}

.save-tools{display:flex;flex-wrap:wrap;gap:10px;padding:20px}.save-tools label{border:1px solid #dedfd5;border-radius:10px;padding:10px 14px;cursor:pointer}.save-tools span{width:100%;font-size:11px;color:#858575}.shop-scene img{animation:cat-idle 2s ease-in-out infinite alternate}@keyframes cat-idle{to{transform:translateY(-4px) rotate(2deg)}}@media(prefers-reduced-motion:reduce){.shop-scene img{animation:none}}

#shop-canvas{display:block;width:100%;height:240px;border-radius:16px;background:#fff5cc;cursor:pointer}.npc-dock{display:flex;align-items:center;gap:7px;margin:0 20px 23px;border-block:1px solid #eee9d7;padding:18px 0}.npc-dock>div{margin-right:auto}.npc-dock small{display:block;font-size:9px;color:#918975}.npc-dock h3{margin:5px 0 0;font-size:14px}.npc-dock button{font-size:12px;background:#fff6ce;padding:9px 10px}.npc-dock button small{margin-top:3px}#npc-dialog{padding:18px;max-height:85dvh;overflow:auto}.npc-header{display:flex;align-items:center;gap:10px}.npc-header img{width:44px;height:44px;object-fit:contain}.npc-header h2{font-size:18px}.npc-header small{font-size:10px;color:#858575}.npc-header button{margin-left:auto;border:0;font-size:24px}#npc-messages{max-height:36dvh;overflow-y:auto;margin-top:16px;min-height:50px}.npc-bubble{white-space:pre-wrap;padding:12px 14px;border-radius:13px;background:#f3f3ec!important;color:#34372d!important;margin:10px 25px 10px 0!important}.npc-bubble.user{background:#fff1af!important;margin:10px 0 10px 25px!important}#npc-status{font-size:11px;color:#8c8060;line-height:1.6}.npc-questions{display:flex;flex-wrap:wrap;gap:4px}.npc-questions button{font-size:10px;padding:6px 9px}#npc-form{display:flex;gap:6px;margin-top:12px}#npc-input{width:100%;min-width:0;border:1px solid #ddd9cb;border-radius:9px;padding:10px;font-size:14px}#npc-send{background:#ffd83d;white-space:nowrap}.npc-privacy{font-size:9px;line-height:1.5;display:block;margin-top:12px;color:#989584}

.play-card{background:#fff2ae;border:1px solid #dacb8c;border-radius:14px;padding:17px;margin-bottom:17px}.play-card small{font-size:10px;color:#8b7852}.play-card h3{font-size:20px;margin:5px 0}.play-card p{font-size:12px;color:#796c4c}.play-card>button{width:100%;background:#292a23;color:#ffe26a}.play-progress{font-size:10px;line-height:1.9;margin-top:12px;color:#857550}#rush-dialog{max-width:460px;width:calc(100% - 16px);padding:15px;max-height:96dvh;overflow:auto}.rush-top{display:flex;justify-content:space-between;align-items:center}.rush-top>b{font-size:27px;color:#b37510}.rush-help{font-size:12px;text-align:center}#rush-customers{display:flex;gap:7px;min-height:190px;align-items:end;padding-top:10px}.rush-customer{width:33.333%;padding:10px 5px;background:#fff9dc;animation:customer-in .25s ease-out}.rush-customer.vip{border-color:#c99720;background:#ffedab}.rush-customer b,.rush-customer small,.rush-customer em{display:block}.rush-customer b{font-size:11px}.rush-customer small{font-size:12px}.rush-customer em{font-size:9px;font-style:normal;min-height:32px;margin-top:7px}.rush-avatar{font-size:28px;display:block;animation:cat-idle .7s infinite alternate}.patience{height:5px;background:#ece5c9;margin-top:7px;border-radius:5px;overflow:hidden}.patience i{display:block;height:100%;background:#7da454}#rush-dish{background:#f4f3eb;border:1px dashed #d4caac;border-radius:10px;padding:16px 5px;text-align:center;font-size:12px;margin:14px 0}.ingredients{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.ingredients button{font-size:25px;padding:9px 3px;background:#ffd83d}.ingredients b{display:block;font-size:11px}#rush-feedback{min-height:44px;font-size:12px;text-align:center;color:#917842}#event-options{display:grid;gap:10px;margin-top:20px}#event-options button:first-child{background:#ffd83d}.rush-summary{text-align:center;padding:25px 10px}.rush-summary h2{font-size:25px}@keyframes customer-in{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.rush-avatar,.rush-customer{animation:none}}

.daily-paper{margin:12px 20px;padding:13px 15px;background:#fffbea;border:1px solid #e9deb2;border-radius:12px}.daily-paper summary{font-size:13px;font-weight:750;cursor:pointer}#daily-bulletin h3{margin:15px 0 8px}#daily-bulletin p{font-size:11px;color:#79705a;line-height:1.8;margin:9px 0}#daily-bulletin small{font-size:9px;color:#9a927e}.ai-report{white-space:pre-wrap;border-top:1px dashed #dccf9d;padding-top:12px}.goods-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.goods-grid button{text-align:left;background:#fbfbf6;padding:11px}.goods-grid button>span{font-size:24px}.goods-grid b,.goods-grid small,.goods-grid em{display:block}.goods-grid b{font-size:13px}.goods-grid small,.goods-grid em{font-size:10px;font-style:normal;margin-top:5px}.goods-detail{padding:18px 0}.goods-detail p{font-size:12px}.leverage{border:1px solid #e3d8b4;border-radius:12px;padding:14px;margin-top:18px}.leverage summary{font-size:13px;font-weight:750}.leverage .actions{margin-top:10px}.leverage select{border:1px solid #ddd8c6;background:white;border-radius:8px;padding:10px}.margin-position{padding:12px 0;border-top:1px solid #eee6cd}.margin-position b,.margin-position small{display:block;font-size:12px}.margin-position small{font-size:10px;color:#8e8470}.margin-position button{font-size:11px;padding:6px 13px;margin-top:8px}.tabs button{font-size:12px}

.live-ticker{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px;background:#ffdf39;border-radius:12px;font-size:14px}.candle-chart{width:100%;height:auto;display:block;margin-top:10px}.candle-chart text{font-size:10px;fill:#686a61}.ohlc{font-size:14px;font-variant-numeric:tabular-nums}.margin-position small{line-height:1.7}.leverage select{max-width:120px;padding:12px;border-radius:10px;background:white;font-size:16px}
.management{margin-bottom:22px}.strategy-grid{display:grid;grid-template-columns:1fr;gap:8px}.strategy-grid button{text-align:left;display:flex;flex-direction:column;gap:6px;padding:14px}.strategy-grid small{font-size:14px;line-height:1.5;font-weight:400}.strategy-grid button.chosen{background:#ffdf39;border-color:#25271d;opacity:1}.purchase-order{padding:16px;border:1px solid #dadbd0;border-radius:14px;margin-top:12px}.purchase-order summary{font-weight:700;cursor:pointer}.purchase-order p{line-height:1.7;font-size:14px}

.life-notice{margin:12px 0;padding:14px 16px;background:#fff6c7;border-left:4px solid #e8bb16;border-radius:8px;font-size:14px}.life-notice p{margin:6px 0 0;line-height:1.6}.finance-card{border:1px solid #daddce;border-radius:16px;padding:16px;margin:18px 0}.finance-card p{font-size:14px;line-height:1.7}.finance-card select{min-width:0;max-width:100%;font-size:14px;padding:10px;background:white;border:1px solid #aaa;border-radius:8px}.plan-list{display:grid;gap:10px;margin:16px 0}.plan-list>div{background:#f6f7ee;border-radius:10px;padding:12px}.plan-list p{margin:6px 0}
.stock-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding:4px 2px 12px;margin-right:-4px}.stock-list button{min-width:132px;scroll-snap-align:start}.goods-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.goods-grid button{padding:9px 7px}.goods-grid button>span{font-size:20px}.goods-grid b{font-size:12px}.goods-grid small,.goods-grid em{font-size:9px}
.journal{max-height:260px;overflow:hidden}.journal:focus-within{max-height:none}.journal p{animation:journalIn .45s ease both}.journal p:nth-child(2){animation-delay:.08s}.journal p:nth-child(3){animation-delay:.16s}.journal p:nth-child(4){animation-delay:.24s}.journal p:nth-child(5){animation-delay:.32s}@keyframes journalIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.guess-box{margin-top:12px;padding:12px;background:#fff3b7;border-radius:10px;display:flex;flex-wrap:wrap;gap:7px;align-items:center}.guess-box b,.guess-box span{width:100%}.guess-box span{font-size:11px;color:#77705a}.guess-box select{padding:8px;border-radius:8px;border:1px solid #d9cb8a;max-width:130px}.guess-box button{padding:8px;font-size:12px}
.market-canvas{display:block;width:100%;height:170px;border-radius:16px;overflow:hidden;margin:0 0 14px;background:#fff4bd;box-shadow:inset 0 -8px #ffd83d}.goods-grid{position:relative}.goods-detail{background:#fffdf3;border-radius:14px;padding:16px;margin-top:12px}

.npc-dock-top{display:block;margin:10px 20px 16px;padding:14px 0 16px;border-block:1px solid #eee9d7}.npc-dock-top>div:first-child{margin-bottom:11px}.npc-dock-top h3{margin:3px 0 2px}.npc-dock-top p{margin:0;font-size:10px;color:#8b8877}.npc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.npc-grid button{min-width:0;padding:9px 5px;font-size:12px;background:#fff6ce;border-color:#e5d68d}.npc-grid button:active{background:#ffd83d}.npc-grid button small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:360px){.npc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.wealth img{width:128px;height:58px}.npc-header img{object-fit:contain}

/* 狗狗银行：把借款、还款、存款和定期做成一张清晰的银行账单 */
.loan-hero{background:linear-gradient(135deg,#292a23 0%,#41402b 100%);color:#fff9dc;border-radius:18px;padding:18px;margin-bottom:14px;box-shadow:4px 4px #e7c52b}.loan-brand,.bank-brand{display:flex;align-items:center;gap:10px}.loan-mark,.bank-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#ffd83d;color:#25251f;font-size:23px}.loan-brand small,.bank-brand small{font:700 9px Arial;letter-spacing:1px;color:#e7d884}.loan-brand h2,.bank-brand h2{margin:2px 0;font-size:21px;color:#fff}.loan-brand p,.bank-brand p{margin:0;font-size:11px;color:#dfddc5}.loan-status{border-top:1px solid #fff4a833;margin-top:17px;padding-top:14px}.loan-status small,.loan-status span{display:block;font-size:11px;color:#dfddc5}.loan-status strong{display:block;margin:4px 0;font:800 31px/1.2 Arial;color:#ffd83d}.loan-status strong i{font:500 12px sans-serif;color:#fff9dc}.loan-status.loan-clear strong{color:#fff}.loan-panel,.bank-panel{background:#fffdf4;border:1px solid #e8dfbc;border-radius:16px;padding:16px;margin:14px 0}.loan-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.loan-facts>div{background:#fff6c9;border-radius:11px;padding:11px}.loan-facts small{display:block;color:#8e8260;font-size:10px}.loan-facts b{display:block;margin-top:4px;font-size:15px}.loan-explain{font-size:12px;line-height:1.8;color:#766f5c;margin:13px 0}.loan-form,.bank-actions,.bank-order{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end}.loan-form label,.bank-actions label,.bank-order label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#7b745f}.loan-form input,.bank-actions input,.bank-order input,.bank-order select{width:100%;min-width:0;padding:11px 10px;border:1px solid #ded8c3;border-radius:9px;background:#fff;font-size:14px}.loan-form button{min-height:45px}.repay-all{width:100%;margin-top:9px;background:#fff;border-color:#cfc6a6}.loan-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:16px 0 5px}.timeline-step{padding:9px 7px;border-top:2px solid #e5dfca;color:#9b947f}.timeline-step.done{border-color:#8ca45b;color:#4e6737}.timeline-step.current{border-color:#e5b924;color:#806514}.timeline-step b{font:700 10px Arial;display:block}.timeline-step span,.timeline-step small{display:block}.timeline-step span{font-size:11px;font-weight:700;margin-top:3px}.timeline-step small{font-size:9px;margin-top:2px;line-height:1.4}.loan-extension{border-top:1px dashed #ddd3ae;padding-top:12px;margin-top:12px}.loan-extension button{width:100%;background:#ffed9a;border-color:#d9bc45}.loan-extension small{display:block;font-size:10px;color:#8a8066;margin-top:6px}.bank-hero{background:linear-gradient(135deg,#fff0a5 0%,#ffd83d 100%);border-radius:18px;padding:17px;box-shadow:3px 3px #292a23;margin-bottom:14px}.bank-total{border-top:1px solid #292a2333;margin-top:15px;padding-top:13px}.bank-total small,.bank-total span{display:block;font-size:11px;color:#6e674c}.bank-total b{display:block;font:800 31px/1.2 Arial;margin:4px 0;color:#25251f}.bank-total b i{font:500 12px sans-serif}.bank-score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px}.bank-score-grid>div{background:#ffffff8f;border-radius:10px;padding:9px 7px}.bank-score-grid small,.bank-score-grid em{display:block;font-size:9px;color:#796e4a;font-style:normal}.bank-score-grid strong{display:block;font:800 20px Arial;margin:4px 0}.bank-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.bank-section-head small{font:700 9px Arial;letter-spacing:1px;color:#a08b42}.bank-section-head h3{margin:2px 0 0;font-size:18px}.bank-pill{border:1px solid #d4c48a;border-radius:20px;padding:5px 8px;font-size:10px;color:#827650;background:#fff9dc}.bank-pill-gold{background:#ffd83d;color:#51451b;border-color:#aa8b17}.bank-actions{grid-template-columns:1.1fr .9fr;margin-top:11px}.bank-actions label:nth-of-type(2){margin-top:3px}.bank-actions button{min-height:44px}.bank-plan-cards{gap:8px;margin:12px 0}.bank-plan-card{display:flex;align-items:flex-start;gap:10px;text-align:left;padding:12px;background:#fff;border:1px solid #e3dcc4;border-radius:12px}.bank-plan-card>span{font-size:23px;line-height:1}.bank-plan-card b,.bank-plan-card small,.bank-plan-card em{display:block}.bank-plan-card b{font-size:14px}.bank-plan-card small{font-size:10px;color:#8c7e58;margin-top:3px}.bank-plan-card em{font-size:10px;color:#7f7867;font-style:normal;line-height:1.5;margin-top:4px}.bank-plan-card.chosen{background:#fff0a0;border-color:#25251f;box-shadow:2px 2px #25251f}.bank-order{grid-template-columns:1fr 1fr}.bank-order button{grid-column:1/-1;min-height:44px}.bank-notice{background:#fff7d1;border-left:3px solid #e1b72d;padding:9px 11px;font-size:10px;line-height:1.6;color:#756943;margin-top:10px}.active-deposits{border-top:1px solid #ebe4cd;margin-top:15px;padding-top:13px}.active-deposits h4{margin:0 0 9px;font-size:14px}.active-deposits h4 small{font-size:10px;color:#9a927f;font-weight:400}.active-deposit{padding:12px 0;border-top:1px solid #f0ead9}.deposit-top,.deposit-meta{display:flex;justify-content:space-between;gap:8px}.deposit-top{font-size:13px}.deposit-meta{font-size:10px;color:#90866f;margin-top:4px}.deposit-progress{height:6px;background:#eee8d7;border-radius:8px;overflow:hidden;margin:9px 0 6px}.deposit-progress i{display:block;height:100%;background:#d5a916;border-radius:8px}.active-deposit>small{display:block;font-size:10px;color:#8d846f}.active-deposit>button{font-size:10px;padding:7px 9px;margin-top:8px}.active-deposit>em{display:block;font-size:10px;color:#aa7b3a;font-style:normal;margin-top:8px}.empty-deposits{background:#f9f6e8;border-radius:10px;padding:13px;font-size:11px;color:#8d846f;margin-top:12px}
@media(max-width:360px){.bank-score-grid strong{font-size:17px}.bank-actions,.bank-order{grid-template-columns:1fr}.bank-actions button{grid-column:1}.loan-timeline{gap:3px}.timeline-step{padding-inline:4px}}

html,body{touch-action:pan-y;overscroll-behavior-x:none;-webkit-user-select:none;user-select:none}input,textarea{user-select:text;-webkit-user-select:text}
