/* ./fx/style.css */
:root{font-family:'Space Grotesk','Noto Sans SC',sans-serif;color:#28232e;background:#fbf8f8;font-synthesis:none;--pink:#f16f9f;--pink-dark:#ba3e78;--pink-light:#fff0f6;--ink:#282431;--line:#e7dfe4;--muted:#786f7c;--mint:#94eac4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:min(320px,100%)}button{font:inherit;color:inherit;cursor:pointer;transition:transform .16s,background .16s,box-shadow .16s}button:disabled{opacity:.45;cursor:not-allowed}button:not(:disabled):active{transform:translateY(2px)}button:focus-visible,a:focus-visible{outline:3px solid var(--pink-dark);outline-offset:3px}[hidden]{display:none!important}.positive{color:#198c67!important}.negative{color:#c34179!important}
.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);padding:0 4%;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{color:var(--ink);display:flex;align-items:center;gap:11px;font-size:20px;font-weight:900;text-decoration:none;white-space:nowrap}.brand small{font-size:11px;font-weight:700;letter-spacing:1.2px;margin-left:7px;color:#8e8390}.brand-mark{display:grid;place-items:center;background:var(--pink);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);width:36px;height:36px;font-size:25px;transform:rotate(-7deg)}.top-right{display:flex;align-items:center;gap:9px}.top-right>span{font-size:11px;color:#948895;margin-right:9px}.top-right button{border:1px solid #ded4da;background:#fff;border-radius:5px;padding:8px 10px;font-size:12px;white-space:nowrap}.top-right button:hover{background:var(--pink-light)}.top-right .chat-toggle{background:var(--ink);color:white;border-color:var(--ink);padding:8px 14px}.chat-toggle b{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:50%;background:var(--pink);color:#251c29;font-size:10px;margin-left:5px}main{max-width:1500px;margin:auto;padding:29px 4% 10px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.eyebrow{font-size:11px;letter-spacing:2.2px;font-weight:700;color:#98687d}.page-heading h1{margin:3px 0 4px;font-size:clamp(30px,3vw,46px);font-weight:900;line-height:1.22;letter-spacing:-1.8px}.page-heading h1 span{position:relative;z-index:0}.page-heading h1 span:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:13px;background:#f5adca;transform:rotate(-2deg);z-index:-1}.page-heading p{font-size:13px;color:#8b7e89;margin:0}.mission{text-align:right;display:grid;gap:4px;padding-bottom:3px}.mission b{font-size:15px}.mission span{font-size:12px;color:#625966}.mission small{font-size:11px;color:#ae6388}
.game-grid{display:grid;grid-template-columns:minmax(200px,.83fr) minmax(355px,1.9fr) minmax(280px,1.09fr);gap:18px;align-items:start}.character-card{border:2px solid var(--ink);box-shadow:5px 5px 0 #f2accb;background:#fff}.character-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;border-bottom:2px solid var(--ink);padding:10px 12px;background:#fff6fa}.character-heading b{color:#ae3e71;background:#fce1ed;padding:3px 8px;font-size:13px}.portrait{position:relative;height:310px;background:#f7dfe9;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 23%;display:block}.portrait-name{position:absolute;bottom:8px;left:9px;background:var(--ink);color:#fff;font-size:10px;padding:6px 7px;letter-spacing:.2px}.impact-stamp{position:absolute;top:12px;left:11px;color:#a62d66;font-weight:900;font-size:18px;line-height:1.3;transform:rotate(-8deg);text-shadow:2px 2px white,-2px 2px white,2px -2px white}.speech{border:2px solid var(--ink);box-shadow:3px 3px 0 #ebc3d6;background:#fff;margin:-2px 12px 19px;position:relative;z-index:1;transform:rotate(-2deg);padding:11px;font-size:16px;font-weight:800;min-height:66px;line-height:1.65}.sanity-label{display:flex;justify-content:space-between;margin:0 14px 8px;font-size:12px}.sanity-meter{height:8px;margin:0 14px;background:#f1e9ed}.sanity-meter span{display:block;width:100%;height:100%;background:var(--pink);transition:width .22s}.character-card>p{font-size:11px;color:#80727d;margin:9px 14px 16px;line-height:1.7}
.market-stack{min-width:0;display:grid;gap:12px}.terminal{background:#26242f;border-radius:7px;color:#fff;padding:19px 18px 14px;box-shadow:0 3px 0 #ded5dd}.terminal-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.pair{display:flex;align-items:center;gap:9px}.pair span{color:var(--mint);border:1px solid #55515f;font-size:11px;border-radius:100%;width:33px;height:33px;display:grid;place-items:center}.pair b{font-size:15px}.pair small{font-size:11px;color:#b9b4c5}.terminal-head>span{font-size:11px;color:#edc4d8;background:#403540;padding:5px 7px;border-radius:2px;text-align:right}.market-price{display:flex;align-items:baseline;gap:12px;margin-top:15px}.market-price strong{font-size:34px;font-weight:500;letter-spacing:-1px}.market-price>span{font-size:13px}.market-price>div{margin-left:auto;display:grid;text-align:right;gap:2px}.market-price b{font-size:12px;color:#f4bbd3}.market-price small{font-size:10px;color:#aaa5b4}.chart{height:240px;margin-top:8px}.chart svg{width:100%;height:100%;overflow:visible}.chart-foot{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#aba5b7}.chart-foot i{display:inline-block;width:7px;height:7px;margin:0 5px}.chart-foot i:first-child{margin-left:0}.up-swatch{background:#8ae4bf}.down-swatch{background:#f58cba}.news{border:1px solid #edc7d7;border-left:4px solid var(--pink);background:#fff0f6;padding:14px 16px;min-height:148px}.news-meta{display:flex;justify-content:space-between;font-size:11px;color:#a83469}.news-meta span{color:#9a7c8a}.news h2{font-size:18px;margin:8px 0 4px;line-height:1.45}.news p{font-size:13px;line-height:1.7;margin:0;color:#765f70}.news-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;border-top:1px solid #eed2de;padding-top:9px;color:#a04d73;font-size:11px}.news-bottom button{border:1px solid #dda6bd;color:#9d3d6b;background:#fff8fb;border-radius:3px;font-size:11px;padding:5px 9px}.ticker{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;padding:9px 12px;min-height:48px}.ticker-label{font-size:12px;font-weight:800;white-space:nowrap}.ticker-label small{display:none}.ticker p{font-size:11px;color:#837583;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0;flex:1}.ticker button{font-size:11px;border:0;background:none;color:#a84475;text-decoration:underline;white-space:nowrap}
.trade-card{border:1px solid #e3dce2;border-radius:6px;background:#fff;padding:20px 17px 18px;box-shadow:0 2px 8px #33253508}.account-heading{display:grid;gap:3px;padding-bottom:12px}.account-heading span{font-size:13px;font-weight:700}.account-heading small{font-size:10px;color:#9e919c;font-weight:400;margin-left:5px}.account-heading b{font-size:31px;font-weight:600;letter-spacing:-1.2px}.account-row{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#807582;padding:4px 0}.account-row b{color:#403947;font-weight:600}.account-row.emphasis{border-top:1px dashed #e0d5dd;margin-top:8px;padding-top:10px;font-size:13px}.capital-flow{height:0;overflow:hidden;opacity:0;color:#a94575;font-size:11px;text-align:center;transition:height .2s,opacity .2s}.capital-flow:not(:empty){height:auto;min-height:25px;opacity:1;margin:7px 0;background:#fff1f7;padding:5px}.ticket-title{border-top:1px solid #ebe3e7;padding-top:15px;font-size:14px;font-weight:800;display:flex;justify-content:space-between;align-items:center;gap:5px}.ticket-title span{font-size:10px;color:#a2959f;font-weight:400}.ticket-title b{background:#f5e1eb;color:#ad4779;padding:3px 7px;font-size:12px}.trade-card fieldset{border:0;padding:0;margin:14px 0 0;min-width:0}.trade-card legend{display:flex;justify-content:space-between;width:100%;padding:0;margin-bottom:7px;font-size:12px;font-weight:600}.trade-card output{font-size:11px;color:#9d4a77;font-weight:600}.segments{display:flex;border:1px solid #e5dce3;background:#fbf9fa;padding:3px;gap:2px;border-radius:4px}.segments button{flex:1;min-width:0;border:0;background:none;border-radius:2px;padding:8px 2px;font-size:12px}.segments button[aria-pressed="true"]{background:var(--ink);color:white;box-shadow:0 2px 4px #251f2d18}.risk-line{font-size:11px;color:#917f8b;line-height:1.6;margin:12px 0}.risk-line b{color:#b34d7c}.entry-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.entry-actions button{border:1px solid var(--ink);box-shadow:0 3px 0 var(--ink);border-radius:4px;padding:9px 5px;background:var(--mint)}.entry-actions button.short{background:#f28fba}.entry-actions span{display:block;font-size:19px;font-weight:800}.entry-actions small{font-size:10px}.quiet{width:100%;padding:10px 7px;background:#fff;border:1px solid #d6cbd3;border-radius:4px;margin-top:14px;font-size:12px}.quiet:hover,.hold-actions button:hover{background:#fff0f6}.position-price{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:11px;color:#817380;margin-top:16px}.position-price b{font-size:13px;color:var(--ink)}.position-pnl{margin-top:15px;background:#faf6f9;border-left:4px solid var(--pink);padding:11px;display:grid;gap:4px}.position-pnl span{font-size:11px;color:#8b7987}.position-pnl strong{font-size:29px}.position-meta,.position-risk{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#877985;margin-top:12px}.position-risk{border-top:1px dashed #e5dbe1;padding-top:12px;margin-bottom:16px}.position-risk b{color:#a93c72}.hold-actions{display:grid;gap:8px}.hold-actions button{padding:11px 7px;border:1px solid #d5c9d2;background:#fff;border-radius:4px;font-size:12px;font-weight:600}.hold-actions button:first-child{background:var(--mint);border-color:var(--ink);box-shadow:0 3px 0 var(--ink)}.hold-actions button:last-child{background:#fbd5e6}.ticket-hint{border-top:1px dashed #e2d9df;margin:17px 0 0;padding-top:12px;font-size:11px;color:#847682;line-height:1.65;min-height:43px}
.lower-grid{display:grid;grid-template-columns:2.72fr 1fr;gap:18px;margin:24px 0 20px}.tools,.playback{background:#fff;border:1px solid var(--line);padding:16px}.lower-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px}.lower-heading h2{margin:0;font-size:15px}.lower-heading span{font-size:11px;color:#948794}.tool-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.tool-row button{text-align:left;background:#fff9fc;border:1px solid #e3d6df;border-radius:4px;padding:12px 10px;min-height:72px}.tool-row button:hover:not(:disabled){background:#ffe8f2;border-color:#d883aa;transform:translateY(-2px)}.tool-row b{display:block;font-size:13px;margin-bottom:5px}.tool-row small{font-size:11px;line-height:1.5;color:#8d7e8b}.speed-buttons{display:flex;gap:5px}.speed-buttons button{border:1px solid #ded2da;background:#fff;border-radius:4px;padding:8px 9px;font-size:11px;white-space:nowrap}.speed-buttons button[aria-pressed="true"]{background:var(--ink);color:white}.speed-buttons button:last-child{flex:1}.playback p{font-size:11px;color:#9a8a95;margin:10px 0 0}footer{border-top:1px solid var(--line);padding:15px 0;display:flex;justify-content:space-between;gap:10px;align-items:center;color:#9b8c96;font-size:11px}footer button{border:0;background:none;text-decoration:underline;color:#746373;font-size:11px}
.news-flash{position:fixed;z-index:6;top:86px;left:50%;transform:translateX(-50%);width:min(560px,calc(100% - 32px));background:#fff7fb;border:2px solid var(--ink);box-shadow:6px 6px 0 var(--pink);padding:14px 18px}.news-flash b{display:block;color:#ae3972;font-size:15px}.news-flash span{display:block;margin-top:5px;font-size:12px;color:#665666;line-height:1.6}.trade-toast{position:fixed;z-index:7;pointer-events:none;top:45%;left:50%;transform:translateX(-50%);padding:14px 20px;background:#fff;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--pink);font-size:18px;font-weight:800;white-space:nowrap;max-width:95vw}.trade-toast.loss{color:#b9447b}.trade-toast.gain{color:#218c68}.flying-order{position:fixed;z-index:11;pointer-events:none;background:var(--pink);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);padding:8px 10px;font-weight:800;font-size:14px;white-space:nowrap}
dialog{border:2px solid var(--ink);border-radius:7px;background:#fffcfe;color:var(--ink);box-shadow:7px 7px 0 #ed95bb;max-height:90dvh;overflow:auto;padding:28px;width:min(540px,calc(100% - 28px))}dialog::backdrop{background:#211b2ab8;backdrop-filter:blur(4px)}dialog h2{font-size:27px;line-height:1.3;margin:9px 0 13px}dialog p,dialog li{font-size:14px;line-height:1.8}dialog ol{padding-left:20px}dialog li{margin:10px 0}.small-print{font-size:12px!important;color:#877482}.primary,.secondary{display:block;width:100%;border-radius:4px;padding:12px;border:1px solid var(--ink);margin-top:13px;font-size:14px}.primary{background:var(--pink);font-weight:800;box-shadow:0 3px 0 var(--ink)}.secondary{background:#fff;border-color:#d7cbd3}.x-close{position:absolute;right:10px;top:8px;border:0;background:none;font-size:25px}.chat-dialog{width:390px;height:min(670px,calc(100dvh - 42px));max-height:calc(100dvh - 42px);margin:auto 24px auto auto;padding:0;display:flex;flex-direction:column}.chat-dialog:not([open]){display:none}.chat-head{display:flex;justify-content:space-between;align-items:center;padding:18px 17px;background:#fbe7f0;border-bottom:1px solid #efd0de}.chat-head b{font-size:17px}.chat-head small{display:block;font-size:10px;color:#947889;margin-top:3px}.chat-head button{font-size:24px;border:0;background:none}.chat-tabs{display:flex;border-bottom:1px solid var(--line)}.chat-tabs button{flex:1;border:0;background:#fff;text-align:center;font-size:12px;padding:12px 3px}.chat-tabs button[aria-selected="true"]{border-bottom:3px solid var(--pink-dark);font-weight:800;color:#aa4677}.chat-tabs span{color:#9f8b99}.chat-messages{flex:1;min-height:0;overflow:auto;background:#fcf8fa;padding:16px}.message{max-width:85%;margin-bottom:15px}.message b{font-size:10px;color:#9d5780}.message p{display:inline-block;background:white;border:1px solid #e8dbe4;padding:8px 10px;border-radius:4px;margin:4px 0 0;font-size:13px;line-height:1.6}.message.self{margin-left:auto;text-align:right}.message.self b{display:block}.message.self p{background:#f8dbe9;border-color:#e6acc6;text-align:left}.chat-replies{display:flex;gap:7px;padding:12px;flex-wrap:wrap;background:white;border-top:1px solid var(--line)}.chat-replies button{background:#fff4f8;border:1px solid #dfc0d0;border-radius:16px;font-size:11px;padding:7px 9px}.chat-replies button:hover:not(:disabled){background:#fbdde9}.chat-note{font-size:10px!important;margin:0 12px 12px;color:#968594;line-height:1.4!important}.day-dialog{width:min(640px,calc(100% - 28px))}.three-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.three-panels>div{border:2px solid var(--ink);background:#fff4f9;min-height:150px;padding:11px}.three-panels>div:nth-child(2){background:#f5dce8}.three-panels>div:nth-child(3){background:#fffbfd}.three-panels small{font-size:10px;letter-spacing:1px;color:#a34876;font-weight:800}.three-panels p{font-size:13px;line-height:1.65;margin:12px 0 0;font-weight:600}.day-total{border-top:2px dashed #dfc4d2;border-bottom:2px dashed #dfc4d2;padding:14px 0;margin:20px 0}.day-total span,.day-total small{display:block;font-size:12px;color:#887080}.day-total strong{display:block;font-size:38px;margin:5px 0}.settlement-dialog{width:min(550px,calc(100% - 28px))}.settlement-head span{font-size:11px;color:#a24d77;font-weight:800;letter-spacing:2px}.settlement-head h2{font-size:27px}.settlement-head p{color:#847681}.settlement-ledger{max-height:38vh;overflow:auto;border-top:1px solid var(--line);margin-top:14px}.settlement-row{display:grid;grid-template-columns:1fr auto;gap:3px 8px;border-bottom:1px dashed #e6dce1;padding:9px 0;font-size:12px}.settlement-row small{grid-column:1/-1;color:#a08e9a}.settlement-row b{color:#228864}.settlement-row.loss-row b{color:#c14e7d}.settlement-total{border-top:2px solid var(--ink);padding-top:14px;margin-top:15px}.settlement-total span{display:block;font-size:13px}.settlement-total strong{display:block;font-size:34px;margin:4px 0}.settlement-total small{font-size:12px;color:#9c557c}.settlement-next{display:block;width:100%;background:var(--pink);border:1px solid var(--ink);box-shadow:0 3px 0 var(--ink);padding:12px;margin-top:18px;border-radius:4px;font-weight:800}.trade-feedback{display:none}
@media(max-width:1180px){main{padding-left:2.6%;padding-right:2.6%}.topbar{padding:0 2.6%}.game-grid{grid-template-columns:200px minmax(320px,1fr) 280px;gap:12px}.portrait{height:282px}.terminal{padding:15px 12px}.pair small{display:none}.trade-card{padding:16px 12px}.chart{height:228px}.lower-grid{gap:12px}.tool-row small{font-size:10px}}
@media(max-width:930px){.top-right>span{display:none}.game-grid{grid-template-columns:minmax(0,1fr) 280px}.character-card{grid-column:1/-1;display:grid;grid-template-columns:110px 1fr 190px;min-height:130px;align-items:center;padding-right:10px;box-shadow:3px 3px 0 #f2accb}.character-heading{grid-column:2;grid-row:1;align-self:start;border:0;background:none;padding:8px 10px;font-size:11px}.portrait{grid-column:1;grid-row:1/4;height:130px}.portrait-name,.impact-stamp{display:none}.speech{grid-column:2;grid-row:2/4;margin:16px 8px 12px;min-height:0;padding:8px;font-size:14px}.sanity-label{grid-column:3;grid-row:1;align-self:end;margin:0 8px}.sanity-meter{grid-column:3;grid-row:2;margin:0 8px}.character-card>p{grid-column:3;grid-row:3;align-self:start;margin:0 8px 9px;font-size:10px}.lower-grid{grid-template-columns:1fr}.chart{height:235px}}
@media(max-width:690px){.topbar{height:60px;padding:0 14px}.brand{font-size:16px;gap:8px}.brand-mark{width:28px;height:28px;font-size:22px}.brand small{display:none}.top-right{gap:4px}.top-right button{padding:7px;font-size:11px}.top-right .chat-toggle{padding:7px 9px}main{padding:18px 13px 8px}.page-heading{gap:10px;align-items:start;margin-bottom:14px}.page-heading h1{font-size:28px;letter-spacing:-1px}.page-heading p{font-size:11px}.eyebrow{font-size:9px;letter-spacing:1px}.mission{max-width:150px;padding-top:8px}.mission b{font-size:11px}.mission span,.mission small{font-size:9px;line-height:1.4}.game-grid{grid-template-columns:1fr;gap:12px}.character-card{grid-template-columns:86px 1fr 115px;min-height:108px;padding-right:3px}.portrait{height:108px}.character-heading{font-size:9px;padding:5px 7px}.character-heading b{font-size:10px;padding:2px 3px}.speech{font-size:11px;line-height:1.5;margin:14px 5px 5px;padding:6px}.sanity-label{font-size:9px;margin:0 5px}.sanity-meter{height:6px;margin:0 5px}.character-card>p{font-size:9px;line-height:1.3;margin:0 5px 8px}.terminal{padding:14px 13px 12px}.terminal-head>span{font-size:10px}.market-price{margin-top:10px}.market-price strong{font-size:31px}.market-price>span{font-size:11px}.market-price b{font-size:11px}.market-price small{font-size:9px}.chart{height:196px}.chart-foot{font-size:9px}.chart-foot span:last-child{display:none}.news{padding:12px;min-height:0}.news h2{font-size:16px}.news p{font-size:12px}.news-bottom{font-size:10px}.ticker{min-height:40px;padding:8px}.ticker-label,.ticker button{font-size:10px}.ticker p{font-size:10px}.trade-card{padding:15px}.account-heading{grid-column:1/-1}.account-heading b{font-size:31px}.trade-card{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}.account-row{font-size:11px}.account-row.emphasis{grid-column:1/-1}.capital-flow,.order-empty,.position-card,.ticket-hint{grid-column:1/-1}.order-empty{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.order-empty[hidden],.position-card[hidden]{display:none!important}.ticket-title{grid-column:1/-1}.trade-card fieldset{margin-top:10px}.trade-card fieldset:nth-of-type(3){grid-column:1/-1}.trade-card legend{font-size:11px}.segments button{font-size:11px;padding:9px 0;min-height:38px}.risk-line,.entry-actions,.quiet{grid-column:1/-1}.entry-actions{margin-top:3px}.quiet{margin-top:11px}.position-card{margin-top:3px}.position-pnl{margin-top:12px}.hold-actions{grid-template-columns:repeat(3,1fr);gap:5px}.hold-actions button{font-size:11px;padding:9px 5px}.lower-grid{margin-top:16px}.tools,.playback{padding:13px}.tool-row{grid-template-columns:1fr;gap:6px}.tool-row button{min-height:0;padding:10px}.tool-row b{font-size:12px}.tool-row small{font-size:10px}.playback p{font-size:10px}.chat-dialog{width:100%;height:min(75dvh,650px);max-height:85dvh;margin:auto 0 0;border-radius:12px 12px 0 0}.three-panels{grid-template-columns:1fr}.three-panels>div{min-height:0;padding:9px}.three-panels p{margin:4px 0 0;font-size:12px}.day-dialog{padding:21px}.day-dialog h2{font-size:23px}.day-total strong{font-size:33px}.settlement-dialog{padding:20px}footer{font-size:9px}footer button{font-size:10px}.trade-toast{white-space:normal;text-align:center;font-size:14px;width:calc(100% - 42px)}}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) *,body:not(.motion-full) *:before,body:not(.motion-full) *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Prevent the chart's intrinsic SVG size from widening the mobile grid. */
.market-stack{grid-template-columns:minmax(0,1fr)}.market-stack>*{min-width:0}.chart{min-width:0;overflow:hidden}.ticker p{min-width:0}
@media(max-width:690px){.page-heading{display:block}.page-heading h1{white-space:nowrap;font-size:clamp(25px,7.2vw,30px)}.mission{max-width:none;text-align:left;border-left:3px solid var(--pink);padding:4px 0 4px 8px;margin-top:10px}.mission b{font-size:12px}.mission span,.mission small{font-size:10px}.market-price{gap:7px}.market-price strong{font-size:28px}.market-price>div{min-width:66px}.terminal-head{gap:4px}.terminal-head>span{max-width:104px}}

/* Yen trading room: character switching, transaction feedback and story items. */
.character-heading{gap:5px;flex-wrap:wrap}.character-heading button{font-size:10px;border:1px solid #d9b2c4;background:#fff;padding:4px 6px;border-radius:3px;white-space:nowrap}.character-card .mental-detail{font-size:10px;color:#a94573;border-top:1px dashed #edcede;padding-top:7px;margin-top:-6px}.quote-unit{font-size:10px;color:#b8afc2;margin:4px 0 0;line-height:1.6}.market-price strong{font-variant-numeric:tabular-nums;font-size:clamp(26px,2.7vw,36px)}.news-meta{flex-wrap:wrap;gap:5px 10px}.news-meta span{margin-left:auto}.news-meta time{font-size:10px;color:#9a7c8a}.news{min-height:120px}.tools #father{background:#fff7e7;border-color:#e4c992}.lower-heading #motion-toggle{font-size:10px;background:#fff;border:1px solid #dacbd5;padding:4px 6px;border-radius:3px}.heat-display{display:flex;align-items:center;gap:10px;margin-top:12px}.heat-display>span{font-size:11px;white-space:nowrap;color:#936f83}.heat-meter{height:6px;flex:1;overflow:hidden;border-radius:5px;background:#efe6ec}.heat-meter i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#8ce0bc,#ffbd64,#f575a4);transition:width .35s}.heat-display+p{margin-top:7px}.deal-impact{position:fixed;z-index:80;pointer-events:none;left:50%;top:38%;display:grid;gap:5px;text-align:center;padding:14px 26px;min-width:220px;background:#fff7ec;border:3px solid #312332;box-shadow:6px 6px 0 #ef98ba;color:#322535}.deal-impact small{font-size:14px;font-weight:900;letter-spacing:2px}.deal-impact b{font-size:30px;font-weight:900;white-space:nowrap}.deal-impact.loss{background:#fbe2ee;box-shadow:6px 6px 0 #b76289}.deal-impact.hold{background:#e4f9ef}.trade-spark{position:fixed;width:8px;height:12px;z-index:79;border-radius:2px;pointer-events:none;box-shadow:0 0 12px #ffcc7888}body[data-heat="4"] .terminal,body[data-heat="5"] .terminal{border:1px solid #c88950}body[data-heat="5"] .heat-display>span{color:#c6602b;font-weight:900}.prop-dialog{width:min(460px,calc(100% - 30px));padding:30px;text-align:center;border:3px solid #302432;border-radius:0;box-shadow:8px 8px 0 #ec9fc0;overflow:hidden}.prop-dialog::backdrop{background:#211823bb;backdrop-filter:blur(4px)}.prop-dialog h2{font-size:26px;line-height:1.4;margin:12px 0}.prop-visual{height:126px;display:grid;place-items:center;position:relative}.prop-envelope{display:grid;place-items:center;transform:rotate(-5deg);width:118px;height:82px;background:linear-gradient(155deg,#fff6d5,#efc974);border:3px solid #3c2c31;box-shadow:5px 5px 0 #dba858;color:#624729;font-size:44px;font-weight:900}.prop-spark{position:absolute;right:23%;top:6px;font-size:33px;color:#e99e41}.prop-dialog[data-kind="mochiko"] .prop-envelope{background:#d3e5fc;box-shadow:5px 5px 0 #8fabcc}.prop-dialog[data-kind="yasuko"] .prop-envelope{background:#ebd1e5;box-shadow:5px 5px 0 #b57fa4}.prop-dialog>strong{display:block;font-size:35px;font-weight:900;color:#a84470;font-variant-numeric:tabular-nums}.prop-dialog>p{font-size:14px;line-height:1.8}.prop-dialog .small-print{font-size:11px;color:#9a7d8a}.prop-dialog .primary{width:100%}.canon-quote{margin:16px 0;padding:12px;border-left:3px solid #e28faf;background:#fff1f7;font-size:13px;line-height:1.7}.canon-quote cite{display:block;font-size:10px;font-style:normal;margin-top:5px}.canon-quote a{color:#a74372}.comic-face{width:100%;height:124px;object-fit:contain;display:block;margin:2px 0 8px}.three-panels>div{overflow:hidden}.three-panels p{font-size:12px}
@media(max-width:930px){.character-card{grid-template-columns:110px minmax(0,1fr);padding-right:10px}.portrait{grid-row:1/6;height:162px}.character-heading{grid-column:2;grid-row:1;padding:7px 9px;align-self:center;justify-content:start}.speech{grid-column:2;grid-row:2;margin:0 8px 10px}.sanity-label{grid-column:2;grid-row:3;align-self:center;margin:0 9px 5px}.sanity-meter{grid-column:2;grid-row:4;margin:0 9px}.character-card>p#emotion-explain{display:none}.character-card .mental-detail{grid-column:2;grid-row:5;border:0;margin:4px 9px 7px;padding:0;align-self:center}.character-heading b{margin-right:auto}.character-heading button{font-size:10px}}
@media(max-width:690px){.character-card{grid-template-columns:90px minmax(0,1fr);min-height:144px;padding-right:5px}.portrait{height:144px}.character-heading{padding:6px 5px;gap:4px}.character-heading>span{display:none}.character-heading button{font-size:9px;padding:4px}.speech{font-size:12px;margin:0 5px 9px;padding:6px;line-height:1.5}.sanity-label{font-size:10px;margin:0 5px 4px}.sanity-meter{margin:0 5px}.character-card .mental-detail{font-size:9px;margin:4px 5px 6px}.news-meta span{font-size:10px}.news-meta time{width:100%;font-size:9px}.market-price strong{font-size:29px}.quote-unit{font-size:9px}.tools .tool-row{grid-template-columns:1fr;gap:7px}.tool-row button{display:flex;justify-content:space-between;align-items:center;gap:10px}.tool-row b{font-size:12px}.tool-row small{font-size:9px;margin:0;text-align:right}.deal-impact{padding:12px 18px;min-width:210px}.deal-impact b{font-size:27px}.prop-dialog{padding:22px}.prop-dialog h2{font-size:23px}.prop-dialog>strong{font-size:31px}.three-panels>div{display:grid;grid-template-columns:75px minmax(0,1fr);gap:0 9px;align-items:center}.comic-face{grid-column:1;grid-row:1/3;height:95px;width:75px;margin:0}.three-panels small,.three-panels p{grid-column:2}.three-panels p{line-height:1.6}.three-panels small{align-self:end}.three-panels p{align-self:start}}
.tool-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tool-row button{min-width:0}.effect-list p{margin:8px 0;padding:8px 12px;background:#f7e6ec;border-left:3px solid #d16c92;font-size:12px;line-height:1.6}#family-panel{border:1px dashed #bb6c86;border-radius:8px;padding:12px;margin:14px 0}#family-panel p{margin:0 0 8px;font-size:13px}.story-dialog{width:min(540px,calc(100vw - 28px))}.story-dialog p{line-height:1.8}#story-choices{display:grid;gap:10px;margin-top:24px}#story-choices button{text-align:left;padding:14px;background:#fae6ee;border:1px solid #df8dac;border-radius:8px}#repay-amount{display:block;width:100%;box-sizing:border-box;padding:12px;font-size:18px;margin:10px 0}#journal-lines{max-height:50vh;overflow:auto}.chat-tabs{overflow-x:auto}.chat-tabs button{flex:1;min-width:95px}.chat-replies,#chat-replies{flex-wrap:wrap;max-height:180px;overflow:auto}.comic-face{object-fit:cover;object-position:top}.top-right{flex-wrap:wrap}#privacy-toggle{font-size:11px}
@media(max-width:650px){.tool-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.top-right{gap:5px}.topbar{align-items:flex-start}.top-right button{padding:6px}.story-dialog{padding:20px}#story-lines p{font-size:14px}}

.voice-caption-row{margin:0 12px 10px;display:flex;align-items:center;gap:6px}#voice-caption{font-size:11px;line-height:1.5;margin:0;color:#9c4d72;flex:1}#voice-replay{border:1px solid #d9b2c4;background:#fff;border-radius:4px;font-size:10px;padding:5px;white-space:nowrap}#voice-toggle{font-size:10px;padding:4px 6px;border:1px solid #d9b2c4;background:#fff;border-radius:3px;white-space:nowrap}@media(max-width:690px){.voice-caption-row{grid-column:2;margin:0 5px 5px}#voice-caption{font-size:9px}#voice-toggle{font-size:9px}.character-heading{grid-column:2;gap:4px}}
/* Closing and night are player-controlled states, independent of market playback. */
#settle-day{width:100%;margin-top:14px;min-height:50px;font-size:1rem;background:#d58faf;color:#251e2a}
.rest-panel{margin:18px 0;padding:22px;border:2px solid #665b73;border-radius:12px;background:#302936;color:#efe6f0}
.rest-panel h2{margin:0 0 8px}.rest-panel p{color:#c5b7ce;line-height:1.7}.rest-panel button{min-height:44px}
.typing-status{min-height:25px;font-size:12px;color:#8f6b83;padding:5px 16px;background:#eee8ee}
.typing-status:not(:empty){animation:typing-pulse 1.2s ease-in-out infinite}
.message-new{animation:message-in .22s ease-out}
@keyframes message-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes typing-pulse{50%{opacity:.55}}
.four-comic{display:block;width:min(100%,48.75vh);max-height:65vh;object-fit:contain;background:white;border:2px solid #302936;margin:12px auto}
.story-comic-frame{position:relative;width:min(100%,48.75vh);margin:12px auto;background:#fff}.story-comic-frame .four-comic{width:100%;max-height:none;margin:0}.comic-cover{display:none;position:absolute;width:50%;height:50%;background:#fff;border:1px solid #302936;box-sizing:border-box}.cover-two{top:0;right:0}.cover-three{bottom:0;left:0}.cover-four{bottom:0;right:0}.stage-one .comic-cover,.stage-three .cover-four{display:block}
.homage-panel{margin:14px 0;background:#fff;padding:10px;border:2px solid #352b3c}.homage-panel img{display:block;max-width:100%;max-height:320px;object-fit:contain;margin:auto}.homage-panel figcaption{font-size:11px;line-height:1.5;color:#57465c;margin-top:6px}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) .message,body:not(.motion-full) .typing-status:not(:empty){animation:none}}
/* The editor is opt-in and uses the same dialog/focus behavior as the game. */
.developer-status{margin:0 0 18px;padding:12px 16px;border:1px solid #dc8d47;background:#fff1db;color:#54301d;font-size:14px}
.developer-dialog{width:min(720px,calc(100vw - 28px));max-height:90vh;overflow:auto}
.developer-dialog>p{font-size:14px;line-height:1.6}
.developer-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.developer-form label{display:flex;flex-direction:column;gap:7px;font-size:14px}
.developer-form input,.developer-form select{width:100%;padding:10px;border:1px solid #b9a9b0;border-radius:6px;background:white;color:#29202c;font:inherit;min-width:0}
.developer-form .developer-auto{grid-column:1/-1;flex-direction:row;align-items:center}.developer-auto input{width:auto}
.developer-note,.developer-actions,#developer-error{grid-column:1/-1}.developer-note{margin:0;font-size:13px;line-height:1.6}.developer-actions{display:flex;flex-wrap:wrap;gap:10px}#developer-error{color:#a5224c;margin:0;min-height:1.5em}
.comic-captions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.comic-captions p{font-size:14px;line-height:1.55;margin:0;white-space:pre-wrap}.comic-captions p:empty{display:none}
@media(max-width:600px){.developer-form{grid-template-columns:1fr}.developer-dialog{padding:20px}.comic-captions{gap:8px}}

.item-locked{opacity:.65}.item-locked small{line-height:1.5}.item-unlock-notice{padding:12px;border:2px solid #bd4c80;background:#fff1d4;font-weight:700}.image-unavailable{font-size:12px;color:#816777;background:#f6e7ed;min-height:160px}

#prop-line{white-space:pre-line;line-height:1.8}

/* Account margin and independent order tickets. */
.topbar{height:auto;min-height:74px;padding-top:12px;padding-bottom:12px}.top-right{justify-content:flex-end}.brand small{display:block;margin:3px 0 0;font-size:9px}
.game-grid{grid-template-columns:minmax(180px,.72fr) minmax(340px,1.65fr) minmax(330px,1.2fr)}.trade-card{min-width:0}.trade-card .ticket-title{margin:18px 0 12px}
.margin-health{margin-top:12px;padding:10px 12px;background:#f6f3f6;border:1px solid var(--line);border-radius:6px}.margin-health>div{display:flex;justify-content:space-between;gap:8px;font-size:12px}.margin-health meter{display:block;width:100%;height:12px;margin:7px 0}.margin-health small{font-size:10px;color:var(--muted);line-height:1.5;display:block}
.amount-mode{display:flex;gap:5px;background:#f4eff2;padding:4px;border-radius:6px}.amount-mode button{flex:1;padding:8px;border:0;border-radius:4px;background:transparent;font-size:12px}.amount-mode button[aria-pressed=true]{background:var(--ink);color:#fff;font-weight:700}.amount-field{display:grid;gap:7px;margin:14px 0;font-size:12px;font-weight:700}.amount-field input:not([type=range]){min-width:0;width:100%;padding:11px 12px;border:1px solid #c8b6c1;border-radius:4px;font:700 18px inherit;background:#fff}.amount-field small{font-size:10px;font-weight:400;color:var(--muted)}
.order-estimate{padding:10px 12px;margin-top:12px;background:#faf6f8;border:1px dashed #d7becb;border-radius:5px}.order-estimate>div{display:flex;gap:8px;justify-content:space-between;font-size:11px;line-height:1.8}.order-estimate>div:last-child{display:grid;gap:0;margin-top:5px}.order-estimate b{font-variant-numeric:tabular-nums}.order-validation{font-size:10px;color:var(--muted);line-height:1.6;margin:8px 0}.order-validation.invalid{color:#ad315f}
.position-card{border-top:2px solid #dfc5d2;margin-top:20px;padding-top:3px}.position-pnl{margin:0 0 12px}.position-pnl strong{font-size:25px}.position-list{display:grid;gap:9px}.order-row{border:1px solid #d6cbd2;border-radius:6px;overflow:hidden;background:#fcfafb;padding:11px}.order-row-head{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}.order-row-head>span{background:#f3dae6;padding:2px 5px;font-size:10px;border-radius:3px}.order-row-data{display:flex;justify-content:space-between;gap:8px;font-size:10px;line-height:1.85}.order-row-data>span{color:var(--muted)}.order-row-data b{text-align:right;font-variant-numeric:tabular-nums}.order-row-actions{display:flex;gap:6px;margin-top:10px}.order-row-actions button{flex:1;padding:8px;border:1px solid #cbb7c4;border-radius:4px;background:white;font-size:11px}.hold-actions{margin-top:12px}.hold-actions button{font-size:11px}
.share-dialog{width:min(510px,calc(100vw - 26px));padding:24px}.share-dialog h2{font-size:24px}.share-dialog img{display:block;width:min(100%,300px);max-height:58dvh;object-fit:contain;margin:12px auto}.share-dialog a.primary{display:block;text-align:center;text-decoration:none;padding:14px;margin-top:14px}.achievements-dialog{width:min(740px,calc(100vw - 26px))}
@media(max-width:1050px){.game-grid{grid-template-columns:minmax(0,1fr) 330px}.character-card{grid-column:1/-1}.brand small{display:none}.topbar{gap:12px}.top-right{gap:5px}}
@media(max-width:690px){.topbar{align-items:center;flex-wrap:wrap;gap:10px}.top-right{width:100%;justify-content:flex-start}.top-right button{flex:0 0 auto}.game-grid{grid-template-columns:minmax(0,1fr)}.margin-health,.amount-mode,.amount-field,.order-estimate,.order-validation{grid-column:1/-1}.order-empty{grid-template-columns:1fr}.order-empty fieldset{grid-column:1/-1}.position-pnl strong{font-size:25px}.order-row{padding:12px}.order-row-head{font-size:13px}.order-row-data{font-size:11px}.order-row-actions button,.hold-actions button{min-height:42px}.share-dialog{padding:20px}.topbar .brand{font-size:19px}.order-estimate>div{font-size:12px}.order-validation{font-size:11px}}

.trade-card .entry-actions{margin:0 0 16px}.order-row-data{font-size:11px}.order-row-head{font-size:13px}.hold-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.position-pnl{display:flex;align-items:center;justify-content:space-between;gap:7px}.position-pnl>span{font-size:10px}.position-pnl strong{font-size:22px}.margin-health{grid-column:1/-1}
/* Daily life, live risk controls and optional ranking. */
.terminal .playback{border-top:1px solid #615363;margin-top:14px;padding-top:16px;color:#e9ddea;background:transparent}.terminal .playback h2{font-size:15px;color:#ebd6e5}.terminal .playback button{background:#403443;color:#f9e6f3;border:1px solid #6f5a71}.terminal .playback p{color:#bbacbf;font-size:12px}.terminal .heat-display{margin:14px 0 8px}.terminal .lower-heading{gap:10px}
#stake-slider,#amount-slider{display:block;width:100%;margin:18px 0 4px;accent-color:#d35188;min-height:28px;cursor:ew-resize;touch-action:pan-y}.amount-shortcuts{display:flex;flex-wrap:wrap;gap:5px}.amount-shortcuts button{font-size:11px;padding:9px;border:1px solid #cbb6c3;background:#f8eef3;border-radius:4px;min-height:38px}
.inventory{margin:22px 0;padding:22px;border:1px solid #d6c2cf;border-radius:10px;background:#fffafd}.inventory .tool-row{flex-wrap:wrap;display:flex;gap:10px}.inventory .tool-row>button{flex:1 1 190px;text-align:left;padding:15px;min-height:78px}.inventory .tool-row small{display:block;margin-top:8px}.inventory .lower-heading{align-items:center}.inventory #inventory-empty{color:#8a7585;padding:12px 0;font-size:14px}#loan-panel{padding:16px 0;border-top:1px solid #e0d3dc;margin-top:12px}#loan-state{font-size:12px;margin-left:12px;color:#8a7585}#loan-effect,#loan-summary{font-size:14px;line-height:1.8}
.risk-alerts:empty{display:none}.risk-alert{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border:1px solid #cf805b;background:#56342e;color:#ffcfaf;margin-top:12px;padding:12px;border-radius:6px}.risk-copy{width:100%;font-size:12px}.risk-alert button{border:1px solid #b88574;border-radius:4px;background:#ffebe1;color:#5b3027;padding:10px;min-height:40px;font-size:12px}.stop-progress{height:5px;background:#e1d5dc;overflow:hidden;border-radius:4px;margin-top:10px}.stop-progress i{display:block;height:100%;background:#bf82a2;transition:width .2s}.stop-progress.danger i{background:#e06f52}
#margin-dialog input,#loan-dialog input,#ranking-name{display:block;width:100%;margin:10px 0 16px;min-height:44px;border:1px solid #beaab8;background:#fff;padding:10px;color:#28232d;font:inherit}#margin-description,#privacy-copy{font-size:14px;line-height:1.8}#margin-error,#loan-error{color:#ad3158;font-size:13px}#margin-dialog label,#loan-dialog label{font-size:14px}.leaderboard-dialog{width:min(660px,calc(100vw - 24px))}.leaderboard-dialog h2{font-size:28px}#ranking-table{overflow:auto;margin:16px 0}#ranking-table table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}#ranking-table th,#ranking-table td{padding:12px 8px;border-bottom:1px solid #e0d4de;text-align:left}#ranking-table th:last-child,#ranking-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}#ranking-form{padding-top:16px;border-top:1px solid #d7c6d1}#ranking-eligibility,#ranking-status{font-size:13px;line-height:1.7}#ranking-retry{padding:8px 12px;font-size:12px}
@media(max-width:690px){.inventory{padding:18px}.inventory .tool-row>button{flex-basis:100%}.risk-alert button{flex:1}.leaderboard-dialog{padding:20px}.terminal .playback .lower-heading{flex-wrap:wrap}.top-right button{min-height:36px}}
.terminal #motion-toggle{color:#f3d4e6;background:#4b394b;border:1px solid #877087}.homage-panel #turnaround-comic{max-height:420px}#prop-line:empty{display:none}
.share-dialog a.primary{color:var(--ink)}
#voice-library-open{font-size:11px;padding:6px 9px;background:#fff8fb;border:1px solid #ccb5c3;border-radius:4px;white-space:nowrap}#voice-list{display:grid;gap:12px}#voice-library-caption{font-size:13px;line-height:1.8}
.voice-audition{padding:14px;min-width:0;border:1px solid #d9c7d4;background:#fff7fb;border-radius:8px}.voice-audition-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;font-size:13px}.voice-audition-heading span{flex-shrink:0;font-size:11px;color:#876f82}.voice-audition p{margin:6px 0 10px;font-size:12px;color:#876f82;line-height:1.6}.voice-audition audio{display:block;width:100%;height:42px;min-width:0}.voice-unavailable{border-color:#b15173}#voice-library-dialog .small-print{margin-bottom:18px}
.food-comic{width:100%;aspect-ratio:3/2;overflow:hidden;border:2px solid #463042;margin:12px 0}.food-comic img{display:block;width:100%;height:auto}.food-comic.lower-pair img{transform:translateY(-50%)}.prop-dialog:has(.food-comic:not([hidden])) .prop-visual{display:none}.prop-dialog:has(.food-comic:not([hidden])){width:min(600px,calc(100vw - 24px));padding:24px}.prop-dialog:has(.food-comic:not([hidden])) strong{font-size:28px;margin:8px 0}

.storage-warning{padding:12px 16px;border:1px solid #b76738;background:#fff4dd;color:#754218;font-size:14px;line-height:1.6}
.share-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.share-actions a,.share-actions button{flex:1;min-width:140px;min-height:44px;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;padding:12px;font-size:14px;border:1px solid #beaab8;border-radius:4px;background:#fff;color:var(--ink)}.share-actions a.primary{background:var(--pink);color:var(--ink)}

.amount-heading,.amount-slider-heading,.amount-slider-bounds{display:flex;align-items:center;justify-content:space-between;gap:8px}.amount-heading label{min-width:0}#amount-random{min-height:44px;padding:8px 10px;border:1px solid #cbb6c3;background:#fff3f8;border-radius:6px;font-size:12px;white-space:nowrap}.amount-slider-heading output{color:#a84e7c;font-weight:800}.amount-slider-bounds{font-size:10px;font-weight:400;color:var(--muted)}#amount-slider{margin:4px 0 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}

/* Trading controls stay visible; mechanics are opened from the round help buttons. */
.help-dot{position:relative;display:inline-grid;place-items:center;width:24px;height:24px;padding:0;margin-left:5px;border:1px solid #cba7bb;border-radius:50%;background:#fff4f9;color:#a74372;font-size:13px;font-weight:800;vertical-align:middle;flex-shrink:0}.help-dot:before{content:'';position:absolute;inset:-6px}.help-dot:hover{background:#f8d5e6}.detail-dialog{width:min(560px,calc(100vw - 24px));padding:28px}.detail-dialog h2{font-size:25px;margin:0 30px 22px 0}.detail-dialog p{font-size:14px;line-height:1.8}.detail-dialog .account-row{font-size:14px;margin:8px 0}.detail-dialog a,.opening-links a{color:#a33e6e;font-size:13px}.account-heading>span{display:flex;align-items:center;gap:4px}.margin-health .help-dot{width:22px;height:22px;font-size:12px}.order-estimate>div:last-child{display:flex;gap:8px;margin:0}.order-estimate .primary-estimate{font-size:13px;line-height:2.2}.order-estimate .primary-estimate b{font-size:17px;font-weight:900}.order-estimate .primary-estimate span{display:flex;align-items:center}.order-estimate>div{font-size:12px;align-items:center}.risk-line{font-size:12px;line-height:1.7}.risk-line b{color:#ba3e78;font-size:14px}.high-leverage{margin-top:7px}.high-leverage button{font-size:11px;background:#fff3f8}.order-empty fieldset legend{display:flex;align-items:center;gap:3px;width:100%}.order-empty fieldset legend output{margin-left:auto}.market-stack>.position-card{background:#fff;border:1px solid #dec9d4;border-radius:9px;padding:18px;margin:16px 0}.market-stack>.position-card .ticket-title{margin:0 0 16px;font-size:17px}.market-stack .position-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}.order-row-head{align-items:center;gap:7px}.order-row-head>b{flex:1}.order-live-pnl b{font-size:20px;font-weight:900}.order-row-data{font-size:12px;line-height:2.05}.order-row-actions button,.hold-actions button{min-height:44px}.hold-actions button{font-size:12px}.position-pnl strong{font-size:27px}.position-pnl>span{font-size:12px}#position-empty{font-size:13px;color:var(--muted);margin:8px 0}.mode-dialog{width:min(650px,calc(100vw - 24px));padding:30px}.mode-dialog h2{font-size:29px;margin:14px 0 24px}.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mode-options button{display:flex;flex-direction:column;gap:14px;align-items:flex-start;text-align:left;padding:24px 20px;border:2px solid #dab1c5;background:#fff4f9;border-radius:9px;min-height:180px}.mode-options button:hover{border-color:#ba3e78;background:#ffe5f0}.mode-options b{font-size:23px}.mode-options span{font-size:14px;line-height:1.6}.mode-options small{font-size:12px;color:var(--muted)}.opening-dialog{width:min(540px,calc(100vw - 24px));padding:30px;background:#fff7fb}.opening-dialog>img{display:block;width:180px;height:180px;object-fit:cover;object-position:top;border:2px solid #282431;margin:24px auto 12px;box-shadow:5px 5px 0 #f4b0cc}.opening-dialog h2{font-size:28px}.opening-dialog p{font-size:16px;line-height:1.9}.opening-links{display:flex;gap:18px;margin:20px 0}.opening-dialog .primary{width:100%}.ranking-modes{margin:18px 0}.ranking-sort-label{display:inline-flex;gap:10px;align-items:center;font-size:13px}.ranking-sort-label select{font:inherit;padding:8px;border:1px solid #cbb3c0;background:#fff;border-radius:4px}#ranking-share{font-size:12px;padding:10px;margin-left:12px}.ranking-entry{padding:20px;background:#fff4f9;border:1px solid #e4c4d5;border-radius:9px;margin-bottom:14px}.ranking-entry-head{display:flex;justify-content:space-between;gap:12px;font-size:16px}.ranking-entry-head strong{color:#ad4273;font-size:14px;white-space:nowrap}.ranking-return{font-size:36px;font-weight:900;margin:20px 0 18px}.ranking-return>span{display:block;font-size:12px;color:var(--muted);font-weight:500;margin-bottom:4px}.ranking-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 10px}.ranking-metrics span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.ranking-metrics b{font-size:14px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.leaderboard-dialog h2{display:flex;align-items:center;gap:7px}
@media(max-width:690px){.mode-options{grid-template-columns:1fr}.mode-options button{min-height:140px;padding:18px}.mode-dialog,.opening-dialog,.detail-dialog{padding:24px}.market-stack>.position-card{padding:16px}.position-pnl strong{font-size:24px}.ranking-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ranking-entry{padding:16px}.character-heading>span{display:inline}.sanity-label .help-dot{width:20px;height:20px;margin-left:3px}.order-row-data{font-size:12px}.top-right #developer-open{font-size:10px}.order-empty{display:block}.account-heading b{font-size:36px}.trade-card .account-row{font-size:13px}}
.revealed-comic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;margin:18px auto;background:transparent}.revealed-comic.single-panel{grid-template-columns:1fr;max-width:260px}.revealed-comic figure{margin:0;min-width:0}.revealed-comic-crop{position:relative;aspect-ratio:3/4;overflow:hidden;background:white}.revealed-comic-crop img{position:absolute;display:block;width:200%;max-width:none;height:200%;object-fit:fill}.revealed-comic figcaption{font-size:12px;line-height:1.6;margin:8px 0;color:#695162}.story-dialog{max-height:90dvh;overflow:auto}.story-dialog h2{margin:12px 0;font-size:27px}.story-dialog .eyebrow{font-size:10px;letter-spacing:1.2px}.story-dialog #story-lines p{font-size:15px}.story-dialog #story-choices{margin-top:18px}
.liquidation-estimate{background:#fff2f8;border:1px solid #e7bad0;border-radius:10px;padding:12px;margin:14px 0;font-size:13px;line-height:1.6}.liquidation-estimate>div{display:grid;grid-template-columns:76px 1fr;gap:8px;border-top:1px dashed #e7bad0;margin-top:8px;padding-top:8px}.liquidation-estimate p{margin:0}.liquidation-estimate p b{color:#a83870;font-weight:800}.liquidation-estimate>div>span{color:#876f7f}

/* Clearly separated, immediately executed loan presets. */
.loan-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.loan-presets button{min-width:0;white-space:normal;overflow-wrap:anywhere;padding:10px 6px}#loan-quick-actions>p{font-size:.9rem;font-weight:700;margin:16px 0 8px}#loan-assets,#loan-rules{line-height:1.6;overflow-wrap:anywhere}
/* Indexed manga panels use an original-image viewport, never redrawn money. */
.portrait.manga-viewport{height:auto;max-height:380px}.manga-source-row{padding:8px 11px;display:flex;gap:6px;align-items:center;border-top:1px solid #dfc9d2}.manga-source-row p{margin:0;font-size:10px;line-height:1.6;flex:1;color:#766773}.manga-source-row button{font-size:10px;padding:5px;flex-shrink:0}@media(max-width:930px){.manga-source-row{grid-column:2;grid-row:6;padding:4px 9px;border:0}.portrait.manga-viewport{align-self:start;max-height:200px}.manga-source-row p{font-size:9px}}
.portrait.manga-viewport{width:100%}

/* Approved selected main-mode manga. Originals are never edited. */
.manga-context-cards{display:grid;gap:10px;margin:14px 0;text-align:left}.manga-context-cards figure{margin:0;min-width:0}.manga-context-cards figcaption{font-size:12px;line-height:1.6;margin:9px 0;color:#715a68}.manga-card-viewport{position:relative;overflow:hidden;max-width:100%;background:#fff;border:1px solid #bcb0b6}.manga-card-viewport:not(.manga-viewport) img{display:block;width:100%;height:auto}.manga-boundary{font-size:12px;line-height:1.6;padding:10px;border-left:3px solid #ab6683;background:#fff3f8;color:#604653}.manga-account-fact{font-size:13px;line-height:1.6;margin:0}.manga-missing{font-size:13px;line-height:1.6;padding:12px;background:#f0e9ed;color:#6a5660}.manga-context-cards .manga-card-source{width:100%;font-size:12px}.portrait:has(img[hidden]){min-height:170px;display:flex;align-items:flex-end;justify-content:center;background:#f4edf1}.portrait:has(img[hidden]) .portrait-name{position:static;margin-bottom:25px}.opening-dialog .manga-context-cards{max-width:560px;margin-inline:auto}.manga-card-viewport.manga-viewport{max-height:none}.manga-context-cards[hidden]{display:none}

.manga-image-fallback{position:relative;z-index:1;padding:12px;margin:0;background:#fff3f8;color:#684154;font-size:13px;line-height:1.6;white-space:normal}.manga-viewport:has(.manga-image-fallback){min-height:120px}.manga-viewport>.image-unavailable{opacity:0}

#privacy-diagnostics{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:12px;line-height:1.6}

/* Cross-game navigation leaves the active session open. */
.top-right .stock-game-link{color:inherit;font:inherit;text-decoration:none;border:1px solid currentColor;border-radius:7px;padding:7px 10px;white-space:nowrap}.top-right .stock-game-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}

.risk-line #risk-note{display:block;font-size:11px;line-height:1.6;margin-top:3px}.risk-line #risk-note[hidden]{display:none}

.contextual-manga{min-width:0;margin-block:1rem}.contextual-manga figure{margin:1rem 0}.contextual-manga img{display:block;width:100%;height:auto;object-fit:contain}.contextual-manga section{min-width:0}.contextual-manga p{line-height:1.65;overflow-wrap:anywhere}.contextual-manga button{margin-bottom:.75rem}

.market-start-settings{margin:16px 0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}.market-start-settings label{display:grid;grid-template-columns:7em minmax(0,1fr);align-items:center;gap:10px;min-width:0;font-size:14px}.market-start-settings select{width:100%;min-width:0;max-width:100%;min-height:40px;padding:8px;border:1px solid #d5bfc7;border-radius:8px;background:#fff;color:#392b32;font-size:13px}.market-start-settings>div{min-width:0}.market-start-settings>div[id$="historical-options"]:not([hidden]){display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}.market-start-settings .small-print{margin:0;line-height:1.6}.market-start-settings [role=status]:empty{display:none}.market-start-settings [hidden],.historical-status[hidden]{display:none}.historical-status{padding:10px 14px;border-radius:10px;background:#fff4da;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.historical-status button{margin-left:auto}

.historical-status{color:#392b32;margin:10px 0}.market-start-settings input[type=file]{min-width:0;max-width:70%;font-size:12px}

.history-import-control{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0}.history-import-control button{width:100%;min-width:0;margin:0;min-height:44px}.history-import-control [role=status]{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere}.history-import-control input[hidden]{display:none}
@media(max-width:480px){.market-start-settings{margin:12px 0}.market-start-settings label{grid-template-columns:6em minmax(0,1fr);gap:8px}.mode-dialog .mode-options{gap:10px}.mode-dialog .mode-options button{min-height:0;gap:8px;padding:14px}.mode-dialog .mode-options b{font-size:20px}}

/* Compact phone layout: retain financial facts and touch targets, reduce air. */
@media(max-width:690px){
 main{padding:12px 9px 8px}.topbar{padding:8px 10px;min-height:0;gap:6px}.top-right{gap:4px}.top-right button,.top-right .stock-game-link{padding:6px 7px;font-size:11px;min-height:36px}
 .page-heading{margin-bottom:10px}.page-heading h1{font-size:25px}.page-heading p{margin:5px 0}.mission{margin-top:6px}.game-grid{gap:9px}
 .character-card{grid-template-columns:74px minmax(0,1fr);min-height:120px;border-radius:7px;box-shadow:2px 2px 0 #f2accb}.portrait,.portrait.manga-viewport{max-height:135px;height:135px}.character-heading{padding:4px 5px}.speech{margin-bottom:5px;padding:5px;font-size:12px}.voice-caption-row{margin-bottom:3px}
 .terminal{padding:10px 9px;border-radius:7px}.market-price{margin-top:7px}.market-price strong{font-size:27px}.chart{height:174px}.chart-foot{margin-top:5px}.chart-controls{margin-block:8px;gap:5px}.chart-controls button{min-height:38px}.recap-clock{margin-block:5px}
 .market-stack>.position-card{padding:10px;margin:9px 0;border-radius:7px}.market-stack>.position-card .ticket-title{margin:0 0 7px;font-size:15px}.position-pnl{margin:4px 0 7px}.position-pnl strong{font-size:23px}.order-row{padding:9px}.order-row-head{margin-bottom:5px}.order-row-data{font-size:12px;line-height:1.65}.order-live-pnl b{font-size:18px}.order-row-actions{margin-top:6px}.position-list{gap:7px}
 .news{padding:9px;min-height:0;border-radius:7px}.news h2{font-size:15px;margin:7px 0}.news p{line-height:1.55;margin:5px 0}.news-meta{gap:3px 6px}.news-meta time{width:auto}
 .trade-card{padding:10px;column-gap:9px;border-radius:7px}.account-heading b{font-size:29px}.account-heading{padding-bottom:7px;margin-bottom:4px}.trade-card .account-row{font-size:12px;padding-block:4px}.margin-health{margin-top:6px;padding:7px 8px}.trade-card .ticket-title{margin:12px 0 8px}.trade-card .entry-actions{margin-bottom:9px}.entry-actions button{min-height:44px;padding:10px}
 .order-empty{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px}.investment-controls,.order-estimate,.liquidation-estimate,#emotion-pressure-panel,#emotion-order-rule,.order-validation{grid-column:1/-1;min-width:0}.order-empty>fieldset{grid-column:auto;min-width:0}.order-empty>fieldset legend{font-size:12px}.order-empty>fieldset .segments{gap:3px}.order-empty>fieldset .segments button{font-size:11px;min-width:0;min-height:40px}.order-empty>fieldset .high-leverage button{font-size:10px}
 .amount-field{margin:8px 0;gap:5px}.amount-presets{gap:4px}.amount-presets button{padding:6px;min-height:38px}#amount-random{min-height:38px;padding:6px 8px}.amount-field input:not([type=range]){padding:8px;font-size:16px}.amount-slider-heading{font-size:12px}.trade-card fieldset{margin-top:8px}.order-estimate{margin-top:8px;padding:7px 8px}.order-estimate .primary-estimate{font-size:12px;line-height:1.8}.order-estimate .primary-estimate b{font-size:15px}.liquidation-estimate{padding:8px;margin:8px 0;font-size:12px}.liquidation-estimate>div{padding-top:5px;margin-top:5px}.risk-line{margin:6px 0}
 .inventory{padding:10px;margin:10px 0;border-radius:7px}.inventory .lower-heading{margin-bottom:8px}.inventory .lower-heading h2{font-size:16px}.inventory .tool-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.inventory .tool-row>button{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;padding:9px;min-height:60px}.inventory .tool-row small{margin:0;text-align:left;font-size:11px;line-height:1.4;overflow-wrap:anywhere}.inventory .tool-row b{font-size:12px}.inventory #inventory-empty{padding:5px 0;margin:5px 0;font-size:12px}#loan-panel{padding:9px 0;margin-top:8px}#loan-effect,#loan-summary{font-size:12px;line-height:1.6}
 footer{padding-block:10px;gap:8px;flex-wrap:wrap}footer button{min-height:36px}#scene-resume{margin-bottom:10px;padding:8px 12px}
}

/* Quote changes sit on the dark terminal; retain the existing mint/pink palette. */
.terminal #change.positive{color:var(--mint)!important}
.terminal #change.negative{color:var(--pink)!important}

/* Cabinet presets select only; the separate confirmation performs the withdrawal. */
#father-take-dialog{width:min(540px,calc(100vw - 28px));box-sizing:border-box}
#father-take-dialog h2{font-size:24px;overflow-wrap:anywhere}
#father-take-limit{font-size:14px;margin:14px 0 10px}
#father-take-dialog label{font-size:14px}
#father-take-amount{display:block;width:100%;box-sizing:border-box;min-height:44px;margin:8px 0 14px;padding:10px;border:1px solid #beaab8;border-radius:6px;background:#fff;color:#28232d;font:inherit;font-size:16px}
#father-take-dialog .father-amount-presets{margin:0 0 14px;gap:8px}
#father-take-dialog .father-amount-presets button{margin:0;min-height:44px;font-size:14px}
#father-take-dialog .father-amount-presets button[aria-pressed="true"]{background:#f0c4d9;border-color:#a7547e;box-shadow:inset 0 0 0 1px #a7547e}
#father-confirm-art figcaption:empty{display:none}
@media(max-width:390px){#father-take-dialog h2{font-size:21px}}

#news-archive-details{font-size:11px;color:#775b6e}#news-archive-source{color:#87425f;text-underline-offset:3px}.news-meta{flex-wrap:wrap;gap:4px 8px}

/* Reserve the same toolbar slot through every save state, including narrow screens. */
.top-right #saved{display:inline-flex;align-items:center;justify-content:center;flex:0 0 7em;width:7em;min-height:24px;margin-right:0;white-space:nowrap}
.top-right #saved[data-save-warning="true"]{color:#9d244c;font-weight:700}

/* Phone density follow-up: reduce stacked chrome, not financial facts or plot controls.
   Kept at the end to win earlier legacy mobile rules; no save changes. */
@media(max-width:690px){
 .topbar{height:auto;align-items:center;padding:6px 9px;gap:5px}
 .topbar .top-right{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:2px 1px 5px;scrollbar-width:thin;overscroll-behavior-x:contain}
 .topbar .top-right>*{flex-shrink:0}.topbar .top-right button,.topbar .top-right .stock-game-link{min-height:40px}
 .page-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:8px;margin-bottom:8px}
 .page-heading h1{margin:2px 0;font-size:24px}.page-heading p{margin:3px 0;font-size:12px}
 .page-heading .eyebrow{font-size:10px;letter-spacing:.4px;line-height:1.4}
 .page-heading .mission{max-width:none;margin:0;padding:0 0 0 8px;text-align:left;gap:3px}
 .page-heading .mission b,.page-heading .mission span,.page-heading .mission small{font-size:11px;line-height:1.45;overflow-wrap:anywhere}
 #character-card{min-height:0}
 #character-card .portrait{min-height:120px;max-height:145px}
 #character-card>.voice-caption-row{grid-column:2;grid-row:5;margin:0;padding:4px 7px;gap:4px}
 #character-card .character-voice-controls button{min-height:40px;font-size:11px}
 .terminal .market-price{margin-top:4px}.terminal .market-price strong{line-height:1.3}
 .terminal .quote-unit{margin:4px 0;font-size:11px;line-height:1.4}
 .terminal .chart-controls{margin:6px 0 4px}.terminal .recap-clock{margin:4px 0;font-size:11px;line-height:1.4}
 .market-stack{gap:8px}.market-stack>.position-card{margin:0;padding:9px}
 .market-stack>.position-card .ticket-title{padding-top:0;border-top:0;margin-bottom:5px}
 .market-stack>.position-card .position-pnl{padding:7px 9px;margin:3px 0 5px}
 .market-stack>.position-card .position-list:empty{display:none}.market-stack>.position-card #position-empty{margin:5px 0}
 .market-stack>.position-card .hold-actions:has(>button:not([hidden])){margin-top:7px}
 .market-stack>.position-card .hold-actions:not(:has(>button:not([hidden]))){margin:0}
 .trade-card .account-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:3px 8px;padding-bottom:5px;margin-bottom:0}
 .trade-card .account-heading>span{font-size:12px}.trade-card .account-heading>b{margin-left:auto;--amount-font:27px}
 .trade-card .account-row{padding-block:3px;line-height:1.45}.trade-card .account-row.emphasis{margin-top:5px;padding-top:6px}
 .trade-card .margin-health{margin-top:4px;padding:6px 8px}.trade-card .ticket-title{margin:8px 0 6px;padding-top:9px}
 .trade-card .order-estimate{padding:6px 8px}.trade-card .ticket-hint:empty{display:none}
 .trade-card .order-empty>fieldset .segments button{font-size:12px;min-height:44px}
 .trade-card .amount-presets button,.trade-card #amount-random{min-height:44px;font-size:12px}
 .trade-card .entry-actions button{min-height:48px}.trade-card .entry-actions span{font-size:18px}
 .inventory .tool-row>button{min-height:60px}.inventory .tool-row b,.inventory .tool-row small{font-size:12px}
}
@media(max-width:350px){.page-heading{grid-template-columns:1fr}.page-heading .mission{padding-left:8px}.trade-card .account-heading>b{--amount-font:25px}}

/* Flatten only the mobile presentation grid: trading before social/character cards. */
@media(max-width:690px){
 .game-grid>.market-stack{display:contents}
 .game-grid>.market-stack>.terminal{order:0;grid-column:1/-1}
 .game-grid>.trade-card{order:1;grid-column:1/-1}
 .game-grid>.market-stack>.position-card{order:2;grid-column:1/-1}
 .game-grid>#character-card{order:3;grid-column:1/-1}
 .game-grid>.market-stack>.investor-comments{order:4;grid-column:1/-1}
 .game-grid>.market-stack>.news{order:5;grid-column:1/-1}
 .terminal #chart.chart{min-height:180px}
}

/* Three independent source slots; game modes retain their existing two columns. */
.market-source-buttons[aria-label="交易K线"]{grid-template-columns:repeat(3,minmax(0,1fr))}

/* The whole news card remains a keyboard-accessible details entry. */
#news[role="button"]{cursor:pointer;position:relative;padding-bottom:30px}
#news[role="button"]:focus-visible{outline:3px solid #b64c7e;outline-offset:3px}
#news .news-meta{align-items:baseline;line-height:1.5}
#news #news-copy,#pixel-frontend #news #news-copy{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:none}
#news #news-copy[hidden],#news #news-recap[hidden]{display:none}
#news #news-recap{font-size:12px;line-height:1.55;margin-top:7px;color:#765f70}
#news .news-detail-hint{position:absolute;right:12px;bottom:8px;font-size:12px;font-weight:700;color:#9d3d6b}
#pixel-frontend #news #news-recap{font-size:13px;color:#495daa}
#pixel-frontend #news .news-detail-hint{color:#495daa}

/* Undiscovered inventory slots never request or expose the original artwork. */
.inventory .tool-row button.item-undiscovered{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;background:#f1eef0;border-color:#d5cdd3;min-height:64px}
#tool-list button.item-undiscovered:disabled{opacity:1;cursor:default;color:#675b66}
.inventory .tool-row button.item-undiscovered b{margin:0;font-size:12px;overflow-wrap:anywhere}
.item-silhouette-art{position:relative;display:grid;place-items:center;width:40px;height:42px}
.item-silhouette{display:block;width:36px;height:34px;background:#08080b;clip-path:polygon(8% 30%,25% 20%,75% 20%,92% 30%,82% 90%,18% 90%)}
.item-silhouette--can{clip-path:polygon(30% 4%,70% 4%,76% 15%,76% 92%,68% 100%,32% 100%,24% 92%,24% 15%)}
.item-silhouette--box{clip-path:polygon(8% 20%,43% 11%,50% 22%,57% 11%,92% 20%,84% 92%,16% 92%)}
.item-silhouette--bowl{clip-path:polygon(0 31%,100% 31%,91% 64%,74% 86%,65% 90%,65% 98%,35% 98%,35% 90%,26% 86%,9% 64%)}
.item-silhouette--towel{clip-path:polygon(12% 11%,74% 11%,74% 29%,88% 29%,88% 94%,12% 94%)}
.item-silhouette--wallet{clip-path:polygon(6% 20%,86% 20%,86% 41%,100% 41%,100% 71%,86% 71%,86% 91%,6% 91%)}
.item-silhouette--person{clip-path:polygon(38% 1%,62% 1%,75% 14%,75% 38%,65% 50%,65% 55%,90% 67%,100% 100%,0 100%,10% 67%,35% 55%,35% 50%,25% 38%,25% 14%)}
.item-silhouette-lock{position:absolute;right:0;bottom:0;display:block;width:15px;height:13px;border-radius:2px;background:currentColor;color:#675b66}
.item-silhouette-lock::before{content:'';position:absolute;left:3px;top:-8px;width:9px;height:10px;border:2px solid currentColor;border-radius:7px 7px 0 0}
@media(forced-colors:active){.item-silhouette,.item-silhouette-lock{background:CanvasText;forced-color-adjust:none}.item-silhouette-lock{color:CanvasText}}


/* ./fx/playful-loan.css */
.playful-loan{text-align:center;max-width:100%;overflow-wrap:anywhere}.playful-loan[hidden]{display:none}.playful-loan h3{margin:.5rem 0}.loan-avatar{display:block;width:min(180px,55vw);height:auto;margin:0 auto}.loan-head{transform-origin:90px 110px;transition:transform .2s}.loan-eyes{transform-origin:90px 88px}.loan-mouth{display:none}.loan-avatar[data-pose="blink"] .loan-eyes{transform:scaleY(.09)}.loan-avatar[data-pose="mouth"] .loan-mouth{display:block}.loan-avatar[data-pose="mouth"] .loan-smile{display:none}.loan-avatar[data-pose="left"] .loan-head{transform:rotate(-18deg)}.loan-avatar[data-pose="right"] .loan-head{transform:rotate(18deg)}.loan-pose-status{min-height:2.8em}.playful-loan button{min-height:44px;max-width:100%;white-space:normal}.playful-loan button[hidden]{display:none}@media(prefers-reduced-motion:reduce){body:not(.motion-full) .loan-head{transition:none}}


/* ./fx/liquidation-sequence.css */
.liquidation-receipt{position:relative;margin-top:12px;border:1px solid #d7a5b6;border-left:4px solid #a73862;border-radius:5px;padding:12px 38px 12px 12px;background:#fff4f7;min-width:0;overflow-wrap:anywhere;color:#4b2634}
.liquidation-receipt[hidden]{display:none}.liquidation-receipt-title{display:block;font-size:14px;line-height:1.5}.liquidation-receipt p{font-size:12px;line-height:1.5;margin:6px 0}.liquidation-receipt-amount{display:block;font-variant-numeric:tabular-nums;font-size:clamp(15px,1.5vw,20px);line-height:1.6;color:#a73862;transition:opacity .45s ease,transform .45s ease}.liquidation-receipt[data-stage="trigger"] .liquidation-receipt-amount{opacity:.45;transform:translateY(3px)}.liquidation-receipt-close{position:absolute;right:2px;top:2px;width:32px;min-height:32px;background:transparent;border:0;font-size:23px;color:inherit}.liquidation-receipt-after{min-height:1.5em;color:#765b65}.liquidation-receipt-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.liquidation-receipt.is-reduced *{transition:none!important;transform:none!important}@media(prefers-reduced-motion:reduce){body:not(.motion-full) .liquidation-receipt *{transition:none!important;transform:none!important}}


/* ./fx/market-source-picker.css */
.market-source-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.market-source-buttons button{margin:0;min-height:44px;padding:10px 14px;border:1px solid #d5bfc7;border-radius:10px;background:#fff;color:#392b32;font:inherit;font-weight:700}.market-source-buttons button.selected{background:#fff0f6;border-color:#d77b9f;box-shadow:inset 0 0 0 1px #d77b9f}.history-choice-step{width:100%;max-width:480px;min-width:0;margin-inline:auto;box-sizing:border-box}.history-choice-step label{display:grid;gap:8px;margin:16px 0}.history-choice-step select{width:100%;min-height:44px;padding:10px;border:1px solid #d5bfc7;border-radius:8px;background:#fff;color:#392b32;font:inherit}.history-choice-step [hidden]{display:none!important}.history-choice-step [role=status]:empty{display:none}.history-choice-actions{display:flex;gap:10px;flex-wrap:wrap}.history-choice-actions button{flex:1;min-height:44px}.history-choice-step .small-print{line-height:1.6}

.history-choice-step[hidden]{display:none!important}

.mode-start-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.mode-start-actions button{margin:0;min-height:44px;white-space:normal}@media(max-width:480px){.mode-start-actions{grid-template-columns:1fr}}


/* ./fx/results-report.css */
.results-report{margin:22px 0;padding-top:18px;border-top:1px solid #e7cbd9;font-variant-numeric:tabular-nums}.results-report h3{margin:0 0 14px;font-size:22px}.results-hero{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#fff0f6;border:1px solid #e9c8d9;border-radius:8px;padding:16px}.results-hero span{display:block;font-size:12px;color:#876f7f}.results-hero strong{display:block;font-size:clamp(20px,4.8vw,34px);overflow-wrap:anywhere;line-height:1.3;margin-top:6px}.results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin:12px 0}.results-grid>div{padding:10px 0;border-bottom:1px solid #efdee6;min-width:0}.results-grid dt{font-size:11px;color:#876f7f}.results-grid dd{font-size:17px;font-weight:750;margin:5px 0 0;overflow-wrap:anywhere}.results-note,.results-warning{font-size:12px!important;line-height:1.7!important}.results-warning{color:#a43a6d;background:#fff1f7;border-left:3px solid #ba3e78;padding:8px 10px}.results-details{margin:10px 0;font-size:13px}.results-details summary{cursor:pointer;font-weight:700}.results-details p{font-size:12px;line-height:1.6}.results-details textarea{display:block;width:100%;box-sizing:border-box;margin:10px 0;padding:10px;font:12px/1.6 system-ui;resize:vertical;border:1px solid #d8b9ca;border-radius:4px;background:#fff;color:#282431}.results-special h4{margin:14px 0 5px}.results-special ul{padding-left:20px;margin-top:6px}.results-special li{font-size:13px;margin:5px 0}.results-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.results-actions button{min-width:0;font-size:13px}@media(max-width:420px){.results-hero{grid-template-columns:1fr}.results-actions{grid-template-columns:1fr;gap:0}.results-grid dd{font-size:15px}}

.session-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.session-actions button{flex:1;min-width:120px;padding:10px;border:1px solid #d5afc4;background:#fff4f9;border-radius:5px;font-size:12px;font-weight:650}.session-actions #retire{border-color:#ba3e78;color:#9a2f60}.session-actions button[hidden]{display:none}

.results-voice{display:grid;gap:8px;margin:16px 0 4px;min-width:0;font-size:13px;color:#684154}.results-voice select{appearance:none;-webkit-appearance:none;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:44px;padding:10px 36px 10px 12px;border:1px solid #cbb3c0;border-radius:6px;background-color:#fff4f9;background-image:linear-gradient(45deg,transparent 50%,#a74372 50%),linear-gradient(135deg,#a74372 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px;background-repeat:no-repeat;color:#392b32;font:inherit;line-height:1.5}.results-voice select:focus-visible{outline:2px solid #ba3e78;outline-offset:2px}


/* ./fx/share-report-variants.css */
/* Report choices never change the active game frontend or save data. */
.share-report-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-width:0}
.share-report-heading h2{margin:0;min-width:0;flex:1 1 150px}
.share-style-switch{display:flex;flex:0 1 auto;min-width:0;gap:0}
.share-style-switch button{min-height:44px;margin:0;min-width:76px;border:1px solid #b18aa2;border-radius:0;background:#fff;color:#282431;padding:8px 12px;font-size:14px}
.share-style-switch button[aria-pressed="true"]{background:#f16f9f;font-weight:800}
.share-style-switch button:focus-visible{outline:3px solid #ba3e78;outline-offset:3px;position:relative}
#share-dialog[data-report-style="pixel"]{width:min(680px,calc(100vw - 26px));color:#0a1255;background:#fffafd;border:3px solid #ff52ab;border-radius:0;font-family:'Noto Sans CJK SC','Microsoft YaHei',sans-serif}
#share-dialog[data-report-style="pixel"] .share-report-heading{border:3px solid #0a1255;padding:9px;margin-bottom:10px}
#share-dialog[data-report-style="pixel"] .share-report-heading h2{font-weight:900;color:#0a1255}
#share-dialog[data-report-style="pixel"] .share-style-switch button{color:#0a1255;border:2px solid #0a1255;font-weight:800}
#share-dialog[data-report-style="pixel"] .share-style-switch button[aria-pressed="true"]{background:#ff329d;color:#fff}
#share-dialog[data-report-style="pixel"] #share-preview{width:100%;height:auto;max-height:none;object-fit:contain;image-rendering:auto;margin:12px auto}
#share-dialog[data-report-style="pixel"] .share-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#share-dialog[data-report-style="pixel"] .share-actions>*{min-width:0;border:2px solid #ff52ab;border-radius:0;color:#0a1255;font-weight:800;overflow-wrap:anywhere}
#share-dialog[data-report-style="pixel"] #share-download{grid-column:1/-1;margin-top:0;background:#ff329d;color:#fff}
#share-dialog[data-report-style="pixel"] .share-actions>[hidden]{display:none!important}
@media(max-width:390px){.share-report-heading{gap:8px}.share-report-heading h2{flex-basis:135px}.share-style-switch{flex:1 1 100%}.share-style-switch button{flex:1;min-width:0}#share-dialog[data-report-style="pixel"] .share-report-heading h2{font-size:22px}}
#share-dialog .share-actions[hidden],#share-dialog #share-preview[hidden]{display:none!important}


/* ./fx/event-comic.css */
.event-comic-dialog{width:min(720px,calc(100vw - 24px));max-height:94dvh;background:#fffaf2;box-shadow:7px 7px 0 #d498ae}
.event-comic-dialog .dialog-scroll{padding:16px 24px 24px;overscroll-behavior:contain}
.event-comic-eyebrow{margin:0;color:#85566c;font-size:12px!important;letter-spacing:.14em}
.event-comic-dialog h2{font-size:24px;margin:5px 0 14px}
.event-comic-sheet{display:block;width:100%;height:auto;max-height:70dvh;object-fit:contain;border:1px solid #4d3840;background:#fff;box-sizing:border-box}
.event-comic-sheet[hidden],.event-comic-missing[hidden]{display:none}
.event-comic-missing{border:1px dashed #a99299;background:#f4ece5;padding:36px 16px;text-align:center;color:#77636b}
.event-comic-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 22px;padding-left:23px!important;margin:18px 0}
.event-comic-lines li{font-size:13px;line-height:1.65;margin:0;padding:0 3px;color:#49373e;overflow-wrap:anywhere}
.event-comic-lines b{color:#7d365a}
.event-comic-receipt{margin:12px 0;padding-top:12px;border-top:1px dashed #b39b9f;font-size:14px!important;font-weight:700;font-variant-numeric:tabular-nums}
.event-comic-controls{display:grid;grid-template-columns:1fr 2fr;gap:12px}
.event-comic-controls button{margin-top:2px;min-height:44px}
.event-comic-launcher{width:auto;font-size:12px;padding:8px 14px;margin:8px 0}
@media(max-width:560px){.event-comic-dialog .dialog-scroll{padding:12px 13px 17px}.event-comic-dialog h2{font-size:21px}.event-comic-lines{grid-template-columns:1fr;gap:8px}.event-comic-lines li{font-size:13px}}
/* Receipt-backed life choices: the whole card is the explicit action. */
.daily-recap .recap-choice-hint{font-size:14px;font-weight:800;color:#69405a;margin:20px 0 10px}
.daily-recap .recap-choices{gap:12px;align-items:stretch}
.daily-recap .recap-choices button.recap-choice,.daily-recap .recap-choices button.recap-loan{position:relative;appearance:none;-webkit-appearance:none;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;gap:7px;min-height:92px;padding:16px!important;border:1.5px solid #bc7496!important;border-radius:13px;background:linear-gradient(135deg,#fff8ee 0%,#ffe6ef 100%)!important;color:#46283e;text-align:left;box-shadow:0 3px 0 #d5a0b7,0 7px 15px #7b415912;cursor:pointer;touch-action:manipulation;animation:none!important;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
.daily-recap .recap-choices button.recap-choice::before,.daily-recap .recap-choices button.recap-loan::before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:#c5548c;pointer-events:none}
.daily-recap .recap-choices b{display:flex;align-items:start;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:14px;font-weight:800;line-height:1.45}
.daily-recap .recap-choice-label{flex:1;min-width:100px}
.daily-recap .recap-choice-cost{flex:none;align-self:start;border:1px solid #dcb48a;border-radius:7px;background:#fff9e7;padding:3px 7px;color:#805025;font-size:13px;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
.daily-recap .recap-choices small{font-size:11px;line-height:1.65;color:#795f70;margin:0;overflow-wrap:anywhere}
.daily-recap .recap-choices button.recap-choice[data-choice='quiet-night']{background:linear-gradient(135deg,#faf3ee,#e7eaf2)!important;border-color:#9a94b0!important;box-shadow:0 3px 0 #bcb4cc,0 7px 15px #53497612}
.daily-recap .recap-choices button.recap-choice[data-choice='quiet-night']::before{background:#81729f}
.daily-recap .recap-choices button.recap-choice[data-choice='noodles-today']{background:linear-gradient(135deg,#fff8ea,#f9ebd0)!important;border-color:#b59b75!important;box-shadow:0 3px 0 #d3bea0,0 7px 15px #745b3812}
.daily-recap .recap-choices button.recap-choice[data-choice='noodles-today']::before{background:#a7844f}
.daily-recap .recap-choices button.recap-loan{background:linear-gradient(135deg,#fff7dd,#fce9d9)!important;border-color:#bf885d!important;box-shadow:0 3px 0 #d7b291,0 7px 15px #7b5d4112}
.daily-recap .recap-choices button.recap-loan::before{background:#ac773c}
.daily-recap .recap-choices button:is(.recap-choice,.recap-loan):focus-visible{outline:3px solid #71365c;outline-offset:4px}
.daily-recap .recap-choices button:is(.recap-choice,.recap-loan):active:not(:disabled){transform:translateY(3px);box-shadow:0 0 0 #d5a0b7,0 2px 5px #7b415916}
.daily-recap .recap-choices button:is(.recap-choice,.recap-loan):disabled{cursor:default;color:#786d75;border-color:#c9bcc3!important;background:#f4edf1!important;box-shadow:0 1px 0 #d9ccd2;opacity:1}
.daily-recap .recap-choices button:is(.recap-choice,.recap-loan):disabled::before{background:#bca9b3}
.daily-recap .recap-choices button:is(.recap-choice,.recap-loan):disabled .recap-choice-cost{background:#f8f2ed;border-color:#d6c8bf;color:#857269}
.daily-recap .recap-choices button.recap-choice[data-selected='true']{border-color:#6b987f!important;background:#edf6ee!important;color:#375b45;box-shadow:0 2px 0 #b7cfbd}
.daily-recap .recap-choices button.recap-choice[data-selected='true']::before{background:#5a9072}
.daily-recap .recap-choices button.recap-choice[data-selected='true'] .recap-choice-label::after{content:' ✓';color:#397554}
@media(hover:hover){.daily-recap .recap-choices button:is(.recap-choice,.recap-loan):hover:not(:disabled){transform:translateY(-2px);border-color:#924264!important;box-shadow:0 5px 0 #d5a0b7,0 10px 18px #7b415924}}
@media(max-width:480px){.daily-recap .recap-choices button.recap-choice,.daily-recap .recap-choices button.recap-loan{min-height:78px;padding:13px 14px!important}.daily-recap .recap-choice-label{min-width:0}.daily-recap .recap-choices b{font-size:14px}.daily-recap .recap-choices{gap:10px}}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) .daily-recap .recap-choices button:is(.recap-choice,.recap-loan){transition:none!important;transform:none!important}}

/* Approved four-panel captions preserve two speakers without renumbering panels. */
.event-comic-lines .comic-panel-line{font-size:inherit;line-height:inherit;margin:2px 0}
.event-comic-lines .comic-panel-action{font-size:12px;line-height:1.5;margin:0 0 5px;color:#77636b}

.comic-panel-cards{list-style:none;padding-left:0!important;gap:16px!important;align-items:start}
.comic-panel-cards>li{min-width:0;padding:0!important}
.comic-panel-art{position:relative;overflow:hidden;width:100%;margin:0 0 9px;background:#fff;border:1px solid #4d3840;box-sizing:border-box}
.comic-panel-art .comic-panel-crop[hidden]{display:none}

/* Wide single panels remain legible; pan the original artwork rather than
   shrinking all four friends and their meal into a thumbnail on a phone. */
.comic-panel-viewport{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x pan-y;border-radius:2px}
.comic-panel-viewport:focus-visible{outline:2px solid #7d365a;outline-offset:3px}
.comic-panel-panorama{width:max(100%,560px)}


/* ./fx/settings-library.css */
.settings-section{display:grid;gap:8px;margin:14px 0;min-width:0}
.settings-section>h3{margin:0;font-size:13px;color:#795568}
.settings-section>button{width:100%;min-height:40px;text-align:left;white-space:normal}
.pixel-settings .settings-section{margin:0;padding:8px 0;border-bottom:1px solid #d8b6c5}
.pixel-settings .settings-section:last-child{border-bottom:0}
.original-story-library-picker{display:grid;gap:6px;margin:12px 0;font-size:13px}
.original-story-library-picker select{width:100%;min-width:0;max-width:100%;min-height:40px;font:inherit}
.original-story-library-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:16px 0}
.original-story-library-nav button{min-height:44px;white-space:normal}
.original-story-library-nav [role=status]{font-size:13px;font-variant-numeric:tabular-nums}
#original-story-library-dialog .event-comic-lines{grid-template-columns:1fr}
#pixel-frontend .pixel-settings>.pixel-drawer-content{max-height:70dvh;overflow:auto}


/* ./fx/daily-recap.css */
.daily-recap{--recap-intensity:0;min-width:0;text-align:left;padding:16px 0;border-top:1px solid #dec4d3;color:#392d3a}.recap-heading{display:flex;gap:16px}.recap-primary{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;gap:5px 12px}.recap-label{grid-column:1/-1;font-size:12px;color:#876575}.recap-profit{font-size:clamp(24px,5vw,42px);line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.recap-rate{align-self:center;font-size:22px;white-space:nowrap}.daily-recap[data-direction=profit] .recap-profit,.daily-recap[data-direction=profit] .recap-rate{color:#198263}.daily-recap[data-direction=loss] .recap-profit,.daily-recap[data-direction=loss] .recap-rate{color:#b52f67}.recap-cumulative,.recap-costs,.recap-clock,.recap-note,.recap-choice-hint,.recap-basis{font-size:12px;line-height:1.7;overflow-wrap:anywhere}.recap-clock{color:#886f80}.recap-stats{display:grid;grid-template-columns:1fr 1fr;margin:14px 0;font-size:13px;gap:5px 12px}.recap-stats dd{margin:0;text-align:right;font-weight:750;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.recap-playback{position:relative;padding:14px;background:#fae7f1;border-radius:8px}.recap-step{display:block;font-size:12px;color:#8b5471}.recap-counter{display:block;font-size:clamp(22px,5vw,38px);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;padding-right:75px}.recap-skip{position:absolute;right:10px;top:12px;font-size:11px;padding:6px!important;min-height:32px}.recap-candles svg,.recap-curve svg{width:100%;display:block;height:auto}.recap-candles{font-size:12px;margin-top:12px}.recap-tabs{display:flex;gap:8px;margin-top:14px}.recap-tabs button{flex:1;font-size:12px!important;padding:8px!important}.recap-tabs button[aria-pressed=true]{background:#b14679;color:#fff}.recap-curve{min-width:0}.recap-basis{margin:10px 0}.recap-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.recap-choices button{text-align:left;min-width:0;white-space:normal;display:flex;flex-direction:column;padding:12px!important;line-height:1.5}.recap-choices b{font-size:13px}.recap-choices small{font-size:11px;font-weight:400;margin-top:5px}.recap-loan{border:2px solid #b3477a!important;background:linear-gradient(115deg,#fff3db,#ffe0ed)!important}.daily-recap[data-animate=true] .recap-counter{animation:recap-count-pulse 460ms ease-in-out infinite alternate}.daily-recap[data-animate=true][data-direction=loss] .recap-playback{animation:recap-shake 180ms ease-in-out infinite alternate}.daily-recap[data-animate=true][data-direction=profit] .recap-playback{box-shadow:0 0 calc(4px + 20px * var(--recap-intensity)) #ec7da87a}.daily-recap[data-animate=true] .recap-choices button{animation:recap-button-beat 900ms ease-in-out infinite alternate}@keyframes recap-count-pulse{to{transform:scale(calc(1 + .04 * var(--recap-intensity)));transform-origin:left center}}@keyframes recap-shake{from{transform:translateX(calc(-1px - 3px * var(--recap-intensity)))}to{transform:translateX(calc(1px + 3px * var(--recap-intensity)))}}@keyframes recap-button-beat{to{transform:translateY(-2px)}}@media(max-width:480px){.recap-primary{grid-template-columns:1fr}.recap-rate{font-size:18px}.recap-choices{grid-template-columns:1fr}.recap-counter{padding-right:0;margin-top:25px}.recap-stats{font-size:12px}.recap-profit{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){body:not(.motion-full) .daily-recap *{animation:none!important;transition:none!important;transform:none!important}}

.recap-portrait{width:96px;height:112px;object-fit:cover;object-position:top;flex-shrink:0;border-radius:8px;background:#f6dbe9}.recap-heading .recap-primary{min-width:0}.recap-heading{align-items:center}@media(max-width:480px){.recap-portrait{width:70px;height:92px}.recap-heading{gap:10px}.recap-heading .recap-profit{font-size:25px}}

#day-dialog .day-total{display:none}

.recap-primary,.recap-playback,.recap-stats dd{container-type:inline-size;min-width:0}.recap-profit{--amount-font:38px}.recap-counter{--amount-font:34px}.recap-stats dd{--amount-font:13px}@media(max-width:480px){.recap-profit{--amount-font:25px}.recap-counter{--amount-font:24px}}

.recap-fallback-comic img{display:block;width:100%;height:auto}.recap-fallback-comic p{font-size:12px;line-height:1.6;padding:10px}.day-dialog #recap-next{margin-top:10px}.day-dialog #next-day{margin-top:24px}

.recap-portrait-frame{position:relative;overflow:hidden;width:96px;height:112px;flex-shrink:0;border-radius:8px}@media(max-width:480px){.recap-portrait-frame{width:70px;height:92px}}
.father-discovery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.father-discovery-panel{min-width:0}.father-item-figure{margin:0}.father-art-view{position:relative;overflow:hidden}.father-art-view img{display:block;width:100%;height:auto}.father-art-crop{aspect-ratio:1}.father-art-crop img{position:absolute;max-width:none;height:auto}.father-item-figure figcaption,.father-discovery-boundary{font-size:13px;line-height:1.65}.father-item-figure figcaption{padding:10px 0}.father-discovery-panel:first-child{--panel-delay:0ms}.father-discovery-panel:nth-child(2){--panel-delay:220ms}.father-discovery-panel:nth-child(3){--panel-delay:440ms}.motion-full .father-discovery-panel{animation:father-panel-enter 500ms both;animation-delay:var(--panel-delay)}@keyframes father-panel-enter{from{opacity:.15;transform:translateY(9px)}to{opacity:1;transform:none}}.father-discovery-highlight{outline:3px solid #d587ad;outline-offset:4px}.father-discovery-highlight::after{content:'↑ 父亲的柜中存款在这里，需要时亲自取用';display:block;font-size:12px;line-height:1.5;margin-top:7px}.living-receipt{margin:18px 0;padding:15px;border:1px solid #d6bdcc;border-radius:8px;background:#fff0f7}.living-receipt h3{font-size:16px;margin:0 0 10px}.living-receipt p,.living-receipt small{font-size:12px;line-height:1.6}.living-amount{display:block;font-size:30px;font-variant-numeric:tabular-nums;color:#a34670}.father-item-figure .father-art-view{max-width:420px;margin:0 auto}@media(max-width:520px){.father-discovery-grid{grid-template-columns:1fr}.father-discovery-panel .father-art-view{max-width:300px}}@media(prefers-reduced-motion:reduce){body:not(.motion-full) .father-discovery-panel{animation:none!important;transform:none!important}}

.daily-fallback-portrait{position:relative;width:min(100%,340px);margin:0 auto;overflow:hidden}.daily-fallback-portrait img{display:block;width:100%;height:auto}.daily-fallback-portrait.manga-viewport{min-height:250px}#day-story-fallback{text-align:center;margin:15px 0}
/* Complete sheets and cropped panels have separate geometry. Dialog image
   limits must never squeeze a 200% crop back to a single cell's width. */
#day-story-stage .manga-context-cards,#day-story-stage .story-comic-frame{display:block;width:100%;max-width:620px;margin:18px auto}
#day-story-stage .manga-context-cards>figure{width:100%;margin:16px auto}
#day-story-stage .manga-card-viewport:not(.manga-viewport)>img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
.dialog-scroll .father-art-crop img,.dialog-scroll .revealed-comic-crop img{max-width:none}
.dialog-scroll{scroll-padding-block-start:18px}
#day-story-stage figure,#father-discovery-scene,.living-receipt{scroll-margin-block-start:18px}
@media(max-width:520px){#day-story-stage .manga-context-cards,#day-story-stage .story-comic-frame{max-width:100%;margin-inline:0}.father-discovery-grid{grid-template-columns:minmax(0,1fr)}}

.daily-return-values{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:4px 9px;min-width:0;max-width:100%;margin-left:auto}.daily-return-values b{display:inline-block;white-space:nowrap;word-break:normal;overflow-wrap:normal}.daily-return-values #day-pnl{--amount-font:18px}.day-return{font-size:13px;flex-shrink:0}

.story-scene-image{display:block;width:min(100%,580px);margin:18px auto}.story-scene-image .father-art-view{max-width:580px}.story-scene-image img{height:auto;object-fit:contain}#living-event-art{margin:18px auto;width:min(100%,500px)}

.settled-whole-sheet{width:min(100%,560px);margin:16px auto}.settled-whole-sheet img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}

/* Playback controls stay separate from monetary totals; replay is presentation-only. */
.recap-playback-controls{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin:4px 0 10px;position:relative;z-index:2}.recap-playback-controls .recap-skip,.recap-replay{position:static;font-size:12px!important;min-height:36px;padding:7px 11px!important}.recap-counter{padding-right:0;transform-origin:left center}.recap-playback{isolation:isolate;overflow:hidden}.daily-recap[data-animate=true] .recap-counter{animation:none}.daily-recap[data-animate=true][data-direction=loss] .recap-playback{animation:none}.daily-recap[data-direction=loss] .recap-playback[data-stage=landing]{animation:recap-impact 420ms ease-out}.daily-recap[data-direction=profit] .recap-playback[data-stage=landing]{box-shadow:inset 0 0 calc(12px + 22px * var(--recap-intensity)) #efb94766}.recap-burst{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}.recap-spark{position:absolute;left:var(--spark-x);top:22%;width:5px;height:9px;background:#e1a632;opacity:0;transform:rotate(var(--spark-angle))}.recap-playback[data-stage=landing] .recap-spark{animation:recap-spark-fall 650ms ease-out both;animation-delay:var(--spark-delay)}.daily-recap[data-tier=large] .recap-counter{font-weight:950}.daily-recap[data-tier=large][data-direction=loss] .recap-counter{color:#a32954}.daily-recap[data-tier=large][data-direction=profit] .recap-counter{color:#137255}
@keyframes recap-spark-fall{0%{opacity:0;transform:translateY(-30px) rotate(var(--spark-angle))}25%{opacity:.8}100%{opacity:0;transform:translateY(170px) rotate(calc(var(--spark-angle) + 70deg))}}@keyframes recap-impact{0%,100%{transform:translateX(0)}20%{transform:translateX(calc(-1 * var(--recap-shake)))}40%{transform:translateX(var(--recap-shake))}70%{transform:translateX(calc(-.5 * var(--recap-shake)))}}
@media(max-width:480px){.recap-counter{margin-top:3px}.recap-playback-controls{justify-content:flex-start}.recap-candle-plot{height:250px}}@media(prefers-reduced-motion:reduce){body:not(.motion-full) .daily-recap .recap-spark{display:none}body:not(.motion-full) .daily-recap .recap-playback,body:not(.motion-full) .daily-recap .recap-counter{animation:none!important;transform:none!important}}

/* One staged, viewport-wide impact; no flashing loops. Both paths settle fully. */
.daily-recap[data-animate=true] .recap-choices button{animation:none}
.recap-screen{position:fixed;inset:0;z-index:999;pointer-events:none;overflow:hidden;visibility:hidden;contain:strict}
.recap-screen[data-active=true]{visibility:visible}
.recap-screen-halo,.recap-screen-ring{position:absolute;inset:0;opacity:0}
.recap-screen[data-direction=profit] .recap-screen-halo{background:radial-gradient(ellipse at 50% 36%,transparent 30%,#dfaa3266 75%,#16765f88 100%)}
.recap-screen[data-direction=loss] .recap-screen-halo{background:radial-gradient(ellipse at 50% 36%,transparent 25%,#52173c99 80%,#251629bb 100%)}
.recap-screen[data-stage=anticipation] .recap-screen-halo{opacity:.22;transition:opacity 250ms ease}
.recap-screen[data-stage=landing] .recap-screen-halo{animation:recap-screen-wash 1400ms ease-out both}
.recap-screen-ring{inset:12vh 12vw;border:7px solid #eec45a;border-radius:50%;box-shadow:0 0 60px #efc05688}
.recap-screen[data-stage=landing][data-direction=profit] .recap-screen-ring{animation:recap-ring-expand 1100ms ease-out both}
.recap-screen[data-direction=loss] .recap-screen-ring{inset:0;border:none;border-radius:0;box-shadow:inset 0 0 16vw #5c183b80;background:linear-gradient(118deg,transparent 49.8%,#d36a8caa 49.9%,#d36a8caa 50.1%,transparent 50.2%),linear-gradient(36deg,transparent 49.8%,#b5587888 49.9%,#b5587888 50.1%,transparent 50.2%)}
.recap-screen[data-stage=landing][data-direction=loss] .recap-screen-ring{animation:recap-fracture-settle 1500ms ease-out both}
.recap-screen-coin,.recap-screen-shard{position:absolute;left:var(--x);top:var(--y);opacity:0;will-change:transform,opacity}
.recap-screen-coin{width:9px;height:18px;border:1px solid #ffebb1;border-radius:2px;background:#d5a02a;box-shadow:0 0 10px #f1cb6177}
.recap-screen-shard{width:3px;height:110px;background:linear-gradient(#d46a8c,transparent);transform-origin:top}
.recap-screen[data-stage=landing] .recap-screen-coin{animation:recap-coin-explode 1500ms cubic-bezier(.16,.7,.3,1) both;animation-delay:var(--delay)}
.recap-screen[data-stage=landing] .recap-screen-shard{animation:recap-shard-drop 1200ms ease-out both;animation-delay:var(--delay)}
.recap-screen[data-tier=small]{display:none}.recap-screen[data-tier=medium]{opacity:.5}
.recap-profit{transform-origin:left center;position:relative;z-index:1}
@keyframes recap-screen-wash{0%{opacity:0}18%{opacity:1}65%{opacity:.6}100%{opacity:0}}
@keyframes recap-ring-expand{0%{opacity:0;transform:scale(.35)}15%{opacity:.8}100%{opacity:0;transform:scale(1.8)}}
@keyframes recap-fracture-settle{0%{opacity:0;transform:scale(1.03)}12%{opacity:.9;transform:scale(1)}70%{opacity:.5}100%{opacity:0;transform:translateY(16px)}}
@keyframes recap-coin-explode{0%{opacity:0;transform:translate(0,90px) rotate(var(--turn)) scale(.4)}15%{opacity:1}55%{opacity:1}100%{opacity:0;transform:translate(var(--drift),-150px) rotate(calc(var(--turn) + 240deg)) scale(1.3)}}
@keyframes recap-shard-drop{0%{opacity:0;transform:translateY(-40px) rotate(var(--turn))}15%{opacity:.85}100%{opacity:0;transform:translate(var(--drift),180px) rotate(calc(var(--turn) + 15deg))}}
@media(max-width:480px){.recap-screen-coin{width:6px;height:13px}.recap-screen-ring{border-width:4px}.recap-screen-shard{height:75px}}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) .recap-screen{display:none!important}}
.recap-screen[data-tier=medium][data-stage=landing]>*{animation-duration:800ms}

/* A body-hosted manual popover stays viewport-sized above native dialogs. */
.recap-screen[popover]{border:0;margin:0;padding:0;width:100vw;height:100vh;max-width:none;max-height:none;background:transparent;color:inherit}
.recap-screen[popover]::backdrop{background:transparent;pointer-events:none}

/* Daily living stays a compact paid receipt; changing plans is opt-in. */
.living-receipt{margin:12px 0;padding:11px 13px}
.living-receipt-summary{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 14px;min-width:0}
.living-receipt-summary>h3,.living-receipt-summary>p{margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.living-receipt-summary>h3{font-size:14px;line-height:1.6}
.consumption-statement>h3{margin:10px 0 3px;font-size:12px}
.consumption-statement>p{margin:3px 0}
.living-adjustment{margin-top:5px;min-width:0}
.living-adjustment>summary{width:fit-content;max-width:100%;box-sizing:border-box;min-height:36px;padding:8px 0;font-size:12px;line-height:20px;color:#8e3a62;cursor:pointer}
.living-adjustment>summary:focus-visible{outline:2px solid #a34670;outline-offset:3px;border-radius:3px}
.living-adjustment[open]>summary{margin-bottom:3px}
.living-adjustment>p{margin:0 0 5px}
.living-plan-choices{display:grid;gap:7px;min-width:0}
.living-plan-choices>.secondary{margin:0;min-height:44px;padding:9px 10px;font-size:12px;line-height:1.6;white-space:normal;overflow-wrap:anywhere;text-align:left}
.living-adjustment>small{display:block;margin-top:8px}
/* The replay is a foreground stage, rather than a glow behind the report. */
.recap-playback{display:flex;flex-wrap:wrap;align-items:center;gap:5px 12px;background:radial-gradient(ellipse at 50% 0,#563350,#211b30 75%);border:2px solid #80618b;box-shadow:0 12px 32px #24162e30;color:#fff4f7;padding:18px;margin-bottom:18px;border-radius:15px;overflow:hidden;min-width:0}
.recap-step{color:#d9c1df;flex:1 1 45%;letter-spacing:.08em;font-size:11px}
.recap-counter{order:2;flex:1 1 100%;font-size:clamp(30px,5.7vw,58px);line-height:1.25;letter-spacing:-.045em;font-weight:950;color:#ffe5a0!important;text-shadow:0 3px 0 #0007;transform-origin:50% 50%;text-align:center;min-height:1.4em;margin:8px 0;overflow:visible;white-space:nowrap}
.recap-playback-controls{order:8;flex:1 1 100%;margin:2px 0 0;justify-content:flex-end}.recap-playback-controls button{background:#ffffff13;color:#eadbef;border:1px solid #b090c0!important}
.recap-phase-label{order:0;text-transform:uppercase;font-size:12px;font-weight:800;color:#ffd58a;letter-spacing:.12em}.recap-replay-clock{order:1;margin-left:auto;color:#ddcdec;font:600 14px/1.5 ui-monospace,monospace}
.recap-stage-chart{order:3;flex:1 1 100%;width:100%;min-width:0;border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18;background:#120f1d44;border-radius:7px}.recap-stage-chart svg{display:block;width:100%;height:auto;min-height:155px}.recap-stage-chart p{font-size:12px;padding:0 12px}
.recap-event-card{order:4;flex:1 1 100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:7px;border:1px solid #bb9dd04d;background:#ffffff0d;min-height:34px;font-size:12px;box-sizing:border-box}.recap-event-delta{font-size:clamp(20px,3.7vw,34px);font-variant-numeric:tabular-nums;white-space:nowrap}.recap-playback[data-event-direction=profit] .recap-event-card{border-left:5px solid #78eabb;color:#a6ffdb}.recap-playback[data-event-direction=loss] .recap-event-card{border-left:5px solid #ff779f;color:#ffb4cb}
.recap-chart-details{font-size:12px;margin:10px 0}.recap-heading{padding:8px 0}.recap-primary .recap-profit{font-size:clamp(23px,4vw,34px)}
.daily-recap[data-tier=large] .recap-playback{border-color:#c4965c}.daily-recap[data-tier=large][data-direction=loss] .recap-playback{border-color:#b85b83;background:radial-gradient(ellipse at 50% 0,#713044,#201827 75%)}
.daily-recap[data-tier=small] .recap-playback{border-color:#766985}.daily-recap[data-tier=medium] .recap-counter{font-size:clamp(30px,5vw,50px)}
.recap-digit{display:inline-block;min-width:.60em;text-align:center;transform-origin:center bottom}.recap-punctuation{display:inline-block}
.daily-recap[data-animate=true] .recap-playback[data-stage=anticipation]{filter:contrast(1.18);box-shadow:inset 0 0 55px #f0c57530,0 0 24px #c8916840}
.daily-recap[data-tier=large] .recap-playback[data-stage=landing] .recap-counter{color:#fff2b9!important}.daily-recap[data-direction=loss] .recap-playback[data-stage=landing] .recap-counter{color:#ffb9cc!important}
@media(max-width:480px){.recap-playback{padding:10px;gap:5px 6px}.recap-counter{font-size:clamp(25px,8vw,38px);margin:8px 0;letter-spacing:-.055em}.recap-event-card{padding:8px;gap:6px;flex-wrap:wrap}.recap-event-delta{font-size:25px}.recap-stage-chart svg{min-height:150px}.recap-playback-controls{justify-content:flex-end}.recap-replay-clock{font-size:12px}.recap-phase-label{font-size:10px}.recap-step{font-size:10px}.recap-primary .recap-profit{font-size:24px}}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) .recap-digit{animation:none!important;transform:none!important}body:not(.motion-full) .recap-playback{filter:none!important}}
.recap-stage-profit{order:2;flex:1 1 100%;text-align:center;font:800 clamp(18px,3vw,26px)/1.25 ui-monospace,monospace;color:#f6dce6;margin:-4px 0 10px;font-variant-numeric:tabular-nums}.daily-recap[data-tier=small] .recap-stage-profit{font-size:18px}.daily-recap[data-tier=small] .recap-counter{font-size:clamp(28px,4.6vw,44px)}
@media(max-width:480px){.recap-stage-profit{font-size:18px;margin:0 0 8px}.recap-counter{min-height:1.25em}.recap-stage-chart svg{min-height:130px}.recap-playback{border-radius:10px}.recap-stage-chart{overflow:hidden}}
.recap-outcome-art{display:none;position:absolute;right:12px;bottom:56px;width:min(40%,260px);max-height:55%;object-fit:contain;filter:drop-shadow(0 10px 20px #0008);pointer-events:none}.recap-playback[data-stage=landing] .recap-outcome-art{display:block;animation:recap-art-land 1500ms cubic-bezier(.2,.8,.2,1) both}@keyframes recap-art-land{0%{opacity:0;transform:translateY(70px) rotate(8deg) scale(.7)}24%{opacity:1;transform:translateY(-10px) rotate(-3deg) scale(1.05)}75%{opacity:1;transform:none}100%{opacity:0;transform:translateY(20px)}}@media(max-width:480px){.recap-outcome-art{width:44%;max-height:45%;right:8px;bottom:55px}}
/* The sealed report is revealed after replay; it must not contradict a live count. */
.daily-recap[data-animate=true]>:not(.recap-playback){display:none}
/* Complete four-panel art is opt-in data, not a popup or an unreadable crop. */
.recap-outcome-art{position:relative;order:6;flex:0 0 100%;width:100%;max-width:560px;max-height:none;right:auto;bottom:auto;margin:10px auto;object-fit:contain;border-radius:8px;filter:none}
.recap-playback[data-stage=complete] .recap-outcome-art{display:block}
@keyframes recap-art-land{0%{opacity:0;transform:translateY(36px) rotate(2deg) scale(.94)}35%{opacity:1;transform:translateY(-4px) rotate(-.5deg) scale(1.01)}100%{opacity:1;transform:none}}
@media(max-width:480px){.recap-outcome-art{width:100%;max-height:none;right:auto;bottom:auto}}
@media(max-width:690px){
 .recap-playback{margin-bottom:10px;padding:9px;gap:4px 6px}.recap-counter{margin:5px 0}.recap-heading{padding:5px 0}.recap-primary .recap-profit{font-size:23px}.recap-event-card{padding:6px 8px}.recap-stage-profit{font-size:16px;margin-bottom:5px}.recap-stage-chart svg{min-height:120px}.recap-choices{gap:7px}.recap-choices button{padding:9px;min-height:44px}.recap-curve{margin-block:8px}.recap-tabs{gap:6px}
}
#day-evening-receipts{margin-block:12px;text-align:left}#day-evening-receipts>h3{font-size:15px;margin:8px 0}.evening-receipt{border:1px solid #dec6d4;border-radius:6px;margin:7px 0;background:#fff9fc}.evening-receipt summary{padding:10px;min-height:44px;box-sizing:border-box;font-size:12px;line-height:1.5;cursor:pointer}.evening-receipt-content{padding:0 10px 10px}.evening-receipt-content img{display:block;width:min(100%,420px);height:auto;margin:0 auto 10px}.evening-receipt-content p{font-size:12px;line-height:1.55;margin:6px 0}

/* Certified catastrophic liquidation: a single heavy drop, held fracture and static aftermath.
   No flashing cycles; reduced motion retains only the factual loss marker and border. */
.recap-catastrophe-note{flex:0 0 100%;margin:4px 0 8px;padding:8px 10px;border-left:4px solid #cf6076;background:#341e2a;color:#ffdce5;font-size:13px;font-weight:700;line-height:1.6}
.recap-catastrophe-note[hidden]{display:none}
.daily-recap[data-direction=loss][data-loss-severity=catastrophic] .recap-playback{border:3px solid #9b4b5b;background:linear-gradient(145deg,#291e27,#171820 65%,#3a2029);box-shadow:inset 0 0 36px #05040888}
.daily-recap[data-loss-severity=catastrophic] .recap-counter{color:#ffbdc9!important;margin-bottom:48px}
.daily-recap[data-loss-severity=catastrophic] .recap-playback[data-stage=anticipation],.daily-recap[data-loss-severity=catastrophic] .recap-playback[data-stage=landing]{filter:saturate(.3);transition:filter 450ms ease}
.daily-recap[data-loss-severity=catastrophic] .recap-playback[data-stage=complete]{border-color:#78424e}
.recap-screen[data-loss-severity=catastrophic] .recap-screen-ring{box-shadow:inset 0 0 24vw #180c19bb;background:linear-gradient(118deg,transparent 49.55%,#ed9bacbb 49.7%,#ed9bacbb 50.3%,transparent 50.45%),linear-gradient(36deg,transparent 49.6%,#c9849699 49.8%,#c9849699 50.2%,transparent 50.4%),linear-gradient(77deg,transparent 49.7%,#dda2b2aa 49.85%,#dda2b2aa 50.15%,transparent 50.3%),linear-gradient(151deg,transparent 49.7%,#dda2b288 49.85%,#dda2b288 50.15%,transparent 50.3%)}
.recap-screen[data-loss-severity=catastrophic] .recap-screen-shard{width:5px;height:180px;background:linear-gradient(#e19bad,transparent)}
.recap-screen[data-loss-severity=catastrophic][data-stage=landing] .recap-screen-ring{animation:recap-catastrophe-fracture 2700ms ease-out both}
.recap-screen[data-loss-severity=catastrophic][data-stage=landing] .recap-screen-halo{animation-duration:2300ms}
@keyframes recap-catastrophe-fracture{0%{opacity:0;transform:scale(1.04)}14%,68%{opacity:.85;transform:scale(1)}100%{opacity:0;transform:translateY(20px)}}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) .daily-recap[data-loss-severity=catastrophic] .recap-playback{filter:none;transition:none}body:not(.motion-full) .recap-screen[data-loss-severity=catastrophic]{display:none!important}}

/* Return explanations remain tappable beside both percentages at every width. */
.return-formula-rate{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;align-self:center}.return-formula{display:inline-block;vertical-align:middle;margin-left:4px}.return-formula-trigger{display:inline-flex!important;align-items:center;justify-content:center;min-width:36px!important;min-height:36px!important;padding:4px!important;border:1px solid #997286!important;border-radius:50%!important;background:#fff4fa!important;color:#593447!important;font-size:14px!important;line-height:1!important;cursor:pointer}.return-formula-trigger:focus-visible{outline:3px solid #317eb2;outline-offset:2px}.return-formula-panel{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(370px,calc(100vw - 28px));max-height:calc(100dvh - 40px);overflow:auto;padding:16px;border:1px solid #ad7895;border-radius:12px;background:#fff8fc;color:#392d3a;font:13px/1.65 system-ui,sans-serif;white-space:normal;overflow-wrap:anywhere;box-shadow:0 8px 36px #33132a40;z-index:100}.return-formula-panel[hidden]{display:none}.return-formula-panel::backdrop{background:#24112526}.return-formula-line{display:block;margin:6px 0}.return-formula-line:first-child{font-weight:750}.return-formula-line:nth-child(3){font-variant-numeric:tabular-nums;font-weight:700}
/* Monetary scoring stays legible and physically responsive on narrow screens.
   Reserve scale room instead of clipping the beat or shrinking only tiny gains. */
.recap-counter{font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-weight:950;font-variant-numeric:tabular-nums;letter-spacing:-.065em;padding:8px 12px;box-sizing:border-box;flex-basis:100%;text-shadow:0 3px 0 #0009,0 6px 12px #0006}
.recap-digit{min-width:.58em}.recap-stage-profit{font-size:14px;line-height:1.6;font-weight:600;overflow-wrap:anywhere}
.recap-counter[data-direction=loss],.recap-realized-score[data-direction=loss]{color:#ffb5cb!important}.recap-counter[data-direction=profit],.recap-realized-score[data-direction=profit]{color:#aaffd8!important}
@media(max-width:480px){.daily-recap[data-tier] .recap-counter{font-size:clamp(22px,7.1vw,34px);padding:10px 8px;margin:8px 0;min-height:1.65em}.recap-event-delta{font-size:clamp(18px,5.4vw,25px)}.recap-stage-profit,.daily-recap[data-tier=small] .recap-stage-profit{font-size:12px}}

.recap-realized-score{display:block;font:900 clamp(20px,4.5vw,30px)/1.5 ui-monospace,monospace;color:#ffe1a2;transform-origin:center}.recap-asset-line{display:block;margin-top:6px;font-size:12px;font-weight:500;color:#ddcdec}
@media(max-width:480px){.recap-realized-score{font-size:21px}.recap-asset-line{font-size:11px}}

/* A brief body landing translation must not create horizontal page scrolling. */
html:has(.daily-recap[data-animate=true]){overflow-x:clip}

.recap-asset-line{font-size:14px;line-height:1.6}.recap-realized-score{font-size:clamp(20px,3.8vw,28px)}
@media(max-width:480px){.recap-asset-line{font-size:14px}.recap-realized-score{font-size:21px}}

.recap-step-group{display:flex;align-items:center;gap:6px;flex:1 1 45%;min-width:0}.recap-step-group .recap-step{flex:0 1 auto}

/* Recap impact v3: monetary hierarchy, reserved type space, no opacity flashing. */
.recap-playback{container-type:inline-size}
.recap-counter{font-size:min(58px,calc((100cqw - 80px)/var(--recap-character-width,8)));padding:16px 8px 4px;margin:8px 0 2px;min-height:1.55em}
.daily-recap[data-tier=small] .recap-counter{font-size:min(44px,calc((100cqw - 54px)/var(--recap-character-width,8)))}
.recap-asset-delta{order:2;flex:1 1 100%;min-height:1.6em;text-align:center;font:700 13px/1.6 ui-monospace,monospace;color:#d9c6e5}
.recap-asset-delta[data-direction=profit]{color:#aaffd8}.recap-asset-delta[data-direction=loss]{color:#ffb5cb}
.recap-impact-label{position:absolute;right:16px;top:69px;font:900 11px/1.4 system-ui;color:#ffe2a0;transform:rotate(-5deg);padding:3px 7px;border-radius:3px;background:#33223c;box-shadow:0 2px 0 #08051255;pointer-events:none}
.recap-impact-label:empty{display:none}.recap-impact-label[data-direction=loss]{color:#ffc2d2}
.recap-stage-profit{margin-top:3px}.daily-recap[data-tier=flat] .recap-counter{color:#eadff0!important}.daily-recap[data-tier=small] .recap-burst{display:none}
@media(max-width:480px){.daily-recap[data-tier] .recap-counter{font-size:min(36px,calc((100cqw - 48px)/var(--recap-character-width,8)));padding:14px 2px 3px;margin:6px 0 0;min-height:1.8em}.recap-impact-label{top:62px;right:8px;font-size:9px;padding:2px 4px}.recap-asset-delta{font-size:12px;min-height:1.7em}.daily-recap[data-loss-severity=catastrophic] .recap-counter{margin-bottom:30px}}
.recap-playback{position:relative}
.daily-recap[data-tier=small] .recap-playback[data-stage=landing],.daily-recap[data-tier=flat] .recap-playback[data-stage=landing]{animation:none}
/* The secondary score needs the same peak-shape reservation as the main amount. */
.recap-realized-score{font-size:min(28px,calc((100cqw - 60px)/var(--recap-score-width,12)))}
.recap-event-delta{display:inline-block;transform-origin:right center}
@media(max-width:480px){.recap-realized-score{font-size:min(21px,calc((100cqw - 48px)/var(--recap-score-width,12)))}.recap-event-label{flex-basis:100%}.recap-event-delta{margin-left:auto;margin-right:3px}}
/* Keep the label out of the numeral fit budget, rather than shrinking both to tiny type. */
.recap-realized-label{display:block;font:600 11px/1.3 system-ui;color:#d9c6e5}
.recap-realized-value{display:block;line-height:1.35}

/* 200ms entry, then 240ms stillness: the replay clock starts at 440ms. */
.daily-recap[data-animate=true] .recap-playback[data-stage=opening]{animation:recap-entry 200ms ease-out both}
@keyframes recap-entry{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Approved B: one live profit-first report. Existing cue/WAAPI lifecycle owns motion. */
#day-dialog[data-recap-layout="profit-first"]{width:min(540px,calc(100vw - 28px));border-radius:20px;background:#fffbfc;box-shadow:7px 7px 0 #f7a8c9}
#day-dialog[data-recap-layout="profit-first"] .dialog-toolbar{position:absolute;right:0;top:0;min-height:54px;padding:6px 10px 0;background:transparent;border:0;pointer-events:none}
#day-dialog[data-recap-layout="profit-first"] .dialog-toolbar .x-close{pointer-events:auto;width:36px;min-width:36px;height:36px;min-height:36px;flex-basis:36px;border-radius:10px;background:#f8edf3;color:#27222f}
#day-dialog[data-recap-layout="profit-first"] .dialog-scroll{padding:0 0 22px;scrollbar-gutter:auto}
#day-dialog[data-recap-layout="profit-first"] #day-stage-label{display:none}
#day-dialog[data-recap-layout="profit-first"] #day-title{background:#f7a8c9;padding:18px 62px 8px 18px;margin:0;font-size:24px;line-height:1.3;color:#27222f}
#day-dialog[data-recap-layout="profit-first"] #day-subtitle{background:#f7a8c9;padding:0 18px 4px;margin:0;color:#704657;font-size:12px;line-height:1.6}
.daily-recap[data-layout="profit-first"]{padding:0;border:0;color:#27222f}
.daily-recap[data-layout="profit-first"]>.recap-heading{display:none}
.daily-recap[data-layout="profit-first"] .recap-playback{display:block;border:0;border-radius:0;padding:0;margin:0;background:none;box-shadow:none;overflow:visible;color:#27222f}
.daily-recap[data-layout="profit-first"] .recap-profit-hero{padding:24px 18px 16px;background:#f7a8c9;text-align:center;position:relative}
.daily-recap[data-layout="profit-first"] .recap-step-group{display:block;margin:0 auto 5px}
.daily-recap[data-layout="profit-first"] .recap-step{font-size:14px;color:#704657;font-weight:700;letter-spacing:0}
.daily-recap[data-layout="profit-first"] .recap-counter{display:block;color:#27222f!important;text-shadow:none;font-size:min(50px,calc((100cqw - 48px)/var(--recap-character-width,8)));padding:10px 0 4px;margin:0;min-height:1.55em;line-height:1.35;letter-spacing:-.06em;text-align:center;transform-origin:center}
.daily-recap[data-layout="profit-first"] .recap-stage-rate-group{display:flex;align-items:center;justify-content:center;gap:3px;min-height:36px;margin:4px auto 20px}
.daily-recap[data-layout="profit-first"] .recap-stage-rate{display:inline-block;padding:5px 16px;border-radius:20px;background:#27222f;color:#fffbfc;font:750 15px/1.5 ui-monospace,monospace}
.daily-recap[data-layout="profit-first"] .recap-stage-rate-group .return-formula-trigger{min-width:28px!important;min-height:28px!important;background:transparent!important;border-color:#bc7897!important;font-size:12px!important}
.daily-recap[data-layout="profit-first"] .recap-stage-profit{margin:0;padding:13px 0 0;border-top:1px solid #db89ac;text-align:left}
.daily-recap[data-layout="profit-first"] .recap-realized-score{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:#27222f!important;font-size:23px;line-height:1.3;width:100%;min-width:0}
.daily-recap[data-layout="profit-first"] .recap-realized-label{font:500 14px/1.5 system-ui,sans-serif;color:#27222f;flex:0 0 auto}
.daily-recap[data-layout="profit-first"] .recap-realized-value{font-size:min(24px,calc((100cqw - 100px)/var(--recap-score-width,10)));font-weight:800;white-space:nowrap}
.daily-recap[data-layout="profit-first"] .recap-chart-heading{margin:24px 18px 14px;font-size:17px;line-height:1.4;color:#27222f}
.daily-recap[data-layout="profit-first"] .recap-stage-chart{width:calc(100% - 32px);margin:0 16px;border:0;border-radius:12px;background:#27222f;overflow:hidden}
.daily-recap[data-layout="profit-first"] .recap-stage-chart svg{width:100%;height:auto;min-height:0}
.daily-recap[data-layout="profit-first"] .recap-chart-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 13px 11px;color:#d4c2d5}
.daily-recap[data-layout="profit-first"] .recap-phase-label{font-size:11px;font-weight:500;letter-spacing:0;color:#d4c2d5}
.daily-recap[data-layout="profit-first"] .recap-replay-clock{font-size:11px;color:#d4c2d5;margin:0}
.daily-recap[data-layout="profit-first"] .recap-playback-controls{display:flex;flex-wrap:wrap;gap:8px;margin:12px 16px 0}
.daily-recap[data-layout="profit-first"] .recap-replay{flex:1 1 100%;min-height:44px;border:0!important;border-radius:9px;background:#f6edf2;color:#27222f;font-size:14px;font-weight:700}
.daily-recap[data-layout="profit-first"] .recap-skip{position:static;flex:0 0 auto;min-height:32px;border:0!important;background:#f6edf2;color:#704657;order:1;margin-left:auto}
.daily-recap[data-layout="profit-first"] .recap-event-card{margin:10px 16px 0;padding:8px 10px;border:0;border-radius:8px;background:#f6edf2;color:#27222f;min-height:0;box-sizing:border-box}
.daily-recap[data-layout="profit-first"] .recap-event-card[hidden]{display:none}
.daily-recap[data-layout="profit-first"] .recap-playback[data-event-direction="profit"] .recap-event-card{border-left:3px solid #297e60;color:#24533f}
.daily-recap[data-layout="profit-first"] .recap-playback[data-event-direction="loss"] .recap-event-card{border-left:3px solid #ae3d69;color:#973c5f}
.daily-recap[data-layout="profit-first"] .recap-event-delta{font-size:18px}
.daily-recap[data-layout="profit-first"] .recap-event-label{flex-basis:auto;font-size:11px}
.daily-recap[data-layout="profit-first"] .recap-asset-line{margin:5px 18px;color:#704657;font-size:12px}
.daily-recap[data-layout="profit-first"] .recap-asset-delta{position:absolute;top:156px;left:18px;right:18px;min-height:0;font-size:11px;color:#704657;pointer-events:none}
.daily-recap[data-layout="profit-first"] .recap-impact-label{top:43px;right:14px;background:#27222f;color:#fff4f8;font-size:10px}
.daily-recap[data-layout="profit-first"] .recap-catastrophe-note{margin:10px 16px;background:#442335;color:#ffe8f1}
.daily-recap[data-layout="profit-first"] .recap-playback>.recap-note{margin:8px 18px;color:#704657}
#day-dialog[data-recap-layout="profit-first"] #recap-next{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 32px);margin:28px 16px 0;padding:14px 18px;border-radius:12px;background:#27222f;color:#fffbfc;font-size:17px;line-height:1.5;min-height:54px;text-align:left;box-shadow:4px 4px 0 #f7a8c9}
#day-dialog[data-recap-layout="profit-first"] #day-share{width:calc(100% - 32px);margin:18px 16px 0;border-radius:9px;color:#704657}
#day-recap-extras{margin:22px 18px 0;text-align:left}
#day-recap-extras[hidden]{display:none}
#day-dialog[data-recap-layout="profit-first"] .recap-heading{display:none}
@media(max-width:360px){.daily-recap[data-layout="profit-first"] .recap-profit-hero{padding-left:14px;padding-right:14px}.daily-recap[data-layout="profit-first"] .recap-counter{font-size:min(43px,calc((100cqw - 40px)/var(--recap-character-width,8)))}.daily-recap[data-layout="profit-first"] .recap-realized-value{font-size:min(21px,calc((100cqw - 90px)/var(--recap-score-width,10)))}}
@media(max-height:700px){
 #day-dialog[data-recap-layout="profit-first"] #day-title{padding-top:14px;font-size:22px}
 .daily-recap[data-layout="profit-first"] .recap-profit-hero{padding-top:12px;padding-bottom:12px}
 .daily-recap[data-layout="profit-first"] .recap-counter{padding-top:4px;padding-bottom:2px;min-height:1.35em;font-size:min(42px,calc((100cqw - 48px)/var(--recap-character-width,8)))}
 .daily-recap[data-layout="profit-first"] .recap-stage-rate-group{margin:1px auto 10px;min-height:30px}
 .daily-recap[data-layout="profit-first"] .recap-stage-rate{padding-block:3px}
 .daily-recap[data-layout="profit-first"] .recap-stage-profit{padding-top:10px}
 .daily-recap[data-layout="profit-first"] .recap-chart-heading{margin-top:16px;margin-bottom:10px}
 .daily-recap[data-layout="profit-first"] .recap-stage-chart svg{max-height:158px}
 .daily-recap[data-layout="profit-first"] .recap-chart-caption{padding-bottom:7px}
 #day-dialog[data-recap-layout="profit-first"] #recap-next{margin-top:18px;min-height:48px;padding-block:11px}
}
/* The B card owns its shell in every loss tier; loss FX keep their own layers. */
.daily-recap[data-layout="profit-first"][data-tier][data-direction] .recap-playback{border:0;background:none;box-shadow:none}
.daily-recap[data-layout="profit-first"] .recap-stage-chart p{color:#d4c2d5}
.daily-recap[data-layout="profit-first"] .recap-realized-value{display:inline-block;transform-origin:right center}
.daily-recap[data-layout="profit-first"][data-tier][data-direction] .recap-playback[data-stage] .recap-counter{color:#27222f!important}


/* Temporary audition controls; keep all three rates until the user selects one. */
.daily-recap[data-layout="profit-first"] .recap-speeds{display:flex;align-items:center;gap:4px;flex-wrap:wrap;order:1}
.daily-recap[data-layout="profit-first"] .recap-speed{min-width:46px;min-height:36px;padding:5px 10px;border:1px solid #db89ac!important;border-radius:8px;background:#f6edf2;color:#704657;font:700 13px/1.4 system-ui,sans-serif}
.daily-recap[data-layout="profit-first"] .recap-speed[aria-pressed="true"]{background:#27222f;color:#fffbfc;border-color:#27222f!important}
.daily-recap[data-layout="profit-first"] .recap-speed:focus-visible{outline:2px solid #ae3d69;outline-offset:2px}

.living-plan-label{display:block;font-weight:700}
.living-plan-effect,.living-pending-arrangement{display:block;font-size:11px;line-height:1.5;font-weight:400;margin-top:3px}
.living-pending-arrangement{color:#704057;font-weight:600}
.living-choice-details{margin-top:8px;min-width:0;font-size:11px;line-height:1.6}
.living-choice-details>summary{cursor:pointer;width:fit-content;max-width:100%;min-height:32px;padding:5px 0;box-sizing:border-box;color:#8e3a62}
.living-choice-details>summary:focus-visible{outline:2px solid #a34670;outline-offset:3px;border-radius:3px}
.living-choice-details p{margin:5px 0;overflow-wrap:anywhere}

/* The percentage and its help travel together into the pixel account drawer. */
.day-return-group{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px;min-width:0;max-width:100%}.day-return-group .return-formula{margin-left:0}.day-return-group .return-formula-trigger{min-width:28px!important;min-height:28px!important}.day-return-group .day-return{max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* Approved C money columns; original amount slot and settlement layout stay. */
.daily-recap[data-amount-animation="c"] .recap-counter .c-money-column{position:relative;display:inline-block;overflow:hidden;width:.61em;height:1.15em;vertical-align:top;line-height:1.15em;font-variant-numeric:tabular-nums}
.daily-recap[data-amount-animation="c"] .recap-counter .c-money-track{display:block;position:absolute;inset:0 auto auto 0;width:100%;will-change:transform;line-height:1.15em}
.daily-recap[data-amount-animation="c"] .recap-counter .c-money-cell{display:block;height:1.15em;line-height:1.15em;width:100%;text-align:center}


/* ./fx/emotion-pressure.css */
.segments button.emotion-soft-lock{position:relative;isolation:isolate;opacity:1;color:#8f687d;background:#f8eff4;border:1px dashed #ba8ea6;cursor:pointer;overflow:visible}
.segments [data-pressure-label]{position:relative;isolation:isolate}
.segments button.emotion-soft-lock:focus-visible{outline:3px solid #a54372;outline-offset:3px}
.pressure-fracture{position:absolute;inset:1px;width:calc(100% - 2px);height:calc(100% - 2px);pointer-events:none;z-index:1;opacity:0;overflow:visible}
.pressure-fracture path{fill:none;stroke:#a84b78;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:bevel;vector-effect:non-scaling-stroke}
.emotion-soft-lock .pressure-fracture,.pressure-breaking .pressure-fracture{opacity:.75}
.pressure-count{position:absolute;right:3px;bottom:1px;font-size:8px;line-height:1.1;color:#915f7a;background:#fff8fbd9;padding:1px 3px;border-radius:3px;pointer-events:none;z-index:2}
.emotion-soft-lock::after{content:'';position:absolute;left:1px;bottom:-2px;width:calc(var(--pressure-progress,0)*100% - 2px);height:2px;background:#b94d80;pointer-events:none}
.emotion-soft-lock[data-pressure-stage='fracture']{border-style:dashed;border-color:#ac6087;background:#f8e8f0}
.emotion-soft-lock[data-pressure-stage='rupture']{border-style:dashed;border-color:#94335f;box-shadow:1px 0 0 #cf8daa,-1px 0 0 #c8a5b7}
.emotion-soft-lock[data-pressure-stage='rupture']::before{content:attr(data-pressure-label);position:absolute;inset:0;display:grid;place-items:center;clip-path:polygon(0 37%,100% 37%,100% 51%,0 51%);transform:translateX(-2px);opacity:.4;color:#a44272;pointer-events:none}
.pressure-breaking{animation:pressure-frame-release .5s ease-out both}
.pressure-breaking .pressure-fracture{animation:pressure-crack-release .5s ease-out both}
@keyframes pressure-frame-release{0%{box-shadow:inset 0 0 0 1px #a04470}50%{box-shadow:0 0 0 4px #b958822b}100%{box-shadow:none}}
@keyframes pressure-crack-release{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(1.14)}}
.emotion-pressure-panel{display:none!important}
.pressure-tooltip{position:fixed;z-index:10000;box-sizing:border-box;padding:11px 13px;background:#302732;color:#fff4fa;border:1px solid #98647d;border-radius:7px;box-shadow:0 5px 18px #30273233;font-size:12px;line-height:1.65;overflow-wrap:anywhere;pointer-events:none}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) .emotion-soft-lock,body:not(.motion-full) .pressure-breaking,body:not(.motion-full) .pressure-fracture{animation:none!important;transition:none!important;transform:none!important}body:not(.motion-full) .emotion-soft-lock::before{display:none!important}}
body:not(.motion-full) .pressure-breaking,body:not(.motion-full) .pressure-fracture{animation:none!important;transform:none!important}
body:not(.motion-full) .emotion-soft-lock::before{display:none!important}

/* Progressive fracture stays readable; page translation is driven separately
   from trade transforms, and never runs with reduced motion. */
.pressure-fracture path{stroke-width:1.8;filter:drop-shadow(0 1px 0 #fff8fc)}.emotion-soft-lock[data-pressure-stage=fracture] .pressure-fracture{opacity:.95}.emotion-soft-lock[data-pressure-stage=rupture]{border-width:2px;border-color:#a93668;box-shadow:inset 0 0 12px #a94b7528}.pressure-breaking{animation:pressure-final-frame .65s ease-out both!important}.pressure-breaking .pressure-fracture{opacity:1;animation:pressure-final-crack .65s ease-out both!important}.pressure-count{font-size:10px;font-weight:800;background:#fff6fbef}.pressure-page-flare{position:fixed;inset:0;pointer-events:none;z-index:9998;box-shadow:inset 0 0 0 0 transparent;opacity:0;transition:opacity .2s ease}.pressure-page-flare[data-active=true]{opacity:1;box-shadow:inset 0 0 32px 6px rgb(157 47 94 / var(--pressure-edge,.2))}body[data-pressure-impact=break] .pressure-page-flare{box-shadow:inset 0 0 48px 9px #a6386555}
@keyframes pressure-final-frame{0%{box-shadow:inset 0 0 0 2px #9d3569}40%{box-shadow:0 0 0 7px #b9588238,inset 0 0 16px #cf89ad}100%{box-shadow:none}}@keyframes pressure-final-crack{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.28)}}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) .pressure-page-flare{display:none!important}body:not(.motion-full) .pressure-breaking,body:not(.motion-full) .pressure-breaking .pressure-fracture{animation:none!important;transform:none!important}}body:not(.motion-full) .pressure-page-flare{display:none}body:not(.motion-full) .pressure-breaking,body:not(.motion-full) .pressure-breaking .pressure-fracture{animation:none!important;transform:none!important}

/* Re-rendering the trading surface during a pressure shake invalidates its
   scroll anchor. Browsers can compensate by one text line per press, moving
   the target away from a stationary pointer. Keep this animated game surface
   out of anchor selection; do not move the viewport or suppress its motion. */
main:has([data-pressure-label]){overflow-anchor:none}

/* The lock outline itself loses fragments on each press. The central label is
   excluded from the fracture paths by an SVG rim clip, rather than painted over. */
.pressure-frame-shards{opacity:0}.pressure-frame-shards line{stroke:#a14b75;stroke-width:1.25;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center}
.segments button.emotion-soft-lock[data-pressure-frame=cracking]{border-color:transparent}
.emotion-soft-lock[data-pressure-frame=cracking] .pressure-frame-shards{opacity:1}
body.motion-full .pressure-frame-shards line{transition:transform 180ms ease-out,opacity 180ms ease-out}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) .pressure-frame-shards line{transition:none!important;transform:none!important}}

/* Short, readable directional pressure; low-contrast edge tint never strobes. */
.segments button[data-pressure-direction=ecstatic],.pressure-page-flare[data-direction=ecstatic]{--pressure-ink:#ad4261;--pressure-rgb:173 66 97}
.segments button[data-pressure-direction=despair],.pressure-page-flare[data-direction=despair]{--pressure-ink:#68439a;--pressure-rgb:104 67 154}
.segments button.emotion-soft-lock[data-pressure-frame=cracking]{color:#332336;background:#fff5fa;border-width:1px;box-shadow:inset 0 0 0 1px rgb(var(--pressure-rgb,173 66 97) / .14)}
.segments button.emotion-soft-lock[data-pressure-stage=rupture]{border-width:1px;box-shadow:inset 0 0 12px rgb(var(--pressure-rgb,173 66 97) / .22)}
.pressure-fracture path{stroke:var(--pressure-ink,#a84b78);stroke-width:2.3;filter:drop-shadow(0 1px 0 #fff8fc)}
.pressure-frame-shards line{stroke:var(--pressure-ink,#a84b78);stroke-width:1.8}
.pressure-count{color:var(--pressure-ink,#915f7a);font-size:10px;line-height:1.1;padding:1px 2px}
.pressure-page-flare[data-active=true]{box-shadow:inset 0 0 34px 7px rgb(var(--pressure-rgb,173 66 97) / var(--pressure-edge,.2))}
body[data-pressure-impact=break] .pressure-page-flare{box-shadow:inset 0 0 46px 9px rgb(var(--pressure-rgb,173 66 97) / .26)}
.pressure-tooltip{padding:8px 11px;font-size:12px;line-height:1.5;width:max-content;max-width:calc(100vw - 24px)}

.segments button[data-pressure-label]{touch-action:manipulation}

/* Full-viewport impact reads at the first press, with five growing edge cracks.
   All decorative layers are pointer transparent and never change focus. */
.pressure-page-flare{overflow:hidden;contain:strict;transition:none}
.pressure-viewport-glass{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.pressure-viewport-glass path{fill:none;stroke:rgb(var(--pressure-rgb,173 66 97));stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;vector-effect:non-scaling-stroke;filter:drop-shadow(1px 1px 0 #fff)}
.pressure-impact-ring{position:absolute;left:var(--pressure-origin-x,50%);top:var(--pressure-origin-y,50%);width:240px;height:240px;transform:translate(-50%,-50%);border:2px solid rgb(var(--pressure-rgb,173 66 97) / .3);border-radius:50%;box-shadow:0 0 0 18px rgb(var(--pressure-rgb,173 66 97) / .04);pointer-events:none}
.pressure-page-flare[data-stage=break] .pressure-impact-ring{width:440px;height:440px;border-width:4px;box-shadow:0 0 0 35px rgb(var(--pressure-rgb,173 66 97) / .07)}
.pressure-page-flare[data-stage=break] .pressure-viewport-glass path{stroke-width:3}
body[data-pressure-impact=break] .pressure-page-flare{box-shadow:inset 0 0 70px 14px rgb(var(--pressure-rgb,173 66 97) / .36)}
@media(max-width:690px){.pressure-impact-ring{width:150px;height:150px}.pressure-page-flare[data-stage=break] .pressure-impact-ring{width:280px;height:280px}}


/* ./fx/dialogs.css */
/* Loaded after the original presentation styles: shell never scrolls. */
html.dialog-active,html.dialog-active body{overflow:hidden;overscroll-behavior:none}
html{scrollbar-gutter:stable}
dialog.dialog-shell{box-sizing:border-box;padding:0;overflow:hidden;max-width:calc(100vw - max(24px,env(safe-area-inset-left) + env(safe-area-inset-right) + 16px));max-height:calc(100vh - 32px);max-height:calc(100dvh - max(32px,env(safe-area-inset-top) + env(safe-area-inset-bottom) + 16px));margin:auto}
dialog.dialog-shell[open]{display:flex;flex-direction:column}
dialog.dialog-shell:not([open]){display:none}
.dialog-toolbar{flex:0 0 auto;display:flex;justify-content:flex-end;align-items:center;min-height:52px;padding:4px 6px 0;background:inherit;border-bottom:1px solid #eedee7;position:relative;z-index:2}
.dialog-toolbar .x-close{position:static;display:grid;place-items:center;flex:0 0 44px;min-width:44px;min-height:44px;margin:0;padding:0;font-size:27px;line-height:1;border-radius:5px;background:#fff6fa;color:#684154}
.dialog-toolbar .x-close:hover{background:#f8dce9}
.dialog-toolbar .x-close:focus-visible{outline:3px solid #a44373;outline-offset:-3px}
.dialog-scroll{flex:1 1 auto;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:18px 26px 28px;overflow-wrap:anywhere;-webkit-overflow-scrolling:touch}
.dialog-scroll>*{max-width:100%;box-sizing:border-box}
.dialog-scroll input,.dialog-scroll select,.dialog-scroll audio{max-width:100%;min-width:0}
.dialog-scroll img{max-width:100%}
.dialog-scroll h2{overflow-wrap:anywhere}
.opening-dialog .dialog-scroll>img{display:block;width:180px;height:180px;object-fit:cover;object-position:top;border:2px solid #282431;margin:12px auto;box-shadow:5px 5px 0 #f4b0cc}
.prop-dialog .dialog-scroll>strong{display:block;font-size:35px;font-weight:900;color:#a84470;font-variant-numeric:tabular-nums}
.prop-dialog .dialog-scroll>p{font-size:14px;line-height:1.8}
.dialog-scroll .share-actions a,.dialog-scroll .share-actions button{min-width:min(140px,100%)}
#scene-resume{margin:0 0 20px;padding:12px 16px;min-height:44px;width:auto;max-width:100%;border:1px solid #a34e77;background:#ffeaf4;border-radius:6px;font-weight:700;line-height:1.6}
@media(max-width:390px){.dialog-scroll{padding:14px 16px 20px}.dialog-scroll h2{font-size:23px}.dialog-scroll .mode-options button{padding:15px}.dialog-scroll .ranking-entry-head{flex-wrap:wrap}.dialog-scroll .ranking-entry-head strong{white-space:normal}.dialog-scroll .developer-form{grid-template-columns:minmax(0,1fr)}}
@media(max-height:440px){.dialog-toolbar{min-height:48px;padding-top:0}.dialog-scroll{padding-top:12px;padding-bottom:16px}.opening-dialog .dialog-scroll>img{width:100px;height:100px}}

dialog.dialog-shell:has(.food-comic:not([hidden])){padding:0}
@media(max-width:690px){
 .dialog-scroll{padding:10px 12px 16px}.dialog-scroll h2{font-size:22px;margin-block:8px 12px}.dialog-scroll>p{margin-block:8px}.dialog-toolbar{min-height:48px;padding-top:0}
 .day-total{padding:9px 0;margin:12px 0}.day-total strong{font-size:29px}.comic-captions{gap:7px;margin:10px 0}.dialog-scroll .primary,.dialog-scroll .secondary{min-height:40px}
}

/* The cabinet crisis stays one expanded story, with all three moments visible. */
.daily-family-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.daily-family-sequence[hidden]{display:none}
.daily-family-sequence figure{margin:0;min-width:0;background:#fffaf3;border:1px solid #dbc1c7;border-radius:8px;overflow:hidden}
.daily-family-sequence img{display:block;width:100%;height:auto;object-fit:contain}
.daily-family-sequence figcaption{padding:8px;font-size:13px;line-height:1.55;overflow-wrap:anywhere;color:#593647}
@media(max-width:560px){.daily-family-sequence{grid-template-columns:1fr;gap:8px}.daily-family-sequence figure{display:grid;grid-template-columns:42% minmax(0,1fr);align-items:center}.daily-family-sequence figcaption{padding:9px;font-size:13px}}


/* ./fx/opening-reader.css */
/* The reader uses whole reviewed panels; no face crops or text overlays. */
#opening-dialog{width:min(760px,calc(100vw - 24px));background:#f6f2ec;border:2px solid #28242a;border-radius:8px;box-shadow:10px 10px 0 #26222a40}
#opening-dialog .dialog-toolbar{min-height:46px;padding:2px 12px;border-bottom:1px solid #28242a25;background:#f6f2ec}
#opening-dialog .dialog-toolbar:before{content:'FX KURUMI / PROLOGUE';margin-right:auto;color:#746970;letter-spacing:.14em;font-size:10px}
#opening-dialog .dialog-toolbar .x-close{width:auto;flex:0 0 auto;min-width:88px;min-height:44px;padding:8px 12px;background:transparent;font-size:12px;color:#544a50}
#opening-dialog .dialog-scroll{padding:18px 28px 22px;scrollbar-gutter:stable}
#opening-dialog #opening-count{display:block;letter-spacing:.18em;color:#7d6672;font-size:11px}
#opening-dialog h2{font-size:clamp(21px,4vw,29px);line-height:1.25;margin:12px 0 8px}
#opening-dialog #opening-copy{font-size:14px;line-height:1.8;margin:0 0 18px;color:#62555c}
.opening-panel{margin:0 auto;width:100%;max-width:660px;background:#fff;border:1px solid #1c1a1d;box-shadow:5px 5px 0 #2e283315}
.opening-panel img{display:block;width:100%;height:auto;object-fit:contain}
#opening-dialog[data-page='recovery-vow'] .opening-panel{max-width:439px}
#opening-dialog[data-page='mothers-diary'] .opening-panel{max-width:200px}
#opening-dialog[data-page='mothers-diary'] .opening-panel.opening-companion{max-width:660px;margin-top:16px}
#opening-dialog[data-page='quiet-reply'] .opening-panel{max-width:180px}
.opening-panel .manga-image-fallback{padding:18px}
.opening-nav{flex:0 0 auto;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;padding:12px 24px max(12px,env(safe-area-inset-bottom));border-top:1px solid #2b252b;background:#fffaf5}
#opening-dialog .opening-nav button{min-height:48px;white-space:normal;line-height:1.45;border-radius:5px}
#opening-dialog #opening-back{padding:10px 16px;border:1px solid #c7b8bf;background:transparent;font-size:12px;color:#5c4c56}
#opening-dialog #opening-back:disabled{opacity:.35}
#opening-dialog #opening-next{width:100%;margin:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;background:#27212b;color:#fff6fa;border:1px solid #27212b;box-shadow:3px 3px 0 #e8a7c5}
#opening-dialog #opening-next:hover{background:#49313e}
#opening-next-hint{font-size:10px;opacity:.7;white-space:nowrap}
#opening-next-label{font-size:15px;font-weight:800;text-align:right}
.opening-reader-meta{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
#opening-save{font-size:10px;color:#8b7782;line-height:1.45}
#opening-dialog #opening-source{font-size:11px;color:#77515f;min-height:44px;padding:5px 0 5px 10px;background:transparent;border:0;white-space:nowrap}
.opening-terminal-sheet{position:relative;overflow:hidden;min-height:280px;box-sizing:border-box;padding:30px;border:2px solid #2b242b;background:radial-gradient(#30263213 .65px,transparent .85px) 0 0/5px 5px,#fff;box-shadow:6px 6px 0 #29232a}
.opening-terminal-kicker{display:block;font:700 12px monospace;letter-spacing:.18em;border-bottom:2px solid #302932;padding-bottom:14px;margin-bottom:24px}
#opening-dialog .opening-terminal-sheet p{font-size:14px;line-height:1.7;margin:12px 0}
.opening-terminal-sheet strong{display:block;font-size:clamp(40px,8vw,72px);line-height:1.25;letter-spacing:-.06em;color:#2b2229;font-variant-numeric:tabular-nums}
.opening-terminal-sheet>small{font-size:12px;color:#76636e}
#opening-dialog .opening-terminal-sheet .opening-goal{margin-top:22px;border-top:1px solid #bfaeb8;padding-top:18px;font-weight:700}
#opening-dialog .opening-terminal-sheet .opening-prompt{margin-top:16px;color:#77626e;font-size:12px}
#opening-dialog button:focus-visible{outline:3px solid #be4a80;outline-offset:3px}
@media(max-width:480px){#opening-dialog .dialog-scroll{padding:15px 15px 20px}.opening-nav{padding-left:14px;padding-right:14px;gap:8px}#opening-dialog #opening-back{padding:8px 12px}#opening-dialog #opening-next{padding:10px 12px}#opening-next-label{font-size:13px}.opening-terminal-sheet{padding:22px;min-height:260px}#opening-dialog .dialog-toolbar:before{font-size:9px;letter-spacing:.08em}}
@media(max-height:500px){#opening-dialog .dialog-toolbar{min-height:44px}.opening-nav{padding-top:7px;padding-bottom:7px;gap:4px 10px}.opening-reader-meta{min-height:26px}#opening-dialog .dialog-scroll{padding-top:12px;padding-bottom:16px}}


/* ./fx/character-story.css */
#character-story-entry{margin:14px 0;padding:14px;border:1px solid #d9c6cb;background:#fffaf5;border-radius:8px}
#character-story-entry[hidden]{display:none}
#character-story-entry button{width:100%;min-height:44px;white-space:normal;text-align:left}
#character-story-entry p{margin:7px 0 0;font-size:13px;color:#715d64}
#character-story-dialog{width:min(760px,calc(100vw - 24px));background:#fffaf5;color:#34252b}
#character-story-dialog .dialog-scroll{padding:20px 28px 24px}
#character-story-dialog .character-story-eyebrow{font-size:12px;letter-spacing:.1em;color:#965471;margin:0 0 8px}
#character-story-context{font-size:13px;color:#715d64;margin:0 0 16px}
#character-story-dialog p{line-height:1.85}
#character-story-dialog h2{margin:0 0 8px;line-height:1.4}
#character-story-panels figure{margin:18px 0}
#character-story-panels img{display:block;width:auto;max-width:100%;height:auto;max-height:none;object-fit:contain;margin:auto;border:1px solid #3d3338;box-sizing:border-box}
#character-story-aftermath{border-left:3px solid #cf8fac;padding-left:14px;margin:20px 0 0}
#character-story-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 auto;padding:12px 20px;border-top:1px solid #e4d1d8;background:#fffaf5}
#character-story-controls button{min-height:44px;padding:8px 12px;min-width:0;font-size:14px}
#character-story-position{white-space:nowrap;font-size:12px;color:#715d64}
@media(max-width:390px){#character-story-dialog .dialog-scroll{padding:14px 14px 20px}#character-story-controls{padding:8px;gap:5px}#character-story-controls button{padding:8px 7px;font-size:12px}#character-story-dialog h2{font-size:22px}}

.story-library-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:8px 0}.story-library-actions #character-story-entry{margin:0;padding:0;border:0;background:none}.story-library-actions button{width:auto;min-height:44px;margin:0;font-size:12px;padding:8px 14px}.story-library-actions #character-story-entry button{text-align:center}


/* ./fx/numeric-layout.css */
/* Financial pairs wrap as label/value groups, never as a detached + / − / ¥. */
.trade-card,.position-card,.order-row,.position-pnl,.day-total,.ranking-entry,.dialog-scroll{container-type:inline-size;min-width:0}
.position-pnl{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px}
.position-pnl>span{flex:0 0 auto;white-space:nowrap;font-size:12px}
.position-pnl>strong{flex:0 0 auto;display:block;margin-left:auto;max-width:100%;--amount-font:27px}
[data-atomic-amount]{display:inline-block;max-width:100%;white-space:nowrap;word-break:normal;overflow-wrap:normal;font-variant-numeric:tabular-nums;font-size:var(--amount-font,1em)}
@supports(font-size:1cqw){[data-atomic-amount]{font-size:min(var(--amount-font,1em),calc((100cqw - 4px) / var(--amount-characters,16) * 1.35))}}
.account-heading>b{--amount-font:36px}.order-live-pnl b{--amount-font:20px}.order-estimate .primary-estimate b{--amount-font:17px}.day-total>strong{--amount-font:38px}.prop-dialog .dialog-scroll>strong{--amount-font:35px}
.account-row,.order-row-data,.order-estimate>div{flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.account-row>span,.order-row-data>span,.order-estimate>div>span{flex:0 0 auto;max-width:100%;word-break:keep-all;overflow-wrap:normal}
.account-row>b,.order-row-data>b,.order-estimate>div>b{min-width:0;margin-left:auto;text-align:right;overflow-wrap:anywhere}
.liquidation-estimate>div{grid-template-columns:minmax(0,1fr);gap:5px}
.liquidation-estimate>div>span{white-space:nowrap;word-break:keep-all}
.liquidation-estimate p{min-width:0;overflow-wrap:break-word;word-break:normal}
.liquidation-estimate p b{display:inline-block;white-space:nowrap;max-width:100%}
.ranking-metrics{min-width:0}.ranking-metrics>div{min-width:0}.ranking-entry-head{flex-wrap:wrap}
@media(max-width:390px){.position-pnl{display:grid;grid-template-columns:minmax(0,1fr)}.position-pnl>strong{margin-left:0;--amount-font:24px}.order-row-data,.order-estimate>div{display:flex;flex-direction:column;align-items:stretch}.order-row-data>b,.order-estimate>div>b{margin-left:0;text-align:left}.account-heading>b{--amount-font:32px}}

.position-pnl>strong:not([data-atomic-amount]){white-space:normal;overflow-wrap:anywhere;min-width:0}
/* Phone facts share a line whenever they fit; only genuinely long amounts wrap. */
@media(max-width:690px){
 .position-pnl{display:flex;gap:4px 8px}.position-pnl>strong{margin-left:auto;--amount-font:23px}.account-heading>b{--amount-font:29px}.order-live-pnl b{--amount-font:18px}.order-estimate .primary-estimate b{--amount-font:15px}.day-total>strong{--amount-font:29px}
 .order-row-data,.order-estimate>div{flex-direction:row;align-items:baseline;gap:3px 7px}.order-row-data>b,.order-estimate>div>b{margin-left:auto;text-align:right}.liquidation-estimate>div{grid-template-columns:82px minmax(0,1fr);gap:6px}
}


/* ./fx/chart-controls.css */
/* Controls belong to the plot's upper edge and never cover candles or labels. */
.chart-controls{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 6px;min-width:0}
.chart-controls .speed-buttons{display:flex;gap:4px;min-width:0}
.chart-controls button{border:1px solid #706579;background:#3f394a;color:#eee7f0;border-radius:5px;min-width:38px;min-height:36px;padding:7px 9px;font-size:11px;line-height:1.2;white-space:nowrap;touch-action:manipulation}
.chart-controls .speed-buttons button:last-child{flex:0 0 auto}
.chart-controls .speed-buttons button[aria-pressed="true"]{background:#f4b2d0;color:#2c2230;border-color:#f4b2d0}
.chart-controls #finish-day{background:#5b3e53;border-color:#bc84a6;color:#ffeef6}
.chart-controls button:hover:not(:disabled){filter:brightness(1.15)}
.chart-controls button:focus-visible,.chart-foot button:focus-visible{outline:2px solid #ffc8e3;outline-offset:3px}
.npc-investors{background:#fffafd;border:1px solid #eadce5;border-radius:7px;padding:10px 12px;min-width:0;overflow:hidden}
.npc-investors-heading{display:flex;align-items:center;gap:8px;margin-bottom:5px}.npc-investors-heading h2{font-size:12px;margin:0;font-weight:750;color:#786474}.npc-investors-heading>span{font-size:9px;border:1px solid #d6c1ce;border-radius:4px;padding:1px 5px;color:#977489}
#npc-messages{list-style:none;padding:0;margin:0;display:grid;gap:5px;max-height:116px;overflow:auto;overscroll-behavior:contain}
#npc-messages li{font-size:11px;line-height:1.5;display:grid;grid-template-columns:78px minmax(0,1fr);gap:7px;min-width:0}
#npc-messages b{font-size:10px;font-weight:650;color:#967e8e;white-space:nowrap}#npc-messages p{margin:0;min-width:0;overflow-wrap:anywhere;color:#675766}#npc-messages [data-stance="long"] b{color:#4a8c73}#npc-messages [data-stance="short"] b{color:#a45e82}
@media(max-width:390px){.chart-controls{gap:6px}.chart-controls button{min-width:36px;min-height:44px;padding:7px 8px}.chart-foot{gap:8px;align-items:center}.chart-foot>span{min-width:0;line-height:1.5}.npc-investors{padding:9px 10px}#npc-messages li{grid-template-columns:72px minmax(0,1fr);gap:6px}}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) .npc-investors *{animation:none!important;transition:none!important}}
.investment-controls{grid-column:1/-1;min-width:0;border:1px solid #eadce5;border-radius:7px;padding:10px;margin-top:12px;background:#fffafd}
.investment-controls fieldset{margin:0 0 12px}.investment-controls .amount-field{margin:0}.amount-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:9px 0}.amount-presets button{min-width:0;padding:8px 4px;border:1px solid #d8bfd0;border-radius:4px;background:white;font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}.amount-presets button[aria-pressed="true"]{background:#f8ddeb;border-color:#b65d8d}
.inventory-action,.loan-presets button{appearance:none;border:1px solid #c38ba8;border-radius:6px;background:#fff0f7;color:#803b61;min-height:40px;padding:9px 15px;font-family:inherit;font-size:12px;font-weight:650;line-height:1.4;cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s}
.inventory-action:hover:not(:disabled),.loan-presets button:hover:not(:disabled),.amount-presets button:hover:not(:disabled){background:#f9ddeb;border-color:#a7547e}.inventory-action:active:not(:disabled),.loan-presets button:active:not(:disabled),.amount-presets button:active:not(:disabled){background:#f0c4d9;box-shadow:inset 0 2px 3px #8b46602b}.inventory-action:focus-visible,.loan-presets button:focus-visible,.amount-presets button:focus-visible{outline:3px solid #a94779;outline-offset:3px}.inventory-action:disabled,.loan-presets button:disabled,.amount-presets button:disabled{cursor:not-allowed;background:#f4edf1;border-color:#ddd1d8;color:#afa0ab;box-shadow:none;opacity:.75}
@media(max-width:390px){.investment-controls{padding:9px}.amount-presets button,.inventory-action,.loan-presets button{min-height:44px}.amount-presets{grid-template-columns:repeat(3,minmax(0,1fr))}}

.candle-view-controls{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:9px 0;font-size:11px;min-width:0}
.candle-view-controls button{font:inherit;border:1px solid #817186;border-radius:5px;background:#3d3445;color:#f8edf5;padding:6px 8px;min-height:32px;white-space:nowrap}
.candle-view-controls button[aria-pressed=true]{background:#f1b2d0;color:#322337}.candle-view-controls button:disabled{opacity:.45}.candle-view-controls button:focus-visible{outline:2px solid #c56c99;outline-offset:2px}
.candle-history{display:flex;align-items:center;gap:8px;flex:1 0 100%;color:inherit}.candle-history[hidden]{display:none}.candle-history input{flex:1;min-width:0;accent-color:#b74f80}
/* Block SVGs avoid the inline baseline gap that caused a native scrollbar.
   Height is controlled by the existing chart button; axes stay fully visible. */
#chart,.recap-candle-plot{min-height:220px;max-height:580px;resize:none;overflow:visible}
/* The container owns its minimum height. A 220px SVG minimum overflowed the
   196px phone plot and painted time-axis labels over the following clock. */
#chart svg,.recap-candle-plot svg{display:block;width:100%;height:100%;min-height:0}
.daily-recap .candle-view-controls button{background:#fff7fb;color:#813e62;border-color:#c994b0;font-size:11px!important;padding:6px 8px!important}.daily-recap .candle-view-controls button[aria-pressed=true]{background:#b14679;color:white}
.candle-view-notice{font-size:11px;line-height:1.6;margin:5px 0;color:#8a5e77;overflow-wrap:anywhere}.recap-candle-plot{height:280px}
@media(max-width:690px){
 .chart-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;margin:8px 0 5px}.chart-controls #quote-package-open{width:auto;min-width:0;margin:0}.chart-controls .speed-buttons{justify-content:flex-end}.chart-controls button{min-height:40px;padding:6px 8px}
 .candle-view-controls{gap:4px;margin:6px 0}.candle-view-controls button{padding:5px 6px;min-height:36px}.investment-controls{padding:8px;margin-top:8px}.investment-controls fieldset{margin-bottom:7px}.amount-presets{margin:7px 0;gap:4px}.amount-presets button{min-height:40px}
 #stops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.trade-card #stops button{min-height:40px}.ticket-hint:empty{display:none}
}

.candle-view-controls #quote-package-open{width:auto;flex:0 0 auto;margin:0}

/* Two restrained beats, then rest. No flashing, continuous shaking or quote pulse. */
#price[data-heartbeat]:not([data-heartbeat="quiet"]){display:inline-block;transform-origin:center;animation:chart-risk-heartbeat var(--risk-heartbeat-duration,1100ms) ease-in-out infinite}
@keyframes chart-risk-heartbeat{0%,34%,100%{transform:none}9%{transform:translateY(-1px) scale(1.035)}17%{transform:none}25%{transform:translateY(-.5px) scale(1.022)}}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) #price{animation:none!important}}
/* Out-of-flow overlay anchored INSIDE the lower plot. It never changes the
   chart, order controls or position layout. Price labels and the time axis stay
   outside its bounds. Multiple warnings scroll inside the same capped panel. */
.chart-risk-stage{position:relative;min-width:0}
#chart{position:relative}
#chart .chart-quote-label{position:absolute;left:12px;top:8px;max-width:calc(100% - 92px);font:inherit;font-size:12px;line-height:16px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:inherit}
#chart .chart-quote-label>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px}
#chart .chart-quote-label-primary>span{font-size:10px;line-height:16px}
#chart .chart-quote-label strong{font-size:20px;line-height:24px;font-weight:650;transform:none;font-stretch:normal}
#risk-alerts{position:absolute;z-index:2;left:8px;bottom:42px;width:min(360px,calc(100% - 98px));box-sizing:border-box;isolation:isolate;margin:0;max-height:124px;overflow:auto;overscroll-behavior:contain;border:1px solid #dbadbd;border-radius:10px;background:#fff4f8;box-shadow:0 6px 18px #08050b55;color:#5b3027;padding:6px}
#risk-alerts[hidden],#risk-alerts:empty{display:none}
#risk-alerts .risk-alert{color:inherit;margin:0;border:0;border-radius:6px;background:transparent;box-shadow:none}
#risk-alerts .risk-alert+.risk-alert{border-top:1px solid #ebcbd5}
@media(max-width:690px){#risk-alerts{max-height:112px;padding:3px;left:3px;width:calc(100% - 85px)}#risk-alerts .risk-alert{gap:6px;padding:5px}#risk-alerts .risk-copy{font-size:11px}#risk-alerts button{min-height:36px}}


/* ./fx/trading-expression.css */
/* Readable original thought panels stay separate from the portrait and controls. */
.trading-expression[hidden]{display:none!important}
.trading-expression{position:fixed;z-index:20;max-width:calc(100vw - 16px);width:max-content;margin:0;border:2px solid #b34776;border-radius:9px;background:#fff9fc;color:#722d50;overflow:hidden;pointer-events:none;box-shadow:3px 4px 0 #ddafc3}
.trading-expression-heading{display:block;height:32px;padding:5px 40px 5px 10px;font-size:14px;line-height:22px;font-weight:700;box-sizing:border-box}
.trading-expression-close{position:absolute;right:2px;top:2px;width:28px;height:28px;min-height:28px;padding:0;border:1px solid #aa7590;border-radius:50%;font-size:21px;line-height:1;background:#fff;color:#553447;pointer-events:auto;cursor:pointer}
.trading-expression-crop{position:relative;overflow:hidden;pointer-events:none}
.trading-expression .trading-expression-crop img{position:absolute;max-width:none;object-fit:fill;margin:0;display:block}
.trading-expression.is-detached{position:fixed;margin:0;z-index:20}
.motion-full .trading-expression:not([hidden]){animation:trading-expression-arrive .2s ease-out}
@keyframes trading-expression-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) .trading-expression:not([hidden]){animation:none}}


/* ./fx/quote-packages.css */
.quote-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
.quote-package-card{min-width:0;border:1px solid #edb5c9;border-radius:14px;padding:16px 12px;background:#fff9fc}
.quote-package-card.selected{border-color:#bc4472;box-shadow:inset 0 0 0 1px #bc4472}
.quote-package-card header{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.quote-package-card strong{font-size:1.05rem;font-variant-numeric:tabular-nums;white-space:normal}
.quote-package-card p,.quote-package-card small,.quote-package-note,.quote-package-disclosure{line-height:1.6;color:#765667;overflow-wrap:anywhere}
.quote-package-card button{width:100%;min-height:44px;white-space:normal;line-height:1.5}
.quote-package-card small{display:block;margin-top:6px}.quote-package-disclosure{font-size:.84rem}
.quote-package-receipts{border-top:1px solid #eed6e1;padding-top:12px}.quote-package-receipts summary{cursor:pointer;min-height:32px}.quote-package-receipts li{line-height:1.8;font-variant-numeric:tabular-nums}
@media(max-width:540px){.quote-package-grid{grid-template-columns:1fr}.quote-package-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 12px}.quote-package-card p{grid-column:1;margin:0}.quote-package-card button{grid-column:2;grid-row:1/3;width:auto;max-width:180px}.quote-package-card small{grid-column:1/-1}}
@media(max-width:380px){.quote-package-card{display:block}.quote-package-card button{width:100%;max-width:none;margin-top:10px}}

.quote-package-cost{display:block;font-size:1.1rem;margin:10px 0;color:#804261;font-variant-numeric:tabular-nums}
@media(max-width:540px){.quote-package-card{display:block}.quote-package-card button{width:100%;max-width:none;margin-top:8px}.quote-package-cost{margin:7px 0}}

/* Compact, whole-row targets for the unified period picker. */
#quote-package-dialog{width:min(430px,calc(100vw - 28px));padding:20px;box-sizing:border-box}
#quote-package-dialog h2{font-size:21px;margin:4px 24px 14px 0}
.candle-period-list{display:grid;gap:8px}
.candle-period-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 8px;width:100%;min-height:52px;margin:0;padding:9px 12px;border:1px solid #dfbfd0;border-radius:8px;background:#fff9fc;color:#64394f;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation}
.candle-period-row[aria-pressed=true]{background:#fbe2ed;border-color:#a63d6a;box-shadow:inset 0 0 0 1px #a63d6a}
.candle-period-row:focus-visible{outline:3px solid #a94779;outline-offset:2px}
.candle-period-row:disabled{cursor:not-allowed;opacity:.6}
.candle-period-name{display:flex;flex-direction:column;gap:2px;min-width:0}
.candle-period-name strong{font-size:14px;line-height:1.3}.candle-period-name>span{font-size:11px;line-height:1.3;color:#836376}
.candle-period-price{font-size:12px;font-weight:700;line-height:1.3;white-space:nowrap;font-variant-numeric:tabular-nums}
.candle-period-row>small{grid-column:1/-1;font-size:11px;line-height:1.3;color:#92617b}
#quote-package-dialog .candle-period-note{font-size:12px;line-height:1.5;margin:12px 0 0;color:#806475}
#quote-package-dialog #quote-package-error:empty{display:none}
#quote-package-dialog>.primary{min-height:44px;margin-top:12px;padding:10px}
@media(max-width:380px){#quote-package-dialog{padding:16px}.candle-period-row{min-height:52px;padding:8px 10px}.candle-period-list{gap:7px}}

/* Dropdown changes chart period; adjacent pressed buttons change the rental directly. */
.candle-view-controls #quote-package-open{border-style:dashed;background:#282330;min-height:44px}
.quote-refresh-options{display:flex;gap:4px;flex:1 1 200px;min-width:0;max-width:360px}
.candle-view-controls .quote-refresh-choice{display:flex;flex:1 1 0;min-width:0;min-height:44px;align-items:center;justify-content:center;flex-direction:column;gap:3px;padding:5px 4px;border-style:solid;white-space:normal;font-size:11px}
.quote-refresh-choice strong,.quote-refresh-choice small{font-size:inherit;line-height:1.25;white-space:nowrap}
.quote-refresh-choice small{font-size:10px;opacity:.85}
@media(max-width:380px){.quote-refresh-options{gap:3px;flex-basis:192px}.candle-view-controls .quote-refresh-choice{font-size:10px;padding:5px 2px}.candle-view-controls #quote-package-open{padding-inline:5px}}


/* ./fx/investor-danmaku.css */
/* A contained strip, outside the price plot and all trading controls. */
.investor-comments{border:1px solid #eadce5;border-radius:7px;padding:9px 12px;background:#fffafd;min-width:0;overflow:hidden}
.investor-comments-heading{display:flex;gap:8px;align-items:center;margin-bottom:4px;color:#786474}
.investor-comments-heading h2{font-size:12px;margin:0;font-weight:750}.investor-comments-heading span{font-size:10px;color:#947b8b}
#investor-danmaku{position:relative;display:block;list-style:none;padding:0;margin:0;height:104px;overflow:hidden;contain:layout paint;pointer-events:none}
#investor-danmaku .investor-danmaku-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;max-width:100%;margin:0;padding:4px;pointer-events:auto;font-size:12px;line-height:1.5}
#investor-danmaku .investor-danmaku-status button{margin-left:6px;font-size:12px;padding:5px 8px}
#investor-danmaku .investor-danmaku-line{position:absolute;left:100%;top:calc(var(--comment-lane) * 25px);width:var(--comment-width);max-width:none;margin:0;padding:2px 0;font:600 13px/21px sans-serif;white-space:nowrap;color:#59465a;text-shadow:0 1px 0 #fff;will-change:transform;animation:investor-comment-right-to-left var(--comment-duration) linear forwards}
#investor-danmaku[data-paused="true"] .investor-danmaku-line{animation-play-state:paused}
@keyframes investor-comment-right-to-left{from{transform:translateX(0)}to{transform:translateX(calc(-100% - var(--comment-travel)))}}
#investor-danmaku[data-reduced="true"] .investor-danmaku-line{position:static;width:auto;max-width:100%;animation:none;transform:none;white-space:normal;overflow-wrap:anywhere;will-change:auto}
.comment-credits section{border-top:1px solid #eadce5;padding:12px 0}.comment-credits h3{font-size:15px}.comment-credits p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) #investor-danmaku:not([data-reduced="false"]) .investor-danmaku-line{position:static;width:auto;max-width:100%;animation:none;transform:none;white-space:normal;overflow-wrap:anywhere;will-change:auto}}
@media(max-width:390px){.investor-comments{padding:8px 10px}#investor-danmaku{height:104px}}

#investor-danmaku .investor-danmaku-line:nth-child(3n+2){color:#7c4d67}
#investor-danmaku[data-reduced="true"]{height:58px}

.leaderboard-broadcast{position:fixed;left:50%;bottom:calc(72px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:15;pointer-events:none;max-width:min(86vw,620px);font-size:12px;line-height:1.5;color:#f5efcf;background:#252a35ed;border:1px solid #87794f;border-radius:14px;padding:7px 14px;box-shadow:0 3px 12px #0003}.leaderboard-broadcast:empty{display:none}@media(max-width:600px){.leaderboard-broadcast{bottom:calc(88px + env(safe-area-inset-bottom));font-size:11px;max-width:88vw}}

.player-comments{border-top:1px solid #eadce5;margin-top:6px;padding-top:8px}.player-comments h3{font-size:12px;margin:0 0 6px;color:#786474}.player-comment-list{list-style:none;padding:0;margin:0 0 6px;max-height:100px;overflow:auto;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.player-comment-list:empty{display:none}.player-comment-list li{margin:3px 0}.player-comment-list strong{color:#7c4d67;font-weight:600}.player-comments form{display:flex;align-items:stretch;gap:6px}.player-comments textarea{min-width:0;flex:1;resize:vertical;max-height:120px;border:1px solid #dec8d5;border-radius:6px;padding:7px;font:inherit;font-size:12px;background:#fff;color:#59465a}.player-comments button{white-space:nowrap;font-size:12px;padding:7px 10px;align-self:stretch}.player-comments p{font-size:10px;color:#786474;margin:4px 0 0;line-height:1.4}.player-comments [role=status]:empty{display:none}

/* Scrolling excerpts are an explicit game presentation; other reduced-motion effects stay unchanged. */
#investor-danmaku[data-reduced="false"] .investor-danmaku-line{animation:investor-comment-right-to-left var(--comment-duration) linear forwards!important}
#investor-danmaku[data-reduced="false"][data-paused="true"] .investor-danmaku-line{animation-play-state:paused!important}

/* Only a long public message needs a focusable full-text action. */
#investor-danmaku .investor-danmaku-open{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;pointer-events:auto;white-space:inherit;cursor:pointer;text-align:left}
#investor-danmaku .investor-danmaku-open:focus-visible{outline:2px solid currentColor;outline-offset:2px}
#investor-danmaku .investor-danmaku-line:focus-within{animation-play-state:paused}


/* ./fx/moving-average.css */
.ma-legend{display:flex;flex-wrap:wrap;gap:6px;padding:6px 0}
.ma-legend button{display:inline-flex;align-items:baseline;gap:6px;border:1px solid #716076;border-radius:7px;background:#322c3b;color:var(--ma-color,#ddd);padding:5px 8px;font-size:.74rem;font-variant-numeric:tabular-nums;white-space:nowrap;min-height:32px}
.ma-legend button[aria-pressed="false"]{opacity:.5;text-decoration:line-through}.ma-legend button:focus-visible{outline:3px solid #fff;outline-offset:2px}.ma-legend b{font-weight:600;white-space:nowrap}
.recap-ma-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:.72rem;margin:4px 0}.recap-ma-legend span{font-variant-numeric:tabular-nums;white-space:nowrap}
.recap-ma-legend button{background:transparent;border:1px solid currentColor;border-radius:6px;padding:4px 7px;font:inherit;min-height:30px}.recap-ma-legend button[aria-pressed="false"]{opacity:.5;text-decoration:line-through}


/* ./fx/liquidation-meter.css */
.liquidation-meter{margin:12px 0 16px;padding:0;min-width:0}
.liquidation-meter[hidden]{display:none}
.liquidation-meter-value{display:grid;gap:7px;margin:0;color:#826378;font-size:13px;line-height:1.45;font-weight:650}
.liquidation-meter-label{min-width:0;overflow-wrap:anywhere}
.liquidation-meter-track{display:block;height:7px;overflow:hidden;border-radius:5px;background:#eee5eb}
.liquidation-meter-fill{display:block;height:100%;border-radius:inherit;background:#72b59a;transition:width .24s ease,background-color .24s ease}
.liquidation-meter-value.is-warning .liquidation-meter-fill{background:#c5964c}
.liquidation-meter-value.is-critical{color:#a93669}
.liquidation-meter-value.is-critical .liquidation-meter-fill{background:#d64d86}
.liquidation-meter-value.is-unknown .liquidation-meter-track{background:repeating-linear-gradient(135deg,#eee5eb 0 5px,#f8f4f7 5px 10px)}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) .liquidation-meter-fill{transition:none}}

.position-title{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap}
.position-title>span{white-space:nowrap}.position-title>#position-count{margin-left:auto}
.position-close-all{appearance:none;border:1px solid #b34d79;border-radius:7px;background:#fff0f6;color:#863655;font:inherit;font-size:12px;font-weight:750;padding:7px 12px;min-height:36px;white-space:nowrap;box-shadow:0 2px 0 #c28b9e;cursor:pointer}
.position-close-all:not(:disabled):hover{background:#f9dbe9}.position-close-all:not(:disabled):active{transform:translateY(2px);box-shadow:none}
.position-close-all:focus-visible{outline:3px solid #705fba;outline-offset:3px}.position-close-all:disabled{opacity:.45;cursor:default;box-shadow:none}

.liquidation-meter-legend{font-size:11px;font-weight:500;color:#8a6d7f}.liquidation-meter-track{height:9px;background:linear-gradient(90deg,#dcebe1,#f2e6ce 65%,#f4d6e2);border:1px solid #d2bcc9}.liquidation-meter-fill{min-width:0}.liquidation-meter-value.is-critical .liquidation-meter-legend{color:#a93669}

.risk-progress{height:7px;margin-top:11px;background:#ece1df}.risk-progress i{background:#c4a567}.risk-progress.is-warning i{background:#dc9b28}.risk-progress.is-critical i{background:#d14861}.risk-progress.is-unknown{background:repeating-linear-gradient(135deg,#eee6e7 0 5px,#faf7f7 5px 10px)}.position-risk-label{font-size:11px;line-height:1.5;margin:5px 0 0;color:#886744}.position-risk-label[data-tone=critical]{color:#b4324e;font-weight:750}.position-risk-label[data-tone=unknown]{color:#8c7d88}@media(prefers-reduced-motion:reduce){body:not(.motion-full) .risk-progress i{transition:none}}


/* ./fx/floating-risk.css */
/* Only a safely placed risk panel floats. Existing position risk readouts stay put. */
.floating-risk{position:fixed;z-index:3;box-sizing:border-box;width:248px;padding:10px 12px;border:1px solid #d4b3c5;border-radius:8px;background:#fff8fc;color:#684154;pointer-events:none!important;user-select:none;contain:layout style;visibility:hidden;margin:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
.floating-risk,.floating-risk *{pointer-events:none!important}
.floating-risk .floating-risk-close{pointer-events:auto!important;user-select:auto;display:block;width:100%;min-height:36px;margin-top:8px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.floating-risk .floating-risk-close:focus-visible{outline:3px solid #873a68;outline-offset:3px}
.floating-risk .floating-risk-close:disabled{cursor:default;opacity:.55}
.floating-risk[hidden],html.dialog-active .floating-risk,body:has(dialog[open])>.floating-risk{display:none!important}
.floating-risk-heading{display:block;margin:0 0 5px;font-size:11px;font-weight:700;color:#927487;letter-spacing:.04em}
.floating-risk .liquidation-meter-value{font-size:12px;line-height:1.5;gap:6px}
.floating-risk .liquidation-meter-track{height:6px}
/* Narrow layouts keep the original meter in the position card. */
@media(max-width:699px){body:not([data-frontend="pixel"])>.floating-risk{display:none!important}}
@media print{.floating-risk{display:none!important}}

/* One persistent view across both frontends. Only these native controls take input. */
.floating-risk-icon,.floating-risk-badge,.floating-risk-message{display:none}
.floating-risk .floating-risk-dismiss{pointer-events:auto!important;user-select:auto;position:absolute;right:3px;top:2px;width:28px;min-height:28px;margin:0;padding:0;border:0;border-radius:3px;background:transparent;color:inherit;font:inherit;font-size:23px;line-height:1;cursor:pointer}
.floating-risk .floating-risk-dismiss:focus-visible{outline:3px solid #873a68;outline-offset:2px}
.floating-risk-heading{padding-right:18px}
body[data-frontend="pixel"]>.floating-risk{display:grid;grid-template-columns:44px minmax(0,1fr) 134px 28px;grid-template-rows:auto auto;column-gap:10px;align-items:center;min-height:72px;padding:7px 8px 7px 12px;border:2px solid #080e53;border-radius:3px;background:linear-gradient(110deg,#fff0f7,#ffd1e7 60%,#ffe9f5);color:#080e53;box-shadow:inset 0 0 0 3px #fff9,3px 3px 0 #e59acaaa;font-family:"Noto Sans CJK SC","Microsoft YaHei",sans-serif}
body[data-frontend="pixel"]>.floating-risk .floating-risk-heading{grid-column:2;grid-row:1;display:flex;align-items:center;gap:15px;margin:0;padding:0;color:inherit;letter-spacing:0;line-height:31px;white-space:nowrap}
body[data-frontend="pixel"]>.floating-risk .floating-risk-icon{display:block;position:absolute;left:12px;top:12px;width:44px;height:44px}
body[data-frontend="pixel"]>.floating-risk .floating-risk-icon svg{display:block;width:44px;height:44px}
body[data-frontend="pixel"]>.floating-risk .floating-risk-badge{display:inline-block;flex:none;padding:0 8px;border-radius:3px;background:linear-gradient(#ff83bc,#ff3295);color:#fff;font-size:21px;font-weight:800;line-height:34px;box-shadow:inset 0 1px 0 #ffb9dc}
body[data-frontend="pixel"]>.floating-risk .floating-risk-title{font-size:26px;font-weight:800;letter-spacing:1px}
body[data-frontend="pixel"]>.floating-risk .liquidation-meter-value{grid-column:2;grid-row:2;display:block;margin:0 0 0 94px;font-size:18px;line-height:24px;color:inherit;white-space:nowrap}
body[data-frontend="pixel"]>.floating-risk .liquidation-meter-label{display:none}
body[data-frontend="pixel"]>.floating-risk .floating-risk-message{display:inline}
body[data-frontend="pixel"]>.floating-risk .floating-risk-close{grid-column:3;grid-row:1/3;width:100%;height:47px;min-height:44px;margin:0;padding:0 6px;border:2px solid #080e53;border-radius:5px;background:linear-gradient(110deg,#ff42a3,#ff1990);color:#fff;font:inherit;font-size:24px;font-weight:800;white-space:nowrap;text-shadow:1px 1px #d91d80;box-shadow:inset 0 0 0 2px #ff90c7}
body[data-frontend="pixel"]>.floating-risk .floating-risk-dismiss{position:static;grid-column:4;grid-row:1/3;align-self:center;width:28px;height:44px;font-size:34px;line-height:40px}
body[data-frontend="pixel"]>.floating-risk button:focus-visible{outline:3px solid #d80088;outline-offset:2px}
@media(max-width:699px){
 body[data-frontend="pixel"]>.floating-risk{grid-template-columns:28px minmax(0,1fr) 98px 28px;column-gap:6px;min-height:84px;padding:7px}
 body[data-frontend="pixel"]>.floating-risk .floating-risk-heading{display:block;line-height:22px;white-space:normal}
 body[data-frontend="pixel"]>.floating-risk .floating-risk-icon{left:7px;top:22px;width:28px;height:30px}
 body[data-frontend="pixel"]>.floating-risk .floating-risk-icon svg{width:28px;height:30px}
 body[data-frontend="pixel"]>.floating-risk .floating-risk-badge{padding:0 4px;margin-right:3px;font-size:12px;line-height:20px;vertical-align:1px}
 body[data-frontend="pixel"]>.floating-risk .floating-risk-title{font-size:18px;letter-spacing:0;white-space:nowrap}
 body[data-frontend="pixel"]>.floating-risk .liquidation-meter-value{margin:2px 0 0;font-size:12px;line-height:17px;white-space:normal;overflow-wrap:anywhere}
 body[data-frontend="pixel"]>.floating-risk .floating-risk-close{height:44px;padding:0 3px;font-size:19px}
 body[data-frontend="pixel"]>.floating-risk .floating-risk-dismiss{font-size:30px}
}

/* The chart can be narrow on a wide viewport too (scaled/stacked frontends). */
 body[data-frontend="pixel"]>.floating-risk[data-compact="true"]{grid-template-columns:28px minmax(0,1fr) 98px 28px;column-gap:6px;min-height:84px;padding:7px}
 body[data-frontend="pixel"]>.floating-risk[data-compact="true"] .floating-risk-heading{display:block;line-height:22px;white-space:normal}
 body[data-frontend="pixel"]>.floating-risk[data-compact="true"] .floating-risk-icon{left:7px;top:22px;width:28px;height:30px}
 body[data-frontend="pixel"]>.floating-risk[data-compact="true"] .floating-risk-icon svg{width:28px;height:30px}
 body[data-frontend="pixel"]>.floating-risk[data-compact="true"] .floating-risk-badge{padding:0 4px;margin-right:3px;font-size:12px;line-height:20px;vertical-align:1px}
 body[data-frontend="pixel"]>.floating-risk[data-compact="true"] .floating-risk-title{font-size:18px;letter-spacing:0;white-space:nowrap}
 body[data-frontend="pixel"]>.floating-risk[data-compact="true"] .liquidation-meter-value{margin:2px 0 0;font-size:12px;line-height:17px;white-space:normal;overflow-wrap:anywhere}
 body[data-frontend="pixel"]>.floating-risk[data-compact="true"] .floating-risk-close{height:44px;padding:0 3px;font-size:19px}
 body[data-frontend="pixel"]>.floating-risk[data-compact="true"] .floating-risk-dismiss{font-size:30px}


/* ./fx/emotion-overview.css */
#character-card .character-heading{display:flex;align-items:flex-start;justify-content:flex-start;gap:7px;flex-wrap:nowrap}
#character-card .character-heading>span{display:inline-block;flex:0 0 auto;white-space:nowrap;word-break:keep-all;padding-top:4px}
#character-card .emotion-current{font-size:13px;color:#952e63;white-space:nowrap;padding:3px 7px;background:#f5c8dd;border:1px solid #a13c6c;border-radius:4px}
#character-card .character-heading{flex-wrap:wrap;align-items:center}
.emotion-overview{display:flex;flex:1 0 100%;min-width:0;gap:3px;align-items:center;height:12px;overflow:hidden}
.emotion-chip{display:block;flex:1 1 0;height:3px;background:#ddced7;border-radius:2px;min-width:2px}
.emotion-chip.is-current{height:9px;background:#a13c6c;box-shadow:0 0 0 1px #a13c6c}
.portrait-load-status{display:grid;place-content:center;min-height:240px;padding:16px;background:#f8edf3;color:#785c6e;font-size:13px;text-align:center}
.portrait-load-status button{font:inherit;border:1px solid #b784a1;border-radius:5px;padding:9px;background:#fff7fb;color:#8a3c64}
#character-card .sanity-label{display:flex;align-items:center;justify-content:space-between;gap:8px;white-space:nowrap;word-break:keep-all;margin:12px 12px 6px}
#character-card .sanity-meter{margin:0 12px 12px}
#character-card>.voice-caption-row{display:block;padding:10px 12px;margin:0;border-top:1px solid #ead5e1}
.character-voice-controls{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.character-voice-controls button{min-height:36px;padding:7px 9px;border:1px solid #ceb8c4;background:#fff7fb;border-radius:5px;font-size:11px;white-space:nowrap;word-break:keep-all}
@media(max-width:1050px){
 #character-card{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:start;padding-right:0}
 #character-card .portrait{grid-column:1;grid-row:1/5;height:100%;min-height:160px;max-height:440px}
 #character-card .character-heading{grid-column:2;grid-row:1;padding:10px 9px 4px}
 #character-card .sanity-label{grid-column:2;grid-row:2;align-self:center;margin:8px 9px 6px}
 #character-card .sanity-meter{grid-column:2;grid-row:3;margin:0 9px 8px}
 #character-card .speech{grid-column:2;grid-row:4;margin:2px 9px 10px}
 #character-card>.voice-caption-row{grid-column:1/-1;grid-row:5}
}
@media(max-width:390px){#character-card{grid-template-columns:78px minmax(0,1fr)}.emotion-chip{min-width:1px}.emotion-overview{gap:3px}#character-card .character-heading{gap:4px;padding-left:5px;padding-right:5px}#character-card .character-heading>span{font-size:10px}}
@media(max-width:690px){
 #character-card{grid-template-columns:74px minmax(0,1fr)}#character-card .portrait{min-height:135px;max-height:160px}#character-card .character-heading{padding:5px 7px 3px;gap:4px}#character-card .sanity-label{margin:4px 7px}#character-card .sanity-meter{margin:0 7px 5px}#character-card .speech{margin:2px 7px 6px}
 #character-card>.voice-caption-row{display:flex;flex-wrap:wrap;gap:5px 8px;align-items:center;padding:6px 8px}#character-card #voice-state{margin:0;font-size:11px;line-height:1.4;flex:1 1 100px}.character-voice-controls{gap:5px}.character-voice-controls button{min-height:36px;padding:5px 7px}.portrait-load-status{min-height:135px;padding:8px}
}


/* ./fx/bgm.css */
.bgm-panel{color:var(--text,#e8e9f2);background:rgba(14,21,39,.88);border:1px solid rgba(143,169,211,.25);border-radius:12px;padding:14px;min-width:0;font-size:13px;line-height:1.5}
.bgm-heading,.bgm-transport,.bgm-modes,.bgm-volume,.bgm-credit-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bgm-heading{margin-bottom:8px}.bgm-eyebrow{font-size:10px;letter-spacing:.12em;color:#99c9f3;background:#19314a;padding:2px 6px;border-radius:4px}.bgm-status{margin-left:auto;color:#a9b9cf;font-size:11px}.bgm-now{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.bgm-title{font-size:15px;overflow-wrap:anywhere}.bgm-artist{color:#a9b9cf;font-size:12px;overflow-wrap:anywhere}
.bgm-panel button{font:inherit;cursor:pointer}.bgm-button{color:#e5efff;background:#20334f;border:1px solid #496282;border-radius:7px;padding:6px 12px;min-height:34px}.bgm-button:hover{background:#2c486c}.bgm-panel button:disabled{opacity:.45;cursor:default}.bgm-panel button:focus-visible,.bgm-panel input:focus-visible,.bgm-panel summary:focus-visible,.bgm-panel a:focus-visible{outline:2px solid #ffaecc;outline-offset:3px}.bgm-button[aria-pressed=true]{border-color:#ed9fbb;background:#4e3049;color:#ffd4e4}.bgm-volume{margin-left:auto;color:#bfcae1;font-size:12px}.bgm-volume input{width:100px;accent-color:#ed9fbb}.bgm-volume output{min-width:3ch;text-align:right;font-variant-numeric:tabular-nums}.bgm-modes{margin-top:10px}.bgm-modes .bgm-button{font-size:12px;min-height:30px}.bgm-hint{font-size:11px;color:#a9b9cf;margin:8px 0 10px}.bgm-catalog{border-top:1px solid #34425d;padding-top:9px}.bgm-panel summary{cursor:pointer;color:#c2d9f1}.bgm-tracks{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:7px;max-height:300px;overflow:auto;overscroll-behavior:contain}.bgm-tracks>li{border:1px solid #354962;border-radius:7px;padding:7px}.bgm-track{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;padding:5px 7px;color:#e8eff9;border:1px solid transparent;background:transparent;border-radius:5px;overflow-wrap:anywhere}.bgm-track[aria-pressed=true]{background:#283c58;border-color:#81b6dd}.bgm-track-title{font-weight:650}.bgm-track small{font-size:11px;color:#b2c3d9}.bgm-credit{margin:4px 7px 0;font-size:11px;color:#a9b9cf}.bgm-credit p{margin:6px 0;overflow-wrap:anywhere}.bgm-credit a{color:#9bd5ff;text-underline-offset:2px}.bgm-empty{color:#a9b9cf;font-size:12px}
@media(max-width:480px){.bgm-panel{padding:11px}.bgm-status{flex-basis:100%;margin-left:0}.bgm-volume{margin-left:0;flex-basis:100%}.bgm-volume input{flex:1}.bgm-button{min-height:40px}.bgm-modes .bgm-button{min-height:36px}}


/* fx/market-selector.css */
.pair label{font-size:.75rem;color:var(--muted,#999)}
.terminal .pair label{color:#bdb4c3}
.pair select{max-width:100%;font:inherit;font-weight:700;border:1px solid currentColor;border-radius:6px;background:var(--panel,#171b2d);color:inherit;padding:.3em .5em;cursor:pointer}
.pair select:focus-visible{outline:2px solid #7de0c5;outline-offset:3px}
@media(max-width:480px){.terminal-head .pair{min-width:0;flex-wrap:wrap}.pair select{font-size:.95rem}}


/* ./fx/pixel-renderer.css */
/* Approved pink-pixel renderer. Every rule is scoped; legacy rendering is untouched. */
body[data-frontend="pixel"]{background:#ffe3f1;color:#0a1255}
#pixel-frontend{--px-ink:#0a1255;--px-pink:#ff329d;--px-mint:#4beed8;--px-line:#b878b3;--px-atlas:url('./pixel-assets/reference-atlas.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');width:1536px;max-width:none;min-height:1024px;margin:0 auto;padding:0 0 16px;zoom:var(--pixel-scale,1);color:var(--px-ink);font-family:'Noto Sans CJK SC','Microsoft YaHei',sans-serif;font-size:18px;line-height:1.4;background:radial-gradient(ellipse at 25% 8%,#fff8fc,transparent 50%),linear-gradient(115deg,#ffd4ec,#fff2f8 65%,#ffd2e9);font-synthesis:none}
#pixel-frontend *,#pixel-frontend *:before,#pixel-frontend *:after{box-sizing:border-box}
#pixel-frontend [hidden]{display:none!important}
#pixel-frontend button,#pixel-frontend input,#pixel-frontend select,#pixel-frontend textarea{font:inherit;color:var(--px-ink)}
#pixel-frontend button,#pixel-frontend select,#pixel-frontend summary{cursor:pointer;touch-action:manipulation}
#pixel-frontend button{border:1.5px solid var(--px-ink);border-radius:6px;padding:5px 10px;background:linear-gradient(115deg,#fff,#f9fbff);box-shadow:inset 0 0 0 2px #ffffff88;line-height:1.2;min-height:0;text-transform:none;letter-spacing:0;white-space:nowrap;font-weight:500}
#pixel-frontend button:hover{filter:brightness(1.03);background-color:#ffe0f1}
#pixel-frontend button:active{transform:translateY(1px)}
#pixel-frontend button:disabled{cursor:not-allowed;opacity:.5}
#pixel-frontend button[aria-pressed="true"]{background:linear-gradient(115deg,#ffc6e4,#ffadd9 75%,#ffd0eb);border-color:var(--px-ink);color:var(--px-ink)}
#pixel-frontend :is(button,input,select,textarea,summary):focus-visible{outline:3px solid #d6198a;outline-offset:3px}
#pixel-frontend .positive{color:#ff168f!important}#pixel-frontend .negative{color:#00b398!important}
#pixel-frontend .pixel-sprite{display:inline-block;flex:none;background-image:var(--px-atlas);background-repeat:no-repeat;width:40px;height:40px;vertical-align:middle}
#pixel-frontend .pixel-icon-heart{background-position:-22px -84px;width:39px;height:38px}
#pixel-frontend .pixel-icon-chart{background-position:-349px -83px;width:42px;height:39px}
#pixel-frontend .pixel-icon-yen{background-position:-1077px -82px;width:40px;height:39px}
#pixel-frontend .pixel-icon-news{background-position:-25px -749px;width:34px;height:31px}
#pixel-frontend .pixel-icon-chat{background-position:-491px -749px;width:39px;height:32px}
#pixel-frontend .pixel-icon-bag{background-position:-30px -596px;width:37px;height:43px}
#pixel-frontend .pixel-icon-house{background-position:-182px -594px;width:41px;height:44px}
#pixel-frontend .pixel-icon-comic{background-position:-36px -662px;width:43px;height:45px}
#pixel-frontend .pixel-icon-settings{background-position:-1248px -9px;width:48px;height:48px}
#pixel-frontend .pixel-header-slot{height:69px;border-bottom:2px solid var(--px-ink);background:linear-gradient(100deg,#ffe4f2,#fff0f6 68%,#ffd4ed);position:relative}
#pixel-frontend .pixel-header-slot:after{content:'';position:absolute;right:0;top:0;width:193px;height:67px;background-image:var(--px-atlas);background-position:-1343px 0;pointer-events:none}
#pixel-frontend .topbar{height:67px;min-height:0;max-width:none;width:100%;margin:0;padding:0 24px;display:flex;gap:25px;align-items:center;border:0;background:none;box-shadow:none;position:relative;z-index:2}
#pixel-frontend .brand{font-size:45px;font-weight:900;letter-spacing:-1.5px;line-height:1;gap:0;white-space:nowrap;text-decoration:none;color:var(--px-ink);flex:none}
#pixel-frontend .brand:after{content:'';width:48px;height:49px;background-image:var(--px-atlas);background-position:-238px -7px;margin-left:9px}
#pixel-frontend .brand-mark,#pixel-frontend .brand small{display:none}
#pixel-frontend .top-right{display:flex;flex:1;align-items:center;gap:20px;flex-wrap:nowrap;margin:0;padding:0;background:none;min-width:0}
#pixel-frontend #mode-open{width:174px;height:58px;flex:none;font-size:0!important;position:relative;background:linear-gradient(115deg,#ffbddd,#ffd6eb);border:1.6px solid var(--px-ink)}
#pixel-frontend #mode-open:before{content:'';position:absolute;left:15px;top:7px;width:46px;height:45px;background-image:var(--px-atlas);background-position:-328px -11px}
#pixel-frontend #mode-open:after{content:attr(data-pixel-label);display:block;padding-left:46px;font-size:20px;font-weight:750;line-height:23px;white-space:pre-line;letter-spacing:.2px}
#pixel-frontend .pixel-source-status{display:flex;align-items:center;flex:1;min-width:220px;padding:0 18px;height:44px;border-left:2px dashed #eb8bc4;border-right:2px dashed #eb8bc4;color:#3b5e91;font-size:20px;font-weight:700;white-space:nowrap}
#pixel-frontend .pixel-source-status:before{content:'♙';font-size:30px;color:var(--px-ink);margin-right:9px}
#pixel-frontend :is(#leaderboard-open,#achievements-open,#share-open){border:0;background:none;box-shadow:none;padding:0;font-size:21px;font-weight:750;height:48px;display:flex;align-items:center;gap:10px;flex:none}
#pixel-frontend #leaderboard-open:before{content:'';width:43px;height:46px;background-image:var(--px-atlas);background-position:-990px -9px}
#pixel-frontend #achievements-open:before{content:'';width:44px;height:46px;background-image:var(--px-atlas);background-position:-1124px -8px}
#pixel-frontend #achievement-count{font-size:12px;font-weight:500}
#pixel-frontend .pixel-settings{position:relative;margin-right:143px;flex:none;z-index:20}
#pixel-frontend .pixel-settings>summary{border-left:2px dashed #ee8bc6;display:flex;align-items:center;gap:10px;padding-left:16px;font-weight:750;font-size:21px;height:48px;list-style:none}
#pixel-frontend summary::-webkit-details-marker{display:none}
#pixel-frontend .pixel-drawer-content{padding:12px;background:#fff9fd;border:1.5px solid var(--px-ink);border-radius:6px;color:var(--px-ink);font-size:16px}
#pixel-frontend .pixel-settings>.pixel-drawer-content{position:absolute;right:0;top:56px;width:330px;box-shadow:5px 5px #e9acd0;display:grid;gap:7px}
#pixel-frontend .pixel-settings:not([open])>.pixel-drawer-content{display:none}
#pixel-frontend .pixel-settings a{font-size:15px;color:#375da2}
#pixel-frontend .pixel-settings #saved{font-size:14px}
#pixel-frontend .pixel-notices:empty{display:none}
#pixel-frontend .pixel-notices>:not([hidden]){display:block;max-width:none;margin:8px 11px;padding:10px 14px;border:2px solid #d23c7e;background:#fff5d8;border-radius:6px;font-size:16px;color:#482c42}
#pixel-frontend .pixel-notices #scene-resume{width:calc(100% - 22px);background:#fff0f7;text-align:left}
#pixel-frontend .pixel-dashboard{display:grid;grid-template-columns:315px 720px 460px;grid-template-rows:minmax(654px,auto) minmax(263px,auto);gap:11px 10px;padding:10px 10px 0 11px;align-items:stretch}
#pixel-frontend .pixel-panel{border:2px solid var(--px-ink);border-radius:7px;min-width:0;background:linear-gradient(120deg,#fffefa,#fff 38%,#fdfefe);box-shadow:0 0 0 1px #ffe5f2;position:relative}
#pixel-frontend .pixel-panel-title{height:44px;padding:0 11px;margin:0;border-bottom:1.5px solid #c68fbd;border-radius:4px 4px 0 0;background:linear-gradient(105deg,#fff1f9,#fad3e8 80%,#ffe8f4);font-size:28px;line-height:1;font-weight:800;display:flex;align-items:center;gap:12px;white-space:nowrap;letter-spacing:1px;color:var(--px-ink)}
#pixel-frontend .pixel-character-panel{grid-column:1;grid-row:1}
#pixel-frontend .pixel-market-panel{grid-column:2;grid-row:1}
#pixel-frontend .pixel-news-panel{grid-column:1/3;grid-row:2;width:462px}
#pixel-frontend .pixel-comments-panel{grid-column:2;grid-row:2;width:574px;margin-left:146px;overflow:hidden}
#pixel-frontend .pixel-trading-panel{grid-column:3;grid-row:1/3;align-self:start;min-height:928px}
#pixel-frontend :is(.pixel-news-panel,.pixel-comments-panel)>.pixel-panel-title{height:37px;font-size:24px;gap:9px}
#pixel-frontend .pixel-character-body{padding:10px 8px 11px}
#pixel-frontend #character-card{display:flex;flex-direction:column;gap:0;margin:0;padding:0;border:0;background:none;box-shadow:none;overflow:visible;max-width:none;min-width:0}
#pixel-frontend #character-card>.portrait{order:0;position:relative;width:294px;height:285px;min-height:0;margin:0;border:1px solid #684063;border-radius:6px;background-image:var(--px-atlas);background-size:1536px 1024px;background-position:-21px -136px;background-repeat:no-repeat;overflow:hidden;transform:none}
#pixel-frontend #portrait{width:100%;height:100%;object-fit:cover;object-position:center;margin:0;max-height:none;max-width:none;filter:none;transform:none}
#pixel-frontend[data-pixel-mood="平静"] #portrait{visibility:hidden}
#pixel-frontend .pixel-character-name{order:1;margin:1px 0;font-size:26px;line-height:36px;font-weight:800;letter-spacing:2px;text-align:center}
#pixel-frontend #character-card>.sanity-label{order:2;display:flex;align-items:center;justify-content:space-between;gap:4px;margin:0;padding:0 5px;font-size:22px;line-height:31px;color:var(--px-ink)}
#pixel-frontend #sanity-text{font-size:26px;color:var(--px-ink);letter-spacing:-1px;white-space:nowrap}
#pixel-frontend .sanity-label .help-dot{height:20px;width:20px;min-width:20px;padding:0;font-size:12px;background:#fff3f9;color:#a45389;border-color:#bd83b0;vertical-align:middle}
#pixel-frontend #character-card>.sanity-meter{order:3;height:19px;margin:3px 5px 11px;border:2px solid var(--px-ink);border-radius:20px;background:#fff;overflow:hidden;flex:none}
#pixel-frontend #sanity-fill{display:block;height:100%;border-radius:16px;background:linear-gradient(#97fff0,#44efd6);box-shadow:inset 0 2px #d6fff8}
#pixel-frontend .character-heading{order:4;display:flex;align-items:center;justify-content:space-between;gap:10px;height:53px;margin:0 0 12px;border:1px solid #b667af;border-radius:8px;padding:3px 14px;background:#fff;font-size:23px;font-weight:700;line-height:1;color:var(--px-ink);flex-wrap:nowrap}
#pixel-frontend .character-heading>span:first-child{font-size:0}
#pixel-frontend .character-heading>span:first-child:after{content:'当前状态';font-size:22px;white-space:nowrap}
#pixel-frontend #emotion-label{display:flex;align-items:center;justify-content:center;gap:12px;background:#7ef8e5;width:137px;min-width:0;height:41px;border:0;border-radius:7px;padding:0 7px;font-size:23px;line-height:1;color:var(--px-ink);white-space:nowrap}
#pixel-frontend #emotion-label:before{content:'☻';font-size:32px;font-weight:500}
#pixel-frontend .emotion-overview{position:absolute;left:12px;right:12px;bottom:4px;height:3px;opacity:.5;margin:0;gap:2px}
#pixel-frontend .emotion-overview .emotion-chip{height:3px;padding:0;border:0}
#pixel-frontend .pixel-life-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;position:relative}
#pixel-frontend .pixel-life-actions>.pixel-drawer>summary,#pixel-frontend .pixel-voice-button,#pixel-frontend .pixel-life-button{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #8e4c97;border-radius:7px;height:60px;font-size:25px;line-height:1;font-weight:750;background:linear-gradient(130deg,#fff5fb,#fff);padding:0 6px;list-style:none;position:relative}
#pixel-frontend .pixel-life-actions>.pixel-drawer>summary:after{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-top:9px solid var(--px-ink);margin-left:3px}
#pixel-frontend .pixel-life-actions>.pixel-comic>summary,#pixel-frontend .pixel-voice-button{height:65px}
#pixel-frontend .pixel-life-actions>.pixel-comic>summary:after{display:none}
#pixel-frontend .pixel-life-actions>.pixel-drawer>.pixel-drawer-content{position:absolute;left:0;right:0;top:68px;z-index:25;box-shadow:4px 4px #ecc0dd;max-height:460px;overflow:auto}
#pixel-frontend .pixel-life-actions>.pixel-comic>.pixel-drawer-content{top:137px}
#pixel-frontend .pixel-life-actions>.pixel-drawer:not([open])>.pixel-drawer-content{display:none}
#pixel-frontend .pixel-voice-button{font-size:0;min-width:0}
#pixel-frontend .pixel-voice-button:before{content:'';width:45px;height:49px;background-image:var(--px-atlas);background-position:-184px -663px}
#pixel-frontend .pixel-voice-button:after{content:'原声';font-size:25px}
#pixel-frontend .pixel-conversation{margin-top:9px;font-size:12px;color:#82657a}
#pixel-frontend .pixel-conversation>summary{font-size:12px;min-height:20px;line-height:20px}
#pixel-frontend .pixel-conversation[open]>.pixel-drawer-content{margin-top:5px;position:relative;z-index:15}
#pixel-frontend .pixel-conversation .speech{margin:0;padding:8px;font-size:17px;border:0;background:none;transform:none;min-height:0}
#pixel-frontend .pixel-conversation .speech:before,#pixel-frontend .pixel-conversation .speech:after{display:none}
#pixel-frontend .pixel-drawer .page-heading{display:block;margin:0;padding:0;border:0;color:var(--px-ink)}
#pixel-frontend .pixel-drawer .page-heading h1{font-size:24px}
#pixel-frontend .pixel-drawer .page-heading .eyebrow{display:none}
#pixel-frontend .pixel-drawer .page-heading .mission{display:flex;flex-direction:column;gap:6px;margin:8px 0;align-items:start}
#pixel-frontend .pixel-drawer .inventory{border:0;padding:0;margin:0;background:none}
#pixel-frontend .pixel-drawer :is(.lower-heading h2,.story-library-actions button){font-size:19px}
#pixel-frontend .pixel-drawer .tool-row:not(.inventory-view){display:flex;flex-direction:column;gap:8px}
#pixel-frontend .pixel-drawer #tool-list>button{white-space:normal;text-align:left}
#pixel-frontend #terminal{display:flex;flex-direction:column;padding:11px 11px 0;border:0;background:none;color:var(--px-ink);border-radius:0;box-shadow:none;min-width:0;overflow:visible;gap:0}
#pixel-frontend .pixel-currency-tabs{order:0;display:flex;gap:0;margin:0 0 12px;align-items:stretch}
#pixel-frontend .pixel-currency-button{height:47px;min-width:116px;padding:0 19px;font-size:21px;margin-right:-1px;letter-spacing:-.3px}
#pixel-frontend .pixel-currency-button[aria-pressed=true]{font-weight:750}
#pixel-frontend #terminal>.terminal-head{order:3;min-height:20px;display:flex;justify-content:flex-end;gap:8px;padding:0;margin:0;border:0;font-size:12px;color:#6e678d}
#pixel-frontend #terminal>.terminal-head .pair{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#pixel-frontend #terminal>.terminal-head #market-phase{padding:0;border:0;border-radius:0;font-size:12px;background:none;line-height:20px;max-width:100%;overflow-wrap:anywhere}
#pixel-frontend #terminal>.candle-view-controls{order:1;display:flex;align-items:stretch;gap:5px;margin:0;padding:0 0 11px;border-bottom:1.5px solid #d9b3d1;border-top:0;flex-wrap:nowrap;background:none;position:relative;color:var(--px-ink)}
#pixel-frontend .candle-view-controls>button{height:46px;min-height:46px;font-size:18px;padding:0 8px;background:#fff;color:var(--px-ink);border:1.5px solid var(--px-ink);font-weight:550}
#pixel-frontend .candle-view-controls #quote-package-open{order:0;width:104px;flex:none;margin-right:5px;border-style:solid;font-size:19px;background:#fff;color:var(--px-ink)}
#pixel-frontend #quote-refresh-options{order:1;max-width:none;min-width:0;width:326px;flex:1 1 326px;gap:4px}
#pixel-frontend .quote-refresh-choice{min-width:0!important;min-height:46px!important;height:46px;border:1.5px solid var(--px-ink)!important;background:#fff!important;color:var(--px-ink)!important;display:flex;gap:2px;align-items:center;justify-content:center;padding:2px 5px!important;flex:1 1 0}
#pixel-frontend .quote-refresh-choice[aria-pressed=true]{background:linear-gradient(115deg,#ffc4e5,#ffb6dd)!important}
#pixel-frontend .quote-refresh-choice strong{font-size:16px;line-height:20px}
#pixel-frontend .quote-refresh-choice small{font-size:10px;color:#72608a;line-height:11px;opacity:1}
#pixel-frontend .candle-view-controls>button:nth-of-type(2){order:4}
#pixel-frontend .candle-view-controls>button:nth-of-type(3){order:2}
#pixel-frontend .candle-view-controls>button:nth-of-type(4){order:3}
#pixel-frontend .candle-view-controls .candle-history{position:absolute;right:0;bottom:-28px;z-index:4;width:160px;padding:0;margin:0;font-size:11px;background:#fff;display:flex;gap:5px;align-items:center}
#pixel-frontend .candle-history input{width:110px}
#pixel-frontend #trading-clock-label{order:2;font-size:20px;line-height:28px;margin:6px 4px 0;color:var(--px-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
#pixel-frontend #historical-status{order:3;color:#8a6a8c;background:#fff8f4;border:1px solid #e8bad5;font-size:13px;padding:4px 8px;margin:3px 0}
#pixel-frontend .chart-risk-stage{order:4;width:100%;min-width:0;margin:0;padding:0}
#pixel-frontend #chart{width:100%;height:365px!important;min-height:0;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#fff;overflow:hidden}
#pixel-frontend #chart svg{display:block;width:100%;height:100%;background:linear-gradient(#fff,#fdfefe)}
#pixel-frontend #chart svg>text{fill:#1632d9;font-family:'Noto Sans CJK SC',sans-serif;font-size:14px}
#pixel-frontend #chart svg>line{stroke:#e2e7ec;stroke-dasharray:none}
#pixel-frontend #chart svg>line[clip-path]{stroke:#ff36ca;stroke-dasharray:6 4}
#pixel-frontend #chart svg>rect{fill:#ff53ab}
#pixel-frontend #chart svg>rect+text{fill:#130b4e;font-weight:650}
#pixel-frontend .pixel-market-extras{margin:8px 14px 8px;font-size:12px;color:#786b8d}
#pixel-frontend .pixel-market-extras>summary{line-height:20px;font-size:12px}
#pixel-frontend .pixel-market-extras>.pixel-drawer-content{margin-top:5px}
#pixel-frontend .pixel-market-extras .chart-controls{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;padding:0;border:0}
#pixel-frontend .pixel-market-extras .ma-legend{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
#pixel-frontend .pixel-market-extras .market-price{padding:0;margin:0;display:flex;gap:10px;align-items:center;color:var(--px-ink)}
#pixel-frontend .pixel-market-extras #price{font-size:25px;color:var(--px-ink)}
#pixel-frontend .pixel-market-extras :is(.market-price b,.quote-unit,.chart-foot){font-size:13px;color:#736080}
#pixel-frontend .pixel-market-extras button{font-size:15px}
#pixel-frontend #news{margin:0;padding:10px 14px;border:0;background:none;box-shadow:none;color:var(--px-ink);min-height:0}
#pixel-frontend .news-meta{display:flex;gap:10px;font-size:14px;color:#495daa;align-items:center;flex-wrap:wrap}
#pixel-frontend #news-time{margin-left:auto;font-size:15px;color:#2140e1}
#pixel-frontend #news-title{font-size:21px;line-height:1.5;margin:12px 0 8px;font-weight:650;color:var(--px-ink);letter-spacing:0}
#pixel-frontend #news-copy{font-size:17px;line-height:1.65;margin:0;color:#303665;max-height:113px;overflow:auto}
#pixel-frontend #news-archive-details{font-size:12px;margin-top:7px}
#pixel-frontend .investor-comments{margin:0;padding:0 0 4px;border:0;background:#fffafd;border-radius:0;overflow:hidden}
#pixel-frontend .investor-comments-heading{height:20px;display:flex;align-items:center;gap:5px;margin:0;padding:0 10px;color:#8d718b;font-size:10px}
#pixel-frontend .investor-comments-heading h2{display:none}
#pixel-frontend .investor-comments-heading span{font-size:10px}
#pixel-frontend #comment-credits-open{margin-left:auto;padding:0;border:0;box-shadow:none;background:none;font-size:10px;color:#766184}
#pixel-frontend #investor-danmaku{height:139px;background:repeating-linear-gradient(180deg,#fffdfd 0,#fff4f9 44px,#edcfe1 45px,#fffdfd 46px);margin:0;padding:0;border:0}
#pixel-frontend #investor-danmaku .investor-danmaku-line{top:calc(var(--comment-lane) * 44px);height:42px;font-size:17px;line-height:42px;color:#1740ef;font-weight:500;display:flex;align-items:center;padding:0;letter-spacing:0}
#pixel-frontend #investor-danmaku .investor-danmaku-line:before{content:'';width:41px;height:43px;flex:none;margin-right:9px;background-image:var(--px-atlas);background-position:-487px -792px}
#pixel-frontend #investor-danmaku .investor-danmaku-line:nth-child(2n){color:#f51898}
#pixel-frontend #investor-danmaku .investor-danmaku-line:nth-child(3n+2):before{background-position:-816px -792px}
#pixel-frontend #investor-danmaku .investor-danmaku-line:nth-child(3n):before{background-position:-519px -845px}
#pixel-frontend #investor-danmaku[data-reduced=true]{height:139px;overflow:auto}
#pixel-frontend #investor-danmaku[data-reduced=true] .investor-danmaku-line{position:static;height:auto;min-height:42px;line-height:1.5;white-space:normal;font-size:15px}
#pixel-frontend #player-comments{border:0;margin:0;padding:0 12px 0}
#pixel-frontend #player-comments>h3{display:none}
#pixel-frontend #player-comments form{display:flex;gap:5px;height:46px;margin:0}
#pixel-frontend #player-comment-text{width:100%;min-width:0;flex:1;resize:none;max-height:46px;height:46px;min-height:0;border:1.5px solid var(--px-ink);border-radius:6px;padding:8px 12px;background:#fff;font-size:17px;line-height:27px;color:var(--px-ink)}
#pixel-frontend #player-comments form button{width:101px;flex:none;font-size:19px;font-weight:750;background:linear-gradient(#ffa0d6,#ff45aa);padding:0 5px}
#pixel-frontend #player-comments>p{margin:3px 0;font-size:10px;line-height:14px;color:#886e86}
#pixel-frontend .pixel-recent-comments{font-size:10px;color:#886e86;margin-top:1px;line-height:15px}
#pixel-frontend .pixel-recent-comments>summary{font-size:10px;min-height:15px;line-height:15px}
#pixel-frontend .pixel-recent-comments .player-comment-list{font-size:14px;max-height:130px;margin:0}
#pixel-frontend .trade-card{border:0;background:none;box-shadow:none;margin:0;padding:0;color:var(--px-ink);border-radius:0;max-width:none;min-width:0}
#pixel-frontend .pixel-account-summary{height:75px;border-bottom:1.5px solid #c693c2;display:grid;grid-template-columns:1.08fr 1fr;padding:10px 11px 8px;align-items:center;gap:7px}
#pixel-frontend .account-heading{margin:0;padding:0 0 0 53px;border:0;position:relative;display:flex;flex-direction:column;gap:0;min-width:0}
#pixel-frontend .account-heading:before{content:'';position:absolute;left:7px;top:4px;width:42px;height:43px;background-image:var(--px-atlas);background-position:-1088px -137px}
#pixel-frontend .account-heading>span{font-size:0;line-height:22px;display:flex;align-items:center;color:var(--px-ink)}
#pixel-frontend .account-heading>span:before{content:'总资产';font-size:18px;font-weight:650}
#pixel-frontend .account-heading .help-dot{height:16px;min-height:16px;min-width:16px;width:16px;font-size:10px;padding:0;margin-left:5px;border-color:#b894b4;color:#987394;background:none}
#pixel-frontend #equity{font-size:29px;line-height:32px;font-weight:900;letter-spacing:-1.5px;color:var(--px-ink);white-space:nowrap;font-variant-numeric:tabular-nums;overflow:visible}
#pixel-frontend .pixel-account-summary>.account-row{margin:0;min-width:0;padding:0 0 0 52px;height:49px;position:relative;border-left:2px solid #ce9cd0;border-top:0;border-bottom:0;display:flex;flex-direction:column;align-items:flex-start;gap:0;font-size:17px}
#pixel-frontend .pixel-account-summary>.account-row:before{content:'';position:absolute;left:9px;top:2px;width:40px;height:45px;background-image:var(--px-atlas);background-position:-1327px -139px}
#pixel-frontend #pnl-period{font-size:16px;line-height:22px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:var(--px-ink)}
#pixel-frontend .daily-return-values{display:flex;gap:4px;align-items:baseline;flex-direction:row;max-width:100%;min-width:0}
#pixel-frontend #day-pnl{font-size:27px;line-height:30px;font-weight:850;letter-spacing:-1.5px;white-space:nowrap}
#pixel-frontend #day-return{display:none}
#pixel-frontend #order-empty{display:flex;flex-direction:column;padding:9px 8px 0;margin:0;gap:0;border:0}
#pixel-frontend #order-empty>.ticket-title{display:none}
#pixel-frontend .investment-controls{display:contents}
#pixel-frontend #amount-field{order:0;height:166px;display:flex;flex-direction:column;border:1px solid #c088c1;border-radius:8px;padding:0 11px 5px;margin:0;background:#fff;gap:0;position:relative}
#pixel-frontend .amount-heading{order:0;height:34px;display:flex;align-items:center;gap:4px;margin:0;padding:0;line-height:1;flex:none}
#pixel-frontend .amount-heading label{font-size:21px;line-height:32px;display:flex;align-items:center;gap:2px;font-weight:650;white-space:nowrap;margin:0;color:var(--px-ink)}
#pixel-frontend .amount-heading label:before{content:'';width:30px;height:32px;background-image:var(--px-atlas);background-position:-1088px -211px}
#pixel-frontend #amount-random{font-size:12px;min-height:0;height:24px;padding:0 4px;margin-left:auto;border-color:#c795bd;background:#fff8fc}
#pixel-frontend #order-amount{order:1;width:100%;height:45px;min-height:45px;margin:0;padding:0 12px 0 72px;border:1.5px solid var(--px-ink);border-radius:6px;background:#fff;font-size:30px;font-weight:850;line-height:43px;letter-spacing:-1px;color:var(--px-ink);box-shadow:none;flex:none}
#pixel-frontend #amount-field:after{content:'¥';position:absolute;left:12px;top:34px;height:45px;width:61px;display:flex;align-items:center;justify-content:center;border-right:1.5px solid var(--px-ink);font-size:29px;font-weight:850;pointer-events:none}
#pixel-frontend .amount-presets{order:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:35px 35px;gap:4px;margin:4px 0 0}
#pixel-frontend .amount-presets button{font-size:19px;line-height:1;padding:0 2px;min-height:0;white-space:nowrap;min-width:0}
#pixel-frontend #order-empty fieldset{margin:0;border:1px solid #c18bbf;border-radius:8px;padding:4px 4px 4px 96px;min-width:0;height:48px;position:relative;display:flex;align-items:stretch;gap:4px;flex-wrap:nowrap;background:#fff}
#pixel-frontend #order-empty fieldset>legend{display:block;position:absolute;left:11px;top:11px;font-size:22px;font-weight:700;line-height:25px;padding:0;margin:0;color:var(--px-ink);width:82px}
#pixel-frontend #order-empty fieldset>legend :is(output,.help-dot){display:none}
#pixel-frontend #percent-field{order:1!important;height:44px!important}
#pixel-frontend #percent-field>legend{font-size:0!important;top:9px!important}
#pixel-frontend #percent-field>legend:before{content:'可用资金';font-size:20px;font-weight:700}
#pixel-frontend #order-empty>fieldset:has(#leverages){order:2}
#pixel-frontend #order-empty>fieldset:has(#leverages)>legend{font-size:22px;padding-left:31px;width:88px;left:7px}
#pixel-frontend #order-empty>fieldset:has(#leverages)>legend:before{content:'';position:absolute;left:0;top:-5px;width:35px;height:35px;background-image:var(--px-atlas);background-position:-1083px -424px}
#pixel-frontend #order-empty>fieldset:has(#stops){order:3;height:49px}
#pixel-frontend #order-empty>fieldset:has(#stops)>legend{font-size:22px;padding-left:35px;width:88px;left:7px}
#pixel-frontend #order-empty>fieldset:has(#stops)>legend:before{content:'';position:absolute;left:1px;top:-6px;width:34px;height:38px;background-image:var(--px-atlas);background-position:-1084px -473px}
#pixel-frontend #order-empty .segments{display:contents}
#pixel-frontend #order-empty fieldset button{flex:1;min-width:0;min-height:0;margin:0;padding:0 3px;font-size:19px;line-height:1;border:1.5px solid var(--px-ink);background:#fff;color:var(--px-ink);white-space:nowrap}
#pixel-frontend #order-empty fieldset button[aria-pressed=true]{background:linear-gradient(115deg,#ffc8e5,#ffadd8)}
/* Keep real labels in normal flow: pressure effects own the button pseudo-elements.
   Only the legacy-only detail is hidden; legacy copy and control nodes stay intact. */
#pixel-frontend #order-empty .pixel-control-detail{display:none}
#pixel-frontend #order-empty button[data-leverage]:has(.pressure-count:not([hidden])){padding-bottom:16px}
#pixel-frontend #order-empty [data-stop-pips="none"]{order:-1}
#pixel-frontend #order-empty .entry-actions{order:4;height:73px;display:flex;gap:10px;margin:0;padding:5px 0 0}
#pixel-frontend .entry-actions button{height:65px;flex:1;min-height:0;font-size:36px;font-weight:900;border:2px solid var(--px-ink);border-radius:7px;display:flex;align-items:center;justify-content:center;gap:14px;box-shadow:inset 0 0 10px #ffffff44;line-height:1;padding:0;color:#fff;background:linear-gradient(120deg,#ff248f,#ff51a6 72%,#ff3299)}
#pixel-frontend .entry-actions #long:before{content:'⬆';font-size:45px;color:#b70559;text-shadow:0 1px #ff8acb}
#pixel-frontend .entry-actions #short{color:var(--px-ink);background:linear-gradient(125deg,#5affe0,#3de5d7 70%,#78ffe8)}
#pixel-frontend .entry-actions #short:before{content:'⬇';font-size:45px;color:#00717d}
#pixel-frontend .entry-actions button span{font:inherit;color:inherit;line-height:1}
#pixel-frontend .pixel-fee-summary{font-size:11px;color:#846a82;line-height:16px;margin:0 10px 0;text-align:center;white-space:nowrap}
#pixel-frontend .pixel-fee-summary b{font-size:11px;font-weight:600;color:inherit}
#pixel-frontend :is(#amount-limit,#emotion-order-rule,#order-validation,#last-trade){display:block;font-size:11px;line-height:16px;margin:2px 11px 0;padding:0;color:#8a6080;white-space:normal;overflow-wrap:anywhere;min-height:0}
#pixel-frontend #last-trade:empty{display:none}
#pixel-frontend #order-validation.invalid{border:1px solid #e17faa;padding:5px;color:#b40052;background:#fff1f6}
#pixel-frontend .pixel-positions-slot{margin:5px 7px 0}
#pixel-frontend #position-card{padding:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--px-ink)}
#pixel-frontend .position-title{height:45px;display:flex;align-items:center;gap:7px;padding:0 9px;margin:0;border:1.5px solid var(--px-ink);border-radius:5px;background:linear-gradient(110deg,#fff0f8,#ffd0e8);color:var(--px-ink)}
#pixel-frontend .position-title>span{font-size:0}
#pixel-frontend .position-title>span:before{content:'';display:inline-block;width:35px;height:32px;background-image:var(--px-atlas);background-position:-1082px -601px;vertical-align:middle;margin-right:8px}
#pixel-frontend .position-title>span:after{content:'我的持仓';font-size:25px;font-weight:800;vertical-align:middle;line-height:1}
#pixel-frontend #position-close-all{margin-left:auto;height:35px;min-height:0;color:#fff;background:linear-gradient(#ff72bd,#ff349d);font-size:22px;font-weight:700;padding:0 16px;border:1px solid #933b74;border-radius:6px;line-height:1}
#pixel-frontend #position-count{font-size:12px;display:none}
#pixel-frontend .position-pnl{font-size:11px;line-height:19px;padding:0 9px;margin:0;display:flex;justify-content:space-between;gap:8px;color:#7b6a90}
#pixel-frontend .position-pnl #floating{font-size:12px;font-weight:600}
#pixel-frontend #position-empty{padding:32px 10px;margin:0;text-align:center;font-size:18px;color:#9b7695}
#pixel-frontend .position-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0}
#pixel-frontend .order-row{border:1px solid #be78b6;border-radius:8px;background:#fff;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 82px;grid-template-rows:41px 60px;position:relative;min-height:103px;overflow:hidden;gap:0;color:var(--px-ink)}
#pixel-frontend .order-row-head{grid-column:1/-1;grid-row:1;display:flex;gap:8px;align-items:center;height:41px;padding:0 10px;border-bottom:1px solid #dec3dc;margin:0;font-size:20px;line-height:1}
#pixel-frontend [data-order-title]{font-size:20px;font-weight:700;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:1;min-width:0;letter-spacing:-.5px}
#pixel-frontend [data-order-leverage]{font-size:16px;color:#fa2a92;background:#ffe4f3;padding:4px 7px;border-radius:4px;font-weight:650}
#pixel-frontend [data-position-detail]{width:24px;height:24px;min-height:0;min-width:24px;border:1px solid #d391ba;padding:0;background:#fff6fb;color:#a45689;font-size:14px}
#pixel-frontend .order-pixel-data{grid-row:2;padding:6px 1px;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;border-right:1px solid #d9d4e4;font-size:16px;line-height:22px}
#pixel-frontend .order-pixel-data>span{font-size:16px;color:#59659b;line-height:22px;white-space:nowrap}
#pixel-frontend .order-pixel-data>b{font-size:20px;font-weight:600;line-height:23px;color:var(--px-ink);white-space:nowrap;letter-spacing:-.5px}
#pixel-frontend .order-pixel-data:has([data-order-field="entry"]){grid-column:1}
#pixel-frontend .order-pixel-data:has([data-order-field="current"]){grid-column:2}
#pixel-frontend .order-pixel-data:has([data-order-field="quantity"]){grid-column:3}
#pixel-frontend .order-row-data:not(.order-live-pnl):not(.order-pixel-data){display:none}
#pixel-frontend .order-live-pnl{grid-column:4;grid-row:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 0;margin:0;min-width:0;font-size:16px;line-height:22px}
#pixel-frontend .order-live-pnl>span{font-size:16px;color:#59659b;line-height:22px;white-space:nowrap}
#pixel-frontend .order-live-pnl>b{font-size:19px;line-height:23px;font-weight:650;letter-spacing:-.8px;white-space:nowrap}
#pixel-frontend .order-row-actions{grid-column:5;grid-row:2;display:flex;justify-content:center;align-items:center;padding:0 5px;margin:0}
#pixel-frontend .order-row-actions [data-position-action="half"]{display:none}
#pixel-frontend .order-row-actions [data-position-action="close"]{font-size:0;width:76px;height:50px;min-height:50px;background:linear-gradient(#ffa0d8,#ff74c5);border:1.5px solid var(--px-ink);border-radius:6px;padding:0}
#pixel-frontend .order-row-actions [data-position-action="close"]:after{content:'平仓';font-size:22px;font-weight:700;color:var(--px-ink)}
#pixel-frontend .order-row>.stop-progress{position:absolute;bottom:0;left:2px;right:2px;height:3px;margin:0;border:0;opacity:.4}
#pixel-frontend .hold-actions{display:flex;gap:7px;padding:8px 0 0;margin:0}
#pixel-frontend .hold-actions button{font-size:12px;padding:5px 8px;color:#8d6182;border-color:#c492b9;background:#fff8fc}
#pixel-frontend .hold-actions #close{display:none}
#pixel-frontend .pixel-financial-details{margin:8px 10px;color:#826a87;font-size:12px;line-height:21px}
#pixel-frontend .pixel-financial-details>.pixel-drawer-content{margin-top:5px}
#pixel-frontend .pixel-financial-details .account-row{display:flex;justify-content:space-between;gap:8px;font-size:15px;padding:5px 0;margin:0;color:var(--px-ink);border-bottom:1px solid #efd8e7}
#pixel-frontend .pixel-financial-details :is(.order-estimate,.liquidation-estimate,.risk-line){margin:8px 0;padding:8px;background:#fff;border:1px solid #e7bfdc;font-size:14px;border-radius:5px}
#pixel-frontend .pixel-financial-details .order-estimate>div{display:flex;justify-content:space-between;gap:8px;padding:3px 0}
#pixel-frontend .pixel-financial-details :is(.primary-estimate b,.risk-line b){font-size:17px;color:var(--px-ink)}
#pixel-frontend .pixel-financial-details .margin-health{padding:5px 0;margin:0;border:0;background:none}
#pixel-frontend .pixel-financial-details #amount-slider{width:100%;display:block}
#pixel-frontend .pixel-financial-details .emotion-pressure-panel{padding:9px;border:1px solid #dd80b4;background:#fff0f7}
#pixel-frontend .pixel-financial-details .emotion-pressure-panel p{font-size:13px;line-height:1.5}
#pixel-frontend .pixel-financial-details .amount-slider-heading,#pixel-frontend .pixel-financial-details .amount-slider-bounds{display:flex;justify-content:space-between;font-size:12px;margin:5px 0}
#pixel-frontend #settle-day{display:block;width:calc(100% - 20px);margin:8px 10px;padding:10px;font-size:18px;background:#ffb9de}
#pixel-frontend .pixel-footer-slot>footer{display:flex;flex-wrap:wrap;gap:8px;margin:8px 12px 0;padding:4px 0;border:0;min-height:0;color:#977b90;font-size:11px;line-height:17px;background:none}
#pixel-frontend .pixel-footer-slot #market-disclosure{font-size:11px;line-height:17px}
body[data-frontend="pixel"] #frontend-switch{background:#fff6fc;border-color:#c078ab;color:#502553;box-shadow:0 2px 8px #65204622;z-index:60}
@media(max-width:1200px){
 #pixel-frontend{width:100%;min-height:100vh;zoom:1!important;font-size:15px;padding-bottom:15px}
 #pixel-frontend .pixel-header-slot{height:auto;min-height:67px}
 #pixel-frontend .pixel-header-slot:after{display:none}
 #pixel-frontend .topbar{height:auto;min-height:67px;padding:10px;gap:7px;flex-wrap:wrap}
 #pixel-frontend .brand{font-size:30px;letter-spacing:-.8px;flex:1}
 #pixel-frontend .brand:after{transform:scale(.67);margin:-8px -6px -8px 0}
 #pixel-frontend .top-right{width:100%;gap:10px;flex-wrap:wrap;flex:1 1 100%;justify-content:flex-start;position:static}
 #pixel-frontend #mode-open{position:absolute;right:10px;top:8px;width:114px;height:46px;border-radius:5px}
 #pixel-frontend #mode-open:before{transform:scale(.7);left:2px;top:0}
 #pixel-frontend #mode-open:after{font-size:15px;line-height:19px;padding-left:31px}
 #pixel-frontend .pixel-source-status{font-size:12px;min-width:0;border:0;flex:1;padding:0;height:29px;white-space:normal}
 #pixel-frontend .pixel-source-status:before{font-size:21px;margin-right:4px}
 #pixel-frontend :is(#leaderboard-open,#achievements-open,#share-open){height:29px;font-size:14px;gap:1px}
 #pixel-frontend :is(#leaderboard-open,#achievements-open,#share-open):before{transform:scale(.61);margin:-9px}
 #pixel-frontend #achievement-count{display:none}
 #pixel-frontend .pixel-settings{margin:0}
 #pixel-frontend .pixel-settings>summary{padding:0;border:0;font-size:14px;gap:0;height:30px}
 #pixel-frontend .pixel-settings>summary .pixel-sprite{transform:scale(.62);margin:-8px}
 #pixel-frontend .pixel-settings>.pixel-drawer-content{right:-2px;top:34px;width:min(310px,88vw)}
 #pixel-frontend .pixel-dashboard{display:flex;flex-direction:column;gap:10px;padding:9px}
 #pixel-frontend .pixel-panel{width:100%;margin:0;min-height:0}
 #pixel-frontend .pixel-panel-title{height:40px;font-size:23px;gap:8px;padding:0 9px}
 #pixel-frontend .pixel-character-panel{order:0}
 #pixel-frontend .pixel-market-panel{order:1}
 #pixel-frontend .pixel-trading-panel{order:2}
 #pixel-frontend .pixel-news-panel{order:3}
 #pixel-frontend .pixel-comments-panel{order:4}
 #pixel-frontend .pixel-character-body{padding:9px}
 #pixel-frontend #character-card{display:grid;grid-template-columns:125px minmax(0,1fr);grid-template-rows:30px 32px 19px 40px;gap:0 10px}
 #pixel-frontend #character-card>.portrait{grid-column:1;grid-row:1/5;width:125px;height:122px;margin:0;background-size:652.8px 435.2px;background-position:-8.925px -57.8px;order:0}
 #pixel-frontend .pixel-character-name{grid-column:2;grid-row:1;text-align:left;line-height:27px;font-size:22px;margin:0;order:1}
 #pixel-frontend #character-card>.sanity-label{grid-column:2;grid-row:2;font-size:15px;padding:0;line-height:25px;order:2;gap:2px}
 #pixel-frontend #sanity-text{font-size:20px;letter-spacing:-.7px}
 #pixel-frontend .sanity-label .help-dot{display:none}
 #pixel-frontend #character-card>.sanity-meter{grid-column:2;grid-row:3;height:13px;margin:2px 0 0;order:3}
 #pixel-frontend .character-heading{grid-column:2;grid-row:4;padding:2px 6px;height:36px;margin:0;gap:2px;order:4}
 #pixel-frontend .character-heading>span:first-child:after{font-size:14px}
 #pixel-frontend #emotion-label{font-size:15px;width:88px;min-width:0;height:29px;gap:6px;padding:0 4px}
 #pixel-frontend #emotion-label:before{font-size:24px}
 #pixel-frontend .pixel-life-actions{display:flex;gap:5px;margin-top:9px}
 #pixel-frontend .pixel-life-actions>*{flex:1;min-width:0}
 #pixel-frontend .pixel-life-actions>.pixel-drawer>summary,#pixel-frontend .pixel-voice-button,#pixel-frontend .pixel-life-actions>.pixel-comic>summary{height:43px;font-size:16px;gap:2px;padding:0 3px}
 #pixel-frontend .pixel-life-actions .pixel-sprite,#pixel-frontend .pixel-voice-button:before{transform:scale(.64);margin:-7px}
 #pixel-frontend .pixel-voice-button{font-size:0}
 #pixel-frontend .pixel-voice-button:after{font-size:16px}
 #pixel-frontend .pixel-life-actions>.pixel-drawer>summary:after{border-width:5px 5px 0;border-top:7px solid var(--px-ink);margin-left:0}
 #pixel-frontend .pixel-life-actions>.pixel-drawer>.pixel-drawer-content,#pixel-frontend .pixel-life-actions>.pixel-comic>.pixel-drawer-content{top:51px}
 #pixel-frontend .pixel-conversation{margin-top:6px}
 #pixel-frontend #terminal{padding:9px 8px 0}
 #pixel-frontend .pixel-currency-tabs{margin-bottom:9px}
 #pixel-frontend .pixel-currency-button{height:42px;min-width:0;flex:1;font-size:17px;padding:0 6px}
 #pixel-frontend #terminal>.candle-view-controls{display:grid;grid-template-columns:80px repeat(3,minmax(0,1fr));gap:5px;padding-bottom:8px;flex-wrap:wrap}
 #pixel-frontend .candle-view-controls #quote-package-open{width:80px;height:42px;min-height:42px;margin:0;grid-column:1;grid-row:1;font-size:14px;padding:0 3px}
 #pixel-frontend #quote-refresh-options{grid-column:2/-1;grid-row:1;width:auto;min-width:0;max-width:none;gap:4px}
 #pixel-frontend .quote-refresh-choice{height:42px!important;min-height:42px!important;padding:2px 1px!important}
 #pixel-frontend .quote-refresh-choice strong{font-size:11px;line-height:16px;white-space:normal}
 #pixel-frontend .quote-refresh-choice small{font-size:9px;line-height:10px}
 #pixel-frontend .candle-view-controls>button:not(#quote-package-open){height:34px;min-height:34px;font-size:13px;padding:0 5px;grid-row:2}
 #pixel-frontend .candle-view-controls .candle-history{position:static;grid-column:1/-1;grid-row:3;width:100%;font-size:11px;height:20px;min-width:0;justify-content:flex-end}
 #pixel-frontend .candle-history input{width:70%;max-width:230px}
 #pixel-frontend #trading-clock-label{font-size:12px;line-height:20px;margin:5px 0 0;white-space:normal}
 #pixel-frontend #terminal>.terminal-head{font-size:10px;min-height:14px}
 #pixel-frontend #terminal>.terminal-head #market-phase{font-size:10px;line-height:14px}
 #pixel-frontend #chart{height:235px!important}
 #pixel-frontend #chart svg>text{font-size:11px}
 #pixel-frontend .pixel-market-extras{margin:3px 9px 8px}
 #pixel-frontend .pixel-account-summary{height:69px;padding:8px 7px;gap:3px;grid-template-columns:1.08fr 1fr}
 #pixel-frontend .account-heading{padding-left:37px}
 #pixel-frontend .account-heading:before{transform:scale(.78);left:-3px;top:0}
 #pixel-frontend .account-heading>span:before{font-size:14px}
 #pixel-frontend .account-heading .help-dot{display:none}
 #pixel-frontend #equity{font-size:23px;line-height:27px;letter-spacing:-1px}
 #pixel-frontend .pixel-account-summary>.account-row{padding-left:35px;height:45px}
 #pixel-frontend .pixel-account-summary>.account-row:before{transform:scale(.75);left:-4px;top:0}
 #pixel-frontend #pnl-period{font-size:12px;line-height:20px}
 #pixel-frontend #day-pnl{font-size:22px;line-height:27px;letter-spacing:-1px}
 #pixel-frontend #order-empty{padding:7px 7px 0}
 #pixel-frontend #amount-field{padding:0 8px 5px}
 #pixel-frontend .amount-heading label{font-size:18px}
 #pixel-frontend #order-amount{font-size:27px}
 #pixel-frontend #amount-field:after{left:9px}
 #pixel-frontend .amount-presets button{font-size:17px}
 #pixel-frontend #order-empty fieldset{padding-left:85px}
 #pixel-frontend #percent-field>legend:before{font-size:17px}
 #pixel-frontend #order-empty fieldset>legend{left:8px}
 #pixel-frontend #order-empty fieldset button{font-size:17px;padding:0 2px}
 #pixel-frontend #order-empty>fieldset:has(#leverages)>legend{font-size:19px}
 #pixel-frontend #order-empty .entry-actions{gap:8px;height:70px}
 #pixel-frontend .entry-actions button{font-size:30px;gap:10px;height:62px}
 #pixel-frontend .entry-actions #long:before,#pixel-frontend .entry-actions #short:before{font-size:39px}
 #pixel-frontend .position-title>span:after{font-size:22px}
 #pixel-frontend .position-title{padding:0 6px}
 #pixel-frontend #position-close-all{font-size:19px;padding:0 10px;height:34px}
 #pixel-frontend .order-row{grid-template-columns:repeat(4,minmax(0,1fr)) 64px}
 #pixel-frontend [data-order-title]{font-size:16px;letter-spacing:-.3px}
 #pixel-frontend [data-order-leverage]{font-size:13px;padding:4px}
 #pixel-frontend .order-row-head{padding:0 7px;gap:5px}
 #pixel-frontend .order-pixel-data>span,#pixel-frontend .order-live-pnl>span{font-size:12px}
 #pixel-frontend .order-pixel-data>b,#pixel-frontend .order-live-pnl>b{font-size:16px;letter-spacing:-.6px}
 #pixel-frontend .order-row-actions{padding:0 4px}
 #pixel-frontend .order-row-actions [data-position-action="close"]{width:57px;height:46px;min-height:46px}
 #pixel-frontend .order-row-actions [data-position-action="close"]:after{font-size:18px}
 #pixel-frontend .pixel-fee-summary{font-size:10px;line-height:15px}
 #pixel-frontend .pixel-fee-summary b{font-size:10px}
 #pixel-frontend .pixel-news-panel>.pixel-panel-title,#pixel-frontend .pixel-comments-panel>.pixel-panel-title{height:38px;font-size:22px}
 #pixel-frontend #news{padding:10px}
 #pixel-frontend #news-title{font-size:19px;margin:9px 0}
 #pixel-frontend #news-copy{font-size:15px;max-height:none}
 #pixel-frontend .news-meta,#pixel-frontend #news-time{font-size:12px}
 #pixel-frontend #player-comments{padding:0 8px 5px}
 #pixel-frontend #player-comment-text{font-size:14px;padding:8px}
 #pixel-frontend #player-comments form button{font-size:17px;width:87px}
 #pixel-frontend .pixel-notices>:not([hidden]){margin:7px 9px;font-size:14px;padding:8px}
 #pixel-frontend .pixel-notices #scene-resume{width:calc(100% - 18px)}
 body[data-frontend="pixel"] #frontend-switch{max-width:calc(100vw - 20px);font-size:11px}
}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) #pixel-frontend button{transition:none}body:not(.motion-full) #pixel-frontend .pixel-drawer-content{scroll-behavior:auto}}

/* All original secondary actions remain reachable without replacing their nodes. */
#pixel-frontend .pixel-financial-details #day-return{display:inline;font-size:15px;color:var(--px-ink)}
#pixel-frontend .pixel-original-detail output{font-size:15px;font-weight:700;color:var(--px-ink)}
#pixel-frontend .pixel-order-help{display:flex;gap:16px;align-items:center;margin:8px 0}
#pixel-frontend .pixel-help-row{display:flex;gap:6px;align-items:center;font-size:14px}
#pixel-frontend .pixel-help-row .help-dot{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:28px;padding:0;font-size:15px}
#pixel-frontend .order-row-head{padding-right:61px}
#pixel-frontend .order-row-actions [data-position-action="half"]{display:block;position:absolute;right:6px;top:6px;height:29px;min-height:29px;width:49px;padding:0;font-size:0;border:1px solid #ce90bb;border-radius:5px;background:#fff2fa;color:#906081}
#pixel-frontend .order-row-actions [data-position-action="half"]:after{content:'减半';font-size:13px;line-height:1}
@media(max-width:1200px){
 #pixel-frontend .sanity-label .help-dot{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;min-height:16px;padding:0;font-size:10px}
 #pixel-frontend .account-heading .help-dot{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;min-height:16px;padding:0;font-size:10px;margin-left:3px}
 #pixel-frontend .order-row-head{padding-right:52px;gap:4px}
 #pixel-frontend .order-row-actions [data-position-action="half"]{right:4px;top:4px;width:44px;height:32px;min-height:32px}
 #pixel-frontend .order-row-actions [data-position-action="half"]:after{font-size:12px}
}

#pixel-frontend .pixel-session{margin-top:9px}
#pixel-frontend .pixel-session>.pixel-drawer-content{position:relative;margin-top:5px}

/* Preserve the user-selected default image and its embedded subtitles.
   The existing portrait box and every unflagged emotion image keep their layout. */
.portrait.portrait-preserve-whole > #portrait{object-fit:contain;object-position:center}
#pixel-frontend #character-card > .portrait.portrait-preserve-whole{background-image:none}
#pixel-frontend #character-card > .portrait.portrait-preserve-whole > #portrait{visibility:visible;object-fit:contain;object-position:center}

/* The selected expression owns this box while loading, neutral or unavailable. */
.portrait.portrait-current{background-image:none}
#pixel-frontend #character-card > .portrait.portrait-current{background-image:none}
#pixel-frontend #character-card > .portrait.portrait-current > #portrait{visibility:visible}
.portrait > #portrait.portrait-exhilarated{transform:scale(1.2);transform-origin:center}
#pixel-frontend #character-card > .portrait > #portrait.portrait-exhilarated{transform:scale(1.2)}


/* ./fx/pixel-settlement.css */
/* Approved 2026-10-11 pink pixel settlement. Every rule is opt-in and tied to
   the existing day dialog; legacy presentation and business state are intact. */
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"]{
 --settle-ink:#111252;--settle-pink:#ff238d;--settle-teal:#00bdb9;--settle-line:#9460b7;
 width:min(960px,calc(100vw - 28px));max-width:calc(100vw - 20px);border:3px solid var(--settle-ink);border-radius:16px;background:#fffafd;color:var(--settle-ink);box-shadow:3px 3px 0 #17133d33;isolation:isolate;
 font-family:var(--pixel-font,"Fusion Pixel","Ark Pixel",ui-monospace,"Microsoft YaHei",sans-serif);
}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"]::backdrop{background:#25132f8c;backdrop-filter:none}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .dialog-scroll{padding:0 18px 16px;scrollbar-gutter:auto;overflow-x:hidden}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .dialog-toolbar{top:0;right:0;min-height:70px;padding:10px 12px 0;z-index:4}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .dialog-toolbar .x-close{width:54px;min-width:54px;height:54px;min-height:54px;flex-basis:54px;border:2px solid var(--settle-ink);border-radius:9px;background:linear-gradient(#ffe2f7,#ff9acb);color:var(--settle-ink);font:500 48px/1 ui-monospace,monospace;box-shadow:inset 2px 2px 0 #fff8}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-heading{display:flex;align-items:center;gap:18px;min-height:74px;padding:8px 72px 8px 18px;margin:0 -18px 16px;border-bottom:2px solid var(--settle-ink);background:linear-gradient(105deg,#ffc2e7,#ffe2f1 55%,#ffc4e6);box-sizing:border-box}
body[data-frontend="pixel"] #day-dialog .pixel-settlement-heading,
body[data-frontend="pixel"] #day-dialog .pixel-settlement-paid,
body[data-frontend="pixel"] #day-dialog .pixel-settlement-actions{display:none}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-title{display:flex;align-items:center;gap:14px;font-size:clamp(24px,3.2vw,43px);font-weight:950;line-height:1.15;letter-spacing:.045em;white-space:nowrap}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-day{padding:5px 20px;border:1px solid #ab4594;border-radius:6px;font-size:20px;font-weight:800;line-height:1.6;white-space:nowrap}
/* Keep the original labelled heading in the accessibility tree. */
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"]:has(.pixel-settlement-heading) #day-title{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;border:0!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] #day-subtitle{padding:0 4px;margin:0 0 10px;background:none;color:var(--settle-ink);font-size:13px;line-height:1.5;text-align:left}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .daily-recap{padding:0;border:0;color:var(--settle-ink)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-playback{display:block;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--settle-ink);overflow:visible;filter:none}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-profit-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto;align-items:center;column-gap:0;min-width:0;margin:0 0 10px;padding:14px 16px 10px;border:1px solid var(--settle-line);border-radius:9px;background:linear-gradient(100deg,#fff,#fffaff);text-align:left;container-type:inline-size}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-step-group{grid-column:2;grid-row:1;padding-left:28px;margin:0;line-height:1.5;min-width:0}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-step{display:block;font-size:clamp(16px,2.2vw,27px);font-weight:850;letter-spacing:0;color:var(--settle-ink)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-counter{grid-column:2;grid-row:2;display:block;padding:0 0 0 28px;margin:0;min-width:0;min-height:1.2em;line-height:1.15;font-size:min(49px,calc((50cqw - 36px)/var(--recap-character-width,8)));font-weight:950;letter-spacing:-.05em;text-align:left;white-space:nowrap;text-shadow:none;transform-origin:center}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .daily-recap[data-tier][data-direction] .recap-playback[data-stage] .recap-counter{color:var(--settle-pink)!important}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .daily-recap[data-tier][data-direction] .recap-playback[data-stage] .recap-counter[data-direction="loss"]{color:#087e85!important}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .daily-recap[data-tier][data-direction] .recap-playback[data-stage] .recap-counter[data-direction="flat"]{color:var(--settle-ink)!important}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-rate-group{grid-column:2;grid-row:3;justify-content:flex-start;gap:5px;min-height:26px;margin:2px 0 0;padding-left:28px}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-rate{padding:0;background:none;border-radius:0;color:var(--settle-ink);font-size:12px;line-height:1.4}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-profit{grid-column:1;grid-row:1/4;display:block;align-self:stretch;margin:0;padding:2px 18px 2px 4px;border:0;border-right:1px solid #ec409f;text-align:left;min-width:0}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-realized-score{display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:auto auto;gap:1px 17px;align-items:center;min-width:0;height:100%;color:var(--settle-ink)!important}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-realized-label{grid-column:2;grid-row:1;align-self:end;font-family:inherit;font-size:clamp(16px,2.2vw,27px);font-weight:850;line-height:1.3;color:var(--settle-ink)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-realized-value{grid-column:2;grid-row:2;align-self:start;display:block;min-width:0;font-size:min(46px,calc((50cqw - 108px)/var(--recap-score-width,10)));line-height:1.2;font-weight:950;letter-spacing:-.05em;white-space:nowrap;transform-origin:center}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-realized-score::before{content:"";grid-column:1;grid-row:1/3;width:58px;height:64px;background:var(--settlement-wallet) center/contain no-repeat;image-rendering:pixelated}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-chart-heading{padding:10px 17px 0;margin:0;border:1px solid var(--settle-line);border-bottom:0;border-radius:9px 9px 0 0;background:#fff;color:var(--settle-ink);font-size:17px;line-height:1.5;text-align:left}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-chart{width:100%;box-sizing:border-box;margin:0;border:1px solid var(--settle-line);border-top:0;border-radius:0 0 9px 9px;background:repeating-linear-gradient(0deg,transparent 0 31px,#ececf5 32px 33px),repeating-linear-gradient(90deg,#fff 0 31px,#ececf5 32px 33px);overflow:hidden}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-chart svg{display:block;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:720/254}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-chart svg text{fill:var(--settle-ink);font-family:inherit}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-chart svg>line:not([stroke-dasharray]){stroke:#dfe5ed}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-chart [data-replay-candle] rect[fill="#8cface"]{fill:var(--settle-teal)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-chart [data-replay-candle] line[stroke="#8cface"]{stroke:var(--settle-teal)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-chart [data-replay-candle] rect[fill="#ff87b2"]{fill:var(--settle-pink)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-chart [data-replay-candle] line[stroke="#ff87b2"]{stroke:var(--settle-pink)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-chart svg>line[stroke="#ffda86"]{stroke:var(--settle-pink)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-chart svg>circle{fill:var(--settle-pink)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-chart [data-replay-trade]>circle{fill:#fff;stroke:#8f2bac}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-chart-caption{padding:3px 16px 8px;background:#fff;gap:10px;color:var(--settle-ink)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-phase-label,
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-replay-clock,
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-chart p{color:var(--settle-ink)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-event-card{margin:8px 0 0;padding:6px 10px;border-radius:5px;background:#fff1f7;color:var(--settle-ink)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-event-delta{font-size:18px}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-playback-controls{margin:7px 0 9px;align-items:center;gap:5px}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-speed,
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-skip{font-family:inherit;border:1px solid #c480b7!important;border-radius:5px;background:#fff5fa;color:var(--settle-ink);min-height:36px}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-speed[aria-pressed="true"]{background:#ffc0e4;border-color:var(--settle-ink)!important;color:var(--settle-ink)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-impact-label{top:6px;right:6px;font-size:10px;background:var(--settle-ink);color:#fff}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-asset-delta{top:112px;font-size:11px;color:var(--settle-ink)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-paid:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:11px 15px;margin:0 0 10px;border:1px solid var(--settle-line);border-radius:9px;background:#fff;gap:20px;min-width:0}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-fee,
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-balance{display:flex;gap:12px;align-items:center;min-width:0;font-size:21px;font-weight:800}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-fee{border-right:1px solid var(--settle-pink);padding-right:16px}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-cost,
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-balance-value{font-size:clamp(19px,2.6vw,32px);margin-left:auto;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;line-height:1.3}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-cost{color:var(--settle-pink)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-actions{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1fr);gap:34px;margin:0}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-actions .recap-replay,
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-actions #recap-next{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:60px;margin:0;padding:12px 10px;border:2px solid var(--settle-ink)!important;border-radius:10px;background:#fff;color:var(--settle-ink);box-shadow:none;font-family:inherit;font-size:22px;font-weight:850;line-height:1.3;text-align:center;white-space:normal;overflow-wrap:anywhere}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-actions #recap-next{background:linear-gradient(100deg,#ff58af,#ff298d);color:#fff}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] #day-share{width:100%;margin:12px 0 0;min-height:40px;background:#fff5fa;border:1px solid #ca91bc;border-radius:6px;color:var(--settle-ink)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] #day-recap-extras{margin:14px 0 0;color:var(--settle-ink)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] button:focus-visible{outline:3px solid var(--settle-ink);outline-offset:2px}
/* Tiny hand-authored decorative pixel glyphs. No remote assets or generated
   financial picture: every visible candle and value remains the live DOM. */
body[data-frontend="pixel"] #day-dialog{
 --settlement-wallet:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' shape-rendering='crispEdges'%3E%3Cpath d='M4 10V7L24 1l3 7h2v19H4z' fill='%23111252'/%3E%3Cpath d='M6 8l17-5 1 3L8 10z' fill='%2300e5d1'/%3E%3Cpath d='M5 11h22v14H5z' fill='%23ffd19b'/%3E%3Cpath d='M22 15h8v7h-8z' fill='%23111252'/%3E%3Cpath d='M24 17h4v3h-4z' fill='%23ffc56c'/%3E%3C/svg%3E");
 --settlement-bars:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' shape-rendering='crispEdges'%3E%3Cpath d='M2 17h7v14H2zm10-8h7v22h-7zM22 1h8v30h-8z' fill='%23111252'/%3E%3Cpath d='M4 19h3v10H4zm10-8h3v18h-3z' fill='%23ff2697'/%3E%3Cpath d='M24 3h4v26h-4z' fill='%2300e5d1'/%3E%3C/svg%3E");
}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-title::before{content:"";width:43px;height:43px;flex:0 0 43px;background:var(--settlement-bars) center/contain no-repeat;image-rendering:pixelated}
@media(max-width:620px){
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"]{width:calc(100vw - 16px);max-width:calc(100vw - 16px);border-width:2px;border-radius:11px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .dialog-scroll{padding:0 10px 12px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-heading{gap:8px;min-height:62px;padding:8px 49px 8px 10px;margin:0 -10px 10px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-title{gap:7px;font-size:23px;letter-spacing:0}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-title::before{width:28px;height:31px;flex-basis:28px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-day{padding:4px 7px;font-size:13px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .dialog-toolbar{min-height:52px;padding:8px 7px 0}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .dialog-toolbar .x-close{width:40px;height:40px;min-width:40px;min-height:40px;flex-basis:40px;font-size:36px;border-radius:6px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] #day-subtitle{font-size:11px;margin-bottom:8px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-profit-hero{padding:13px 9px 10px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-step-group,
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-rate-group{padding-left:12px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-counter{padding-left:12px;font-size:min(33px,calc((50cqw - 15px)/var(--recap-character-width,8)));letter-spacing:-.04em}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-profit{padding:0 9px 0 0}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-realized-score{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-realized-score::before{display:none}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-realized-value{font-size:min(31px,calc((50cqw - 18px)/var(--recap-score-width,10)));align-self:auto}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-realized-label{align-self:auto}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-chart-heading{padding:8px 9px 0;font-size:13px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-chart svg{aspect-ratio:360/230;min-height:0;max-height:none}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-chart-caption{padding:1px 9px 6px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-event-card{flex-wrap:wrap;gap:4px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-actions{gap:10px;grid-template-columns:minmax(0,.75fr) minmax(0,1fr)}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-actions .recap-replay,
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-actions #recap-next{min-height:52px;font-size:15px;padding:9px 6px;border-radius:7px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-paid:not([hidden]){padding:10px;gap:10px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-fee,
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-balance{flex-wrap:wrap;gap:3px 8px;font-size:14px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-cost,
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-balance-value{font-size:18px;margin-left:0}
}
@media(prefers-reduced-motion:reduce){body:not(.motion-full)[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-paid{animation:none;transition:none}}
/* Receipt signs match the pixel amount: profit pink, loss teal. */
body[data-frontend="pixel"] .recap-receipt-chart [data-direction="profit"] rect{fill:var(--settle-pink,#ff238d)}
body[data-frontend="pixel"] .recap-receipt-chart [data-direction="loss"] rect{fill:var(--settle-teal,#00bdb9)}
body[data-frontend="pixel"] .recap-receipt-chart [data-direction="profit"] rect[stroke]{stroke:var(--settle-pink,#ff238d)}
body[data-frontend="pixel"] .recap-receipt-chart [data-direction="loss"] rect[stroke]{stroke:var(--settle-teal,#00bdb9)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-playback[data-event-direction="profit"] .recap-event-card{border-left-color:var(--settle-pink)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-playback[data-event-direction="loss"] .recap-event-card{border-left-color:var(--settle-teal)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-playback[data-event-direction="profit"] .recap-event-delta{color:var(--settle-pink)}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-playback[data-event-direction="loss"] .recap-event-delta{color:#087e85}
/* The virtual player owns the entire effect budget, including particle delay.
   All keyframes reach their transparent/resting end before complete clears. */
.recap-screen[data-recap-budget="true"][data-stage="landing"]>*{animation-duration:calc(var(--recap-landing-duration) - var(--delay,0ms))!important}
.recap-playback[data-recap-budget="true"][data-stage="landing"]{animation-duration:var(--recap-impact-duration,420ms)}
.recap-playback[data-recap-budget="true"][data-stage="landing"] .recap-spark{animation-duration:calc(var(--recap-landing-duration) - var(--spark-delay,0ms))}
.recap-playback[data-recap-budget="true"][data-stage="landing"] .recap-outcome-art{animation-duration:var(--recap-landing-duration)}


/* ./fx/approved-skit-layout.css */
/* Approved mobile-theater-v2 (2026-10-12). Only the selected pixel phone
   theater changes layout; original images, words and controls retain ownership. */
.skit-status,.skit-dialogue-avatar{display:none}
.skit-toolbar-heading,.skit-chrome-icon,.skit-source-badge,.skit-scene-category,.skit-trend-icon{display:none}
@media (max-width:759px), (max-width:1024px) and (max-height:600px) and (orientation:landscape){
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"]{--skit-ink:#111252;--skit-pink:#ff258e;width:calc(100vw - 16px);max-width:calc(100vw - 16px);border:1px solid #ffc2e6;border-radius:10px;background:#fffafd;color:var(--skit-ink)}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] .dialog-scroll{padding:8px 10px 14px;overflow-x:hidden}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] .dialog-toolbar{align-items:center;border-bottom:1px solid #ffc2e6;background:#fffafd;padding:6px 10px;min-height:48px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] .dialog-toolbar::before{content:none}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] .dialog-toolbar .x-close{order:0;margin:0 10px 0 0;flex:none;width:36px;min-width:36px;min-height:36px;font-size:0;border:0;border-right:1px solid #d1d0f5;border-radius:0;background:transparent;box-shadow:none;color:var(--skit-ink)}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] .dialog-toolbar .x-close::before{content:'';display:block;width:12px;height:12px;border-left:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(45deg);margin:auto}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] .skit-toolbar-heading{display:flex;order:1;align-items:center;gap:12px;margin-right:auto;color:var(--skit-ink);font-size:21px;font-weight:900}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] .skit-chrome-icon{position:relative;display:inline-block;width:28px;flex:none;overflow:hidden;image-rendering:pixelated;vertical-align:middle}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] .skit-chrome-icon>img[hidden]{display:none}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] .skit-scene-category{display:inline}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] .skit-scene-title{min-width:0;overflow-wrap:anywhere;flex:1}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] .skit-source-badge{display:inline-block;flex:none;padding:2px 9px;border:1px solid #d1d0f5;border-radius:20px;background:#eeedff;font-size:11px;font-weight:600;white-space:nowrap}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] .skit-trend-icon{display:inline-block;width:26px;height:23px;margin-right:10px;vertical-align:middle;background:currentColor;clip-path:polygon(0 78%,32% 38%,49% 56%,73% 25%,61% 25%,61% 5%,98% 5%,98% 42%,78% 42%,78% 34%,50% 77%,33% 60%,13% 98%)}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] #day-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:17px;margin:0 0 5px;padding:9px 10px;border:1px solid #ffc2e6;border-radius:7px;line-height:1.5}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] #day-subtitle{font-size:11px;margin:5px 0 9px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] #day-stage-label,
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] .day-total,
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] #day-share{display:none}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] #day-story-comic-frame{max-width:100%;margin:6px 0 12px}
 body[data-frontend="pixel"] #day-story-stage .event-comic-lines{grid-template-columns:minmax(0,1fr);list-style:none;padding:0!important;gap:8px;margin:8px 0}
 body[data-frontend="pixel"] #day-story-stage .comic-panel-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important;align-items:start}
 body[data-frontend="pixel"] #day-story-stage .comic-panel-cards>li{display:contents}
 body[data-frontend="pixel"] #day-story-stage .comic-panel-cards>li>:is(.comic-panel-art,.comic-panel-viewport,.comic-panel-missing){grid-row:1;margin:0}
 body[data-frontend="pixel"] #day-story-stage .comic-panel-cards>li:nth-child(n+3)>:is(.comic-panel-art,.comic-panel-viewport,.comic-panel-missing){grid-row:2}
 body[data-frontend="pixel"] #day-story-stage .comic-panel-cards>li:nth-child(odd)>:is(.comic-panel-art,.comic-panel-viewport,.comic-panel-missing){grid-column:1}
 body[data-frontend="pixel"] #day-story-stage .comic-panel-cards>li:nth-child(even)>:is(.comic-panel-art,.comic-panel-viewport,.comic-panel-missing){grid-column:2}
 body[data-frontend="pixel"] #day-story-stage .comic-panel-missing{z-index:1;align-self:center;justify-self:center;max-width:100%;box-sizing:border-box;margin:0;padding:8px 5px;border:1px dashed #b39b9f;border-radius:5px;background:#fff7fc;font-size:12px;line-height:1.6;text-align:center}
 body[data-frontend="pixel"] #day-story-stage .comic-panel-missing[hidden]{display:none}
 body[data-frontend="pixel"] #day-story-stage .comic-panel-cards .comic-panel-caption{grid-column:1/-1;min-width:0}
 body[data-frontend="pixel"] #day-story-stage .comic-panel-cards>li:nth-child(1)>.comic-panel-caption{grid-row:3}
 body[data-frontend="pixel"] #day-story-stage .comic-panel-cards>li:nth-child(2)>.comic-panel-caption{grid-row:4}
 body[data-frontend="pixel"] #day-story-stage .comic-panel-cards>li:nth-child(3)>.comic-panel-caption{grid-row:5}
 body[data-frontend="pixel"] #day-story-stage .comic-panel-cards>li:nth-child(4)>.comic-panel-caption{grid-row:6}
 body[data-frontend="pixel"] #day-story-stage .skit-dialogue-line{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:10px;width:100%;box-sizing:border-box;min-width:0;margin:5px 0 7px;padding:10px 12px;border:1px solid #ffc2e6;border-radius:9px;background:#fff;color:var(--skit-ink);font-size:15px;line-height:1.8;overflow-wrap:anywhere;white-space:normal;max-height:none}
 body[data-frontend="pixel"] #day-story-stage .skit-dialogue-speaker{display:block;grid-column:2;grid-row:1;margin-bottom:3px;color:var(--skit-ink);font-weight:900}
 body[data-frontend="pixel"] #day-story-stage .skit-dialogue-separator{display:none}
 body[data-frontend="pixel"] #day-story-stage .skit-dialogue-speech{grid-column:2;grid-row:2;white-space:pre-wrap}
 body[data-frontend="pixel"] #day-story-stage .skit-dialogue-avatar{display:block;position:relative;grid-column:1;grid-row:1/3;align-self:start;width:44px;overflow:hidden;border:1px solid #ffc2e6;border-radius:6px;background:#fff7fc;box-sizing:border-box;min-height:44px}
 body[data-frontend="pixel"] #day-story-stage .skit-dialogue-avatar:not([data-art-status="ready"])::after{content:attr(data-speaker);display:grid;place-items:center;min-height:42px;font-size:12px;font-weight:800;line-height:1.4;overflow-wrap:anywhere;text-align:center;padding:2px;box-sizing:border-box}
 body[data-frontend="pixel"] #day-story-stage :is(.skit-dialogue-avatar,.skit-status-icon)>img[hidden]{display:none}
 body[data-frontend="pixel"] #day-story-stage .comic-panel-action{font-size:12px;margin:5px 0;color:#716380}
 body[data-frontend="pixel"] #day-story-stage .skit-status:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px;margin:12px 0 0;padding:12px 10px;border:1px solid #ffc2e6;border-radius:8px;background:#fff}
 body[data-frontend="pixel"] #day-story-stage .skit-status-item{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:7px;align-items:center;min-width:0}
 body[data-frontend="pixel"] #day-story-stage .skit-status-item+.skit-status-item{border-left:1px solid #dedaf5;padding-left:10px}
 body[data-frontend="pixel"] #day-story-stage .skit-status-label{display:block;grid-column:2;font-size:12px;line-height:1.5;font-weight:700}
 body[data-frontend="pixel"] #day-story-stage .skit-status-values{grid-column:2;display:flex;align-items:baseline;flex-wrap:wrap;font-size:17px;line-height:1.6;font-variant-numeric:tabular-nums}
 body[data-frontend="pixel"] #day-story-stage .skit-status-arrow{padding:0 5px;color:#898bd7}
 body[data-frontend="pixel"] #day-story-stage .skit-status-after{color:var(--skit-pink)}
 body[data-frontend="pixel"] #day-story-stage .skit-status-income{grid-column:1/-1;display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;padding-top:8px;border-top:1px solid #ffc2e6}
 body[data-frontend="pixel"] #day-story-stage .skit-status-income-value{font-size:22px;color:var(--skit-pink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
 body[data-frontend="pixel"] #day-story-stage .skit-status-icon{position:relative;display:block;width:30px;flex:none;grid-column:1;grid-row:1/3;overflow:hidden;image-rendering:pixelated}
 body[data-frontend="pixel"] #day-story-stage .skit-status-icon-income{width:26px}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="story"] #next-day{min-height:48px;font-size:19px;border:0;border-radius:7px;background:linear-gradient(110deg,#ff49a6,#ff258e);color:#fff;box-shadow:none;margin:12px 0 0}
}


/* ./fx/pixel-hall.css */
/* Approved hall presentation, using the existing public aggregate markup only.
 * Loaded after pixel-renderer.css; this file never creates controls or data.
 * Dialog ownership, ranking requests, score submission and focus remain in app.js.
 */
body[data-frontend="pixel"] #leaderboard-dialog {
  --hall-ink: #0a1255;
  --hall-pink: #f7279b;
  --hall-line: #c394d3;
  --hall-muted: #575c86;
  --hall-atlas: url('./pixel-assets/reference-atlas.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');
  width: min(1028px, calc(100vw - 28px));
  max-width: calc(100vw - 28px);
  max-height: min(940px, calc(100dvh - 28px));
  padding: 0;
  border: 3px solid var(--hall-ink);
  border-radius: 15px;
  background: linear-gradient(120deg, #fff9fc, #fff 54%, #fff3fa);
  box-shadow: 0 0 0 3px #ffc6eb, 5px 6px 0 #09124f;
  color: var(--hall-ink);
  font-family: 'Noto Sans CJK SC', 'Microsoft YaHei', sans-serif;
  font-size: 15px;
  line-height: 1.5;
  font-synthesis: none;
  overscroll-behavior: contain;
  scrollbar-color: #d79bc9 #fff5fc;
}
body[data-frontend="pixel"] #leaderboard-dialog[open] {
  display: flex;
  flex-direction: column;
}
/* enhanceDialogs owns the persistent toolbar and scroll region in production. */
body[data-frontend="pixel"] #leaderboard-dialog > .dialog-scroll {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  /* Keep the nested ranking scroller from collapsing to its padding. */
  grid-auto-rows: max-content;
  align-content: start;
  gap: 12px;
  padding: 0 18px 18px;
}
body[data-frontend="pixel"] #leaderboard-dialog > .dialog-toolbar {
  position: relative;
  flex: 0 0 auto;
  z-index: 4;
  padding: 6px 12px;
  min-height: 56px;
  border-bottom: 1px solid var(--hall-line);
  background: linear-gradient(110deg, #ffe9f7, #ffc6eb);
}
body[data-frontend="pixel"] #leaderboard-dialog::backdrop {
  background: #141339a8;
  backdrop-filter: none;
}
body[data-frontend="pixel"] #leaderboard-dialog > .dialog-scroll > * {
  min-width: 0;
  grid-column: 1 / -1;
}
body[data-frontend="pixel"] #leaderboard-dialog > .dialog-scroll > h2 {
  position: relative;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  min-height: 86px;
  margin: 0 -18px;
  padding: 12px 80px;
  border-bottom: 2px solid var(--hall-ink);
  border-radius: 10px 10px 0 0;
  background: radial-gradient(ellipse at 24% 10%, #fff9fc 0, #ffe9f7 32%, transparent 62%), linear-gradient(110deg, #ffa6df, #ffd8f1 58%, #ffa5dc);
  color: var(--hall-ink);
  font-size: clamp(28px, 3.3vw, 44px);
  line-height: 1.15;
  letter-spacing: .08em;
  text-shadow: 2px 2px #fff, -2px -2px #fff;
  isolation: isolate;
}
body[data-frontend="pixel"] #leaderboard-dialog > .dialog-scroll > h2::before {
  content: '';
  flex: none;
  width: 43px;
  height: 46px;
  background-image: var(--hall-atlas);
  background-repeat: no-repeat;
  background-position: -990px -9px;
  image-rendering: pixelated;
}
body[data-frontend="pixel"] #leaderboard-dialog > .dialog-scroll > h2::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(193px, 25%);
  height: 67px;
  background-image: var(--hall-atlas);
  background-repeat: no-repeat;
  background-position: -1343px 0;
  pointer-events: none;
  z-index: -1;
  image-rendering: pixelated;
}
body[data-frontend="pixel"] #leaderboard-dialog > .dialog-toolbar > .x-close {
  grid-row: 1;
  grid-column: 12;
  position: static;
  pointer-events: auto;
  top: auto;
  right: auto;
  justify-self: end;
  align-self: start;
  z-index: 4;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  min-height: 48px;
  margin: 0;
  padding: 0;
  border: 2px solid var(--hall-ink);
  border-radius: 7px;
  background: linear-gradient(#ff82d5, #fb39a5);
  box-shadow: inset 0 0 0 2px #ffc1eb, 2px 2px 0 #737bb9;
  color: #fff;
  font-size: 39px;
  font-weight: 700;
  line-height: 1;
  text-shadow: none;
}
body[data-frontend="pixel"] #leaderboard-dialog .help-dot {
  width: 26px;
  height: 26px;
  min-width: 26px;
  min-height: 26px;
  margin: 0;
  padding: 0;
  border: 1px solid #8d66ae;
  border-radius: 50%;
  background: #fff8fd;
  color: var(--hall-ink);
  font-size: 14px;
  letter-spacing: 0;
  text-shadow: none;
}
body[data-frontend="pixel"] #leaderboard-dialog .small-print {
  margin: 0;
  color: var(--hall-muted);
  font-size: 12px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
body[data-frontend="pixel"] #leaderboard-dialog button:not(.x-close):not(.help-dot),
body[data-frontend="pixel"] #leaderboard-dialog select,
body[data-frontend="pixel"] #leaderboard-dialog input {
  min-height: 44px;
  max-width: 100%;
  border: 1px solid #6865ad;
  border-radius: 6px;
  background: linear-gradient(120deg, #fff, #fff6fc);
  box-shadow: inset 0 0 0 2px #fff9;
  color: var(--hall-ink);
  font: inherit;
  font-weight: 650;
  touch-action: manipulation;
}
body[data-frontend="pixel"] #leaderboard-dialog button:not(:disabled):hover {
  border-color: #d32699;
  background-color: #ffe7f7;
  filter: brightness(.99);
}
body[data-frontend="pixel"] #leaderboard-dialog button:disabled {
  opacity: .5;
  cursor: not-allowed;
  filter: none;
}
body[data-frontend="pixel"] #leaderboard-dialog :is(button, input, select):focus-visible {
  outline: 3px solid #822bc2;
  outline-offset: 3px;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-modes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-modes button {
  padding: 10px 14px;
  font-size: 20px;
  letter-spacing: .06em;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-modes button[aria-pressed="true"],
body[data-frontend="pixel"] #leaderboard-dialog #ranking-publish {
  border-color: #9e1979;
  background: linear-gradient(120deg, #ff38a7, #e82490);
  color: #fff;
  box-shadow: inset 0 0 0 1px #ffbce6;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-finish {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  padding: 10px 12px;
  border: 1px solid #dcb2d3;
  border-radius: 8px;
  background: #fff6fb;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-finish .primary,
body[data-frontend="pixel"] #leaderboard-dialog .ranking-finish .secondary {
  width: auto;
  flex: 0 1 auto;
  margin: 0;
  padding: 9px 14px;
  box-shadow: none;
}
body[data-frontend="pixel"] #leaderboard-dialog #ranking-walkaway {
  background: #ffdbee;
}
body[data-frontend="pixel"] #leaderboard-dialog #ranking-walkaway-note {
  flex: 1 1 300px;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-sort-label {
  grid-column: span 8;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  font-weight: 750;
}
body[data-frontend="pixel"] #leaderboard-dialog #ranking-sort {
  flex: 1;
  min-width: 0;
  padding: 9px 12px;
}
body[data-frontend="pixel"] #leaderboard-dialog #ranking-share {
  grid-column: span 4;
  width: 100%;
  margin: 0;
  padding: 9px 12px;
}
body[data-frontend="pixel"] #leaderboard-dialog #ranking-status {
  grid-column: span 9;
  align-self: center;
  margin: 0;
  color: var(--hall-ink);
  font-size: 14px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
body[data-frontend="pixel"] #leaderboard-dialog #ranking-retry {
  grid-column: span 3;
  width: 100%;
  margin: 0;
  padding: 8px 10px;
  font-size: 14px;
}
body[data-frontend="pixel"] #leaderboard-dialog #ranking-table {
  margin: 0;
  max-height: min(440px, 50dvh);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  border: 1px solid #c86cbe;
  border-radius: 10px;
  padding: 10px;
  background: #fff;
}
body[data-frontend="pixel"] #leaderboard-dialog #ranking-table:empty {
  display: none;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) fit-content(50%);
  gap: 10px 18px;
  margin: 0 0 10px;
  padding: 13px 14px;
  border: 1px solid #c3b8e8;
  border-radius: 8px;
  background: linear-gradient(120deg, #fff, #fbfaff);
  box-shadow: inset 0 0 0 2px #fff;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-entry:last-child {
  margin-bottom: 0;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-entry:nth-child(1) {
  border-color: #f096cb;
  background: linear-gradient(100deg, #ffe5f5, #fff8fc);
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-entry:nth-child(2) {
  border-color: #84dce4;
  background: linear-gradient(100deg, #e2fcff, #faffff);
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-entry:nth-child(3) {
  border-color: #efd3a0;
  background: linear-gradient(100deg, #fff2d8, #fffdf7);
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-entry-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 7px 16px;
  min-width: 0;
  font-size: 20px;
  line-height: 1.45;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-entry-head > b {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-all;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-entry-head strong {
  color: var(--hall-muted);
  font-size: 12px;
  font-weight: 600;
  white-space: normal;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-return {
  min-width: 0;
  margin: 0;
  text-align: right;
  font-size: clamp(24px, 2.7vw, 31px);
  font-weight: 900;
  line-height: 1.3;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-return > span {
  margin: 0 0 2px;
  color: var(--hall-muted);
  font-size: 11px;
  font-weight: 600;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-return.positive {
  color: #d80879 !important;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-return.negative {
  color: #007b73 !important;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-metrics {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 7px;
  min-width: 0;
  padding-top: 10px;
  border-top: 1px solid #cfbada;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-metrics > div {
  min-width: 0;
  padding: 6px 8px;
  border: 1px solid #dcd4f0;
  border-radius: 5px;
  background: #ffffffb8;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-metrics span {
  display: block;
  margin-bottom: 4px;
  color: var(--hall-muted);
  font-size: 11px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
body[data-frontend="pixel"] #leaderboard-dialog .ranking-metrics b {
  display: block;
  font-size: 14px;
  line-height: 1.5;
  color: var(--hall-ink);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
  word-break: break-all;
}
body[data-frontend="pixel"] #leaderboard-dialog #ranking-auto-status {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #d3c5eb;
  border-radius: 7px;
  background: #f8f5ff;
  color: var(--hall-muted);
  font-size: 12px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
body[data-frontend="pixel"] #leaderboard-dialog #ranking-auto-status:empty {
  display: none;
}
body[data-frontend="pixel"] #leaderboard-dialog #ranking-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, .42fr);
  align-items: end;
  gap: 8px 16px;
  margin: 0;
  padding: 14px;
  border: 1px solid #c4b7e6;
  border-radius: 9px;
  background: #fffafd;
  font-size: 13px;
}
body[data-frontend="pixel"] #leaderboard-dialog #ranking-form > label {
  grid-column: 1;
  min-width: 0;
  font-weight: 700;
}
body[data-frontend="pixel"] #leaderboard-dialog #ranking-name {
  width: 100%;
  margin: 6px 0 0;
  padding: 9px 12px;
  background: #fff;
  font-weight: 500;
}
body[data-frontend="pixel"] #leaderboard-dialog #ranking-form > p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--hall-muted);
  font-size: 12px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
body[data-frontend="pixel"] #leaderboard-dialog #ranking-publish {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  margin: 0;
  padding: 9px 12px;
}
@media (max-width: 760px) {
  body[data-frontend="pixel"] #leaderboard-dialog {
    width: calc(100vw - 20px);
    max-width: calc(100vw - 20px);
    max-height: calc(100dvh - 20px);
    padding: 0;
    border-width: 2px;
    border-radius: 10px;
    box-shadow: 0 0 0 2px #ffc6eb, 3px 4px 0 #09124f;
  }
  body[data-frontend="pixel"] #leaderboard-dialog > .dialog-scroll { gap: 10px; padding: 0 12px 12px; }
  body[data-frontend="pixel"] #leaderboard-dialog > .dialog-toolbar { padding: 4px 10px; min-height: 52px; }
  body[data-frontend="pixel"] #leaderboard-dialog > .dialog-scroll > h2 { margin: 0 -12px; min-height: 74px; padding: 12px 60px; gap: 9px; font-size: 28px; letter-spacing: .02em; }
  body[data-frontend="pixel"] #leaderboard-dialog > .dialog-scroll > h2::before { display: none; }
  body[data-frontend="pixel"] #leaderboard-dialog > .dialog-scroll > h2::after { opacity: .6; }
  body[data-frontend="pixel"] #leaderboard-dialog > .dialog-toolbar > .x-close { width: 44px; height: 44px; min-height: 44px; margin-top: 0; font-size: 34px; }
  body[data-frontend="pixel"] #leaderboard-dialog .ranking-modes button { font-size: 17px; padding: 10px 8px; }
  body[data-frontend="pixel"] #leaderboard-dialog .ranking-sort-label { grid-column: span 7; gap: 7px; font-size: 13px; }
  body[data-frontend="pixel"] #leaderboard-dialog #ranking-share { grid-column: span 5; font-size: 12px; padding: 8px 5px; }
  body[data-frontend="pixel"] #leaderboard-dialog #ranking-status { grid-column: span 8; }
  body[data-frontend="pixel"] #leaderboard-dialog #ranking-retry { grid-column: span 4; font-size: 12px; }
  body[data-frontend="pixel"] #leaderboard-dialog #ranking-table { max-height: min(480px, 58dvh); padding: 5px; }
  body[data-frontend="pixel"] #leaderboard-dialog .ranking-entry { padding: 8px; gap: 8px 10px; }
  body[data-frontend="pixel"] #leaderboard-dialog .ranking-entry-head { display: block; font-size: 17px; }
  body[data-frontend="pixel"] #leaderboard-dialog .ranking-entry-head strong { display: block; margin-top: 5px; }
  body[data-frontend="pixel"] #leaderboard-dialog .ranking-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  body[data-frontend="pixel"] #leaderboard-dialog .ranking-metrics > div { padding: 6px 4px; }
  body[data-frontend="pixel"] #leaderboard-dialog #ranking-form { grid-template-columns: minmax(0, 1fr); padding: 10px; }
  body[data-frontend="pixel"] #leaderboard-dialog #ranking-publish { grid-column: 1; grid-row: auto; }
}
@media (max-width: 420px) {
  body[data-frontend="pixel"] #leaderboard-dialog > .dialog-scroll > h2 { padding-left: 22px; padding-right: 55px; font-size: 26px; }
  body[data-frontend="pixel"] #leaderboard-dialog .ranking-entry { grid-template-columns: minmax(0, 1fr); }
  body[data-frontend="pixel"] #leaderboard-dialog .ranking-return { text-align: left; }
  body[data-frontend="pixel"] #leaderboard-dialog .ranking-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-frontend="pixel"] #leaderboard-dialog .ranking-sort-label,
  body[data-frontend="pixel"] #leaderboard-dialog #ranking-share { grid-column: 1 / -1; }
}
/* Wide phone landscapes still need the approved compact metric density. */
@media (min-width: 761px) and (max-width: 1024px) and (max-height: 600px) {
  body[data-frontend="pixel"] #leaderboard-dialog .ranking-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media(prefers-reduced-motion:reduce){
  body:not(.motion-full)[data-frontend="pixel"] #leaderboard-dialog button { transition: none; }
}


/* ./fx/pixel-reader.css */
/* Approved 04 presentation. No rules alter the legacy book or reader sessions. */
body[data-frontend="pixel"] :is(#achievements-dialog,#opening-dialog,#character-story-dialog){
 --reader-ink:#17255a;--reader-pink:#ff409c;--reader-line:#c276b1;
 color:var(--reader-ink);border:2px solid var(--reader-ink);border-radius:10px;
 background:#fffaff;box-shadow:5px 6px 0 #18245338,0 20px 65px #28244645;
}
body[data-frontend="pixel"] :is(#achievements-dialog,#opening-dialog,#character-story-dialog)::backdrop{background:#1a21447a;backdrop-filter:blur(1px)}
body[data-frontend="pixel"] :is(#achievements-dialog,#opening-dialog,#character-story-dialog) .dialog-toolbar{
 min-height:58px;padding:6px 12px;border-bottom:2px solid var(--reader-ink);
 background:linear-gradient(110deg,#ffedf8,#ffc9e8 55%,#ffd8ef);gap:12px;
}
body[data-frontend="pixel"] #achievements-dialog .dialog-toolbar::before{content:'成就与插图';margin-right:auto;font-size:22px;font-weight:900;color:var(--reader-ink)}
body[data-frontend="pixel"] #character-story-dialog .dialog-toolbar::before{content:'原作人物篇章';margin-right:auto;font-size:20px;font-weight:900}
body[data-frontend="pixel"] #opening-dialog .dialog-toolbar::before{content:'序章';font-size:20px;color:var(--reader-ink);font-weight:900;letter-spacing:.03em}
body[data-frontend="pixel"] :is(#achievements-dialog,#opening-dialog,#character-story-dialog) .dialog-toolbar .x-close{
 position:static;min-width:44px;min-height:44px;width:auto;flex:0 0 auto;padding:6px 11px;border:2px solid var(--reader-ink);
 border-radius:7px;background:linear-gradient(#ff79bf,#fc3096);color:white;font-size:26px;font-weight:800;box-shadow:2px 2px 0 #a3448d;
}
body[data-frontend="pixel"] #opening-dialog .dialog-toolbar .x-close{font-size:13px}
body[data-frontend="pixel"] #achievements-dialog{width:min(1240px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
body[data-frontend="pixel"] #achievements-dialog .dialog-scroll{padding:12px;scrollbar-gutter:stable}
body[data-frontend="pixel"] #achievements-dialog .dialog-scroll>h2{font-size:18px;margin:0 0 4px}
body[data-frontend="pixel"] #achievements-dialog .dialog-scroll>.eyebrow{display:none}
body[data-frontend="pixel"] #achievements-dialog .dialog-scroll>.small-print{font-size:12px;margin:0 0 10px;color:#685382}
body[data-frontend="pixel"] #achievement-book.pixel-ach-enhanced{display:none}
/* The added presentation stays unavailable if a caller switches CSS first. */
body:not([data-frontend="pixel"]) .pixel-ach-browser{display:none!important}
body[data-frontend="pixel"] .pixel-ach-browser{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:10px;min-width:0;align-items:stretch}
body[data-frontend="pixel"] .pixel-ach-browser [hidden],body[data-frontend="pixel"] .pixel-ach-browser[hidden]{display:none!important}
body[data-frontend="pixel"] :is(.pixel-ach-catalog,.pixel-ach-reader){min-width:0;border:1px solid var(--reader-ink);border-radius:8px;overflow:hidden;background:#fff}
body[data-frontend="pixel"] .pixel-ach-catalog{display:flex;flex-direction:column}
body[data-frontend="pixel"] .pixel-ach-section-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px;border-bottom:1px solid #efafd8;background:linear-gradient(110deg,#fff,#fff0f9)}
body[data-frontend="pixel"] .pixel-ach-heading{margin:0;font-size:22px;font-weight:900;line-height:1.25;white-space:nowrap}
body[data-frontend="pixel"] .pixel-ach-count{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}
body[data-frontend="pixel"] .pixel-ach-filters{display:flex;flex-wrap:wrap;gap:5px;margin-left:auto}
body[data-frontend="pixel"] .pixel-ach-filter{min-height:36px;padding:5px 10px;border:1px solid #efa6d2;border-radius:6px;background:#fff;color:var(--reader-ink);font-size:12px;font-weight:800}
body[data-frontend="pixel"] .pixel-ach-filter[aria-pressed="true"]{border-color:var(--reader-pink);background:#cf2a7f;color:#fff}
body[data-frontend="pixel"] .pixel-ach-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:9px;padding:12px;max-height:430px;overflow:auto;scrollbar-gutter:stable;flex:1}
body[data-frontend="pixel"] .pixel-ach-tile{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;min-height:128px;margin:0;padding:6px;border:1px solid #c5bdd7;border-radius:7px;background:#fff;color:var(--reader-ink);font-weight:800;line-height:1.45;white-space:normal;box-shadow:inset 0 0 0 2px #fff}
body[data-frontend="pixel"] .pixel-ach-tile:hover{border-color:#ef67b0;background:#fff1f8}
body[data-frontend="pixel"] .pixel-ach-tile[aria-pressed="true"]{border:2px solid var(--reader-pink);padding:5px;background:#fff1f9;box-shadow:inset 0 0 0 2px #fff,0 0 0 1px #ffc0e2}
body[data-frontend="pixel"] .pixel-ach-thumb{position:relative;display:grid;place-items:center;flex:0 0 auto;width:100%;aspect-ratio:1;min-width:0;border:1px solid #dec2da;border-radius:5px;overflow:hidden;background:linear-gradient(135deg,#fff7fc,#ffd8ee);box-sizing:border-box}
body[data-frontend="pixel"] .pixel-ach-badge-text{font-size:clamp(25px,3vw,38px);font-weight:900;color:#a33274}
body[data-frontend="pixel"] .pixel-ach-badge-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;background:#fff}
body[data-frontend="pixel"] .pixel-ach-tile.locked .pixel-ach-thumb{border-color:#c6c5cc;background:repeating-linear-gradient(135deg,#edecf1 0 3px,#e7e6ec 3px 4px)}
body[data-frontend="pixel"] .pixel-ach-tile.locked .pixel-ach-badge-text{font-size:25px;color:#626279}
body[data-frontend="pixel"] .pixel-ach-tile-name{font-size:12px;overflow-wrap:anywhere;text-align:center}
body[data-frontend="pixel"] .pixel-ach-detail{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:8px;padding:16px;border-top:1px solid #ed9cd0;background:linear-gradient(135deg,#fff4fb,#fff 55%);min-width:0}
body[data-frontend="pixel"] .pixel-ach-detail-title{margin:0;font-size:22px;font-weight:900;overflow-wrap:anywhere;line-height:1.45}
body[data-frontend="pixel"] .pixel-ach-detail-status{margin:0;padding:6px 9px;align-self:start;max-width:180px;border-radius:5px;background:#cf2a7f;color:white;font-size:12px;font-weight:800;line-height:1.6}
body[data-frontend="pixel"] .pixel-ach-detail[data-locked="true"] .pixel-ach-detail-status{background:#e9e6f0;color:#615575}
body[data-frontend="pixel"] .pixel-ach-condition-title{grid-column:1/-1;margin:7px 0 0;padding-top:10px;border-top:1px solid #e5d4ea;font-size:14px}
body[data-frontend="pixel"] .pixel-ach-condition{grid-column:1/-1;margin:0;font-size:14px;line-height:1.75;overflow-wrap:anywhere}
body[data-frontend="pixel"] .pixel-ach-detail-notes{grid-column:1/-1;margin:0;color:#695575;font-size:12px;line-height:1.65;white-space:pre-line}
body[data-frontend="pixel"] .pixel-ach-empty{padding:24px;margin:0;color:#715c79;text-align:center}
body[data-frontend="pixel"] .pixel-ach-reader{display:flex;flex-direction:column}
body[data-frontend="pixel"] .pixel-ach-reader .pixel-ach-section-header{flex-wrap:nowrap}
body[data-frontend="pixel"] .pixel-ach-choice{margin-left:auto;min-width:0;max-width:62%;min-height:40px;border:1px solid #bf71b4;border-radius:6px;padding:6px 25px 6px 10px;background:#fff;color:var(--reader-ink);font-size:13px;font-weight:800;text-overflow:ellipsis}
body[data-frontend="pixel"] .pixel-ach-art{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;min-width:0;margin:0;padding:12px;background:#fff}
body[data-frontend="pixel"] .pixel-ach-image-frame{display:grid;place-items:start center;align-content:start;min-height:330px;max-height:min(65dvh,660px);overflow:auto;background:#fff;border:1px solid #1c244e;scrollbar-gutter:stable;overscroll-behavior:contain}
body[data-frontend="pixel"] .pixel-ach-page{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;background:#fff}
body[data-frontend="pixel"] .pixel-ach-page.image-unavailable{display:none}
body[data-frontend="pixel"] .pixel-ach-image-frame .manga-image-fallback{grid-area:1/1;padding:20px;color:#655273;background:#fff0f8;margin:0;line-height:1.75;font-size:14px}
body[data-frontend="pixel"] .pixel-ach-caption{font-size:12px;text-align:center;color:#67537b;line-height:1.5}
body[data-frontend="pixel"] .pixel-ach-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid #ecc0dc;background:#fff8fd}
body[data-frontend="pixel"] .pixel-ach-nav button{min-height:44px;border:1px solid #b465b0;border-radius:6px;background:linear-gradient(#ffc8e8,#ff96ce);color:var(--reader-ink);padding:8px 10px;font-weight:900;font-size:16px}
body[data-frontend="pixel"] .pixel-ach-nav button:disabled{opacity:.4;background:#f2deec;cursor:default}
body[data-frontend="pixel"] .pixel-ach-position{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;min-width:55px;text-align:center}
body[data-frontend="pixel"] :is(#achievements-dialog,#opening-dialog,#character-story-dialog) :is(button,select):focus-visible{outline:3px solid #63277c;outline-offset:3px}
body[data-frontend="pixel"] :is(#opening-dialog,#character-story-dialog){width:min(900px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
body[data-frontend="pixel"] :is(#opening-dialog,#character-story-dialog) .dialog-scroll{background:linear-gradient(#fff4fb,#fff 150px);padding:22px 28px}
body[data-frontend="pixel"] :is(#opening-dialog,#character-story-dialog) :is(h2,#opening-count,.character-story-eyebrow){color:var(--reader-ink)}
body[data-frontend="pixel"] :is(#opening-dialog,#character-story-dialog) :is(.opening-panel,#character-story-panels img){border-color:var(--reader-ink);box-shadow:3px 3px 0 #f3bedf}
body[data-frontend="pixel"] :is(#opening-nav,#character-story-controls){background:#fff3fb;border-top:1px solid #bc76b1}
body[data-frontend="pixel"] :is(#opening-nav,#character-story-controls) button{border:1px solid #bc76b1;border-radius:6px;color:#17255a;background:linear-gradient(#ffe9f6,#ffc6e5);font-weight:800;box-shadow:none}
body[data-frontend="pixel"] :is(#opening-next,#character-story-return){color:white!important;background:linear-gradient(#ff78bd,#f83a9a)!important;border-color:#be4f96!important}
body[data-frontend="pixel"] #opening-dialog #opening-next:hover{background:linear-gradient(#ff8bc7,#fa53a6)!important}
body[data-frontend="pixel"] #character-story-aftermath{border-left-color:#fb64b0}
@media(min-width:1220px){body[data-frontend="pixel"] .pixel-ach-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:850px){
 body[data-frontend="pixel"] .pixel-ach-browser{grid-template-columns:1fr}
 body[data-frontend="pixel"] .pixel-ach-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:310px}
 body[data-frontend="pixel"] .pixel-ach-tile{min-height:118px}
 body[data-frontend="pixel"] .pixel-ach-image-frame{min-height:220px;max-height:none;overflow:visible;scrollbar-gutter:auto}
 body[data-frontend="pixel"] .pixel-ach-art{padding:10px}
 body[data-frontend="pixel"] .pixel-ach-nav{position:sticky;bottom:0}
}
@media(max-width:480px){
 body[data-frontend="pixel"] :is(#achievements-dialog,#opening-dialog,#character-story-dialog){width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:7px}
 body[data-frontend="pixel"] #achievements-dialog .dialog-scroll{padding:8px;scrollbar-gutter:auto}
 body[data-frontend="pixel"] .pixel-ach-section-header{padding:10px;gap:7px}
 body[data-frontend="pixel"] .pixel-ach-heading{font-size:18px}
 body[data-frontend="pixel"] .pixel-ach-filters{width:100%;margin-left:0}
 body[data-frontend="pixel"] .pixel-ach-filter{flex:1;min-height:40px}
 body[data-frontend="pixel"] .pixel-ach-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:8px;max-height:280px}
 body[data-frontend="pixel"] .pixel-ach-tile{min-height:115px}
 body[data-frontend="pixel"] .pixel-ach-detail{padding:12px;grid-template-columns:1fr}
 body[data-frontend="pixel"] .pixel-ach-detail-title{font-size:20px}
 body[data-frontend="pixel"] .pixel-ach-detail-status{max-width:none;justify-self:start}
 body[data-frontend="pixel"] .pixel-ach-reader .pixel-ach-section-header{flex-wrap:wrap}
 body[data-frontend="pixel"] .pixel-ach-choice{width:100%;max-width:none;margin-left:0}
 body[data-frontend="pixel"] :is(#opening-dialog,#character-story-dialog) .dialog-scroll{padding:16px}
 body[data-frontend="pixel"] #character-story-controls{flex-wrap:wrap;padding:10px}
 body[data-frontend="pixel"] #character-story-return{width:100%}
}


/* ./fx/life-action-picker.css */
/* Life illustrations reuse only the user-approved proposal pixels. All labels,
   balances, conditions and choices are accessible live DOM, never screenshot text. */
.life-action-picker{--life-ink:#10134e;--life-pink:#ff2296;--life-line:#171764;color:var(--life-ink);width:min(1060px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:9px;border:2px solid var(--life-line);border-radius:13px;background:#fff8fd;box-shadow:0 0 0 5px #fff0fa,5px 5px 0 5px #35204744;overflow:hidden;font-family:inherit;box-sizing:border-box}
.life-action-picker::backdrop{background:rgba(24,15,41,.63)}
.life-action-picker *{box-sizing:border-box}
.life-action-picker [hidden]{display:none!important}
.life-action-picker button{font-family:inherit;cursor:pointer;min-height:44px;touch-action:manipulation}
.life-action-picker button:disabled{cursor:not-allowed;opacity:.52}
.life-action-picker button:focus-visible{outline:3px solid #135dc1;outline-offset:3px}
.life-picker-shell{display:flex;flex-direction:column;max-height:calc(100dvh - 56px);border:1px solid var(--life-line);border-radius:8px;overflow:hidden;background:#fff}
.life-picker-header{flex-shrink:0;display:flex;align-items:center;gap:20px;min-height:70px;padding:8px 12px;border-bottom:1px solid var(--life-line);background:linear-gradient(105deg,#ffeef8,#ffe6f2 58%,#ffd6eb);position:relative}
.life-picker-header:after{content:'';position:absolute;right:54px;top:0;width:205px;height:100%;background-image:url('./pixel-assets/life-menu-approved.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:1113.04348% 1969.23077%;background-position:78.68383% 20.16461%;pointer-events:none;opacity:.75}
.life-picker-title{display:flex;align-items:center;gap:13px;position:relative;z-index:1;font-size:36px;line-height:1.15;margin:0;font-weight:850;flex:1;color:var(--life-ink)}
.life-picker-close{width:47px;padding:0;flex:none;font-size:46px;line-height:1;background:transparent;border:0;color:var(--life-ink);position:relative;z-index:1;border-radius:6px}
.life-picker-back,.life-picker-return{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--life-ink);background:linear-gradient(130deg,#ffe3f3,#fff4fa);border:1px solid var(--life-line);border-radius:6px;font-size:24px;line-height:1.2;font-weight:750;padding:8px 19px;position:relative;z-index:1;white-space:nowrap}
.life-picker-arrow{font-size:39px;line-height:.7}
.life-picker-content{padding:12px;overflow:auto;min-height:0;overscroll-behavior:contain;scrollbar-gutter:stable}
.life-picker-consequence{margin:0 0 12px;padding:10px 12px;text-align:center;border-radius:7px;background:#ffe2f1;color:var(--life-ink);font-weight:750;font-size:22px;line-height:1.4}
.life-picker-feedback{margin:0 0 12px;padding:10px;border:1px solid #ad3776;border-radius:6px;background:#fff2f7;color:#8c235f;line-height:1.5}
.life-picker-section-title{display:flex;align-items:center;gap:12px;font-size:29px;line-height:1.3;font-weight:850;color:var(--life-ink);margin:8px 0}
.life-picker-housing{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(140px,.85fr) minmax(160px,.9fr);align-items:center;gap:22px;padding:10px;border:1px solid var(--life-line);border-radius:8px;background:linear-gradient(110deg,#fffaff,#ffe9f5);margin-bottom:12px}
.life-picker-housing .life-picker-art{aspect-ratio:408 / 132}
.life-picker-housing-copy h3{display:flex;align-items:center;gap:10px;font-size:29px;margin:0 0 5px;color:var(--life-ink)}
.life-picker-housing-copy p{font-size:19px;line-height:1.5;margin:0;overflow-wrap:anywhere}
.life-picker-today>.life-picker-section-title{border:1px solid var(--life-line);border-bottom:0;border-radius:8px 8px 0 0;margin:0;padding:8px;background:#ffeff9}
.life-picker-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.life-picker-menu-card,.life-picker-option-card{min-width:0;display:flex;flex-direction:column;gap:8px;border:1px solid var(--life-line);border-radius:7px;padding:10px;background:#fff}
.life-picker-menu-card h4{display:flex;align-items:center;justify-content:center;gap:8px;font-size:24px;line-height:1.2;margin:0;color:var(--life-ink)}
.life-picker-art{width:100%;aspect-ratio:1.33;background-color:#ffedf7;background-repeat:no-repeat;border-radius:6px;border:1px solid #e45baf;flex:none}
.life-picker-art-symbol{display:grid;place-items:center;background-image:none}
.life-picker-primary{display:flex;align-items:center;justify-content:center;gap:17px;min-width:0;width:100%;border:1px solid var(--life-line);border-radius:7px;background:linear-gradient(135deg,#ff1d95,#ff2d9d);box-shadow:inset 0 1px 1px #ff83c0;color:#fff;font-size:25px;font-weight:800;line-height:1.25;padding:10px 7px;margin-top:auto;overflow-wrap:anywhere}
.life-picker-primary:hover:enabled{background:#e90b84;box-shadow:inset 0 0 0 1px #fff8}
.life-picker-chevron{font-size:39px;line-height:.7;font-weight:400}
.life-picker-footer{border:0;padding:0;display:flex;align-items:center;justify-content:flex-start;margin-top:12px}
.life-picker-footer .life-picker-return{min-width:228px;text-decoration:none}
.life-picker-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.life-picker-friend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.life-picker-option-card{padding:12px;gap:10px}
.life-picker-option-title{display:flex;align-items:center;justify-content:center;gap:16px;font-size:28px;line-height:1.2;margin:0;color:var(--life-ink)}
.life-picker-friend-grid .life-picker-option-title{justify-content:flex-start;font-size:30px}
.life-picker-friend-badge{font-size:16px;font-weight:750;border-radius:6px;padding:7px 19px;background:#84f6d9;white-space:nowrap}
.life-picker-friend-badge[data-locked='true']{background:#ede7ef;color:#62576a}
.life-picker-friend-grid .life-picker-art{aspect-ratio:1.51}
.life-picker-friend-grid .life-picker-primary{font-size:29px;min-height:58px}
.life-picker-income{font-size:18px;text-align:center;margin:0;color:#80556d}
.life-picker-option-reason{font-size:17px;line-height:1.4;margin:0;color:#80556d}
.life-picker-empty{padding:30px 10px;text-align:center}
.life-picker-icon{display:inline-block;flex:none;width:38px;height:40px;background-repeat:no-repeat}
.life-picker-menu-card .life-picker-icon{width:32px;height:35px}
.life-action-picker[data-category='menu'] .life-picker-consequence{font-size:19px;font-weight:500;background:#fff0f8}
@media(max-width:800px){
 .life-action-picker{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:6px}
 .life-picker-header{gap:10px;min-height:62px;padding:7px 10px}
 .life-picker-title{font-size:29px;gap:8px}
 .life-picker-back{font-size:20px;padding:8px 12px;gap:7px}
 .life-picker-housing{gap:12px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
 .life-picker-housing>.life-picker-primary{grid-column:2}
 .life-picker-housing>.life-picker-art{grid-row:1 / 3;aspect-ratio:408 / 132;background-size:376.47% 775.758%;background-position:25.266% 30.83%}
 .life-picker-housing-copy h3{font-size:25px}.life-picker-housing-copy p{font-size:17px}
 .life-picker-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .life-picker-option-title{font-size:24px}.life-picker-friend-grid .life-picker-option-title{font-size:26px;gap:10px}
 .life-picker-friend-badge{padding:5px 10px;font-size:14px}
 .life-picker-consequence{font-size:18px}.life-picker-primary{font-size:21px;gap:8px}
 .life-picker-option-card{padding:9px}.life-picker-content{padding:10px}
}
@media(max-width:560px){
 .life-action-picker{width:calc(100vw - 16px);max-height:calc(100dvh - 20px);padding:4px;border-radius:9px;box-shadow:0 0 0 2px #fff0fa,3px 3px 0 2px #35204744}
 .life-picker-header{gap:6px;padding:6px;flex-wrap:wrap}.life-picker-header:after{opacity:.4;width:150px}
 .life-picker-shell{max-height:calc(100dvh - 36px)}
 .life-picker-title{font-size:25px;gap:6px;min-width:0}.life-picker-title .life-picker-icon{width:28px;height:31px}
 .life-picker-close{width:39px;font-size:37px;min-height:44px}.life-picker-back{font-size:17px;gap:4px;padding:6px 9px;min-height:44px}
 .life-picker-content{padding:8px}.life-picker-consequence,.life-action-picker[data-category='menu'] .life-picker-consequence{font-size:14px;line-height:1.5;padding:8px;margin-bottom:9px}
 .life-picker-section-title{font-size:23px;gap:8px}.life-picker-housing{gap:8px;padding:8px}.life-picker-housing-copy h3{font-size:22px;gap:5px}.life-picker-housing-copy h3 .life-picker-icon{display:none}
 .life-picker-housing-copy p{font-size:14px}.life-picker-housing>.life-picker-primary{font-size:18px;padding:8px 5px}
 .life-picker-menu-card{padding:7px;gap:7px}.life-picker-menu-card h4{font-size:18px;gap:4px}.life-picker-menu-card .life-picker-icon{width:25px;height:28px}
 .life-picker-primary{font-size:18px;padding:8px 5px;min-height:44px;gap:7px}.life-picker-chevron{font-size:28px}
 .life-picker-option-grid{grid-template-columns:minmax(0,1fr);gap:10px}.life-picker-option-card{padding:10px;gap:8px}
 .life-picker-option-card .life-picker-art{aspect-ratio:1.5}.life-picker-friend-grid .life-picker-art{aspect-ratio:1.51}
 .life-picker-option-title,.life-picker-friend-grid .life-picker-option-title{font-size:24px}.life-picker-friend-grid .life-picker-primary{font-size:23px;min-height:47px}
 .life-picker-option-title{justify-content:flex-start}.life-picker-income{text-align:left;font-size:16px}.life-picker-friend-badge{font-size:14px}
 .life-picker-footer .life-picker-return{font-size:20px;min-width:0;width:100%}
}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) .life-action-picker *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Crop bounds are measured against the approved 1536 × 1024 reference images. */
.life-picker-art-housing{background-image:url('./pixel-assets/life-menu-approved.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:376.47059% 775.75758%;background-position:25.26596% 30.82960%}
.life-picker-art-dinner{background-image:url('./pixel-assets/life-menu-approved.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:679.64602% 605.91716%;background-position:21.14504% 63.04094%}
.life-picker-art-friend{background-image:url('./pixel-assets/life-menu-approved.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:676.65198% 605.91716%;background-position:40.71811% 63.04094%}
.life-picker-art-work{background-image:url('./pixel-assets/life-menu-approved.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:704.58716% 605.91716%;background-position:59.86343% 63.04094%}
.life-picker-art-relax{background-image:url('./pixel-assets/life-menu-approved.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:676.65198% 605.91716%;background-position:79.37357% 63.04094%}
.life-picker-art-mochiko{background-image:url('./pixel-assets/life-friends-approved.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:350.68493% 349.48805%;background-position:28.14208% 62.24350%}
.life-picker-art-yasuko{background-image:url('./pixel-assets/life-friends-approved.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:331.74946% 349.48805%;background-position:74.46412% 62.24350%}
.life-picker-art-convenience{background-image:url('./pixel-assets/life-work-approved.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:505.26316% 432.06751%;background-position:22.32143% 50.19060%}
.life-picker-art-cafe{background-image:url('./pixel-assets/life-work-approved.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:503.60656% 432.06751%;background-position:50.04062% 50.19060%}
.life-picker-art-bookstore{background-image:url('./pixel-assets/life-work-approved.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:503.60656% 432.06751%;background-position:77.82291% 50.19060%}
.life-picker-art-shrine{background-image:url('./pixel-assets/life-relax-approved.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:505.26316% 414.57490%;background-position:22.97078% 57.27156%}
.life-picker-art-river{background-image:url('./pixel-assets/life-relax-approved.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:529.65517% 414.57490%;background-position:50.08026% 57.27156%}
.life-picker-art-park{background-image:url('./pixel-assets/life-relax-approved.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:505.26316% 414.57490%;background-position:77.11039% 57.27156%}

@media(max-width:380px){.life-picker-title{font-size:22px}.life-picker-title .life-picker-icon{display:none}.life-picker-back{font-size:15px;padding:6px;gap:3px}.life-picker-arrow{font-size:28px}.life-picker-header{flex-wrap:nowrap}.life-picker-menu-card h4{font-size:16px}.life-picker-menu-card .life-picker-icon{width:22px;height:25px}}

.life-action-story{text-align:left;overflow-wrap:anywhere}
.life-action-story>p{font-size:16px;line-height:1.65;padding:10px 12px;margin:9px 0;border-left:3px solid #e88eb9;border-radius:5px;background:#fff3fa;color:#4a2842}

/* Approved compact life page. This attribute is set only for the pixel mobile
   viewport; desktop and the original frontend keep their existing menu. */
.life-action-picker[data-mobile-life='true']{width:min(100%,760px);height:calc(100dvh - 24px);margin:auto;padding:0;border:1px solid var(--life-line);border-radius:9px;box-shadow:none;background:#fffafd}
.life-action-picker[data-mobile-life='true'] .life-picker-shell{height:100%;max-height:100%;border:0;border-radius:0;background:linear-gradient(135deg,#fff,#fff8fd)}
.life-action-picker[data-mobile-life='true'] .life-picker-header{min-height:58px;flex-wrap:nowrap;padding:7px 10px;gap:7px;border:0;background:transparent}
.life-action-picker[data-mobile-life='true'] .life-picker-header:after{display:none}
.life-action-picker[data-mobile-life='true'] .life-picker-title{font-size:25px;line-height:1.2;gap:8px}
.life-action-picker[data-mobile-life='true'] .life-picker-title .life-picker-icon{display:block;width:29px;height:31px}
.life-action-picker[data-mobile-life='true'] .life-picker-back{font-size:16px;gap:4px;border:0;background:none;padding:0 4px;min-width:44px}
.life-action-picker[data-mobile-life='true'] .life-picker-arrow{font-size:36px}
.life-action-picker[data-mobile-life='true'] .life-picker-close{width:44px;font-size:32px}
.life-action-picker[data-mobile-life='true'] .life-picker-content{flex:1 1 auto;display:flex;flex-direction:column;padding:0 10px 12px;gap:8px;scrollbar-gutter:auto;scroll-padding-block:8px}
.life-action-picker[data-mobile-life='true'] .life-picker-body{order:1;display:flex;flex-direction:column;gap:8px}
.life-action-picker[data-mobile-life='true'] .life-picker-feedback{order:0;margin:0;font-size:13px}
.life-action-picker[data-mobile-life='true'] .life-picker-consequence{order:0;margin:0;padding:8px;border:1px solid #ffc2e3;border-radius:7px;text-align:left;font-size:14px;line-height:1.5;background:#fff3fa}
.life-action-picker[data-mobile-life='true'] .life-picker-housing{grid-template-columns:90px minmax(0,1fr);gap:7px;padding:8px;margin:0}
.life-action-picker[data-mobile-life='true'] .life-picker-housing>.life-picker-art{grid-column:1;grid-row:1/3;aspect-ratio:408/132;align-self:center}
.life-action-picker[data-mobile-life='true'] .life-picker-housing-copy h3{font-size:21px}
.life-action-picker[data-mobile-life='true'] .life-picker-housing-copy p{font-size:15px}
.life-action-picker[data-mobile-life='true'] .life-picker-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.life-action-picker[data-mobile-life='true'] .life-picker-menu-card{gap:7px;padding:8px}
.life-action-picker[data-mobile-life='true'] .life-picker-menu-card h4{font-size:18px;flex-wrap:wrap}
.life-action-picker[data-mobile-life='true'] .life-picker-menu-card>.life-picker-art{height:76px;aspect-ratio:auto}
.life-action-picker[data-mobile-life='true'] .life-picker-footer{margin:0}
.life-action-picker[data-mobile-life='true'] .life-picker-return{font-size:18px;width:100%}
.life-picker-action-dock{flex:0 0 auto;display:grid;gap:9px;max-height:44dvh;overflow:auto;padding:10px max(10px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));border-top:1px solid #ffc2e3;background:#fff8fd;overscroll-behavior:contain}
.life-mobile-selection{min-width:0;display:grid;gap:5px;font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.life-mobile-selection>p{margin:0}
.life-mobile-selected-label{font-size:17px}
.life-action-picker[data-mobile-life='true'] .life-picker-primary{min-height:44px;font-size:20px;line-height:1.2;padding:8px;border:1.5px solid var(--life-pink);border-radius:6px;background:#fff;color:var(--life-pink);box-shadow:none}
.life-action-picker[data-mobile-life='true'] .life-picker-primary:hover:enabled{background:#fff0f8;color:#df087c;box-shadow:none}
.life-action-picker[data-mobile-life='true'] .life-picker-chevron{display:none}
.life-mobile-character{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:8px;border:1px solid #ffc2e3;border-radius:8px;padding:7px;background:#fff}
.life-mobile-identity{display:flex;align-items:center;gap:7px;min-width:0}
.life-mobile-identity>strong{font-size:21px;line-height:1.2;white-space:nowrap}
.life-mobile-stats{display:flex;flex-direction:column;gap:3px;min-width:0}
.life-mobile-emotion,.life-mobile-stat{margin:0;border:1px solid #ffe1f1;border-radius:5px;background:#fffbfe;padding:2px 5px;min-width:0}
.life-mobile-emotion{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.5}
.life-mobile-emotion .life-picker-icon{width:16px;height:16px}
.life-mobile-emotion>strong{border-radius:15px;background:#d8f4fc;padding:1px 8px;font-weight:750;overflow-wrap:anywhere}
.life-mobile-stat>p{display:flex;align-items:center;gap:5px;margin:0;font-size:12px;line-height:1.2}
.life-mobile-stat>p>strong{font-size:13px;margin-left:3px}
.life-mobile-meter{height:5px;border-radius:8px;margin:1px 0 0 22px;background:#e5e0ee;overflow:hidden}
.life-mobile-meter>span{display:block;height:100%;border-radius:inherit;background:#ff2a9b}
.life-mobile-stamina .life-mobile-meter>span{background:#2cdbc8}
.life-mobile-section{display:flex;flex-direction:column;gap:8px;padding:8px;border:1px solid #ffc2e3;border-radius:8px;background:#fff}
.life-mobile-heading{display:flex;align-items:center;gap:9px;margin:0;color:var(--life-ink);font-size:22px;line-height:1.25}
.life-mobile-heading>.life-picker-icon{width:27px;height:28px}
.life-mobile-hint{margin:-6px 0 0 36px;color:#63689d;font-size:13px;line-height:1.4}
.life-mobile-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}
.life-mobile-friend .life-mobile-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.life-mobile-option{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;min-width:0;min-height:128px;padding:10px 7px;border:1px solid #dfe4fc;border-radius:5px;background:#fff;color:var(--life-ink);overflow:hidden}
.life-mobile-option[aria-pressed='true']{border:1.5px solid var(--life-pink);background:#fff0f8}
.life-mobile-option[aria-pressed='true']:after{content:'✓';position:absolute;right:0;top:0;background:var(--life-pink);color:#fff;font-size:15px;font-weight:900;line-height:22px;width:23px;border-radius:0 0 0 15px;text-align:right;padding-right:3px}
.life-mobile-art{display:flex;align-items:center;justify-content:center;flex:none;width:100%;height:64px;background:#fff7fc;border-radius:5px}
.life-mobile-art-symbol>.life-picker-icon{width:38px;height:40px}
.life-mobile-option-label{font-size:16px;line-height:1.4;font-weight:700;overflow-wrap:anywhere}
.life-mobile-reason{font-size:12px;line-height:1.4;color:#735e71;margin:0;overflow-wrap:anywhere}
.life-mobile-income{display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;min-height:34px;margin:0;padding:3px 7px;border:1px solid #ffe1f1;border-radius:6px;background:#fff8fc;font-size:14px}
.life-mobile-income>strong{font-size:21px;color:var(--life-pink);font-weight:800}
.life-mobile-extras{display:flex;gap:8px}
.life-mobile-extra{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;min-width:0;border:1px solid #ffc2e3;border-radius:6px;background:#fff;color:var(--life-ink);font-size:14px;font-weight:700}
.life-mobile-extra>.life-picker-icon{width:22px;height:23px}
.life-mobile-sprite{display:block;flex:none;width:55px;height:48px;background-repeat:no-repeat;background-image:url('./pixel-assets/mobile-life-approved.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');image-rendering:pixelated}
.life-mobile-identity>.life-mobile-sprite{width:48px;height:48px;border-radius:5px}
.life-mobile-friend .life-mobile-sprite{width:52px;height:50px}
.life-mobile-stat .life-mobile-sprite{width:17px;height:17px}
.life-mobile-income>.life-mobile-sprite{width:22px;height:25px}
@media(max-width:359px){
 .life-action-picker[data-mobile-life='true'] .life-picker-content{padding-left:7px;padding-right:7px}
 .life-mobile-character{gap:5px;padding:6px;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}
 .life-mobile-identity{gap:4px}.life-mobile-identity>strong{font-size:17px}
 .life-mobile-identity>.life-mobile-sprite{width:41px;height:41px}
 .life-mobile-emotion{gap:4px;padding:2px 3px}.life-mobile-stat{padding:2px 3px}
 .life-mobile-heading{font-size:21px}
}

/* Exact sprite windows in the approved 854 × 1842 mobile reference. */
.life-mobile-sprite-kurumi{background-size:862.6262626% 1879.5918367%;background-position:6.2251656% 12.8440367%}
.life-mobile-sprite-sanity{background-size:2440.0000000% 6351.7241379%;background-position:49.9389499% 14.5615003%}
.life-mobile-sprite-stamina{background-size:2587.8787879% 4847.3684211%;background-position:49.9390987% 17.0177384%}
.life-mobile-sprite-mochiko{background-size:769.3693694% 1805.8823529%;background-position:23.2839838% 29.0229885%}
.life-mobile-sprite-yasuko{background-size:798.1308411% 1805.8823529%;background-position:76.4390897% 29.0804598%}
.life-mobile-sprite-convenience{width:55px;height:45px;background-size:993.0232558% 2631.4285714%;background-position:15.8854167% 52.1444695%}
.life-mobile-sprite-cafe{width:52px;height:46.45px;background-size:1138.6666667% 2749.2537313%;background-position:50.4492940% 52.2816901%}
.life-mobile-sprite-bookstore{width:58px;height:44.47px;background-size:948.8888889% 2669.5652174%;background-position:83.9005236% 52.1714608%}
.life-mobile-sprite-shrine{width:55px;height:47.41px;background-size:981.6091954% 2456.0000000%;background-position:16.0365059% 79.5132994%}
.life-mobile-sprite-river{width:66px;height:41.66px;background-size:700.0000000% 2392.2077922%;background-position:49.4535519% 79.5467422%}
.life-mobile-sprite-park{width:66px;height:42.5px;background-size:646.9696970% 2167.0588235%;background-position:86.0110803% 79.5105293%}
.life-mobile-sprite-coins{background-size:1986.0465116% 3611.7647059%;background-position:7.1516646% 60.5248465%}

/* The housing child uses the existing native dialog and the same engine quotes.
   Header and payment stay outside its one scrolling list. */
.life-housing-picker{width:min(760px,calc(100vw - 24px));color:#10134e;background:#fffafd}
.life-housing-picker .dialog-toolbar{gap:8px;padding:6px 8px;flex-wrap:wrap}
.life-housing-picker .dialog-toolbar h2{flex:1;min-width:0;margin:0;font-size:24px;line-height:1.3;overflow-wrap:anywhere}
.life-housing-picker .dialog-toolbar .x-close{margin-left:auto}
.life-housing-picker .life-housing-return{min-height:44px;padding:6px 8px;font:inherit;font-size:16px;border:1px solid #d9a2c3;border-radius:6px;background:#fff;color:inherit}
.life-housing-picker .dialog-scroll{padding:12px;scroll-padding-block:8px}
.life-housing-current,.life-housing-pending{margin:0 0 10px;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.life-housing-pending{color:#9d246a}
.life-housing-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.life-housing-option{display:flex;flex-direction:column;gap:7px;min-width:0;min-height:132px;padding:12px;text-align:left;font:inherit;font-size:15px;line-height:1.45;border:1px solid #dbb5ce;border-radius:7px;background:#fff;color:inherit;touch-action:manipulation;overflow-wrap:anywhere;white-space:normal}
.life-housing-option[aria-pressed='true']{border:2px solid #e51b8d;padding:11px;background:#fff0f8}
.life-housing-option:disabled{opacity:.6;cursor:not-allowed}
.life-housing-option>strong{font-size:18px;line-height:1.4}
.life-housing-rate{font-size:19px;font-weight:750;font-variant-numeric:tabular-nums}
.life-housing-option-status{font-size:14px;color:#80556d}
.life-housing-action-dock{flex:0 0 auto;max-height:44dvh;overflow:auto;display:grid;gap:9px;padding:12px max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));border-top:1px solid #e6b9d3;background:#fff3fa;overscroll-behavior:contain}
.life-housing-selection{font-size:16px;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.life-housing-selection p{margin:5px 0 0}
.life-housing-confirm{min-height:48px;padding:10px;width:100%;font:inherit;font-size:17px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.life-housing-feedback{margin:10px 0 0;font-size:15px;line-height:1.5;color:#8c235f}
.life-housing-picker button:focus-visible{outline:3px solid #135dc1;outline-offset:-3px}
@media(max-width:560px){.life-housing-choices{grid-template-columns:minmax(0,1fr)}.life-housing-option{min-height:112px}.life-housing-action-dock{padding:10px}.life-housing-confirm{font-size:16px}}


/* ./fx/ui-icons.css */
/* Only isolated alpha sprites use this sheet; approved scene art stays intact. */
#pixel-frontend .pixel-icon-heart,.life-picker-icon-heart{background-image:url('./pixel-assets/ui-icons-transparent.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:645.37815% 403.14961%;background-position:8.08937% 12.46753%;background-repeat:no-repeat}
#pixel-frontend .pixel-icon-chart,.life-picker-icon-chart{background-image:url('./pixel-assets/ui-icons-transparent.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:590.76923% 403.14961%;background-position:36.20690% 11.94805%;background-repeat:no-repeat}
#pixel-frontend .pixel-icon-yen,.life-picker-icon-yen{background-image:url('./pixel-assets/ui-icons-transparent.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:704.58716% 403.14961%;background-position:64.18816% 12.46753%;background-repeat:no-repeat}
#pixel-frontend .pixel-icon-news,.life-picker-icon-news{background-image:url('./pixel-assets/ui-icons-transparent.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:679.64602% 403.14961%;background-position:92.74809% 12.33766%;background-repeat:no-repeat}
#pixel-frontend .pixel-icon-chat,.life-picker-icon-chat{background-image:url('./pixel-assets/ui-icons-transparent.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:662.06897% 403.14961%;background-position:8.20552% 51.94805%;background-repeat:no-repeat}
#pixel-frontend .pixel-icon-bag,.life-picker-icon-bag{background-image:url('./pixel-assets/ui-icons-transparent.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:779.69543% 403.14961%;background-position:36.51979% 50.90909%;background-repeat:no-repeat}
#pixel-frontend .pixel-icon-house,.life-picker-icon-house{background-image:url('./pixel-assets/ui-icons-transparent.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:662.06897% 403.14961%;background-position:65.41411% 50.77922%;background-repeat:no-repeat}
#pixel-frontend .pixel-icon-comic,.life-picker-icon-comic{background-image:url('./pixel-assets/ui-icons-transparent.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:607.11462% 403.14961%;background-position:93.14108% 52.33766%;background-repeat:no-repeat}
#pixel-frontend .pixel-icon-settings,.life-picker-icon-settings{background-image:url('./pixel-assets/ui-icons-transparent.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:659.22747% 403.14961%;background-position:8.59555% 90.38961%;background-repeat:no-repeat}
#pixel-frontend .pixel-icon-dinner,.life-picker-icon-dinner{background-image:url('./pixel-assets/ui-icons-transparent.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:787.69231% 403.14961%;background-position:35.86875% 91.03896%;background-repeat:no-repeat}
#pixel-frontend .pixel-icon-work,.life-picker-icon-work{background-image:url('./pixel-assets/ui-icons-transparent.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:738.46154% 403.14961%;background-position:64.45783% 91.42857%;background-repeat:no-repeat}
#pixel-frontend .pixel-icon-leaf,.life-picker-icon-leaf{background-image:url('./pixel-assets/ui-icons-transparent.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:783.67347% 403.14961%;background-position:91.64179% 92.72727%;background-repeat:no-repeat}
.inventory .tool-row button.item-with-art,#pixel-frontend .pixel-drawer #tool-list button.item-with-art{display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;row-gap:4px;align-content:center;min-height:78px}
.inventory .tool-row .item-with-art>b,.inventory .tool-row .item-with-art>small{grid-column:2;min-width:0;white-space:normal;margin:0}
.inventory .tool-row .item-with-art>.prop-inventory-art{grid-column:1;grid-row:1 / 3;width:52px;height:68px;max-width:100%;object-fit:contain;object-position:center;align-self:center;border-radius:3px}
@media(max-width:390px){.inventory .tool-row button.item-with-art,#pixel-frontend .pixel-drawer #tool-list button.item-with-art{grid-template-columns:40px minmax(0,1fr);column-gap:6px}.inventory .tool-row .item-with-art>.prop-inventory-art{width:40px;height:58px}}

/* Retained original pseudo-elements: replace only their three image windows. */
#pixel-frontend #leaderboard-open:before{background-image:url('./pixel-assets/ui-icons-extra-transparent.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:436.36364% 290.90909%;background-position:7.77027% 50.00000%;background-repeat:no-repeat}
#pixel-frontend #achievements-open:before{background-image:url('./pixel-assets/ui-icons-extra-transparent.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:436.36364% 290.90909%;background-position:50.00000% 50.29762%;background-repeat:no-repeat}
#pixel-frontend .pixel-voice-button:before{background-image:url('./pixel-assets/ui-icons-extra-transparent.png?v=e334df457a8010281b76b74406fa77069f96d880-23f2a20b7717');background-size:436.36364% 290.90909%;background-position:93.24324% 50.29762%;background-repeat:no-repeat}


/* ./fx/mobile-layout.css */
/* Scoped presentation follow-up. No viewport zoom, hidden facts, fixed overlays,
   chart-height overrides, or changes to trading actions and their DOM order. */
@media(max-width:690px),
 (min-width:691px) and (max-width:1024px) and (max-height:500px) and (orientation:landscape) and (pointer:coarse){
 /* Readable editable text without enlarging every button or card. */
 .player-comments textarea{font-size:16px;line-height:1.4}
 .terminal .pair select{font-size:16px}

 /* After period/refresh move beside the plot controls, three actions remain.
    Flex lets speed, finish and retirement share the available row. */
 .terminal .chart-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}
 .terminal .chart-controls .speed-buttons{flex:1 1 auto;justify-content:flex-start}
 .terminal .chart-controls #finish-day,.terminal .chart-controls #retire{flex:0 0 auto;width:auto;margin:0}

 /* Keep the three related zoom controls together instead of leaving “−” alone.
    Explicit spans also work when history is hidden; no visual DOM reordering. */
 .terminal .candle-view-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;align-items:stretch}
 .terminal .candle-view-controls #quote-package-open{grid-column:span 1;min-width:0;width:100%;padding-inline:4px;white-space:normal}
 .terminal .candle-view-controls .quote-refresh-options{grid-column:span 5;min-width:0;max-width:none;width:100%}
 .terminal .candle-view-controls>button:not(#quote-package-open){grid-column:span 2;min-width:0;width:100%}
 .terminal .candle-view-controls .candle-history{grid-column:1/-1;min-width:0;margin:0}
}

/* Short touch landscape keeps market and order cards ahead of the character.
   Normal desktop pointers and taller tablet layouts retain their existing grid. */
@media(min-width:691px) and (max-width:1024px) and (max-height:500px) and (orientation:landscape) and (pointer:coarse){
 .topbar{height:auto;min-height:48px;flex-wrap:nowrap;align-items:center;gap:10px;padding-block:4px}
 .topbar .brand{flex:0 0 auto;font-size:16px;gap:8px}
 .topbar .top-right{flex:1 1 auto;min-width:0;width:auto;max-width:100%;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;gap:4px;padding:2px 1px 5px;scrollbar-width:thin;overscroll-behavior-x:contain}
 .topbar .top-right>*{flex-shrink:0}
 main{padding-top:10px}
 .page-heading{align-items:center;gap:12px;margin-bottom:8px}
 .page-heading .eyebrow{font-size:10px;letter-spacing:.4px;line-height:1.4}
 .page-heading h1{font-size:24px;margin:2px 0}
 .page-heading p{font-size:11px;margin:3px 0}
 .page-heading .mission{gap:2px;max-width:58%;min-width:0}
 .page-heading .mission b,.page-heading .mission span,.page-heading .mission small{font-size:11px;line-height:1.4;overflow-wrap:anywhere}
 .game-grid>.market-stack{grid-column:1;grid-row:1}
 .game-grid>.trade-card{grid-column:2;grid-row:1}
 .game-grid>#character-card{grid-column:1/-1;grid-row:2}
}


/* ./fx/responsive-layout.css */
/* Responsive corrections only. Approved desktop art, live nodes and game state
   stay owned by the existing renderers. Loaded last to avoid legacy overrides. */

/* A centered modal must clear the larger inset on both sides, including a
   landscape notch. Keeping the shell bounded preserves its fixed close control. */
body :is(dialog.dialog-shell,dialog.life-action-picker){
 --dialog-safe-x:max(12px,calc(env(safe-area-inset-left,0px) + 8px),calc(env(safe-area-inset-right,0px) + 8px));
 --dialog-safe-y:max(12px,calc(env(safe-area-inset-top,0px) + 8px),calc(env(safe-area-inset-bottom,0px) + 8px));
 max-width:calc(100vw - 2 * var(--dialog-safe-x));
 max-height:calc(100vh - 2 * var(--dialog-safe-y));
 max-height:calc(100dvh - 2 * var(--dialog-safe-y));
}
/* ID-based skins otherwise override the common shell's inset constraints. */
body[data-frontend="pixel"] :is(#day-dialog[data-recap-layout="profit-first"],#leaderboard-dialog,#achievements-dialog,#opening-dialog,#character-story-dialog){
 max-width:calc(100vw - 2 * var(--dialog-safe-x));
 max-height:calc(100vh - 2 * var(--dialog-safe-y));
 max-height:calc(100dvh - 2 * var(--dialog-safe-y));
}
.life-action-picker{display:flex;flex-direction:column}
.life-action-picker:not([open]){display:none}
.life-picker-shell{min-height:0;max-height:100%;flex:1 1 auto}
.life-picker-title,.life-picker-housing-copy,.life-picker-option-title{min-width:0;overflow-wrap:anywhere}
.life-picker-option-title{flex-wrap:wrap}
.life-picker-content :is(button,h3,h4,p){overflow-wrap:anywhere}
.dialog-scroll{scroll-padding-block:12px}
body[data-frontend="pixel"] .pixel-ach-grid{overscroll-behavior:contain;scroll-padding-block:8px}
@media(max-width:850px){body[data-frontend="pixel"] #achievements-dialog>.dialog-scroll{scroll-padding-bottom:76px}}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-heading{flex-wrap:wrap}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-day{max-width:100%;white-space:normal;overflow-wrap:anywhere}
body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .dialog-toolbar .x-close{min-width:44px;min-height:44px;flex-basis:44px}

/* Numeric tokens keep every digit; each amount is sized against its own cell
   rather than the entire trading panel. No abbreviations or ellipses. */
#pixel-frontend :is(.account-heading,.pixel-account-summary>.account-row,.order-pixel-data,.order-live-pnl){container-type:inline-size;min-width:0}
#pixel-frontend :is(.order-pixel-data>b,.order-live-pnl>b){max-width:100%;overflow-wrap:anywhere}
@supports(font-size:1cqw){
 #pixel-frontend #equity[data-atomic-amount]{font-size:min(29px,calc(100cqw / var(--amount-characters,16) * 1.35))}
 #pixel-frontend #day-pnl[data-atomic-amount]{font-size:min(27px,calc(100cqw / var(--amount-characters,16) * 1.35))}
 #pixel-frontend :is(.order-pixel-data>b,.order-live-pnl>b)[data-atomic-amount]{font-size:min(19px,calc(100cqw / var(--amount-characters,16) * 1.35))}
}
#pixel-frontend .order-pixel-data>b:not([data-atomic-amount]){white-space:normal;overflow-wrap:anywhere}
#pixel-frontend .pixel-fee-summary{white-space:normal;overflow-wrap:anywhere}
#pixel-frontend .pixel-fee-summary b{display:inline-block;white-space:nowrap;max-width:100%}
#pixel-frontend .pixel-drawer-content{overscroll-behavior:contain;scroll-padding-block:8px}

@media(max-width:1200px){
 /* The original compact skin is now fluid through tablet widths. A 768px
    viewport must never shrink a 1536px desktop and halve every hit target. */
 #pixel-frontend{width:100%;min-height:100dvh;zoom:1!important}
 #pixel-frontend .topbar{padding-inline:max(10px,env(safe-area-inset-left,0px)) max(10px,env(safe-area-inset-right,0px))}
 #pixel-frontend .brand{max-width:calc(100% - 124px);font-size:clamp(24px,6.4vw,30px)}
 #pixel-frontend .top-right{gap:6px}
 #pixel-frontend :is(#leaderboard-open,#achievements-open,#share-open),#pixel-frontend .pixel-settings>summary{height:44px;min-height:44px}
 #pixel-frontend .pixel-settings>.pixel-drawer-content{top:48px}
 #pixel-frontend .pixel-life-actions>.pixel-drawer>summary,#pixel-frontend .pixel-voice-button,#pixel-frontend .pixel-life-button{height:44px;min-height:44px;font-size:16px}
 #pixel-frontend #terminal>.candle-view-controls{grid-template-columns:repeat(6,minmax(0,1fr))}
 #pixel-frontend .candle-view-controls #quote-package-open{grid-column:span 2;width:100%;min-height:44px;height:44px}
 #pixel-frontend #quote-refresh-options{grid-column:span 4;width:100%}
 #pixel-frontend .quote-refresh-choice{min-height:44px!important;height:44px!important}
 #pixel-frontend .candle-view-controls>button:not(#quote-package-open){grid-column:span 2;grid-row:2;min-width:0;height:44px;min-height:44px}
 #pixel-frontend .candle-view-controls .candle-history{grid-column:1/-1;grid-row:3;height:auto;min-height:32px}
 #pixel-frontend .pixel-currency-button{min-height:44px;height:44px}
 #pixel-frontend #amount-field{height:auto;min-height:190px}
 #pixel-frontend .amount-heading{height:44px;min-height:44px}
 #pixel-frontend #amount-random{height:44px;min-height:44px}
 #pixel-frontend #amount-field:after{top:44px}
 #pixel-frontend .amount-presets{grid-template-rows:repeat(2,44px)}
 #pixel-frontend .amount-presets button{min-height:44px}
 #pixel-frontend #order-empty fieldset{height:auto;min-height:86px;padding:34px 4px 4px}
 #pixel-frontend #percent-field{height:auto!important;min-height:86px}
 #pixel-frontend #order-empty fieldset>legend,#pixel-frontend #percent-field>legend{top:5px!important;left:8px;width:auto}
 #pixel-frontend #order-empty fieldset button{height:44px;min-height:44px;font-size:16px}
 #pixel-frontend .position-title{min-height:54px;height:auto;padding-block:4px;flex-wrap:wrap}
 #pixel-frontend #position-close-all{min-height:44px;height:44px}
 #pixel-frontend .order-row{grid-template-columns:repeat(2,minmax(0,1fr)) 64px;grid-template-rows:44px minmax(54px,auto) minmax(54px,auto) minmax(44px,auto)}
 #pixel-frontend .order-row-head{height:44px;padding-right:54px}
 #pixel-frontend .order-pixel-data:has([data-order-field="entry"]){grid-column:1;grid-row:2}
 #pixel-frontend .order-pixel-data:has([data-order-field="current"]){grid-column:2;grid-row:2}
 #pixel-frontend .order-pixel-data:has([data-order-field="quantity"]){grid-column:1;grid-row:3}
 #pixel-frontend .order-live-pnl{grid-column:1/-1;grid-row:4;flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:6px 10px;border-top:1px solid #edc9df}
 #pixel-frontend .order-row-actions{grid-column:3;grid-row:2/4}
 #pixel-frontend .order-row-actions [data-position-action="half"]{top:0;right:4px;height:44px;min-height:44px}
 #pixel-frontend [data-position-detail]{width:28px;min-width:28px;height:32px;min-height:32px}
 #pixel-frontend .hold-actions button{min-height:44px}
 #pixel-frontend :is(.pixel-conversation,.pixel-market-extras,.pixel-recent-comments,.pixel-financial-details)>summary{display:flex;align-items:center;min-height:36px;font-size:12px}
 #pixel-frontend #player-comment-text{font-size:16px}
 body :is(#margin-dialog,#loan-dialog,#developer-dialog).dialog-shell :is(input,select,textarea){font-size:16px}
 body[data-frontend="pixel"] #leaderboard-dialog :is(#ranking-name,#ranking-sort),body[data-frontend="pixel"] #achievements-dialog .pixel-ach-choice{font-size:16px}
 #pixel-frontend .pixel-account-summary{height:auto;min-height:76px}
 #pixel-frontend .pixel-account-summary>.account-row{height:auto;min-height:45px}
 #pixel-frontend .pixel-footer-slot>footer{padding-bottom:max(10px,env(safe-area-inset-bottom,0px))}
}
/* Two readable columns, without shrinking buttons. At 700/701 and 1024/1025
   widths the same fluid rules apply; the approved desktop starts above 1200px. */
@media(min-width:760px) and (max-width:1200px){
 #pixel-frontend .pixel-dashboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto auto;align-items:start}
 #pixel-frontend .pixel-character-panel{grid-column:1/-1;grid-row:1}
 #pixel-frontend .pixel-market-panel{grid-column:1;grid-row:2}
 #pixel-frontend .pixel-trading-panel{grid-column:2;grid-row:2/5}
 #pixel-frontend .pixel-news-panel{grid-column:1;grid-row:3}
 #pixel-frontend .pixel-comments-panel{grid-column:1;grid-row:4}
 #pixel-frontend .pixel-character-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px;align-items:start}
 #pixel-frontend #character-card{display:grid;grid-template-columns:110px minmax(0,1fr);grid-template-rows:40px auto 12px auto;gap:4px 10px;min-height:0}
 #pixel-frontend .pixel-character-body #character-card>.portrait{grid-column:1;grid-row:1/4;width:110px;height:107px;align-self:start;margin:0;background-size:574.7px 383.1px;background-position:-7.85px -50.85px}
 #pixel-frontend .pixel-character-name{grid-column:1;grid-row:4;margin:0;font-size:20px;line-height:28px}
 #pixel-frontend #character-card>.character-heading{grid-column:2;grid-row:1;height:auto;min-height:40px;margin:0;padding:4px 6px;gap:4px;flex-wrap:wrap;font-size:16px}
 #pixel-frontend .character-heading>span:first-child:after{font-size:15px}
 #pixel-frontend #emotion-label{width:auto;height:30px;padding:0 6px;gap:4px;font-size:16px}
 #pixel-frontend #emotion-label:before{font-size:22px}
 #pixel-frontend #character-card>.sanity-label{grid-column:2;grid-row:2;padding:0;font-size:15px;line-height:26px;flex-wrap:wrap}
 #pixel-frontend #sanity-text{font-size:18px}
 #pixel-frontend #character-card>.sanity-meter{grid-column:2;grid-row:3;margin:0;height:12px}
 #pixel-frontend #character-card>.pixel-stamina{grid-column:2;grid-row:4;margin:0}
 #pixel-frontend .pixel-stamina-label{font-size:15px;line-height:24px;flex-wrap:wrap}
 #pixel-frontend .pixel-stamina-value{font-size:18px}
 #pixel-frontend .pixel-life-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;align-self:start}
 #pixel-frontend .pixel-life-actions>.pixel-drawer>.pixel-drawer-content{top:48px;max-height:60dvh}
 #pixel-frontend .pixel-life-actions>.pixel-comic>.pixel-drawer-content{top:98px}
 #pixel-frontend .pixel-conversation{grid-column:1/-1}
 #pixel-frontend .pixel-account-summary{grid-template-columns:minmax(0,1fr);gap:8px}
 #pixel-frontend .pixel-account-summary>.account-row{border-left:0;border-top:1px solid #edc9df;padding-top:5px}
}
@media(max-width:480px){
 #pixel-frontend .pixel-account-summary{grid-template-columns:minmax(0,1fr);gap:8px}
 #pixel-frontend .pixel-account-summary>.account-row{border-left:0;border-top:1px solid #edc9df;padding-top:5px}
 #pixel-frontend #character-card{grid-template-columns:100px minmax(0,1fr);grid-template-rows:auto auto 19px auto;gap:0 8px}
 #pixel-frontend #character-card>.portrait{width:100px;height:98px;align-self:start;background-size:522.24px 348.16px;background-position:-7.14px -46.24px}
 #pixel-frontend #character-card>.sanity-label{flex-wrap:wrap;line-height:22px}
 #pixel-frontend .character-heading{height:auto;min-height:36px;flex-wrap:wrap;padding:4px}
 #pixel-frontend #emotion-label{margin-left:auto}
 #pixel-frontend .pixel-life-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 #pixel-frontend .pixel-life-actions>.pixel-drawer>.pixel-drawer-content,#pixel-frontend .pixel-life-actions>.pixel-comic>.pixel-drawer-content{top:100px}
 #pixel-frontend .sanity-label .help-dot,#pixel-frontend .account-heading .help-dot{width:24px;height:24px;min-width:24px;min-height:24px}
 body[data-frontend="pixel"] .pixel-ach-nav{gap:6px;padding:8px}
 body[data-frontend="pixel"] .pixel-ach-nav button{font-size:14px;padding-inline:6px;min-width:0;white-space:normal}
 body[data-frontend="pixel"] #ranking-name,body[data-frontend="pixel"] .pixel-ach-choice{font-size:16px}
}
/* Risk placement measures the resulting panel, so wrapped warnings are kept
   inside the plot or fall back to the existing inline meter. */
body[data-frontend="pixel"]>.floating-risk{grid-template-columns:44px minmax(0,1fr) 134px 44px}
body[data-frontend="pixel"]>.floating-risk[data-compact="true"]{grid-template-columns:28px minmax(0,1fr) 98px 44px}
body[data-frontend="pixel"]>.floating-risk[data-compact="true"] .floating-risk-title{white-space:normal;overflow-wrap:anywhere;font-size:16px}
body[data-frontend="pixel"]>.floating-risk .floating-risk-dismiss{width:44px;min-width:44px;min-height:44px}
@media(max-width:699px){
 body[data-frontend="pixel"]>.floating-risk{grid-template-columns:28px minmax(0,1fr) 98px 44px}
 body[data-frontend="pixel"]>.floating-risk .floating-risk-title{white-space:normal;overflow-wrap:anywhere;font-size:16px}
}
/* Large settled amounts get a full row on phones rather than an 8px font.
   The underlying recap animation, numbers and original action nodes are intact. */
@media(max-width:760px){
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-profit-hero{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-profit{grid-column:1;grid-row:1;padding:0 0 10px;border-right:0;border-bottom:1px solid #ec409f}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-realized-score{display:flex;flex-direction:column;align-items:flex-start;gap:6px;height:auto}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-realized-score::before{display:none}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-realized-value{align-self:auto;font-size:min(31px,calc((100cqw - 12px)/var(--recap-score-width,10)))}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-step-group{grid-column:1;grid-row:2;padding:8px 0 0}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-counter{grid-column:1;grid-row:3;padding:0;font-size:min(33px,calc((100cqw - 12px)/var(--recap-character-width,8)))}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .recap-stage-rate-group{grid-column:1;grid-row:4;padding:0}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-paid:not([hidden]){grid-template-columns:minmax(0,1fr)}
 body[data-frontend="pixel"] #day-dialog[data-recap-layout="profit-first"] .pixel-settlement-fee{border-right:0;border-bottom:1px solid #edc9df;padding:0 0 8px}
}


/* ./fx/mobile-news-list.css */
/* Every style is owned by the mobile feed or its modal, never legacy news. */
#pixel-frontend[data-mobile-layout="true"] .mobile-news-feed{padding:5px 8px}
#pixel-frontend[data-mobile-layout="true"] .mobile-news-feed[hidden]{display:none}
#pixel-frontend[data-mobile-layout="true"] .mobile-news-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
#pixel-frontend[data-mobile-layout="true"] .mobile-news-heading h2{margin:0;font-size:16px;line-height:22px}
#pixel-frontend[data-mobile-layout="true"] .mobile-news-more{min-height:44px;padding:4px 5px;font-size:13px;background:none;border:0}
#pixel-frontend[data-mobile-layout="true"] .mobile-news-row{display:grid;grid-template-columns:72px minmax(0,1fr) 12px;gap:5px;align-items:center;width:100%;min-width:0;min-height:44px;padding:5px 0;text-align:left;white-space:normal;border:0;border-top:1px solid #eee3ec;border-radius:0;background:none;font-size:13px;line-height:19px}
#pixel-frontend[data-mobile-layout="true"] .mobile-news-row time{font-size:10px;line-height:15px;color:#64618e;overflow-wrap:anywhere}
#pixel-frontend[data-mobile-layout="true"] .mobile-news-row>span{min-width:0;overflow-wrap:anywhere}
body[data-frontend="pixel"] .mobile-news-dialog{width:min(94vw,560px);max-width:560px;max-height:85dvh;padding:0;color:#11154f;border:1px solid #f5bfdc;border-radius:10px;background:#fffbfd}
body[data-frontend="pixel"] .mobile-news-dialog::backdrop{background:#151d5470}
body[data-frontend="pixel"] .mobile-news-dialog-heading{display:flex;align-items:center;gap:6px;position:sticky;top:0;padding:7px;background:#fff8fc;border-bottom:1px solid #eee3ec}
body[data-frontend="pixel"] .mobile-news-dialog-heading h2{flex:1;margin:0;font-size:16px;line-height:23px;overflow-wrap:anywhere}
body[data-frontend="pixel"] .mobile-news-dialog-heading button{flex:none;min-height:44px;padding:5px;font-size:13px}
body[data-frontend="pixel"] .mobile-news-dialog-heading button[hidden]{display:none}
body[data-frontend="pixel"] .mobile-news-dialog-body{max-height:calc(85dvh - 74px);padding:9px 12px;overflow:auto;font-size:15px;line-height:1.7;overflow-wrap:anywhere}
body[data-frontend="pixel"] .mobile-news-dialog-body .mobile-news-row{display:grid;grid-template-columns:85px minmax(0,1fr) 12px;gap:7px;width:100%;min-height:48px;padding:9px 0;text-align:left;border:0;border-bottom:1px solid #eee3ec;border-radius:0;background:none;font-size:14px;line-height:21px}
body[data-frontend="pixel"] .mobile-news-dialog-body time{font-size:11px;color:#64618e;line-height:17px}
body[data-frontend="pixel"] .mobile-news-dialog-body p{white-space:pre-wrap}
body[data-frontend="pixel"] .mobile-news-source{font-size:12px;color:#64618e}
body[data-frontend="pixel"] .mobile-news-source a{display:inline-block;min-height:44px;line-height:44px;overflow-wrap:anywhere}
body[data-frontend="pixel"] .mobile-news-background{margin-top:16px;padding-top:12px;border-top:1px solid #eee3ec}
body[data-frontend="pixel"] .mobile-news-dialog .dialog-scroll{display:flex;flex-direction:column;padding:0;overflow:hidden}
body[data-frontend="pixel"] .mobile-news-dialog .dialog-scroll>.mobile-news-dialog-heading{flex:0 0 auto}
body[data-frontend="pixel"] .mobile-news-dialog .dialog-scroll>.mobile-news-dialog-body{flex:1 1 auto;min-height:0;max-height:none}
body[data-frontend="pixel"] .mobile-news-dialog .dialog-toolbar .x-close{font-size:14px}


/* ./fx/panorama-layout.css */
/* Approved panorama, 2026-10-11. Presentation-only final cascade.
   Live controls and amounts stay owned by their existing controllers.
   Every selector is scoped to the pixel renderer; original rendering is intact. */
body[data-frontend="pixel"]{background:#fff4f9}
#pixel-frontend{--px-ink:#151d54;--px-pink:#f7489b;--px-mint:#47dfd0;--px-line:#f0cadd;--panorama-line:#efd8e5;--panorama-control:#d7dced;--panorama-muted:#747c9f;background:radial-gradient(ellipse at 15% 4%,#fffafd,transparent 55%),linear-gradient(115deg,#fff2f8,#fffafb 65%,#fff0f7)}
#pixel-frontend button{border:1px solid var(--panorama-control);box-shadow:none;background:linear-gradient(#fff,#f8faff)}
#pixel-frontend button[aria-pressed="true"]{border-color:#f7a5ca;background:linear-gradient(120deg,#ffe0ef,#ffc4e1);box-shadow:inset 0 0 0 1px #fff7fb}
#pixel-frontend :is(button,input,select,textarea,summary):focus-visible{outline:3px solid #d52d7f;outline-offset:3px}
#pixel-frontend .pixel-header-slot{height:78px;border-bottom:1px solid #f2bad5;background:linear-gradient(100deg,#fff5fa,#fff0f7 74%,#ffe9f4)}
#pixel-frontend .pixel-header-slot:after{top:10px;opacity:.8}
#pixel-frontend .topbar{height:77px;padding-inline:24px;gap:22px}
#pixel-frontend .brand{font-size:41px;letter-spacing:-1px}
#pixel-frontend .top-right{gap:18px}
#pixel-frontend #mode-open{width:182px;height:56px;border:1px solid #f7a5ca;background:linear-gradient(115deg,#ffd7e9,#ffe8f3)}
#pixel-frontend .pixel-source-status{flex:0 0 auto;min-width:106px;height:46px;justify-content:center;padding:0 14px;border:1px solid var(--panorama-control);border-radius:7px;background:#ffffffc9;font-size:19px}
#pixel-frontend .pixel-source-status:before{display:none}
#pixel-frontend .pixel-exit-region{display:flex;align-items:center;margin-left:auto;padding:0 16px;border-left:1px solid #f4b8d5;border-right:1px solid #f4b8d5}
#pixel-frontend .pixel-exit-region #retire{display:flex;align-items:center;gap:9px;min-height:44px;padding:0;border:0;background:none;font-size:18px;font-weight:700;color:var(--px-ink);box-shadow:none}
#pixel-frontend .pixel-exit-region #retire:before{content:'↪';display:grid;place-items:center;width:29px;height:31px;border:2px solid var(--px-ink);border-radius:3px;color:#ed438d;font-size:29px;line-height:1}
#pixel-frontend :is(#leaderboard-open,#achievements-open,#share-open){font-size:19px;gap:7px}
#pixel-frontend .pixel-settings{margin-right:115px}
#pixel-frontend .pixel-settings>summary{font-size:19px;gap:6px;border-left:1px solid #f4b8d5;padding-left:13px}
#pixel-frontend .pixel-drawer-content{border:1px solid var(--px-line);box-shadow:0 8px 24px #52243b14;background:#fffafd}
#pixel-frontend .pixel-settings>.pixel-drawer-content{box-shadow:0 8px 24px #52243b20}
#pixel-frontend .pixel-dashboard{grid-template-columns:296px 680px 516px;grid-template-rows:minmax(630px,auto) minmax(194px,auto);gap:12px;padding:10px 10px 0;align-items:stretch}
#pixel-frontend .pixel-panel{border:1px solid var(--px-line);border-radius:9px;background:#ffffffeb;box-shadow:none}
#pixel-frontend .pixel-panel-title{height:44px;border-bottom:1px solid #f2dce8;background:linear-gradient(100deg,#fff4f9,#fff0f7);font-size:25px;letter-spacing:.2px;gap:9px}
#pixel-frontend .pixel-news-panel{grid-column:1/3;grid-row:2;width:385px;margin:0}
#pixel-frontend .pixel-comments-panel{grid-column:1/3;grid-row:2;width:auto;margin-left:397px}
#pixel-frontend .pixel-trading-panel{min-height:0;align-self:stretch}
#pixel-frontend .pixel-trade-body .trade-card{display:block}
#pixel-frontend :is(.pixel-news-panel,.pixel-comments-panel)>.pixel-panel-title{height:39px;font-size:22px}
#pixel-frontend .pixel-character-body{padding:10px 10px 8px}
#pixel-frontend #character-card>.portrait{width:100%;height:272px;border:1px solid #f1cbde;background-size:1436px 957.33px;background-position:-19.63px -127.15px}
#pixel-frontend .pixel-character-name{font-size:23px;line-height:33px;letter-spacing:1px}
#pixel-frontend #character-card>.sanity-label{font-size:18px;line-height:29px;padding-inline:3px}
#pixel-frontend #sanity-text{font-size:23px;letter-spacing:-.6px}
#pixel-frontend #character-card>.sanity-meter{height:15px;margin:4px 3px 11px;border:1px solid #e1d6e7;background:#f6f3f8}
#pixel-frontend #sanity-fill{background:linear-gradient(90deg,#f858a2,#ff83b6);box-shadow:none}
#pixel-frontend .character-heading{height:48px;margin-bottom:10px;padding:4px 9px;border-color:#f1cadd;gap:7px}
#pixel-frontend .character-heading>span:first-child:after{font-size:19px}
#pixel-frontend #emotion-label{height:36px;width:121px;font-size:20px;background:linear-gradient(100deg,#d2fff7,#a9f8ee)}
#pixel-frontend .pixel-life-actions{gap:8px}
#pixel-frontend .pixel-life-actions>.pixel-drawer>summary,#pixel-frontend .pixel-voice-button,#pixel-frontend .pixel-life-button{height:53px;border-color:#f1cadd;background:linear-gradient(#fffafd,#fff);font-size:21px;gap:4px}
#pixel-frontend .pixel-life-actions>.pixel-comic>summary{height:53px}
#pixel-frontend .pixel-voice-button{font-size:0}
#pixel-frontend .pixel-voice-button:after{font-size:21px}
#pixel-frontend .pixel-life-actions .pixel-sprite,#pixel-frontend .pixel-voice-button:before{transform:scale(.85);margin:-3px}
#pixel-frontend .pixel-life-actions>.pixel-drawer>.pixel-drawer-content{top:61px;box-shadow:0 8px 20px #52243b1a}
#pixel-frontend .pixel-life-actions>.pixel-comic>.pixel-drawer-content{top:122px}
#pixel-frontend :is(.pixel-session,.pixel-conversation){font-size:11px;margin-top:5px;color:var(--panorama-muted)}
#pixel-frontend :is(.pixel-session,.pixel-conversation)>summary{font-size:11px;line-height:19px;min-height:19px}
#pixel-frontend #terminal{padding:11px 11px 0}
#pixel-frontend .pixel-currency-tabs{gap:5px;margin-bottom:12px}
#pixel-frontend .pixel-currency-button{height:43px;min-width:120px;margin:0;font-size:19px;padding:0 17px}
#pixel-frontend #terminal>.candle-view-controls{gap:5px;padding-bottom:10px;border-bottom:0}
#pixel-frontend .candle-view-controls>button{height:44px;min-height:44px;border:1px solid var(--panorama-control);font-size:15px;padding-inline:7px}
#pixel-frontend .candle-view-controls #quote-package-open{width:103px;margin-right:3px;font-size:17px}
#pixel-frontend #quote-refresh-options{width:308px;flex:1 1 308px}
#pixel-frontend .quote-refresh-choice{border:1px solid var(--panorama-control)!important;height:44px!important;min-height:44px!important;padding:2px 4px!important}
#pixel-frontend .quote-refresh-choice[aria-pressed=true]{border-color:#f6aacb!important;background:linear-gradient(115deg,#ffe0ef,#ffc6e1)!important}
#pixel-frontend .quote-refresh-choice strong{font-size:14px}
#pixel-frontend #trading-clock-label{font-size:16px;line-height:25px;margin:4px 2px 0}
#pixel-frontend #chart{height:388px!important}
#pixel-frontend #chart svg>line{stroke:#edf0f5}
#pixel-frontend #chart svg>line[clip-path]{stroke:#f24dab}
#pixel-frontend .pixel-market-extras{margin:7px 12px 9px;color:var(--panorama-muted)}
#pixel-frontend #news{padding:8px 12px 11px}
#pixel-frontend .news-meta,#pixel-frontend #news-time{font-size:12px;gap:7px}
#pixel-frontend #news-title{font-size:17px;line-height:1.5;margin:8px 0 6px}
#pixel-frontend #news-copy{font-size:14px;line-height:1.6;max-height:91px;overflow:auto}
#pixel-frontend #news-archive-details{font-size:12px;margin-top:5px}
/* Keep all four scheduler lanes visible; never crop the busy-market lane. */
#pixel-frontend #investor-danmaku,#pixel-frontend #investor-danmaku[data-reduced=true]{height:96px;background:repeating-linear-gradient(180deg,#fffdfd 0,#fff7fb 23px,#f5e5ed 24px)}
#pixel-frontend #investor-danmaku .investor-danmaku-line{top:calc(var(--comment-lane) * 24px);height:24px;line-height:24px;font-size:13px}
#pixel-frontend #investor-danmaku .investor-danmaku-line:before{width:22px;height:24px;margin-right:6px;background-size:860.16px 573.44px;background-position:-272.72px -443.52px}
#pixel-frontend #investor-danmaku .investor-danmaku-line:nth-child(3n+2):before{background-position:-456.96px -443.52px}
#pixel-frontend #investor-danmaku .investor-danmaku-line:nth-child(3n):before{background-position:-290.64px -473.2px}
#pixel-frontend #investor-danmaku[data-reduced=true] .investor-danmaku-line{height:auto;min-height:24px;font-size:13px;line-height:1.5;padding:3px 0}
#pixel-frontend #player-comments{padding:5px 9px}
#pixel-frontend #player-comments form{height:42px;gap:7px}
#pixel-frontend #player-comment-text{height:42px;max-height:84px;border:1px solid var(--panorama-control);font-size:16px;line-height:23px;padding:8px 10px}
#pixel-frontend #player-comments form button{width:92px;font-size:18px;border-color:#f7a7ce;background:linear-gradient(#ffadd5,#fb79b4)}
#pixel-frontend .pixel-account-summary{height:auto;min-height:72px;border-bottom:1px solid #f2dce8;padding:9px 12px;gap:10px;grid-template-columns:1.04fr 1fr}
#pixel-frontend .account-heading{padding-left:50px}
#pixel-frontend .account-heading>span:before{font-size:16px}
#pixel-frontend .pixel-account-summary>.account-row{padding-left:50px;border-left:1px solid #f1d2e2}
#pixel-frontend #equity{font-size:29px;letter-spacing:-.8px}
#pixel-frontend #day-pnl{font-size:27px;letter-spacing:-.8px}
#pixel-frontend #order-empty{padding:9px 11px 0;gap:8px}
#pixel-frontend #amount-field{height:168px;border:1px solid #f1d6e4;padding:0 8px 6px}
#pixel-frontend .amount-heading{height:34px}
#pixel-frontend .amount-heading label{font-size:18px}
#pixel-frontend #amount-random{height:29px;min-height:29px;padding:0 8px;border-color:#f1d4e2}
#pixel-frontend #order-amount{height:44px;min-height:44px;border:1px solid var(--panorama-control);font-size:29px;padding-left:73px}
#pixel-frontend #amount-field:after{left:9px;top:34px;height:44px;border-right:1px solid var(--panorama-control);font-size:28px}
#pixel-frontend .amount-presets{grid-template-rows:35px 35px;gap:4px;margin-top:5px}
#pixel-frontend .amount-presets button{font-size:16px;min-height:35px;border-color:var(--panorama-control)}
#pixel-frontend #percent-slider-field{order:1;display:grid;gap:3px;min-width:0;margin:0;padding:0 5px 4px;border:0;background:none}
#pixel-frontend .pixel-percent-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:16px;font-weight:650;min-width:0}
#pixel-frontend #percent-available-margin{font-variant-numeric:tabular-nums;white-space:nowrap}
#pixel-frontend #percent-selected{margin-left:auto;padding:3px 8px;border:1px solid #f8dce9;border-radius:5px;background:#fff4f9;color:#dc2e7c;font-size:14px;max-width:100%;overflow-wrap:anywhere}
#pixel-frontend .pixel-percent-slider{display:block;width:100%;height:26px;min-height:26px;margin:0;appearance:none;-webkit-appearance:none;background:transparent;accent-color:#ef428e;cursor:pointer;touch-action:pan-y}
#pixel-frontend .pixel-percent-slider::-webkit-slider-runnable-track{height:9px;border-radius:9px;background:linear-gradient(to right,#f456a1 0 var(--percent-progress,0%),#fbdbe9 var(--percent-progress,0%) 100%)}
#pixel-frontend .pixel-percent-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;margin-top:-6px;width:21px;height:21px;border:3px solid #ee398b;border-radius:50%;background:#fff;box-shadow:0 2px 6px #ef428e35}
#pixel-frontend .pixel-percent-slider::-moz-range-track{height:9px;border-radius:9px;background:linear-gradient(to right,#f456a1 0 var(--percent-progress,0%),#fbdbe9 var(--percent-progress,0%) 100%)}
#pixel-frontend .pixel-percent-slider::-moz-range-thumb{width:18px;height:18px;border:3px solid #ee398b;border-radius:50%;background:#fff}
#pixel-frontend .pixel-percent-bounds{display:flex;justify-content:space-between;font-size:12px;line-height:17px;color:#545e8c}
#pixel-frontend #order-empty>fieldset{height:43px;padding:4px 4px 4px 88px;border:0;border-radius:0;background:none}
#pixel-frontend #order-empty>fieldset>legend{top:8px;font-size:19px}
#pixel-frontend #order-empty>fieldset:has(#leverages)>legend,#pixel-frontend #order-empty>fieldset:has(#stops)>legend{left:1px;width:85px;font-size:19px}
#pixel-frontend #order-empty>fieldset:has(#stops){height:43px}
#pixel-frontend #order-empty fieldset button{font-size:16px;border:1px solid var(--panorama-control)}
#pixel-frontend #order-empty .entry-actions{height:62px;padding:2px 0 0;margin:0;gap:10px}
#pixel-frontend .entry-actions button{height:60px;border:1px solid #fa83b7;border-radius:7px;font-size:30px;background:linear-gradient(110deg,#f44f9c,#f13e91);box-shadow:inset 0 1px #ffffff55}
#pixel-frontend .entry-actions #long:before{font-size:36px;color:#fff;text-shadow:none}
#pixel-frontend .entry-actions #short{border-color:#5edcd1;background:linear-gradient(110deg,#65e7dc,#45dcca)}
#pixel-frontend .entry-actions #short:before{font-size:36px;color:#007982}
#pixel-frontend .pixel-fee-summary{font-size:12px;line-height:18px;margin:6px 12px 8px;color:var(--panorama-muted)}
#pixel-frontend .pixel-fee-summary b{font-size:12px}
#pixel-frontend .pixel-positions-slot{margin:10px 0 0;padding:0 10px 9px;border-top:1px solid var(--px-line)}
#pixel-frontend .position-title{height:43px;min-height:43px;margin:0 -10px 7px;padding:0 10px;border:0;border-bottom:1px solid var(--px-line);border-radius:0;background:linear-gradient(110deg,#fff4f9,#fff0f7)}
#pixel-frontend .position-title>span:after{font-size:21px}
#pixel-frontend #position-close-all{height:32px;min-height:32px;font-size:16px;padding-inline:15px;border-color:#f16aaa;background:linear-gradient(#ff77b5,#f34697)}
#pixel-frontend .position-list{gap:7px}
#pixel-frontend .order-row{min-height:89px;grid-template-columns:repeat(4,minmax(0,1fr)) 65px;grid-template-rows:34px minmax(54px,auto);border:1px solid #f0d3e3;border-radius:7px}
#pixel-frontend .order-row-head{height:34px;font-size:16px;border-bottom:1px solid #f6e3ec;padding-left:8px;gap:7px}
#pixel-frontend [data-order-title]{font-size:16px;letter-spacing:0}
#pixel-frontend [data-order-leverage]{font-size:12px;padding:3px 5px}
#pixel-frontend .order-pixel-data{padding:4px 2px;border-color:#edf0f6;gap:1px}
#pixel-frontend .order-pixel-data>span,#pixel-frontend .order-live-pnl>span{font-size:12px;line-height:18px;color:#848bab}
#pixel-frontend .order-pixel-data>b,#pixel-frontend .order-live-pnl>b{font-size:16px;line-height:21px;letter-spacing:-.3px}
#pixel-frontend .order-row-actions{padding-inline:4px}
#pixel-frontend .order-row-actions [data-position-action="close"]{width:55px;height:39px;min-height:39px;border:1px solid #ef9ec5;background:linear-gradient(#ffd7ec,#ffb9dc)}
#pixel-frontend .order-row-actions [data-position-action="close"]:after{font-size:17px}
#pixel-frontend .order-row-actions [data-position-action="half"]{top:3px;height:27px;min-height:27px;border-color:#f1cadd}
#pixel-frontend .hold-actions{padding-top:7px}
#pixel-frontend .hold-actions button{border-color:#eed6e3;color:#746482;background:#fffafd}
#pixel-frontend .pixel-financial-details{margin-top:0}
/* Native presets are replaced by the percentage range only in this renderer. */
#pixel-frontend #percent-field[hidden]{display:none!important}
/* Compact layouts retain full-size hit targets and complete financial facts. */
@media(max-width:1200px){
 #pixel-frontend .pixel-header-slot{height:auto;min-height:74px}
 #pixel-frontend .topbar{height:auto;padding:10px max(10px,env(safe-area-inset-right,0px)) 10px max(10px,env(safe-area-inset-left,0px));gap:9px}
 #pixel-frontend .brand{font-size:29px;max-width:calc(100% - 123px)}
 #pixel-frontend .top-right{gap:7px;flex-wrap:wrap;overflow:visible}
 #pixel-frontend #mode-open{width:116px;height:46px;right:max(10px,env(safe-area-inset-right,0px));top:8px}
 #pixel-frontend .pixel-source-status{min-width:82px;height:44px;padding:0 8px;font-size:13px}
 #pixel-frontend .pixel-exit-region{margin-left:auto;padding:0 7px}
 #pixel-frontend .pixel-exit-region #retire{font-size:13px;gap:4px;min-height:44px}
 #pixel-frontend .pixel-exit-region #retire:before{width:21px;height:25px;font-size:21px}
 #pixel-frontend :is(#leaderboard-open,#achievements-open,#share-open){font-size:14px;gap:2px;min-height:44px}
 #pixel-frontend .pixel-settings{margin:0;position:static}
 #pixel-frontend .pixel-settings>.pixel-drawer-content{right:10px;top:100%;width:min(310px,calc(100vw - 20px))}
 #pixel-frontend .pixel-settings>summary{font-size:14px;gap:0;padding-left:5px;min-height:44px}
 #pixel-frontend .pixel-dashboard{display:flex;gap:10px;padding:9px;grid-template-columns:none;grid-template-rows:none}
 #pixel-frontend .pixel-panel{width:100%;margin:0;min-height:0}
 #pixel-frontend .pixel-panel-title{height:41px;font-size:22px}
 #pixel-frontend .pixel-character-body{padding:9px}
 #pixel-frontend #character-card>.portrait{width:125px;height:122px;background-size:652.8px 435.2px;background-position:-8.925px -57.8px}
 #pixel-frontend .pixel-character-name{font-size:22px;line-height:27px}
 #pixel-frontend #character-card>.sanity-label{font-size:15px;line-height:25px;padding:0}
 #pixel-frontend #sanity-text{font-size:20px}
 #pixel-frontend #character-card>.sanity-meter{height:13px;margin:2px 0 0}
 #pixel-frontend .character-heading{height:36px;margin:0;padding:2px 6px}
 #pixel-frontend .character-heading>span:first-child:after{font-size:14px}
 #pixel-frontend #emotion-label{height:29px;width:88px;font-size:15px}
 #pixel-frontend .pixel-life-actions{gap:6px}
 #pixel-frontend .pixel-life-actions>.pixel-drawer>summary,#pixel-frontend .pixel-voice-button,#pixel-frontend .pixel-life-button,#pixel-frontend .pixel-life-actions>.pixel-comic>summary{height:46px;min-height:46px;font-size:16px}
 #pixel-frontend .pixel-voice-button{font-size:0}
 #pixel-frontend .pixel-voice-button:after{font-size:16px}
 #pixel-frontend .pixel-life-actions .pixel-sprite,#pixel-frontend .pixel-voice-button:before{transform:scale(.64);margin:-7px}
 #pixel-frontend .pixel-life-actions>.pixel-drawer>.pixel-drawer-content,#pixel-frontend .pixel-life-actions>.pixel-comic>.pixel-drawer-content{top:54px}
 #pixel-frontend #terminal{padding:9px 8px 0}
 #pixel-frontend .pixel-currency-button{min-width:0;min-height:44px;font-size:16px;padding-inline:6px}
 #pixel-frontend #terminal>.candle-view-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
 #pixel-frontend .candle-view-controls #quote-package-open{width:100%;margin:0;grid-column:span 2;font-size:14px}
 #pixel-frontend #quote-refresh-options{grid-column:span 4;width:100%;max-width:none}
 #pixel-frontend .quote-refresh-choice strong{font-size:11px}
 #pixel-frontend .candle-view-controls>button:not(#quote-package-open){grid-column:span 2;grid-row:2;min-height:44px;font-size:13px}
 #pixel-frontend #trading-clock-label{font-size:12px;line-height:20px;white-space:normal}
 #pixel-frontend #chart{height:280px!important}
 #pixel-frontend .pixel-account-summary{grid-template-columns:1.04fr 1fr;padding:9px;gap:8px}
 #pixel-frontend .account-heading{padding-left:36px}
 #pixel-frontend .pixel-account-summary>.account-row{padding-left:36px}
 #pixel-frontend .account-heading>span:before{font-size:14px}
 #pixel-frontend #order-empty{padding:9px 9px 0;gap:7px}
 #pixel-frontend #amount-field{height:auto;min-height:191px}
 #pixel-frontend .amount-heading{height:44px;min-height:44px}
 #pixel-frontend #amount-random{height:44px;min-height:44px}
 #pixel-frontend #amount-field:after{top:44px}
 #pixel-frontend .amount-presets{grid-template-rows:repeat(2,44px)}
 #pixel-frontend .amount-presets button{min-height:44px;font-size:15px}
 #pixel-frontend #percent-slider-field{padding-inline:2px;gap:0}
 #pixel-frontend .pixel-percent-heading{font-size:14px}
 #pixel-frontend #percent-selected{font-size:13px}
 #pixel-frontend .pixel-percent-slider{height:44px;min-height:44px}
 #pixel-frontend #order-empty>fieldset,#pixel-frontend #order-empty>fieldset:has(#stops){height:auto;min-height:82px;padding:34px 0 0}
 #pixel-frontend #order-empty>fieldset>legend,#pixel-frontend #order-empty>fieldset:has(#leverages)>legend,#pixel-frontend #order-empty>fieldset:has(#stops)>legend{left:3px;top:4px;width:auto;font-size:17px}
 #pixel-frontend #order-empty fieldset button{height:44px;min-height:44px;font-size:16px}
 #pixel-frontend .pixel-positions-slot{padding-inline:9px}
 #pixel-frontend .position-title{margin-inline:-9px;height:auto;min-height:54px;padding-block:4px;flex-wrap:wrap}
 #pixel-frontend #position-close-all{height:44px;min-height:44px}
 #pixel-frontend .order-row{grid-template-columns:repeat(2,minmax(0,1fr)) 64px;grid-template-rows:44px minmax(50px,auto) minmax(50px,auto) minmax(44px,auto)}
 #pixel-frontend .order-row-head{height:44px}
 #pixel-frontend .order-row-actions [data-position-action="half"]{top:0;height:44px;min-height:44px}
 #pixel-frontend .order-row-actions [data-position-action="close"]{height:46px;min-height:46px}
 #pixel-frontend .order-live-pnl{grid-column:1/-1;grid-row:4;padding:6px 9px;border-top:1px solid #f1dce8}
 #pixel-frontend .hold-actions button{min-height:44px}
 #pixel-frontend #player-comments form{height:44px}
 #pixel-frontend #player-comment-text{height:44px;min-height:44px;font-size:16px}
 #pixel-frontend #player-comments form button{min-height:44px;font-size:16px;width:82px}
 #pixel-frontend :is(.pixel-conversation,.pixel-session,.pixel-market-extras,.pixel-recent-comments,.pixel-financial-details)>summary{display:flex;align-items:center;min-height:36px;font-size:12px}
}
@media(min-width:760px) and (max-width:1200px){
 #pixel-frontend .pixel-dashboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto auto}
 #pixel-frontend .pixel-character-panel{grid-column:1/-1;grid-row:1}
 #pixel-frontend .pixel-market-panel{grid-column:1;grid-row:2}
 #pixel-frontend .pixel-trading-panel{grid-column:2;grid-row:2/5}
 #pixel-frontend .pixel-news-panel{grid-column:1;grid-row:3}
 #pixel-frontend .pixel-comments-panel{grid-column:1;grid-row:4}
 #pixel-frontend .pixel-account-summary{grid-template-columns:minmax(0,1fr)}
 #pixel-frontend .pixel-account-summary>.account-row{border-left:0;border-top:1px solid #f1d2e2;padding-top:6px}
}
@media(max-width:480px){
 #pixel-frontend .pixel-source-status{min-width:76px;padding-inline:6px}
 #pixel-frontend .pixel-exit-region{margin-left:0;padding-inline:6px}
 #pixel-frontend .top-right{gap:5px}
 #pixel-frontend .pixel-account-summary{grid-template-columns:minmax(0,1fr)}
 #pixel-frontend .pixel-account-summary>.account-row{border-left:0;border-top:1px solid #f1d2e2;padding-top:6px}
 #pixel-frontend #character-card>.portrait{width:100px;height:98px;background-size:522.24px 348.16px;background-position:-7.14px -46.24px}
 #pixel-frontend .pixel-life-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 #pixel-frontend .pixel-life-actions>.pixel-drawer>.pixel-drawer-content,#pixel-frontend .pixel-life-actions>.pixel-comic>.pixel-drawer-content{top:104px}
 #pixel-frontend .character-heading{height:auto;min-height:36px;flex-wrap:wrap}
 #pixel-frontend #chart{height:248px!important}
}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) #pixel-frontend .pixel-percent-slider{scroll-behavior:auto}}


/* ./fx/single-action-card.css */
/* New presentation only. The original renderer, chart controls and action gates remain intact. */
#pixel-frontend #character-card>.character-heading{order:2}
#pixel-frontend .character-heading>span:first-child:after{content:'情绪'}
#pixel-frontend #character-card>.sanity-label{order:3}
#pixel-frontend #character-card>.sanity-meter{order:4}
#pixel-frontend .pixel-stamina{order:5;margin:0 3px 12px;color:var(--px-ink);min-width:0}
#pixel-frontend .pixel-stamina-label{display:flex;align-items:center;gap:7px;min-height:29px;font-size:18px;line-height:29px}
#pixel-frontend .pixel-stamina-caption{font-weight:700;margin-right:auto}
#pixel-frontend .pixel-stamina-value{font-size:23px;letter-spacing:-.6px;font-variant-numeric:tabular-nums;white-space:nowrap}
#pixel-frontend .pixel-stamina-state{font-size:15px;font-weight:700;color:#a16d00}
#pixel-frontend .pixel-stamina-track{position:relative;height:15px;margin-top:4px;border:1px solid #d8dfee;border-radius:15px;background:#f6f3f8}
#pixel-frontend .pixel-stamina-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#36daca,#42e3d2)}
#pixel-frontend .pixel-stamina[data-low="true"] .pixel-stamina-fill{background:linear-gradient(90deg,#ffbc31,#ffd66b)}
#pixel-frontend .pixel-stamina[data-low="true"] .pixel-stamina-track:after{content:'';position:absolute;left:20%;top:-3px;bottom:-3px;border-left:1px dashed #8992bc}
/* This lane exists while empty or dismissed, so entering/leaving a reminder
   never changes the chart height or shifts trading, news or comment controls. */
#pixel-frontend .single-action-slot{order:5;flex:none;width:100%;height:94px;min-height:94px;padding:8px 0;box-sizing:border-box}
#pixel-frontend .single-action-card{height:100%;box-sizing:border-box;display:grid;grid-template-columns:46px minmax(0,1fr) 116px 28px;align-items:center;gap:10px;margin:0;padding:7px 8px;border:1px solid #f3a4c8;border-radius:8px;background:linear-gradient(105deg,#fff5f8,#fff0f5);color:var(--px-ink)}
#pixel-frontend .single-action-card[hidden],#pixel-frontend .single-action-card button[hidden],#pixel-frontend .pixel-stamina-state[hidden]{display:none!important}
#pixel-frontend .single-action-icon{width:44px;height:49px;display:block}
#pixel-frontend .single-action-icon svg{width:100%;height:100%;display:block}
#pixel-frontend .single-action-copy{min-width:0}
#pixel-frontend .single-action-title{display:block;font-size:18px;line-height:25px;color:#991852}
#pixel-frontend .single-action-message{margin:1px 0 0;font-size:15px;line-height:22px;overflow-wrap:anywhere}
#pixel-frontend .single-action-card[data-kind="risk"]{border-color:#ef9a85;background:linear-gradient(105deg,#fff7ee,#fff2ee)}
#pixel-frontend .single-action-card[data-kind="risk"] .single-action-title{color:#a4412f}
#pixel-frontend .single-action-card :is(.single-action-close,.single-action-rest){grid-column:3;grid-row:1;min-width:0;min-height:44px;white-space:normal;overflow-wrap:anywhere;line-height:1.35;border-color:#f075b1;background:linear-gradient(#ffb6d9,#ff87bf);font-size:17px;font-weight:700;color:var(--px-ink)}
#pixel-frontend .single-action-dismiss{grid-column:4;grid-row:1;align-self:start;min-width:28px;min-height:28px;padding:0;background:transparent;border-color:transparent;color:#9b6682;font-size:22px;line-height:26px}
#pixel-frontend .single-action-card button:disabled{opacity:.55;cursor:default}
/* The lids are clipped to the chart stage, below its risk actions (z-index 2).
   They never take input, are excluded from accessibility, and show one short sweep. A hidden tab/modal cancels both sweep and timers. */
body[data-frontend="pixel"] .stamina-eyelids{position:absolute;inset:0;z-index:1;pointer-events:none!important;overflow:hidden}
body[data-frontend="pixel"] .stamina-eyelids[hidden],body:not([data-frontend="pixel"]) .stamina-eyelids{display:none!important}
body[data-frontend="pixel"] .stamina-eyelid{position:absolute;left:-2%;width:104%;height:52%;pointer-events:none!important;will-change:transform}
body[data-frontend="pixel"] .stamina-eyelid-top{top:0;transform:translateY(-105%);border-radius:0 0 45% 45% / 0 0 9% 9%;background:linear-gradient(#281322 80%,#281322e6 94%,#28132200)}
body[data-frontend="pixel"] .stamina-eyelid-bottom{bottom:0;transform:translateY(105%);border-radius:45% 45% 0 0 / 9% 9% 0 0;background:linear-gradient(0deg,#281322 80%,#281322e6 94%,#28132200)}
body[data-frontend="pixel"] .stamina-eyelids.is-blinking .stamina-eyelid-top{animation:kurumi-stamina-top 1s ease-in-out both}
body[data-frontend="pixel"] .stamina-eyelids.is-blinking .stamina-eyelid-bottom{animation:kurumi-stamina-bottom 1s ease-in-out both}
@keyframes kurumi-stamina-top{0%,100%{transform:translateY(-105%)}40%,47%{transform:translateY(0)}}
@keyframes kurumi-stamina-bottom{0%,100%{transform:translateY(105%)}40%,47%{transform:translateY(0)}}
@media(max-width:1200px){
 #pixel-frontend #character-card{grid-template-rows:29px minmax(36px,auto) minmax(25px,auto) 15px 52px}
 #pixel-frontend #character-card>.portrait{grid-row:1/6}
 #pixel-frontend #character-card>.character-heading{grid-column:2;grid-row:2}
 #pixel-frontend #character-card>.sanity-label{grid-column:2;grid-row:3}
 #pixel-frontend #character-card>.sanity-meter{grid-column:2;grid-row:4}
 #pixel-frontend .pixel-stamina{grid-column:2;grid-row:5;margin:2px 0 0}
 #pixel-frontend .pixel-stamina-label{font-size:15px;line-height:25px;min-height:25px}
 #pixel-frontend .pixel-stamina-value{font-size:20px}
 #pixel-frontend .pixel-stamina-state{font-size:12px}
 #pixel-frontend .pixel-stamina-track{height:13px;margin-top:2px}
 #pixel-frontend .single-action-slot{height:126px;min-height:126px}
 #pixel-frontend .single-action-card{grid-template-columns:35px minmax(0,1fr) 86px;grid-template-rows:minmax(0,1fr);gap:7px;padding:7px}
 #pixel-frontend .single-action-icon{width:34px;height:43px}
 #pixel-frontend .single-action-title{font-size:15px;line-height:22px}
 #pixel-frontend .single-action-message{font-size:13px;line-height:20px}
 #pixel-frontend .single-action-card :is(.single-action-close,.single-action-rest){font-size:14px;padding:3px 7px;align-self:end}
 #pixel-frontend .single-action-dismiss{grid-column:3;min-width:44px;min-height:44px;justify-self:end;margin-top:-7px;margin-right:-7px}
}
@media(prefers-reduced-motion:reduce){body:not(.motion-full)[data-frontend="pixel"] .stamina-eyelids{display:none!important}}


/* ./fx/stamina-fatigue.css */
/* One document-root filter covers header, market, controls and fixed dock.
   The root is intentionally used: filtering body/main would re-anchor fixed
   descendants. Strength changes in bounded stamina steps, never per frame. */
html[data-stamina-vision="true"]{filter:var(--stamina-ghost-filter) blur(var(--stamina-blur,.3px))}
.stamina-drowsiness{position:fixed;inset:0;z-index:9999;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at center,transparent 30%,rgb(5 3 9 / var(--stamina-vignette,.3)) 100%),rgb(6 3 10 / var(--stamina-dim,.1))}
.stamina-vision-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.stamina-drowsiness::before,.stamina-drowsiness::after{content:"";position:absolute;left:-3%;width:106%;height:58%;pointer-events:none;animation:stamina-slow-blink var(--stamina-blink-duration,12s) ease-in-out infinite;will-change:transform}
.stamina-drowsiness::before{top:0;border-radius:0 0 48% 48%;background:linear-gradient(to bottom,#050307 76%,#050307e8 89%,#05030700 100%);--lid-rest:calc(-1 * var(--stamina-lid-open,98%))}
.stamina-drowsiness::after{bottom:0;border-radius:48% 48% 0 0;background:linear-gradient(to top,#050307 76%,#050307e8 89%,#05030700 100%);--lid-rest:var(--stamina-lid-open,98%)}
@keyframes stamina-slow-blink{0%,76%,100%{transform:translateY(var(--lid-rest))}81%,83%{transform:translateY(0)}90%{transform:translateY(var(--lid-rest))}}
/* The existing exhaustion transaction remains exactly 2500ms, without a modal,
   focus trap, input interception, or additional recovery/timeline state. */
.stamina-exhaustion{position:fixed;inset:0;z-index:10000;background:#08060a;color:#eadde7;display:grid;place-items:center;pointer-events:none}
.stamina-exhaustion span{font-size:16px;opacity:.75}
.stamina-exhaustion[data-reduced="true"]{background:#08060a80}
.stamina-drowsiness[hidden],.stamina-exhaustion[hidden]{display:none}
@media(prefers-reduced-motion:reduce){
 html[data-stamina-vision="true"]:not(:has(body.motion-full)){filter:none}
 body:not(.motion-full) .stamina-drowsiness{display:none}
 body:not(.motion-full) .stamina-drowsiness::before,body:not(.motion-full) .stamina-drowsiness::after{animation:none;will-change:auto}
 body:not(.motion-full) .stamina-exhaustion{background:#08060a80}
}


/* ./fx/lottery.css */
.energy-stage-hint{display:block;margin:6px 0;font-size:.78rem;line-height:1.45;color:#d7ad64}.energy-stage-hint[hidden]{display:none}.inventory-lottery{margin:14px 0;min-width:0}
.lottery-card{border:1px solid var(--line,#e7dfe4);border-radius:12px;padding:14px;background:var(--pink-light,#fff0f6);color:var(--ink,#282431)}.lottery-card h3{margin-top:0}.lottery-card p{font-size:.85rem;line-height:1.6}.lottery-card button,.lottery-card input{max-width:100%;margin:4px 6px 4px 0}.lottery-card input{width:10em}
/* Use the host palette and controls; long tickets and narrow drawers can wrap. */
#pixel-frontend .lottery-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:10px;min-width:0;padding:12px;border:1.5px solid var(--px-line);border-radius:6px;background:var(--pink-light);color:var(--px-ink);font-size:16px;line-height:1.6}
#pixel-frontend .lottery-card :is(h3,p){grid-column:1/-1;min-width:0;margin:0;color:inherit;overflow-wrap:anywhere}
#pixel-frontend .lottery-card h3{font-size:18px;line-height:1.4}
#pixel-frontend .lottery-card p{font-size:16px;line-height:1.6}
#pixel-frontend .lottery-card :is(button,input){box-sizing:border-box;min-width:0;width:100%;max-width:100%;min-height:44px;margin:0;padding:8px 10px;border:1.5px solid var(--px-ink);border-radius:6px;color:var(--px-ink);font-size:16px;line-height:1.4}
#pixel-frontend .lottery-card input{background:#fff}
#pixel-frontend .lottery-card input::placeholder{color:var(--muted);opacity:1}
#pixel-frontend .lottery-card button{background:var(--px-mint);white-space:normal;overflow-wrap:anywhere;font-weight:700}
#pixel-frontend .lottery-card>button:first-of-type,#pixel-frontend .lottery-card>button:last-child{grid-column:1/-1}
#pixel-frontend .lottery-card :is(button,input):focus-visible{outline:3px solid var(--px-ink);outline-offset:2px}
.lottery-dialog{max-width:min(460px,calc(100vw - 28px))}#lottery-reveal>div{font:700 clamp(1.5rem,8vw,3rem)/1.8 monospace;letter-spacing:.06em;text-align:center;color:#e8c76c}#lottery-reveal p{font-variant-numeric:tabular-nums;line-height:1.7}#lottery-reveal button{margin:5px}


/* ./fx/approved-mobile-layout.css */
/* Approved phone main screen, 2026-10-12. Activated by one shared viewport
   predicate, including phone landscape. No legacy or desktop overrides. */
#pixel-frontend[data-mobile-layout="true"]{width:100%;min-height:100dvh;padding-bottom:calc(82px + env(safe-area-inset-bottom,0px));font-size:14px;zoom:1!important}
#pixel-frontend[data-mobile-layout="true"] .pixel-header-slot{min-height:56px;height:auto;background:#fff9fc}
#pixel-frontend[data-mobile-layout="true"] .pixel-header-slot:after,#pixel-frontend[data-mobile-layout="true"] .brand:after{display:none}
#pixel-frontend[data-mobile-layout="true"] .topbar{min-height:56px;height:auto;padding:6px max(10px,env(safe-area-inset-right,0px)) 6px max(10px,env(safe-area-inset-left,0px));gap:8px;flex-wrap:nowrap}
#pixel-frontend[data-mobile-layout="true"] .brand{max-width:none;font-size:22px;letter-spacing:-.6px;gap:5px;flex:0 1 auto}
#pixel-frontend[data-mobile-layout="true"] .brand-mark{display:grid;place-items:center;flex:none;width:27px;height:29px;border:2px solid var(--px-ink);border-radius:6px;background:#fff;font-size:23px;box-shadow:2px 2px #f7489b}
#pixel-frontend[data-mobile-layout="true"] .top-right{flex:1;justify-content:flex-end;gap:3px;flex-wrap:nowrap}
#pixel-frontend[data-mobile-layout="true"] #mode-open{position:static;width:auto;min-width:0;height:44px;min-height:44px;padding:0 2px;border:0;background:none}
#pixel-frontend[data-mobile-layout="true"] #mode-open:before{display:none}
#pixel-frontend[data-mobile-layout="true"] #mode-open:after{content:attr(data-mobile-label);padding:0;font-size:12px;line-height:18px;letter-spacing:0;white-space:nowrap;color:#e92786}
#pixel-frontend[data-mobile-layout="true"] .pixel-source-status{min-width:0;flex:none;height:44px;padding:0 2px;font-size:11px;line-height:18px;background:none;border:0}
#pixel-frontend[data-mobile-layout="true"] .pixel-settings{margin:0;position:static}
#pixel-frontend[data-mobile-layout="true"] .pixel-settings>summary{width:36px;height:44px;min-height:44px;padding:0;border:0;justify-content:center;font-size:0}
#pixel-frontend[data-mobile-layout="true"] .pixel-settings>summary>.pixel-sprite{display:none}
#pixel-frontend[data-mobile-layout="true"] .pixel-settings>summary:after{content:'☰';font-size:25px;line-height:1}
#pixel-frontend[data-mobile-layout="true"] .pixel-settings>.pixel-drawer-content{top:100%;right:8px;width:min(340px,calc(100vw - 16px));max-height:65dvh;overflow:auto;z-index:50}
/* Keep settings above chart menus, inside the viewport and clear of More. */
#pixel-frontend[data-mobile-layout="true"] .pixel-header-slot:has(.pixel-settings[open]){z-index:50}
#pixel-frontend[data-mobile-layout="true"] .pixel-settings>.pixel-drawer-content{position:fixed;top:calc(58px + env(safe-area-inset-top,0px));max-height:calc(100dvh - 150px - env(safe-area-inset-bottom,0px));overscroll-behavior:contain}
#pixel-frontend[data-mobile-layout="true"] #frontend-switch{position:static;inset:auto;width:100%;max-width:100%}
#pixel-frontend[data-mobile-layout="true"] .pixel-settings .pixel-exit-region{padding:0;border:0;margin:0}
#pixel-frontend[data-mobile-layout="true"] .pixel-settings :is(.pixel-session,.pixel-conversation){margin:0}
#pixel-frontend[data-mobile-layout="true"] .pixel-settings .pixel-drawer .pixel-drawer-content{position:static;width:100%;max-height:50dvh;overflow:auto}
#pixel-frontend[data-mobile-layout="true"] .pixel-dashboard{display:flex;flex-direction:column;gap:7px;padding:6px max(9px,env(safe-area-inset-right,0px)) 0 max(9px,env(safe-area-inset-left,0px));align-items:stretch}
#pixel-frontend[data-mobile-layout="true"] .pixel-panel{width:100%;margin:0;min-height:0;border:1px solid #f5bfdc;border-radius:9px}
#pixel-frontend[data-mobile-layout="true"] .pixel-panel>.pixel-panel-title{display:none}
#pixel-frontend[data-mobile-layout="true"] .pixel-character-panel{order:0}
#pixel-frontend[data-mobile-layout="true"] .pixel-account-summary{order:1}
#pixel-frontend[data-mobile-layout="true"] .pixel-market-panel{order:2}
#pixel-frontend[data-mobile-layout="true"] .pixel-trading-panel{order:3}
#pixel-frontend[data-mobile-layout="true"] .pixel-news-panel{order:4}
#pixel-frontend[data-mobile-layout="true"] .pixel-comments-panel{order:5}
#pixel-frontend[data-mobile-layout="true"] .pixel-character-body{display:block;padding:7px 8px}
#pixel-frontend[data-mobile-layout="true"] #character-card{min-height:0;display:grid;grid-template-columns:62px minmax(0,1fr);grid-template-rows:24px 23px 9px 30px;gap:1px 9px;align-items:center}
#pixel-frontend[data-mobile-layout="true"] #character-card>.portrait{grid-column:1;grid-row:1/4;width:58px;height:55px;align-self:center;margin:0;background-size:303px 202px;background-position:-4.14px -26.83px}
#pixel-frontend[data-mobile-layout="true"] .pixel-character-name{grid-column:1;grid-row:4;align-self:start;margin:0;font-size:17px;line-height:24px;letter-spacing:0}
#pixel-frontend[data-mobile-layout="true"] #character-card>.character-heading{grid-column:2;grid-row:1;height:23px;min-height:23px;margin:0;padding:1px 6px;flex-wrap:nowrap;border-radius:5px}
#pixel-frontend[data-mobile-layout="true"] .character-heading>span:first-child:after{font-size:12px}
#pixel-frontend[data-mobile-layout="true"] #emotion-label{width:auto;min-width:62px;height:21px;margin:0;gap:3px;font-size:13px;background:#ddf3ff;border-radius:12px}
#pixel-frontend[data-mobile-layout="true"] #emotion-label:before{font-size:17px}
#pixel-frontend[data-mobile-layout="true"] #character-card>.sanity-label{grid-column:2;grid-row:2;padding:0;font-size:12px;line-height:22px;flex-wrap:nowrap}
#pixel-frontend[data-mobile-layout="true"] .sanity-label .help-dot{height:20px;width:20px;min-width:20px;min-height:20px;font-size:11px}
#pixel-frontend[data-mobile-layout="true"] #sanity-text{font-size:14px;letter-spacing:0}
#pixel-frontend[data-mobile-layout="true"] #character-card>.sanity-meter{grid-column:2;grid-row:3;width:100%;height:7px;margin:0;border:0;background:#e7e3f0}
#pixel-frontend[data-mobile-layout="true"] .pixel-stamina{grid-column:2;grid-row:4;margin:0;align-self:start}
#pixel-frontend[data-mobile-layout="true"] .pixel-stamina-label{font-size:12px;line-height:20px;min-height:20px;gap:5px}
#pixel-frontend[data-mobile-layout="true"] .pixel-stamina-value{font-size:14px;letter-spacing:0}
#pixel-frontend[data-mobile-layout="true"] .pixel-stamina-state{font-size:11px}
#pixel-frontend[data-mobile-layout="true"] .pixel-stamina-track{height:7px;margin-top:0;border:0;background:#e7e3f0}
#pixel-frontend[data-mobile-layout="true"] .pixel-life-actions{display:none}
/* These selectors deliberately outrank the old ID + atomic-amount font rules. */
#pixel-frontend[data-mobile-layout="true"] .pixel-account-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:65px;padding:8px;border:1px solid #f5bfdc;border-radius:9px;background:#fff;align-items:center}
#pixel-frontend[data-mobile-layout="true"] .account-heading{grid-column:auto;padding-left:26px;min-width:0}
#pixel-frontend[data-mobile-layout="true"] .account-heading:before{left:0;top:10px;transform:scale(.55);transform-origin:left top}
#pixel-frontend[data-mobile-layout="true"] .account-heading>span:before{font-size:12px}
#pixel-frontend[data-mobile-layout="true"] .account-heading .help-dot{width:18px;height:18px;min-width:18px;min-height:18px;font-size:10px}
#pixel-frontend[data-mobile-layout="true"] .pixel-account-summary>.account-row{grid-column:auto;height:auto;min-height:42px;padding:0 0 0 29px;border:0;border-left:1px solid #e4deef;font-size:12px}
#pixel-frontend[data-mobile-layout="true"] .pixel-account-summary>.account-row:before{left:4px;top:9px;transform:scale(.5);transform-origin:left top}
#pixel-frontend[data-mobile-layout="true"] :is(#equity,#day-pnl){font-size:21px;line-height:27px;letter-spacing:-.7px;max-width:100%;white-space:nowrap}
#pixel-frontend[data-mobile-layout="true"] #equity[data-atomic-amount],#pixel-frontend[data-mobile-layout="true"] #day-pnl[data-atomic-amount]{font-size:21px}
@supports(font-size:1cqw){
 #pixel-frontend[data-mobile-layout="true"] #equity[data-atomic-amount],#pixel-frontend[data-mobile-layout="true"] #day-pnl[data-atomic-amount]{font-size:min(21px,calc(100cqw / var(--amount-characters,16) * 1.35))}
}
#pixel-frontend[data-mobile-layout="true"] .pixel-account-summary[data-long-amounts="true"]{grid-template-columns:minmax(0,1fr)}
#pixel-frontend[data-mobile-layout="true"] .pixel-account-summary[data-long-amounts="true"]>.account-row{border-left:0;border-top:1px solid #eee3ec;padding-top:5px}
#pixel-frontend[data-mobile-layout="true"] #terminal{padding:6px 7px 0;gap:0}
#pixel-frontend[data-mobile-layout="true"] .pixel-currency-tabs{display:none}
#pixel-frontend[data-mobile-layout="true"] .mobile-market-tools{order:0;display:grid;grid-template-columns:minmax(0,1fr) 64px 50px 48px;gap:4px;align-items:center;position:relative;min-width:0}
#pixel-frontend[data-mobile-layout="true"] .mobile-market-tools .pair{position:static;width:auto;height:44px;margin:0;padding:0;display:flex;align-items:center;min-width:0;overflow:visible;clip:auto;white-space:normal}
#pixel-frontend[data-mobile-layout="true"] .mobile-market-tools .pair :is(label,small){display:none}
#pixel-frontend[data-mobile-layout="true"] .mobile-market-tools #market-symbol{position:static;display:block;width:100%;max-width:100%;height:44px;min-height:44px;font-size:16px;font-weight:800;padding:0 2px;border:0;clip:auto;background:#fff;appearance:auto;opacity:1}
#pixel-frontend[data-mobile-layout="true"] .mobile-market-tools #quote-package-open{width:64px;height:44px;min-height:44px;margin:0;padding:0 2px;font-size:12px}
#pixel-frontend[data-mobile-layout="true"] .mobile-market-tools summary{display:grid;place-items:center;list-style:none;height:44px;padding:0 2px;font-size:12px;border:1px solid var(--panorama-control);border-radius:6px;background:#fff}
#pixel-frontend[data-mobile-layout="true"] .mobile-market-tools details>.mobile-disclosure-content{position:absolute;left:0;right:0;top:48px;z-index:25;padding:8px;background:#fff9fc;border:1px solid #f5bfdc;border-radius:7px;box-shadow:0 5px 16px #52243b20}
#pixel-frontend[data-mobile-layout="true"] details:not([open])>.mobile-disclosure-content{display:none}
#pixel-frontend[data-mobile-layout="true"] #quote-refresh-options{width:100%;max-width:none}
#pixel-frontend[data-mobile-layout="true"] .mobile-chart-menu .candle-view-controls{display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0}
#pixel-frontend[data-mobile-layout="true"] .mobile-chart-menu .candle-view-controls>button{flex:1;min-height:44px;font-size:13px}
#pixel-frontend[data-mobile-layout="true"] .mobile-chart-menu .candle-history{position:static;flex-basis:100%;width:100%;min-height:44px}
#pixel-frontend[data-mobile-layout="true"] .pixel-market-extras{margin:0}
#pixel-frontend[data-mobile-layout="true"] #terminal>.terminal-head{order:1;min-height:0;font-size:10px;line-height:16px}
#pixel-frontend[data-mobile-layout="true"] #trading-clock-label{order:3;margin:1px 0;font-size:10px;line-height:16px;white-space:normal}
#pixel-frontend[data-mobile-layout="true"] .chart-risk-stage{order:2}
#pixel-frontend[data-mobile-layout="true"] #chart{height:196px!important}
/* Risk remains the existing single card. No duplicate overlay or fake warning. */
#pixel-frontend[data-mobile-layout="true"] .single-action-slot{height:auto;min-height:88px;padding:5px 0;order:4}
#pixel-frontend[data-mobile-layout="true"] .single-action-card{grid-template-columns:25px minmax(0,1fr) 77px 28px;gap:5px;padding:6px;height:auto;min-height:76px}
#pixel-frontend[data-mobile-layout="true"] .single-action-icon{width:25px;height:32px}
#pixel-frontend[data-mobile-layout="true"] .single-action-title{font-size:14px;line-height:20px}
#pixel-frontend[data-mobile-layout="true"] .single-action-message{font-size:11px;line-height:16px}
#pixel-frontend[data-mobile-layout="true"] .single-action-card :is(.single-action-close,.single-action-rest){grid-column:3;align-self:center;font-size:13px;padding:3px;min-height:44px}
#pixel-frontend[data-mobile-layout="true"] .single-action-dismiss{grid-column:4;align-self:center;min-width:28px;min-height:44px;margin:0;font-size:21px}
#pixel-frontend[data-mobile-layout="true"] .mobile-position-disclosure{margin:1px 7px 7px;border:1px solid #e2dfee;border-radius:6px;min-width:0}
#pixel-frontend[data-mobile-layout="true"] .mobile-position-disclosure>summary{display:flex;align-items:center;gap:6px;min-height:44px;list-style:none;padding:5px 8px;flex-wrap:wrap;font-size:13px}
#pixel-frontend[data-mobile-layout="true"] .mobile-position-label{font-weight:700}
#pixel-frontend[data-mobile-layout="true"] .mobile-position-disclosure #floating{font-size:17px;line-height:23px;white-space:nowrap;max-width:100%;margin-left:2px}
#pixel-frontend[data-mobile-layout="true"] .mobile-position-toggle{margin-left:auto;font-size:12px}
#pixel-frontend[data-mobile-layout="true"] .mobile-position-toggle:after{content:' ▾'}
#pixel-frontend[data-mobile-layout="true"] .mobile-position-disclosure[open] .mobile-position-toggle:after{content:' ▴'}
#pixel-frontend[data-mobile-layout="true"] .pixel-positions-slot{margin:0;padding:0 7px 7px;border-top:1px solid #eee3ec}
#pixel-frontend[data-mobile-layout="true"] #position-card>.position-pnl{display:none}
#pixel-frontend[data-mobile-layout="true"] .position-title{margin:0 0 6px;min-height:49px;padding:2px 0;background:none}
#pixel-frontend[data-mobile-layout="true"] .position-title>span:after{font-size:15px}
#pixel-frontend[data-mobile-layout="true"] #position-close-all{font-size:13px;min-height:44px}
#pixel-frontend[data-mobile-layout="true"] .pixel-trade-body .trade-card{display:block}
#pixel-frontend[data-mobile-layout="true"] #order-empty{padding:7px 8px 0;gap:5px}
#pixel-frontend[data-mobile-layout="true"] #amount-field{height:auto;min-height:0;margin:0;padding:0;border:0;gap:3px;display:flex}
#pixel-frontend[data-mobile-layout="true"] #amount-field:after,#pixel-frontend[data-mobile-layout="true"] .amount-heading{display:none}
#pixel-frontend[data-mobile-layout="true"] .mobile-amount-row{order:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;min-width:0}
#pixel-frontend[data-mobile-layout="true"] .mobile-amount-cell,#pixel-frontend[data-mobile-layout="true"] .mobile-available-cell{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px;align-items:center;min-width:0;font-size:12px}
#pixel-frontend[data-mobile-layout="true"] .mobile-amount-cell label{margin:0;font-size:12px;white-space:nowrap}
#pixel-frontend[data-mobile-layout="true"] #order-amount{height:44px;min-height:44px;min-width:0;width:100%;padding:0 5px;line-height:42px;font-size:16px;letter-spacing:-.5px;text-align:right}
#pixel-frontend[data-mobile-layout="true"] #percent-available-margin{display:block;min-width:0;max-width:100%;font-size:15px;line-height:21px;letter-spacing:-.5px;text-align:right;overflow-wrap:normal;white-space:nowrap}
#pixel-frontend[data-mobile-layout="true"] #percent-slider-field{order:1;padding:0;gap:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}
#pixel-frontend[data-mobile-layout="true"] .pixel-percent-heading{grid-column:1/-1;min-height:20px;font-size:12px}
#pixel-frontend[data-mobile-layout="true"] .pixel-percent-heading>label{display:none}
#pixel-frontend[data-mobile-layout="true"] #percent-selected{margin:0;padding:0;border:0;background:none;font-size:12px;line-height:18px;max-width:100%}
#pixel-frontend[data-mobile-layout="true"] .pixel-percent-slider{grid-column:1/-1;height:44px;min-height:44px;margin:-6px 0 -4px}
#pixel-frontend[data-mobile-layout="true"] .pixel-percent-bounds{grid-column:1/-1;font-size:10px;line-height:13px}
#pixel-frontend[data-mobile-layout="true"] .amount-presets{order:2;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:44px;gap:4px;margin:3px 0 0}
#pixel-frontend[data-mobile-layout="true"] .amount-presets button{min-height:44px;font-size:11px;line-height:15px;padding:2px;white-space:normal;overflow-wrap:anywhere}
#pixel-frontend[data-mobile-layout="true"] #order-empty>fieldset,#pixel-frontend[data-mobile-layout="true"] #order-empty>fieldset:has(#stops){height:44px;min-height:44px;padding:0 0 0 48px;gap:4px;border:0}
#pixel-frontend[data-mobile-layout="true"] #order-empty>fieldset>legend,#pixel-frontend[data-mobile-layout="true"] #order-empty>fieldset:has(#leverages)>legend,#pixel-frontend[data-mobile-layout="true"] #order-empty>fieldset:has(#stops)>legend{left:0;top:12px!important;width:44px;padding:0;font-size:13px;line-height:20px}
#pixel-frontend[data-mobile-layout="true"] #order-empty>fieldset>legend:before{display:none}
#pixel-frontend[data-mobile-layout="true"] #order-empty fieldset button{height:44px;min-height:44px;min-width:0;padding:0 2px;font-size:14px}
#pixel-frontend[data-mobile-layout="true"] #order-empty .entry-actions{height:52px;margin:0;padding:0;gap:7px}
#pixel-frontend[data-mobile-layout="true"] .entry-actions button{height:52px;min-height:52px;font-size:24px;line-height:30px}
#pixel-frontend[data-mobile-layout="true"] .entry-actions #long:before,#pixel-frontend[data-mobile-layout="true"] .entry-actions #short:before{font-size:28px}
#pixel-frontend[data-mobile-layout="true"] .pixel-fee-summary{margin:4px 8px;font-size:11px;line-height:17px;white-space:normal;overflow-wrap:anywhere}
#pixel-frontend[data-mobile-layout="true"] .pixel-financial-details{margin:2px 8px 6px;font-size:12px}
#pixel-frontend[data-mobile-layout="true"] :is(#amount-limit,#emotion-order-rule,#order-validation,#last-trade){margin:3px 8px;font-size:11px;line-height:16px}
#pixel-frontend[data-mobile-layout="true"] #news{padding:7px 9px}
#pixel-frontend[data-mobile-layout="true"] .news-meta,#pixel-frontend[data-mobile-layout="true"] #news-time{font-size:11px}
#pixel-frontend[data-mobile-layout="true"] #news-title{font-size:14px;line-height:21px;margin:3px 0}
#pixel-frontend[data-mobile-layout="true"] #news-copy{font-size:12px;line-height:19px;max-height:57px;overflow:auto}
#pixel-frontend[data-mobile-layout="true"] #investor-danmaku,#pixel-frontend[data-mobile-layout="true"] #investor-danmaku[data-reduced=true]{height:96px}
#pixel-frontend[data-mobile-layout="true"] .mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;min-height:68px;padding:4px max(7px,env(safe-area-inset-right,0px)) max(4px,env(safe-area-inset-bottom,0px)) max(7px,env(safe-area-inset-left,0px));border-top:1px solid #f4b8d5;background:#fffcfef5;box-shadow:0 -3px 12px #52243b08}
#pixel-frontend[data-mobile-layout="true"] .mobile-bottom-nav>button,#pixel-frontend[data-mobile-layout="true"] .mobile-bottom-nav>details>summary{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;width:100%;height:58px;min-height:58px;gap:0;padding:2px;border:0;border-radius:4px;font-size:12px;line-height:19px;font-weight:500;background:none;list-style:none;white-space:nowrap}
#pixel-frontend[data-mobile-layout="true"] .mobile-bottom-nav .pixel-sprite,#pixel-frontend[data-mobile-layout="true"] .mobile-bottom-nav :is(#life-open,#leaderboard-open,#achievements-open)::before{transform:scale(.62);transform-origin:center;flex:none;margin:-7px}
#pixel-frontend[data-mobile-layout="true"] .mobile-bottom-nav #achievement-count{display:none}
#pixel-frontend[data-mobile-layout="true"] .mobile-bottom-nav .mobile-more-button:before{content:'•••';font-size:25px;line-height:31px;letter-spacing:3px}
#pixel-frontend[data-mobile-layout="true"] .mobile-bottom-nav>details>.pixel-drawer-content{position:absolute;left:8px;right:8px;top:auto;bottom:calc(100% + 6px);max-height:60dvh;overflow:auto;z-index:45}
#pixel-frontend[data-mobile-layout="true"] .mobile-bottom-nav>details:not([open])>.pixel-drawer-content{display:none}
#pixel-frontend[data-mobile-layout="true"] .mobile-bottom-nav>details>summary:after{display:none}
#pixel-frontend[data-mobile-layout="true"] .pixel-footer-slot{padding:6px 9px}
/* Landscape keeps chart/positions and the order ticket side by side at full
   size. Reading order and the lower news/danmaku row are unchanged. */
@media(min-width:760px){
 #pixel-frontend[data-mobile-layout="true"] .pixel-dashboard{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:7px;align-items:start}
 #pixel-frontend[data-mobile-layout="true"] .pixel-character-panel{grid-column:1;grid-row:1}
 #pixel-frontend[data-mobile-layout="true"] .pixel-account-summary{grid-column:2;grid-row:1;align-self:stretch}
 #pixel-frontend[data-mobile-layout="true"] .pixel-market-panel{grid-column:1;grid-row:2}
 #pixel-frontend[data-mobile-layout="true"] .pixel-trading-panel{grid-column:2;grid-row:2}
 #pixel-frontend[data-mobile-layout="true"] .pixel-news-panel{grid-column:1;grid-row:3}
 #pixel-frontend[data-mobile-layout="true"] .pixel-comments-panel{grid-column:2;grid-row:3}
 #pixel-frontend[data-mobile-layout="true"] #chart{height:180px!important}
}
@media(max-width:359px){
 #pixel-frontend[data-mobile-layout="true"] .pixel-account-summary{grid-template-columns:minmax(0,1fr)}
 #pixel-frontend[data-mobile-layout="true"] .brand{font-size:19px}
 #pixel-frontend[data-mobile-layout="true"] .brand-mark{width:23px;height:25px;font-size:20px}
 #pixel-frontend[data-mobile-layout="true"] .topbar{gap:4px;padding-inline:8px}
 #pixel-frontend[data-mobile-layout="true"] .pixel-source-status{font-size:10px}
 #pixel-frontend[data-mobile-layout="true"] #mode-open:after{font-size:11px}
 #pixel-frontend[data-mobile-layout="true"] .mobile-market-tools{grid-template-columns:minmax(0,1fr) 59px 45px 44px;gap:3px}
 #pixel-frontend[data-mobile-layout="true"] .mobile-market-tools #quote-package-open{width:59px}
 #pixel-frontend[data-mobile-layout="true"] .mobile-market-tools #market-symbol{font-size:14px}
}

#pixel-frontend[data-mobile-layout="true"] #pnl-period{font-size:12px;line-height:20px;white-space:normal;overflow:visible;text-overflow:clip}
#pixel-frontend[data-mobile-layout="true"] .amount-presets button[data-mobile-amount]{font-size:0}
#pixel-frontend[data-mobile-layout="true"] .amount-presets button[data-mobile-amount]:after{content:attr(data-mobile-amount);font-size:13px;line-height:18px}


#pixel-frontend[data-mobile-layout="true"] .character-heading>span:first-child{display:block}
#pixel-frontend[data-mobile-layout="true"] #frontend-switch{margin:0;padding:4px 0;flex-wrap:wrap;justify-content:flex-start}

#pixel-frontend[data-mobile-layout="true"] .mobile-amount-row[data-long-amounts="true"]{grid-template-columns:minmax(0,1fr)}

/* Approved positions-quick-trade-v2: native orders remain next to the chart. */
body[data-frontend="pixel"]:has(#pixel-frontend[data-mobile-layout="true"]) .deal-impact{width:max-content;min-width:210px;max-width:calc(100vw - 48px)}
body[data-frontend="pixel"]:has(#pixel-frontend[data-mobile-layout="true"]) .deal-impact b{white-space:normal;overflow-wrap:anywhere}
#pixel-frontend[data-mobile-layout="true"] .mobile-quick-trade{order:4;display:grid;grid-template-columns:minmax(112px,1.45fr) minmax(0,2fr) minmax(52px,.65fr);align-items:stretch;gap:5px;margin:6px 0;min-width:0}
#pixel-frontend[data-mobile-layout="true"] .mobile-quick-parameters{display:grid;grid-template-columns:minmax(39px,.65fr) minmax(0,1.35fr);min-width:0;border:1px solid #e2dfee;border-radius:6px;overflow:hidden}
#pixel-frontend[data-mobile-layout="true"] .mobile-quick-parameters>button{height:auto;min-height:48px;min-width:0;width:100%;padding:2px;font-size:14px;line-height:20px;white-space:normal;overflow-wrap:anywhere;border:0;border-radius:0;background:#fff}
#pixel-frontend[data-mobile-layout="true"] .mobile-quick-leverage{color:#ed267f;font-weight:800}
#pixel-frontend[data-mobile-layout="true"] .mobile-quick-amount{border-left:1px solid #e2dfee!important;font-weight:800}
#pixel-frontend[data-mobile-layout="true"] .mobile-quick-trade .entry-actions{display:grid;grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr));height:auto;min-height:48px;gap:5px;margin:0;padding:0}
#pixel-frontend[data-mobile-layout="true"] .mobile-quick-trade .entry-actions button{min-width:0;height:auto;min-height:48px;padding:3px 2px;font-size:17px;line-height:22px;gap:2px}
#pixel-frontend[data-mobile-layout="true"] .mobile-quick-trade .entry-actions #long:before,#pixel-frontend[data-mobile-layout="true"] .mobile-quick-trade .entry-actions #short:before{font-size:19px}
#pixel-frontend[data-mobile-layout="true"] .mobile-quick-positions{min-width:0;min-height:48px;font-size:12px;line-height:18px;padding:2px;white-space:normal;background:#fff;border:1px solid #e2dfee}
#pixel-frontend[data-mobile-layout="true"] .mobile-quick-trade[data-long-amount="true"]{grid-template-columns:minmax(0,1fr) 64px}
#pixel-frontend[data-mobile-layout="true"] .mobile-quick-trade[data-long-amount="true"] .mobile-quick-parameters{grid-column:1/-1;grid-template-columns:70px minmax(0,1fr)}
#pixel-frontend[data-mobile-layout="true"] .single-action-slot{order:5;min-height:0;padding:0 0 5px}
#pixel-frontend[data-mobile-layout="true"] .single-action-slot:has(.single-action-card[hidden]){display:none}
#pixel-frontend[data-mobile-layout="true"] .mobile-position-disclosure{margin:7px 7px 0}
#pixel-frontend[data-mobile-layout="true"] .mobile-trade-settings{margin:7px;border:1px solid #e2dfee;border-radius:6px;min-width:0}
#pixel-frontend[data-mobile-layout="true"] .mobile-trade-settings>summary{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-height:48px;padding:5px 7px;list-style:none;cursor:pointer}
#pixel-frontend[data-mobile-layout="true"] .mobile-trade-settings>summary>b{font-size:14px}
#pixel-frontend[data-mobile-layout="true"] .mobile-trade-settings-info{flex:1;min-width:120px;font-size:11px;line-height:18px;overflow-wrap:anywhere}
#pixel-frontend[data-mobile-layout="true"] .mobile-trade-settings-toggle{font-size:12px;white-space:nowrap}
#pixel-frontend[data-mobile-layout="true"] .mobile-trade-settings-toggle:after{content:' ▾'}
#pixel-frontend[data-mobile-layout="true"] .mobile-trade-settings[open] .mobile-trade-settings-toggle:after{content:' ▴'}
#pixel-frontend[data-mobile-layout="true"] .mobile-trade-settings>.mobile-disclosure-content{border-top:1px solid #eee3ec}
#pixel-frontend[data-mobile-layout="true"] .mobile-trade-settings .trade-card{margin:0;padding:0;border:0;border-radius:0}
#pixel-frontend[data-mobile-layout="true"] #position-list{display:flex;flex-direction:column;gap:6px;max-height:none;overflow:visible}
#pixel-frontend[data-mobile-layout="true"] #position-list .order-row{min-width:0;margin:0;padding:7px;font-size:12px}
#pixel-frontend[data-mobile-layout="true"] #position-list .order-row-head{flex-wrap:wrap;font-size:13px;gap:4px}
#pixel-frontend[data-mobile-layout="true"] #position-list .order-row-data{min-width:0;font-size:12px;overflow-wrap:anywhere}
#pixel-frontend[data-mobile-layout="true"] #position-list .order-row-actions{display:flex;gap:5px}
#pixel-frontend[data-mobile-layout="true"] #position-list .order-row-actions button{flex:1;min-height:44px;min-width:0;padding:4px;font-size:13px}
#pixel-frontend[data-mobile-layout="true"] .mobile-position-disclosure>summary:focus-visible,#pixel-frontend[data-mobile-layout="true"] .mobile-trade-settings>summary:focus-visible{outline:2px solid #ec2583;outline-offset:2px}
/* Compact position rows keep the real margin/PnL fields and both exit actions. */
#pixel-frontend[data-mobile-layout="true"] #position-list .order-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 64px;grid-template-rows:auto minmax(54px,auto);padding:0;min-height:102px;overflow:visible}
#pixel-frontend[data-mobile-layout="true"] #position-list .order-row-head{height:auto;min-height:46px;padding:4px 54px 4px 6px;line-height:19px}
#pixel-frontend[data-mobile-layout="true"] #position-list [data-order-title]{font-size:13px;line-height:19px;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;letter-spacing:0}
#pixel-frontend[data-mobile-layout="true"] #position-list [data-order-leverage]{font-size:12px;padding:3px 5px}
#pixel-frontend[data-mobile-layout="true"] #position-list [data-position-detail]{width:44px;height:44px;min-width:44px;min-height:44px}
#pixel-frontend[data-mobile-layout="true"] #position-list .order-pixel-data{display:none}
#pixel-frontend[data-mobile-layout="true"] #position-list .order-row-data:has([data-order-field="margin"]){display:flex;grid-column:1;grid-row:2;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px;line-height:18px}
#pixel-frontend[data-mobile-layout="true"] #position-list .order-live-pnl{grid-column:2;grid-row:2;padding:4px;line-height:18px}
#pixel-frontend[data-mobile-layout="true"] #position-list .order-live-pnl>span{font-size:12px;line-height:18px}
#pixel-frontend[data-mobile-layout="true"] #position-list .order-live-pnl>b,#pixel-frontend[data-mobile-layout="true"] #position-list [data-order-field="margin"]{font-size:14px;line-height:20px;white-space:normal;overflow-wrap:anywhere;letter-spacing:0}
#pixel-frontend[data-mobile-layout="true"] #position-list .order-row-actions{grid-column:3;grid-row:2;padding:3px}
#pixel-frontend[data-mobile-layout="true"] #position-list .order-row-actions [data-position-action="half"]{top:2px;right:3px;width:46px;height:44px;min-height:44px;font-size:0;padding:0}
#pixel-frontend[data-mobile-layout="true"] #position-list .order-row-actions [data-position-action="close"]{width:100%;height:44px;min-height:44px;font-size:0;padding:0}
#pixel-frontend[data-mobile-layout="true"] #position-list .order-row-actions [data-position-action="close"]:after{font-size:16px}

/* Approved trading-only spacing, 2026-10-13. Native controls and values remain. */
#pixel-frontend .pixel-account-summary{height:auto;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);align-items:start}
#pixel-frontend .pixel-account-summary .account-heading{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:8px;padding-left:0;container-type:inline-size}
#pixel-frontend .pixel-account-summary .account-heading:before{position:static;grid-column:1;grid-row:1;align-self:center}
#pixel-frontend .pixel-account-summary .account-heading>span{grid-column:2;grid-row:1;min-width:0;flex-wrap:wrap}
#pixel-frontend .pixel-account-summary #equity{grid-column:1/-1;grid-row:2;max-width:100%;min-width:0;letter-spacing:0;--amount-font:29px}
#pixel-frontend .pixel-account-summary>.account-row{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:8px;row-gap:0;height:auto;min-height:49px;padding:0 0 0 8px;align-items:start}
#pixel-frontend .pixel-account-summary>.account-row:before{position:static;grid-column:1;grid-row:1;align-self:center}
#pixel-frontend .pixel-account-summary #pnl-period{grid-column:2;grid-row:1;white-space:normal;overflow:visible;text-overflow:clip;line-height:22px}
#pixel-frontend .pixel-account-summary .daily-return-values{display:block;grid-column:1/-1;grid-row:2;min-width:0;width:100%;container-type:inline-size}
#pixel-frontend .pixel-account-summary #day-pnl{display:block;max-width:100%;min-width:0;margin:0;letter-spacing:0;--amount-font:27px}
#pixel-frontend #order-empty>fieldset:has(:is(#leverages,#stops)){height:auto;min-height:64px;padding:6px 6px 6px 132px;container-type:inline-size}
#pixel-frontend #order-empty>fieldset:has(:is(#leverages,#stops))>legend{display:flex;align-items:center;gap:8px;left:8px;top:0;bottom:0;width:116px;padding:0;line-height:24px}
#pixel-frontend #order-empty>fieldset:has(:is(#leverages,#stops))>legend:before{position:static;flex:none;margin:0}
#pixel-frontend #order-empty button:is([data-leverage],[data-stop-pips]){height:auto;min-height:52px;padding:4px 2px;line-height:1.25}
#pixel-frontend #order-empty .amount-heading label{gap:8px}
#pixel-frontend #order-empty .amount-heading label:before{flex:none}
#pixel-frontend .pixel-fee-summary{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0 4px;min-width:0;white-space:normal;container-type:inline-size}
#pixel-frontend .pixel-fee-summary>b{max-width:100%;min-width:0}
#pixel-frontend .pixel-financial-details .account-row,
#pixel-frontend .order-live-pnl,
#pixel-frontend .order-pixel-data{container-type:inline-size}
#pixel-frontend .order-pixel-data>b{max-width:100%;min-width:0}
#pixel-frontend .pixel-percent-heading{container-type:inline-size}
#pixel-frontend #percent-slider-field{position:relative}
#pixel-frontend #percent-slider-field[data-percentage-limited="true"] .pixel-percent-slider::-webkit-slider-runnable-track{background:linear-gradient(to right,#f456a1 0 min(var(--percent-progress,0%),var(--percent-cap,100%)),#fbdbe9 min(var(--percent-progress,0%),var(--percent-cap,100%)) var(--percent-cap,100%),#a9a8b8 var(--percent-cap,100%) 100%)}
#pixel-frontend #percent-slider-field[data-percentage-limited="true"] .pixel-percent-slider::-moz-range-track{background:linear-gradient(to right,#f456a1 0 min(var(--percent-progress,0%),var(--percent-cap,100%)),#fbdbe9 min(var(--percent-progress,0%),var(--percent-cap,100%)) var(--percent-cap,100%),#a9a8b8 var(--percent-cap,100%) 100%)}
#pixel-frontend #percent-slider-field[data-percentage-disabled="true"] .pixel-percent-slider{opacity:.6;cursor:not-allowed}
#pixel-frontend .percent-availability-help{flex:none;width:28px;height:28px;min-width:28px;min-height:28px;padding:0;margin:0;border-color:#81768d;background:#fff;color:#51465f}
#pixel-frontend .percent-availability-tooltip{position:absolute;bottom:calc(100% + 4px);left:0;right:0;z-index:35;max-width:100%;padding:9px;border:1px solid #81768d;border-radius:6px;background:#fff9fc;box-shadow:0 3px 12px #52243b25;font-size:12px;line-height:19px;color:#51465f;overflow-wrap:anywhere}
#pixel-frontend .percent-availability-tooltip[hidden],#pixel-frontend .percent-availability-help[hidden]{display:none}
#pixel-frontend .percent-availability-help:focus-visible{outline:2px solid #ec2583;outline-offset:2px}
#pixel-frontend [data-leverage="100"][data-daily-unlocked="true"],#pixel-frontend .mobile-quick-leverage[data-daily-unlocked="true"]{box-shadow:inset 0 0 0 2px #ffc25c,0 0 9px #ffb84280;border-color:#c47a1f}
#pixel-frontend[data-mobile-layout="true"] .percent-availability-help{width:44px;height:44px;min-width:44px;min-height:44px}
#pixel-frontend #percent-available-margin{max-width:100%;--amount-font:18px}
@supports(font-size:1cqw){
 #pixel-frontend .pixel-account-summary #equity[data-atomic-amount]{font-size:min(29px,calc((100cqw - 4px) / var(--amount-characters,16) * 1.35))}
 #pixel-frontend .pixel-account-summary #day-pnl[data-atomic-amount]{font-size:min(27px,calc((100cqw - 4px) / var(--amount-characters,16) * 1.35))}
 #pixel-frontend #order-empty button:is([data-leverage],[data-stop-pips]){font-size:min(19px,calc((100cqw - 40px) / 20 * 1.6))}
 #pixel-frontend .order-live-pnl>b[data-atomic-amount],#pixel-frontend .order-pixel-data>b[data-atomic-amount]{font-size:min(16px,calc((100cqw - 4px) / var(--amount-characters,16) * 1.35))}
 #pixel-frontend #percent-available-margin[data-atomic-amount]{font-size:min(18px,calc((100cqw - 100px) / var(--amount-characters,16) * 1.35))}
}
#pixel-frontend[data-mobile-layout="true"] .pixel-account-summary .account-heading{grid-template-columns:24px minmax(0,1fr);column-gap:6px;padding-left:0}
#pixel-frontend[data-mobile-layout="true"] .pixel-account-summary>.account-row{grid-template-columns:22px minmax(0,1fr);column-gap:6px;padding:0 0 0 6px}
#pixel-frontend[data-mobile-layout="true"] .pixel-account-summary :is(#equity,#day-pnl){--amount-font:21px}
#pixel-frontend[data-mobile-layout="true"] #order-empty>fieldset:has(:is(#leverages,#stops)){height:auto;min-height:56px;padding:0 0 0 52px}
#pixel-frontend[data-mobile-layout="true"] #order-empty>fieldset:has(:is(#leverages,#stops))>legend{left:0;top:0!important;bottom:0;width:46px;padding:0;line-height:20px}
#pixel-frontend[data-mobile-layout="true"] #order-empty button:is([data-leverage],[data-stop-pips]){height:auto;min-height:56px;font-size:14px}
#pixel-frontend[data-mobile-layout="true"] .mobile-available-cell{container-type:inline-size}
#pixel-frontend[data-mobile-layout="true"] .mobile-quick-amount{max-width:100%;min-width:0}
@supports(font-size:1cqw){
 #pixel-frontend[data-mobile-layout="true"] .pixel-account-summary #equity[data-atomic-amount]{font-size:min(21px,calc((100cqw - 4px) / var(--amount-characters,16) * 1.35))}
 #pixel-frontend[data-mobile-layout="true"] .pixel-account-summary #day-pnl[data-atomic-amount]{font-size:min(21px,calc((100cqw - 4px) / var(--amount-characters,16) * 1.35))}
 #pixel-frontend[data-mobile-layout="true"] #percent-available-margin[data-atomic-amount]{font-size:min(15px,calc((100cqw - 32px) / var(--amount-characters,16) * 1.35))}
 #pixel-frontend[data-mobile-layout="true"] .order-live-pnl>b[data-atomic-amount]{font-size:min(14px,calc((100cqw - 4px) / var(--amount-characters,16) * 1.35))}
}

