:root{--bg:#f6f7f2;--card:#fff;--ink:#1f2937;--muted:#6b7280;--line:#e5e7eb;--green:#2bb673;--green-dark:#1d8a55;--purple:#8b5cf6;--gold:#f5b301;--up:#e5484d;--down:#2f6fdf;--danger:#ef4444;--radius:18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#11151c;--card:#1a2029;--ink:#e5e7eb;--muted:#9ca3af;--line:#2d3540;--up:#ff6b6f;--down:#5b8ff5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent;margin:0;font-family:"M PLUS Rounded 1c",Hiragino Maru Gothic ProN,system-ui,sans-serif;font-weight:500}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea{font:inherit;color:var(--ink);background:var(--card)}h1,h2,h3{margin:.2em 0;font-weight:800}h1{font-size:1.4rem}h2{font-size:1.15rem}h3{font-size:1rem}a{color:var(--down)}.app{max-width:560px;min-height:100dvh;padding-bottom:calc(76px + env(safe-area-inset-bottom));margin:0 auto}.app.focus{padding-bottom:0}.page{padding:12px 16px 24px}.topbar{z-index:20;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:2px solid var(--line);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{color:var(--green);letter-spacing:.02em;font-size:1.15rem;font-weight:800}.stats{gap:6px;display:flex}.stat{background:var(--card);border:2px solid var(--line);border-radius:999px;padding:4px 10px;font-size:.9rem;font-weight:800}.stat.streak{color:var(--muted)}.stat.streak.on{color:#f97316}.stat.hearts{color:var(--danger)}.stat.level{color:var(--purple)}.tabbar{background:var(--card);border-top:2px solid var(--line);width:100%;max-width:560px;padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:20;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar button{color:var(--muted);border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:.72rem;font-weight:700;display:flex}.tabbar .icon{filter:grayscale(.7);font-size:1.4rem}.tabbar button.active{color:var(--green);background:color-mix(in srgb, var(--green) 12%, transparent)}.tabbar button.active .icon{filter:none}.card{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);margin:12px 0;padding:14px}.muted{color:var(--muted)}.small{font-size:.82rem}.right{text-align:right}.center{text-align:center}.fine{color:var(--muted);font-size:.75rem;line-height:1.6}.error{color:var(--danger);font-weight:700}.up{color:var(--up)}.down{color:var(--down)}.flat{color:var(--muted)}.link{color:var(--down);padding:4px 0;font-weight:700}.btn{background:var(--card);border:2px solid var(--line);box-shadow:0 4px 0 var(--line);letter-spacing:.04em;border-radius:16px;justify-content:center;align-items:center;gap:6px;padding:12px 20px;font-size:1rem;font-weight:800;transition:transform 50ms;display:inline-flex}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--line);transform:translateY(3px)}.btn:disabled{opacity:.45;cursor:default}.btn.block{width:100%;margin-top:10px;display:flex}.btn.small{box-shadow:0 2px 0 var(--line);padding:6px 12px;font-size:.85rem}.btn.primary{background:var(--green);color:#fff;border-color:var(--green-dark);box-shadow:0 4px 0 var(--green-dark)}.btn.danger{background:var(--danger);color:#fff;border-color:#b91c1c;box-shadow:0 4px #b91c1c}.btn.buy{background:var(--up);color:#fff;border-color:#b4282d;box-shadow:0 4px #b4282d}.btn.sell{background:var(--down);color:#fff;border-color:#1f4fa8;box-shadow:0 4px #1f4fa8}.btn.ghost{background:0 0}.icon-btn{color:var(--muted);padding:6px 10px;font-size:1.3rem}.seg{background:var(--line);border-radius:14px;gap:4px;margin:10px 0;padding:4px;display:flex}.seg button{color:var(--muted);border-radius:10px;flex:1;padding:8px 4px;font-size:.9rem;font-weight:700}.seg button.on{background:var(--card);color:var(--ink);box-shadow:0 2px #00000014}.seg.two button.buy.on{background:var(--up);color:#fff}.seg.two button.sell.on{background:var(--down);color:#fff}.chips{scrollbar-width:none;gap:6px;padding:4px 0 8px;display:flex;overflow-x:auto}.chip{white-space:nowrap;border:2px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:700}.chip.on{border-color:var(--green);color:var(--green-dark);background:color-mix(in srgb, var(--green) 12%, var(--card))}.tag{background:color-mix(in srgb, var(--purple) 15%, transparent);color:var(--purple);border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:800;display:inline-block}.bar{background:var(--line);border-radius:999px;height:10px;margin:6px 0;overflow:hidden}.bar>div{background:var(--green);border-radius:999px;height:100%}.bar.thick{flex:1;height:16px}.bar.thick>div{background:linear-gradient(var(--green), var(--green-dark))}.speech{background:var(--card);border:2px solid var(--line);border-radius:16px;padding:10px 14px;font-weight:700;line-height:1.5;position:relative}.sheet-backdrop{z-index:50;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:560px;max-height:92dvh;padding:16px 16px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;display:flex}.field{margin:14px 0 4px;display:block}.field span{color:var(--muted);margin-bottom:6px;font-size:.85rem;display:block}.field input,.search{border:2px solid var(--line);border-radius:14px;width:100%;padding:12px 14px;font-size:1rem}.toggle{align-items:center;gap:8px;margin:14px 0;font-weight:700;display:flex}.profile{align-items:center;gap:12px;display:flex}.profile>div:last-child{flex:1}.rank{color:var(--purple);font-size:1.1rem;font-weight:800}.toasts{top:calc(56px + env(safe-area-inset-top));z-index:60;pointer-events:none;gap:6px;width:min(520px,100% - 32px);display:grid;position:fixed;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--bg);border-radius:14px;padding:10px 14px;font-weight:700;box-shadow:0 8px 20px #0003}.toast.fill{background:var(--gold);color:#3b2a00}.confetti{pointer-events:none;z-index:70;width:100%;height:100%;position:fixed;inset:0}.hero{align-items:center;gap:12px;display:flex}.hero-text{flex:1;gap:8px;display:grid}.goal{align-items:center;gap:10px;display:flex}.unit{margin-top:20px}.unit-banner{color:#fff;border-radius:var(--radius);padding:14px 16px;box-shadow:0 5px #00000026}.unit-banner p{opacity:.92;margin:4px 0 0;font-size:.88rem}.unit-no{opacity:.85;font-size:.8rem;font-weight:800}.path{flex-direction:column;align-items:center;gap:18px;padding:24px 0 8px;display:flex}.node-wrap{flex-direction:column;align-items:center;gap:6px;display:flex;position:relative}.node{border-radius:50%;place-items:center;width:72px;height:66px;font-size:1.8rem;display:grid}.node.locked{background:var(--line);box-shadow:0 6px 0 color-mix(in srgb, var(--line) 70%, black);filter:grayscale();cursor:default}.node.current{outline:5px solid color-mix(in srgb, var(--gold) 55%, transparent);outline-offset:4px}.node-label{text-align:center;font-size:.8rem;font-weight:700;display:grid}.stars{color:var(--gold);letter-spacing:1px}.stars.big{justify-content:center;gap:6px;font-size:2.6rem;display:flex}.start-bubble{background:var(--card);border:2px solid var(--line);color:var(--green-dark);white-space:nowrap;z-index:2;border-radius:10px;padding:4px 10px;font-size:.8rem;font-weight:800;position:absolute;top:-34px}.lesson{min-height:100dvh;padding-top:env(safe-area-inset-top);flex-direction:column;display:flex}.lesson-top{align-items:center;gap:8px;padding:6px 0;display:flex}.lesson-top .hearts{color:var(--danger);font-weight:800}.lesson-body{flex:1;padding:12px 0}.step-card h2{font-size:1.35rem}.step-card p{font-size:1.05rem;line-height:1.8}.q-row{align-items:flex-end;gap:10px;margin-bottom:14px;display:flex}.q-row .speech{flex:1}.choices{gap:10px;display:grid}.choices.two{grid-template-columns:1fr 1fr}.choice{text-align:left;border:2px solid var(--line);background:var(--card);box-shadow:0 4px 0 var(--line);border-radius:16px;align-items:center;gap:10px;padding:14px;font-weight:700;line-height:1.4;display:flex}.choice.big{justify-content:center;padding:20px 10px;font-size:1.05rem}.choice.on{background:color-mix(in srgb, #60a5fa 14%, var(--card));border-color:#60a5fa;box-shadow:0 4px #60a5fa}.choice .key{border:2px solid var(--line);width:26px;height:26px;color:var(--muted);border-radius:8px;flex:none;place-items:center;font-size:.8rem;display:grid}.number-input{align-items:center;gap:8px;display:flex}.number-input input{border:2px solid var(--line);text-align:right;border-radius:16px;flex:1;padding:14px;font-size:1.4rem;font-weight:800}.number-input span{font-size:1.1rem;font-weight:800}.lesson-foot{padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-top:2px solid var(--line);background:var(--bg);margin:0 -16px;position:sticky;bottom:0}.lesson-foot.ok{background:color-mix(in srgb, var(--green) 16%, var(--bg));border-color:#0000}.lesson-foot.ng{background:color-mix(in srgb, var(--danger) 13%, var(--bg));border-color:#0000}.feedback b{font-size:1.2rem}.ok .feedback b{color:var(--green-dark)}.ng .feedback b{color:var(--danger)}.feedback p{margin:4px 0 0;line-height:1.6}.combo{text-align:center;color:#f97316;font-size:1.1rem;font-weight:800}.finish{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:90dvh;display:flex}.finish-stats{gap:10px;margin:10px 0;display:flex}.pill{border:2px solid;border-radius:16px;padding:8px 18px;font-size:1.4rem;font-weight:800;display:grid}.pill small{font-size:.72rem}.pill.gold{border-color:var(--gold);color:#b47f00}.pill.green{border-color:var(--green);color:var(--green-dark)}.order-practice,.order-input,.order-confirm{gap:4px;display:grid}.ticket-head,.quote-row{justify-content:space-between;align-items:baseline;font-size:1.05rem;display:flex}.price-input{align-items:center;gap:4px;display:flex}.price-input input{text-align:right;border:2px solid var(--line);border-radius:12px;flex:1;min-width:0;padding:10px;font-size:1.2rem;font-weight:800}.price-input button,.stepper button{border:2px solid var(--line);background:var(--card);border-radius:12px;padding:10px;font-weight:800}.price-input span{white-space:nowrap;font-size:.8rem}.row-field{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.stepper{flex:1;gap:4px;max-width:260px;display:flex}.stepper input{text-align:right;border:2px solid var(--line);border-radius:12px;flex:1;min-width:0;padding:8px;font-size:1.1rem;font-weight:800}.condition{text-align:center;color:var(--purple);margin:8px 0;font-weight:700}.estimate{border-top:2px dashed var(--line);justify-content:space-between;padding:10px 0;font-size:1.1rem;display:flex}.kv{border-collapse:collapse;width:100%}.kv th,.kv td{border-bottom:1px solid var(--line);text-align:left;padding:10px 4px}.kv th{color:var(--muted);width:40%;font-weight:700}.kv td.buy{color:var(--up);font-weight:800}.kv td.sell{color:var(--down);font-weight:800}.order-done{text-align:center;padding:20px 0}.big-check{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto;font-size:2.4rem;display:grid}.board{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:8px 0}.board th{color:var(--muted);padding:4px;font-size:.75rem}.board td{border-bottom:1px solid var(--line);text-align:center;width:33%;padding:5px 8px}.board td.qty{font-size:.9rem;position:relative}.board td.qty i{opacity:.15;border-radius:4px;position:absolute;top:3px;bottom:3px}.board tr.ask td:first-child i{background:var(--down);right:0}.board tr.bid td:last-child i{background:var(--up);left:0}.board tr.ask td.price{color:var(--down);background:color-mix(in srgb, var(--down) 6%, transparent)}.board tr.bid td.price{color:var(--up);background:color-mix(in srgb, var(--up) 6%, transparent)}.board td.price{font-weight:800}.board td.price.last{outline:2px solid var(--gold);outline-offset:-2px}.visual-candle,.visual-line{width:100%;max-width:340px;margin:8px auto;display:block}.seg.wide button{font-size:.95rem}.article-list,.seminar-list{gap:0;display:grid}.article-item,.seminar-item,.next-article{text-align:left;align-items:flex-start;gap:12px;width:100%;display:flex}.seminar-item{border-bottom:1px solid var(--line);padding:10px 0}.next-article{flex-direction:column;gap:2px}.article-emoji{font-size:1.8rem}.article-text{gap:2px;display:grid}.article-text small{color:var(--muted)}.prose{line-height:1.85}.prose h2{margin-top:1.2em;font-size:1.1rem}.prose .lead{color:var(--muted);font-weight:700}.callout{border-radius:14px;margin:10px 0;padding:10px 14px}.callout.tip{background:color-mix(in srgb, var(--green) 12%, transparent)}.callout.warn{background:color-mix(in srgb, var(--gold) 18%, transparent)}.video{aspect-ratio:16/9}.video iframe{border:0;border-radius:12px;width:100%;height:100%}.page-title{margin:8px 0}.edition-list{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.edition{border:2px solid var(--line);border-radius:12px;padding:8px;font-size:.85rem;display:grid}.disclosures{margin:0;padding:0;list-style:none}.disclosures li{border-bottom:1px solid var(--line);padding:10px 0;line-height:1.5}.disc-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.8rem;display:flex}.summary-label{color:var(--muted);font-size:.8rem;font-weight:700}.summary-main{margin:6px 0 10px;display:grid}.summary-main small{color:var(--muted)}.equity{font-variant-numeric:tabular-nums;border-radius:8px;font-size:1.9rem;font-weight:800;transition:background .5s}.summary-grid{border-top:2px dashed var(--line);grid-template-columns:repeat(3,1fr);gap:8px;padding-top:10px;display:grid}.summary-grid div{display:grid}.summary-grid small{color:var(--muted);font-size:.72rem}.summary-grid b{font-variant-numeric:tabular-nums;font-size:.92rem}.change{font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700}.change.up{color:var(--up)}.change.down{color:var(--down)}.flash-up{background:color-mix(in srgb, var(--up) 22%, transparent)}.flash-down{background:color-mix(in srgb, var(--down) 22%, transparent)}.stock-list,.holdings,.orders,.news,.past-battles,.members,.week-lessons,.comment-list{margin:0;padding:0;list-style:none}.stock-list li{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:10px;padding:12px 4px;display:flex}.s-emoji{font-size:1.6rem}.s-name{flex:1;min-width:0;display:grid}.s-name b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.s-name small{color:var(--muted);font-size:.75rem}.s-price{text-align:right;font-variant-numeric:tabular-nums;font-weight:800;display:grid}.s-price>span:first-child{border-radius:6px;padding:0 4px;transition:background .5s}.spark{width:60px;height:24px}.holdings li{cursor:pointer}.h-name{justify-content:space-between;align-items:baseline;display:flex}.h-name small,.h-nums span{color:var(--muted);font-size:.8rem}.h-nums{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-top:4px;display:flex}.orders li{gap:4px;display:grid}.o-head{align-items:center;gap:8px;display:flex}.o-head b{flex:1}.o-body{justify-content:space-between;display:flex}.status{background:var(--line);border-radius:999px;padding:2px 8px;font-size:.78rem;font-weight:800}.status-open .status{background:var(--gold);color:#3b2a00}.status-filled .status{background:var(--green);color:#fff}.side-tag{color:#fff;border-radius:6px;padding:2px 8px;font-size:.8rem;font-weight:800}.side-tag.buy{background:var(--up)}.side-tag.sell{background:var(--down)}.news li{border-bottom:1px solid var(--line);cursor:pointer;padding:8px 0;line-height:1.5}.stock-head{justify-content:space-between;align-items:flex-end;gap:10px;margin:6px 0;display:flex}.stock-head small{color:var(--muted)}.stock-price{text-align:right;display:grid}.price-big{font-variant-numeric:tabular-nums;border-radius:8px;padding:0 4px;font-size:2rem;font-weight:800;transition:background .5s}.chart{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);padding:6px;position:relative}.chart-legend{z-index:2;gap:10px;font-size:.72rem;font-weight:800;display:flex;position:absolute;top:8px;left:12px}.trade-buttons{bottom:calc(76px + env(safe-area-inset-bottom));z-index:5;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;display:grid;position:sticky}.mini-pos{font-size:.85rem}.kpis{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.kpis div{background:var(--bg);border-radius:12px;padding:8px;display:grid}.kpis small{color:var(--muted);font-size:.72rem}.rules{padding-left:1.2em;font-size:.9rem;line-height:1.7}.battle-hero h1{margin-bottom:6px}.battle-card{text-align:left;color:#fff;border:none;width:100%;display:block;box-shadow:0 5px #0000002e}.battle-card.daily{background:linear-gradient(135deg,#f97316,#ef4444)}.battle-card.weekly{background:linear-gradient(135deg,#8b5cf6,#3b82f6)}.battle-kind{opacity:.95;font-size:.85rem;font-weight:800}.battle-meta{opacity:.95;gap:12px;font-size:.85rem;display:flex}.battle-timer{margin-top:8px;font-weight:800}.battle-timer.live{color:#fef08a}.battle-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.battle-head .battle-timer.live{color:var(--up)}.my-rank{text-align:center;min-width:80px;display:grid}.my-rank b{color:var(--purple);font-size:1.8rem}.my-rank small{color:var(--muted);font-size:.72rem}.join{align-items:center;gap:12px;display:flex}.ranking{margin:0;padding:0;list-style:none}.ranking li{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;grid-template-columns:36px 1fr auto auto;align-items:center;gap:8px;padding:8px 4px;display:grid}.community .ranking li{grid-template-columns:36px 1fr auto}.ranking li.me,.members li.me{background:color-mix(in srgb, var(--gold) 16%, transparent);border-radius:10px}.medal{text-align:center;font-weight:800}.past-battles li{border-bottom:1px solid var(--line);cursor:pointer;padding:8px 0;display:grid}.compose{align-items:flex-end;gap:8px;display:flex}.compose textarea{border:2px solid var(--line);resize:vertical;border-radius:14px;flex:1;min-height:64px;padding:10px}.comment-list li{border-bottom:1px solid var(--line);padding:10px 0}.comment-list p{white-space:pre-wrap;margin:4px 0 0;line-height:1.6}.comment-meta{align-items:baseline;gap:8px;font-size:.8rem;display:flex}.comment-meta span{color:var(--muted);flex:1}.week-lessons li{cursor:pointer;padding:8px 0}.task{background:color-mix(in srgb, var(--gold) 14%, transparent);border-radius:12px;margin:8px 0 0;padding:10px;line-height:1.6}.members li{justify-content:space-between;padding:6px 8px;display:flex}.account{border-top:2px solid var(--line);margin-top:16px;padding-top:12px}.account h3{margin:0 0 8px;font-size:1rem}.account-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.account-row img,.account-row .avatar{background:var(--line);border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.row-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}a.btn{text-align:center;text-decoration:none}.sub-toggles .toggle{margin:8px 0 8px 24px;font-size:.9rem;font-weight:600}
