:root{--ink:#1c1b19;--ink2:#6b675f;--line:#e4e0d6;--bg:#faf8f3;--card:#fff;--up:#0f7a3d;--down:#b42318;--teal:#0f766e}*{box-sizing:border-box}.gamewrap{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 system-ui,-apple-system,Segoe UI,Arial,sans-serif}#app{max-width:560px;margin:0 auto;padding:16px 16px 40px}h1{font-size:26px;margin:8px 0 4px}h2{font-size:18px;margin:26px 0 10px}.sub{color:var(--ink2);margin:0 0 12px}.warn{background:#fff6e0;border:1px solid #f0d9a0;border-radius:12px;padding:10px 12px;font-size:14px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stats div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column}.stats span{font-size:13px;color:var(--ink2)}.stats b{font-size:17px;direction:ltr;text-align:right}.hold{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);gap:8px}.up{color:var(--up)}.down{color:var(--down)}select,input[type=number]{width:100%;min-height:48px;font-size:16px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}.price{font-size:32px;font-weight:600;margin:12px 0 4px;direction:ltr;text-align:right}svg{width:100%;height:auto;background:#fff;border:1px solid var(--line);border-radius:12px;direction:ltr}table{width:100%;border-collapse:collapse;margin:12px 0;font-size:14px}th{text-align:right;font-weight:500;color:var(--ink2);padding:6px 4px}td{padding:7px 4px;border-top:1px solid var(--line)}.l{direction:ltr;text-align:right}.row{display:flex;gap:10px;margin-top:8px;align-items:center}button{flex:1;min-height:48px;font-size:16px;border-radius:12px;border:1px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer;font-family:inherit}button:disabled{opacity:.4}button.buy{background:var(--up);border-color:var(--up);color:#fff}button.sell{background:var(--down);border-color:var(--down);color:#fff}button.sm{flex:none;padding:0 14px}.note{font-size:13px;color:var(--ink2);margin:8px 0}.msg{font-weight:600;margin:10px 0}ul{list-style:none;padding:0;margin:8px 0 0;font-size:14px}li{padding:5px 0;border-top:1px solid var(--line)}footer{margin-top:28px;color:var(--ink2);font-size:13px}.gamewrap{background:#fff}#app{max-width:760px}.stats b{overflow-wrap:anywhere}.stats small{direction:ltr;text-align:right}#chart{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}#chart:active{cursor:grabbing}#chart text{font:11px Arial,sans-serif;fill:var(--ink2)}details{margin:12px 0;border-top:1px solid var(--line);padding-top:4px}summary{cursor:pointer;min-height:48px;display:list-item;padding:12px 0;font-weight:600}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;max-height:260px;overflow:auto}.checks label{display:flex;align-items:center;min-height:48px;gap:8px;overflow-wrap:anywhere}.checks input{width:22px;height:22px;flex:none}.legend{display:flex;gap:10px;flex-wrap:wrap;direction:ltr;font-size:13px}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:15px;height:4px;display:inline-block}.chartbuttons{display:flex;gap:5px;flex-wrap:wrap}.chartbuttons button{font-size:14px;min-width:40px;padding:0 8px}.tradeLabel{display:block;margin-top:12px}.quote{background:#f4efec;border-radius:12px;padding:12px;margin-top:12px}button[aria-pressed=true]{background:var(--teal);color:#fff;border-color:var(--teal)}.wide{width:100%;margin-top:8px}table{direction:ltr}th,td{text-align:center!important;font-size:12px}.row input{min-width:0;flex:1;width:0}.hold>span{min-width:0}.price{margin-bottom:0}button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,svg:focus-visible{outline:3px solid #73a89a;outline-offset:3px}input,select{font-family:inherit}h2{margin-top:22px}#compare label{display:block}#compare .checks label{display:flex}@media (min-width:768px){#app{padding:28px 24px 40px}.stats{grid-template-columns:repeat(4,1fr)}.checks{grid-template-columns:repeat(4,minmax(0,1fr))}}.stepper{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:10px;align-items:center;margin-top:8px;direction:ltr}.stepper button{font-size:26px;min-height:52px;touch-action:manipulation}.stepper output{font-size:28px;font-weight:600;text-align:center;overflow-wrap:anywhere}.presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.presets button{font-size:14px;padding:0 4px;touch-action:manipulation}.row button{min-width:0}button{touch-action:manipulation}.stocklist{display:grid;gap:10px;padding:3px}.stockcard{border:1px solid var(--line);border-radius:12px;padding:12px;min-width:0}.stockcard[data-selected=true]{border-color:var(--teal)}.stockheading{display:flex;justify-content:space-between;gap:12px}.stockheading b{overflow-wrap:anywhere;min-width:0}.stockheading span{flex-shrink:0}.stockcard button{font-size:14px;padding:4px;min-height:48px}#tradeSection{scroll-margin-top:16px}.picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:340px;overflow:auto;padding:3px}.picker button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:6px 12px;text-align:right;min-height:56px}.picker small{color:var(--ink2)}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-inline-end:8px;vertical-align:middle}.actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.actions button{font-size:15px;padding:0 4px}.actions button.rm{border-color:var(--down);color:var(--down)}.stockcard .note{margin:4px 0 10px}.stockheading small{font-size:13px}.tradepanel{margin-top:12px;padding:12px;background:#f4efec;border-radius:12px}.tradepanel .quote{background:#fff;margin-top:10px}.tradepanel .presets{grid-template-columns:repeat(4,minmax(0,1fr))}.testing{margin:40px -16px 0;padding:18px 16px 28px;background:repeating-linear-gradient(135deg,#2e2c28,#2e2c28 14px,#37342f 14px,#37342f 28px);color:#f3efe6;border-top:4px dashed #e0a82e}.testing h2{margin-top:0;color:#f6c453}.testing .note{color:#d9d3c5}.testing button{background:#f3efe6;border-color:#f3efe6}.testing button:disabled{opacity:.4}@media (min-width:768px){.testing{margin-inline:-24px;padding-inline:24px}.picker{grid-template-columns:repeat(4,minmax(0,1fr))}}.pickbtn{width:100%;background:var(--teal);border-color:var(--teal);color:#fff;margin:4px 0 14px}.sheetback{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1b1980;z-index:50}.sheet{position:fixed;z-index:51;left:0;right:0;bottom:0;max-height:85vh;display:flex;flex-direction:column;background:#fff;border-radius:18px 18px 0 0;padding:14px 16px 20px;max-width:760px;margin:0 auto;box-shadow:0 -6px 24px #0003}.sheethead{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.sheethead button{flex:none;min-width:80px}.sheetlist{overflow:auto;padding-top:6px}.pickrow{display:grid;grid-template-columns:1.1fr 1.3fr 1fr;align-items:center;gap:8px;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;min-height:56px;text-align:right;padding:0 4px;background:#fff}.pickrow .pm{color:var(--teal);font-weight:600;text-align:left}.pickrow[aria-pressed=true]{background:#f1f7f5;color:var(--ink)}.pickrow[aria-pressed=true] .pm{color:var(--ink2)}.pickrow .pn{font-weight:600;text-align:right}.sheet{position:static!important;max-height:none!important;box-shadow:none!important;border-radius:0!important;padding:0!important}.sheetback{display:none}.sheethead{position:sticky;top:0;background:#fff;padding-top:8px}.sheetlist{overflow:visible!important}.pickercontrols{display:grid;gap:12px;margin:14px 0}.pickercontrols label{font-size:14px;font-weight:600}.pickercontrols input{display:block;width:100%;min-height:48px;margin-top:4px;padding:8px 12px;font:inherit;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}.pickercontrols select{margin-top:4px}.pickrow .pn{min-width:0;overflow-wrap:anywhere}.pickrow .pn small{display:block;font-size:11px;font-weight:400;color:var(--ink2)}.pickrow .l small{display:block;font-size:13px}.pickrow{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 65px;padding-block:10px;min-height:68px}.pickrow .pm{font-size:13px}.empty{padding:20px 0}.chartbuttons{display:grid;grid-template-columns:1fr 1fr}.chartbuttons button{font-size:14px;white-space:normal}.stockheading{flex-wrap:wrap}.legend span{overflow-wrap:anywhere;max-width:100%}.sheethead{z-index:2}.pickercontrols select{font-weight:400}@media (min-width:768px){.pickercontrols{grid-template-columns:1fr 1fr}.chartbuttons{grid-template-columns:repeat(4,1fr)}}:root{--ink:#201c46;--ink2:#595577;--line:#e5e2f3;--teal:#5b38b5;--up:#13714b;--down:#a33359}#app{padding-top:12px}.gamehero{background:linear-gradient(120deg,#352366,#5234a4);color:#fff;border-radius:22px;padding:22px 18px;position:relative;overflow:hidden;margin-bottom:14px}.gamehero h1{font-size:30px;margin:7px 0}.gamehero .sub{color:#e8e1ff;font-size:13px;margin:4px 0 0}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.02em}.heroemblem{float:left;background:#c7f66b;color:#251e4d;border-radius:17px;font-size:36px;font-weight:800;width:56px;height:56px;text-align:center;transform:rotate(-8deg);margin-inline-start:8px}.warn{background:#f3f0fb;border-color:#e7e0f8;color:#51476e;font-size:12px}.stats{gap:8px}.stats div{border:0;background:#f3f0fb;border-radius:16px;padding:14px 12px}.stats div:first-child{background:#201c46;color:#fff}.stats div:first-child span{color:#d7d0ed}.stats b{font-size:19px}h2{font-size:20px;font-weight:750}.learning{margin-top:20px;background:#faf9ff;border:1px solid var(--line);padding:16px;border-radius:20px}.levelrow{display:flex;align-items:center;gap:10px}.levelicon{background:#e6ddff;font-size:23px;border-radius:14px;padding:9px}.levelrow h2{margin:0;font-size:20px}.levelrow h2 small{font-size:12px;color:var(--ink2);font-weight:500}.levelrow .xp{margin-inline-start:auto;direction:ltr;color:var(--teal);white-space:nowrap}.meter{height:8px;background:#e6e1f3;border-radius:6px;margin-top:14px;overflow:hidden}.meter i{display:block;height:100%;background:#7450cc;border-radius:6px}.visit{background:#edf7e1;border-radius:12px;padding:12px;display:grid;gap:5px}.visit small{color:#466034;font-size:12px}.challenge{background:#fff;border:1px solid var(--line);border-inline-start:4px solid #7450cc;padding:13px;border-radius:13px;margin-top:12px}.challenge h3{font-size:17px;margin:6px 0}.challenge p{font-size:13px;color:var(--ink2);margin:0 0 10px}.challengefoot{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;font-size:12px}.challengefoot b{color:var(--teal)}.learning details{margin-bottom:0}.learning summary{font-size:14px}.badge{display:flex;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px;margin:8px 0;background:#fff}.badge>span{font-size:25px;flex:none}.badge p{font-size:13px;color:var(--ink2);margin:4px 0}.badge small{color:var(--ink2);font-size:12px}.badge.earned{border-color:#a6c86a;background:#f3f9eb}.badge.earned small{color:#446124}.badges{display:grid;gap:0}.mocknote{background:#ede8fc;border-radius:9px;padding:10px;font-size:13px}.myscore{display:grid;gap:6px;font-size:14px;border-inline-start:3px solid var(--teal);padding-inline-start:10px}.rankhead{font-size:13px;margin-top:14px}.rank{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;padding:10px 0;align-items:center;border-bottom:1px solid var(--line);font-size:14px}.rank small{display:block;color:var(--ink2);font-size:12px;direction:ltr;text-align:right}.stockcard{border-radius:17px;box-shadow:0 3px 12px #23154b08}.pickbtn{background:#5b38b5;border-color:#5b38b5;font-weight:700;border-radius:14px}button.buy{background:#13714b;border-color:#13714b}button.sell{background:#fff;color:#8f2d57;border-color:#a33359}.tradepanel{background:#f2edfc}.sheethead{color:var(--ink);border-bottom:3px solid #c7f66b}.testing{background:#242137;border-color:#cdbd7f}.testing h2{color:#ebdeab}.testing .note{color:#ddd8e8}.testing button{color:#242137;background:#efecf7}.dayend{padding:28px 0;text-align:center}.endicon{display:inline-grid;place-items:center;width:84px;height:84px;border-radius:24px;background:#e9e2fb;font-size:44px;margin-bottom:14px}.dayend h1{font-size:29px;margin-top:6px}.dayend>p{color:var(--ink2)}.endvalue{background:#f3f0fb;border-radius:20px;padding:24px;margin:24px 0;display:grid;gap:8px}.endvalue b{font-size:34px;direction:ltr}.endvalue small{font-size:14px;color:var(--ink2)}.endfacts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.endfacts span{background:#faf9ff;border:1px solid var(--line);border-radius:13px;padding:13px;font-size:14px}.endfacts b{display:block;font-size:24px}.dayend .badge{text-align:right}.dayend .pickbtn{margin-top:16px;min-height:52px}button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline-color:#7350cb}@media (min-width:768px){.badges{grid-template-columns:1fr 1fr;gap:10px}.gamehero{padding:28px}.learning{padding:20px}.gamehero h1{font-size:36px}}.stats div{color:var(--ink)}.stats div:first-child{color:#fff}.learning{color:var(--ink)}.visit{color:#314925}.challenge{color:var(--ink)}@media (max-width:359px){.stats b{font-size:16px}.heroemblem{width:42px;height:42px;font-size:28px}.gamehero{padding:18px 14px}.gamehero h1{font-size:26px}.levelrow{gap:7px}.levelicon{padding:6px}.levelrow h2{font-size:18px}.learning{padding:12px}.actions button{font-size:13px}}@media (max-width:359px){.stats{grid-template-columns:1fr}.stats div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px}.stats b{font-size:18px;white-space:nowrap}.stats small{grid-column:2}}.storagecaption{max-width:760px;margin:0 auto;padding:10px 16px;font-size:12px;color:var(--ink2)}.feesstat{grid-column:1 / -1}.feesstat small{display:block;line-height:1.6;font-weight:400}.feerules{margin-bottom:18px}.feehint{display:block;line-height:1.6;margin:6px 0}.stats .feesstat,.stats .feesstat span,.stats .feesstat b{display:block}.stats .feesstat small{margin-top:5px}.authform{display:flex;flex-direction:column;gap:12px;margin-top:14px}.authform input{padding:12px;font-size:16px;border:1px solid var(--line);border-radius:10px;width:100%;margin-top:4px}.rank.me{background:#efe9ff;border-radius:10px}.acct{margin-top:34px;padding-top:12px;border-top:1px solid var(--line)}.avatar{font-size:26px}.avgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:6px 0}.av{font-size:24px;padding:6px;border-radius:12px;border:2px solid transparent;background:#f3f0ff}.av.on{border-color:#6d4aff;background:#e6deff}.profile{padding:8px 0}button{transition:transform .12s ease,box-shadow .12s ease}button:active{transform:scale(.94)}.mebar{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 10px;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:16px;text-align:start}.mebar .avatar{font-size:28px;display:inline-block;animation:pop .5s cubic-bezier(.3,1.6,.5,1)}.mebar b{flex:1}.fxlayer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:50}.fxlayer span{position:absolute;top:-30px;animation:fall 2.2s ease-in forwards}.fxtoast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:#352366;color:#fff;padding:12px 18px;border-radius:999px;z-index:60;font-weight:700;animation:toastin .35s cubic-bezier(.3,1.5,.5,1),toastout .4s ease 2.7s forwards;box-shadow:0 6px 20px #0004}.meter i{animation:fill 1s ease-out}.badge{animation:pop .5s cubic-bezier(.3,1.5,.5,1)}#app.enter .stockcard,#app.enter .rank,#app.enter .stats>div{animation:rise .45s ease-out both}#app.enter .stats>div:nth-child(2){animation-delay:.06s}#app.enter .stats>div:nth-child(3){animation-delay:.12s}#app.enter .stats>div:nth-child(4){animation-delay:.18s}#app.enter .rank:nth-child(odd){animation-delay:.05s}.dayend .endicon{display:inline-block;animation:bob 2.4s ease-in-out infinite}@keyframes fall{to{transform:translate(var(--dx),110vh) rotate(var(--r));opacity:.9}}@keyframes pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes rise{0%{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}@keyframes fill{0%{transform:scaleX(0);transform-origin:right}to{transform:scaleX(1);transform-origin:right}}@keyframes bob{50%{transform:translateY(-8px) rotate(-6deg)}}@keyframes toastin{0%{transform:translate(-50%,40px);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes toastout{to{opacity:0;transform:translate(-50%,10px)}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.admrank{display:flex;align-items:center;gap:8px;padding:8px 4px;border-bottom:1px solid var(--line)}.admrank>span:first-child{flex:1;min-width:0;overflow-wrap:anywhere}.admrank>span:nth-child(2){flex:none;color:var(--ink2);font-size:14px}.admrank button.sm{flex:none;width:42px;height:42px;min-height:0;padding:0;font-size:18px;display:inline-flex;align-items:center;justify-content:center;margin:0}.admtop{display:flex;gap:8px}.admtop button{flex:1;min-width:0;white-space:nowrap;padding:10px 6px}html{-webkit-text-size-adjust:100%;overscroll-behavior-y:none}body{background:#fff;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}button,.mebar,.av,summary{-webkit-user-select:none;user-select:none;touch-action:manipulation}#app{padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.installbar{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));background:#352366;color:#fff;border-radius:16px;padding:12px 14px;z-index:40;display:flex;gap:10px;align-items:center;box-shadow:0 8px 24px #0005;animation:toastin .35s cubic-bezier(.3,1.5,.5,1)}.installbar p{margin:0;flex:1;font-size:14px;line-height:1.4}.installbar button{flex:none;background:#c8f560;color:#222;border:0;border-radius:12px;padding:8px 12px;font-weight:700}.installbar .x{background:transparent;color:#fff;font-size:18px;padding:4px 8px}
