@font-face{font-family: 'Noto Sans Thai';src: url('/assets/noto-sans-thai.woff') format('woff');font-weight: 100 900;font-stretch: 62.5% 100%;font-display: swap}:root{--bg: #eee7fa;--card: #fff9fc;--card-2: #f7f1fd;--ink: #2f1b60;--muted: #5e4d86;--line: #e2d6f3;--line-strong: #c3addf;--primary: #7c5acb;--primary-deep: #5e3bb0;--primary-soft: #ede4fb;--primary-text: #6440be;--up: #22a879;--up-text: #137351;--up-soft: #e2f5ec;--down: #c93955;--down-soft: #fbe6eb;--warn: #b7791f;--warn-text: #8a5a12;--warn-soft: #fbf0dc;--a-crypto: #8b5cf6;--a-crypto-soft: #efe8fe;--a-tech: #2e8bd9;--a-tech-soft: #e3f0fb;--a-gold: #c9921b;--a-gold-soft: #fbf1dc;--a-utility: #22a879;--a-utility-soft: #e2f5ec;--shadow: 0 10px 28px rgba(80,52,156,0.1),0 2px 6px rgba(80,52,156,0.06);--shadow-lift: 0 16px 40px rgba(80,52,156,0.16);--r-xl: 28px;--r-l: 24px;--r-m: 20px;--r-s: 14px;--font: 'Noto Sans Thai','Noto Sans','Loma',system-ui,sans-serif}*{box-sizing: border-box}html,body{margin: 0;height: 100%;overflow: hidden;background: var(--bg);color: var(--ink);font-family: var(--font);-webkit-text-size-adjust: 100%;-webkit-tap-highlight-color: transparent}button,input,select{font: inherit;color: inherit}button{cursor: pointer}button:disabled{cursor: not-allowed}:focus-visible{outline: 3px solid var(--primary);outline-offset: 2px}.num{font-variant-numeric: tabular-nums}.ic{flex: none}.sr-only{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap}[hidden]{display: none !important}#viewport{position: fixed;inset: 0;display: grid;place-items: center;overflow: hidden;padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.stage{position: absolute;left: 50%;top: 50%;overflow: hidden;transform-origin: center center;transform: translate(-50%,-50%);background: var(--bg)}.stage.landscape{width: 1600px;height: 900px}.stage.portrait{width: 450px;height: 800px}.btn{display: inline-flex;align-items: center;justify-content: center;gap: 8px;min-height: 48px;padding: 0 20px;border-radius: var(--r-s);border: 1.5px solid var(--line-strong);background: var(--card);color: var(--ink);font-weight: 600;font-size: 16px;line-height: 1.2;white-space: nowrap}.btn:hover:not(:disabled){border-color: var(--primary)}.btn.primary{background: var(--primary);border-color: var(--primary-deep);color: #fff}.btn.primary:hover:not(:disabled){background: var(--primary-deep)}.btn.danger{background: var(--card);border-color: var(--down);color: var(--down)}.btn.ghost{background: transparent;border-color: transparent;color: var(--primary-text)}.btn.big{min-height: 60px;font-size: 20px;padding: 0 28px;border-radius: var(--r-m)}.btn:disabled{background: var(--card-2);border-color: var(--line);border-style: dashed;color: var(--muted)}.btn.busy{position: relative}.btn.busy::after{content: '';width: 16px;height: 16px;border-radius: 50%;border: 2.5px solid currentColor;border-right-color: transparent;animation: spin 0.8s linear infinite}@keyframes spin{to{transform: rotate(360deg)}}.icon-btn{display: inline-grid;place-items: center;width: 48px;height: 48px;border-radius: var(--r-s);border: 1.5px solid var(--line-strong);background: var(--card);color: var(--ink)}.seg{display: inline-flex;padding: 4px;gap: 4px;border-radius: 16px;background: var(--card-2);border: 1.5px solid var(--line)}.seg button{min-height: 44px;padding: 0 16px;border-radius: 12px;border: 1.5px solid transparent;background: transparent;font-weight: 600;color: var(--muted)}.seg button[aria-pressed='true']{background: var(--card);border-color: var(--primary);color: var(--primary-text);box-shadow: var(--shadow)}.card{background: var(--card);border: 1px solid var(--line);border-radius: var(--r-l);box-shadow: var(--shadow)}.chip{display: inline-flex;align-items: center;gap: 6px;height: 32px;padding: 0 12px;border-radius: 999px;background: var(--card-2);border: 1px solid var(--line);color: var(--muted);font-size: 14px;font-weight: 600;white-space: nowrap}.chip.on{background: var(--primary);border-color: var(--primary-deep);color: #fff}.chip.ok{background: var(--up-soft);border-color: #b7e3cf;color: var(--up-text)}.chip.warn{background: var(--warn-soft);border-color: #ecd3a5;color: var(--warn-text)}.chip.bad{background: var(--down-soft);border-color: #efbfca;color: var(--down)}.dot{width: 10px;height: 10px;border-radius: 50%;background: currentColor;flex: none}.dot.sq{border-radius: 2px}.up{color: var(--up-text)}.down{color: var(--down)}.flat{color: var(--muted)}.muted{color: var(--muted)}.asset-badge{display: inline-grid;place-items: center;width: 44px;height: 44px;border-radius: 14px;background: var(--cs);color: var(--c);flex: none}.level-track{display: grid;grid-template-columns: repeat(9,1fr);gap: 3px}.level-track span{height: 8px;border-radius: 4px;background: var(--line)}.level-track span.on{background: color-mix(in srgb,var(--c) 45%,white)}.level-track span.cur{background: var(--c);outline: 2px solid var(--ink);outline-offset: 1px}.empty{display: grid;place-items: center;gap: 8px;text-align: center;color: var(--muted);padding: 24px}.empty strong{color: var(--ink);font-size: 18px}#toasts{position: fixed;left: 50%;bottom: 24px;transform: translateX(-50%);display: grid;gap: 8px;z-index: 60;width: min(92vw,520px)}.toast{display: flex;align-items: center;gap: 10px;padding: 14px 18px;border-radius: 16px;background: var(--ink);color: #fff;font-weight: 500;box-shadow: var(--shadow-lift);transition: opacity 0.4s}.toast.error{background: #8f1f38}.toast.ok{background: #0f5a40}.toast.out{opacity: 0}#sheet-root{position: absolute;inset: 0;z-index: 40;display: none}#sheet-root.open{display: block}.sheet-backdrop{position: absolute;inset: 0;background: rgba(47,27,96,0.38)}.sheet{position: absolute;background: var(--card);border: 1px solid var(--line);box-shadow: var(--shadow-lift);display: flex;flex-direction: column;overflow: hidden}.landscape .sheet{left: 50%;top: 50%;transform: translate(-50%,-50%);width: 760px;max-height: 800px;border-radius: var(--r-xl)}.landscape .sheet.wide{width: 1100px}.portrait .sheet{left: 0;right: 0;bottom: 0;max-height: 720px;border-radius: var(--r-xl) var(--r-xl) 0 0}.sheet-body{display: flex;flex-direction: column;min-height: 0;overflow: hidden}.sheet-head{display: flex;align-items: flex-start;justify-content: space-between;gap: 16px;padding: 22px 24px 14px;border-bottom: 1px solid var(--line)}.sheet-head h2{margin: 0;font-size: 24px}.sheet-head p{margin: 4px 0 0;color: var(--muted)}.sheet-main{padding: 18px 24px;display: grid;gap: 14px;overflow: hidden}.sheet-foot{display: flex;gap: 12px;justify-content: flex-end;padding: 14px 24px 22px;border-top: 1px solid var(--line)}.host{display: grid;grid-template-columns: 232px 1fr;grid-template-rows: 88px 1fr;height: 100%}.host-side{grid-row: 1 / 3;display: flex;flex-direction: column;gap: 6px;padding: 20px 16px;background: linear-gradient(180deg,#7c5acb 0%,#5e3bb0 100%);color: #fff}.host-logo{display: flex;align-items: center;gap: 10px;height: 56px;margin: 0 4px 14px;padding: 8px 12px;border-radius: 16px;background: rgba(255,255,255,0.94)}.host-logo img{height: 40px;width: auto}.host-menu{display: grid;gap: 6px}.host-menu button{display: flex;align-items: center;gap: 12px;min-height: 52px;padding: 0 14px;border-radius: 16px;border: 1.5px solid transparent;background: transparent;color: #fff;font-size: 17px;font-weight: 600;text-align: left}.host-menu button:hover:not(:disabled){background: rgba(255,255,255,0.12)}.host-menu button[aria-current='page']{background: var(--card);border-color: #fff;color: var(--ink)}.host-menu button[aria-current='page'] .ic{color: var(--primary-text)}.host-menu button:disabled{opacity: 0.55}.host-menu button .badge{margin-left: auto;min-width: 28px;height: 24px;padding: 0 8px;border-radius: 12px;background: rgba(255,255,255,0.2);font-size: 13px;display: grid;place-items: center}.host-menu button[aria-current='page'] .badge{background: var(--primary-soft);color: var(--primary-text)}.host-side-foot{margin-top: auto;display: grid;gap: 8px}.host-side-foot button{display: flex;align-items: center;gap: 10px;min-height: 48px;padding: 0 14px;border-radius: 14px;border: 1.5px solid rgba(255,255,255,0.45);background: transparent;color: #fff;font-weight: 600}.host-side-foot button[aria-pressed='true']{background: #fff;color: var(--ink)}.host-top{display: flex;align-items: center;gap: 14px;padding: 0 24px;background: var(--card);border-bottom: 1px solid var(--line)}.stat{display: flex;flex-direction: column;justify-content: center;min-height: 60px;padding: 6px 16px;border-radius: 16px;background: var(--card-2);border: 1px solid var(--line)}.stat small{font-size: 13px;color: var(--muted);font-weight: 500}.stat strong{font-size: 24px;line-height: 1.15;font-weight: 700}.stat.code strong{font-size: 30px;letter-spacing: 0.12em}.stat.time{min-width: 150px;background: var(--ink);border-color: var(--ink);color: #fff}.stat.time small{color: #d6cbef}.stat.time strong{font-size: 34px}.stat.time.low{background: #7a1f35;border-color: #7a1f35}.stat.phase strong{font-size: 20px}.host-top .spacer{flex: 1}.conn{display: inline-flex;align-items: center;gap: 8px;font-weight: 600;font-size: 14px}.conn.online{color: var(--up-text)}.conn.offline,.conn.connecting{color: var(--down)}.host-main{position: relative;padding: 20px 24px;overflow: hidden;min-height: 0}.page{height: 100%;display: grid;gap: 16px;min-height: 0}.panel{background: var(--card);border: 1px solid var(--line);border-radius: var(--r-l);box-shadow: var(--shadow);padding: 18px 20px;min-height: 0;overflow: hidden;display: flex;flex-direction: column;gap: 12px}.panel-head{display: flex;align-items: center;gap: 12px;justify-content: space-between}.panel-head h2,.panel-head h3{margin: 0;font-size: 20px}.panel-head p{margin: 2px 0 0;color: var(--muted);font-size: 14px}.banner{position: absolute;left: 24px;right: 24px;top: 8px;z-index: 5;display: flex;align-items: center;gap: 12px;padding: 10px 16px;border-radius: 14px;background: var(--down-soft);border: 1px solid #efbfca;color: var(--down);font-weight: 600}.create{height: 100%;display: grid;grid-template-columns: 1fr 560px;gap: 24px}.create-hero{display: flex;flex-direction: column;justify-content: center;gap: 18px;padding: 40px}.create-hero img{width: 420px;height: auto}.create-hero h1{margin: 0;font-size: 40px;line-height: 1.25}.create-hero p{margin: 0;font-size: 18px;color: var(--muted);max-width: 34em}.form{display: grid;gap: 18px;align-content: center;padding: 32px}.field{display: grid;gap: 8px}.field label,.field .label{font-weight: 600;font-size: 16px}.field .help{font-size: 14px;color: var(--muted)}.field .error{font-size: 14px;color: var(--down);font-weight: 600}.input{height: 56px;padding: 0 16px;border-radius: var(--r-s);border: 1.5px solid var(--line-strong);background: #fff;font-size: 18px}.input[aria-invalid='true']{border-color: var(--down)}.choice-grid{display: grid;grid-template-columns: repeat(4,1fr);gap: 10px}.choice{display: grid;gap: 2px;place-items: center;min-height: 64px;padding: 8px;border-radius: 16px;border: 1.5px solid var(--line-strong);background: #fff}.choice strong{font-size: 20px}.choice small{font-size: 13px;color: var(--muted)}.choice[aria-pressed='true']{background: var(--primary);border-color: var(--primary-deep);color: #fff}.choice[aria-pressed='true'] small{color: #fff}.lobby{grid-template-columns: 520px 1fr}.join-card{align-items: center;text-align: center;justify-content: center}.join-card .big-code{font-size: 96px;font-weight: 800;letter-spacing: 0.14em;line-height: 1;margin: 4px 0 0 0.14em}.qr{width: 280px;height: 280px;border-radius: 20px;border: 1.5px solid var(--line-strong);background: #fff;padding: 12px;display: grid;place-items: center;overflow: hidden}.qr img{width: 100%;height: 100%;image-rendering: pixelated}.qr .qr-fallback{color: var(--muted);font-size: 14px;padding: 16px}.join-url{font-size: 15px;color: var(--muted);word-break: break-all}.start-row{display: grid;gap: 8px;justify-items: center}.start-row .reason{font-size: 14px;color: var(--warn-text);font-weight: 600}.roster{display: grid;grid-template-columns: repeat(3,1fr);grid-auto-rows: 64px;gap: 10px;align-content: start;flex: 1;min-height: 0}.roster-item{display: flex;align-items: center;gap: 12px;padding: 0 14px;border-radius: 16px;border: 1px solid var(--line);background: #fff;min-width: 0}.roster-item .state{display: grid;justify-items: end;gap: 2px;font-size: 13px;font-weight: 600;white-space: nowrap}.roster-item .state span{display: inline-flex;align-items: center;gap: 5px}.roster-item .avatar{width: 38px;height: 38px;border-radius: 50%;display: grid;place-items: center;background: var(--primary-soft);color: var(--primary-text);font-weight: 700;flex: none}.roster-item .who{min-width: 0;flex: 1}.roster-item .who strong{display: block;font-size: 16px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.roster-item .who small{color: var(--muted);font-size: 13px}.state-line{display: flex;flex-wrap: wrap;gap: 2px 10px;font-weight: 500}.state-line>span{display: inline-flex;align-items: center;gap: 5px}.state-line .up,.state-line .down{font-weight: 700}.state-line .ready{color: var(--primary-text);font-weight: 700}.pick{display: flex;flex-wrap: wrap;gap: 8px}.pick button{display: inline-flex;align-items: center;gap: 8px;min-height: 44px;padding: 0 14px;border-radius: 999px;border: 1.5px solid var(--line-strong);background: #fff;font-weight: 600;white-space: nowrap}.pick button i{width: 12px;height: 12px;border-radius: 50%;background: var(--c)}.pick button[aria-pressed='true']{background: var(--primary);border-color: var(--primary-deep);color: #fff}.pick button[aria-pressed='true'] i{outline: 2px solid #fff}.pager{display: flex;align-items: center;justify-content: flex-end;gap: 10px;color: var(--muted);font-size: 15px}.pager .icon-btn{width: 44px;height: 44px}.dash{grid-template-columns: 1fr 1fr 1fr 1fr;grid-template-rows: 198px 220px 1fr}.round-card{grid-column: 1 / 5;display: grid;grid-template-columns: 1fr 260px auto;gap: 20px;align-items: stretch}.round-card .round-info{display: flex;flex-direction: column;justify-content: center;gap: 2px}.round-card .round-no{font-size: 18px;color: var(--muted);font-weight: 600}.round-card .round-no strong{font-size: 30px;color: var(--ink)}.round-card h2{margin: 0;font-size: 34px;line-height: 1.2}.round-card .hint{font-size: 17px;color: var(--muted)}.flow{display: flex;gap: 8px;margin-top: 6px}.big-time{display: flex;flex-direction: column;align-items: center;justify-content: center;border-radius: var(--r-m);background: var(--ink);color: #fff}.big-time small{font-size: 16px;color: #d6cbef}.big-time strong{font-size: 84px;line-height: 1;font-weight: 700}.big-time.paused{background: var(--warn-soft);color: var(--warn-text);border: 1.5px solid #ecd3a5}.big-time.paused small{color: var(--warn-text)}.controls{display: grid;grid-template-columns: repeat(3,auto);gap: 10px;align-content: center}.controls .wide{grid-column: 2 / 4}.toggle{display: flex;align-items: center;gap: 10px;min-height: 48px;padding: 0 14px;border-radius: var(--r-s);border: 1.5px solid var(--line-strong);background: #fff;font-weight: 600}.toggle input{width: 22px;height: 22px;accent-color: var(--primary)}.asset-card{cursor: pointer;text-align: left;font: inherit;color: inherit;display: flex;flex-direction: column;gap: 8px;padding: 14px 20px;border-top: 6px solid var(--c)}.asset-card:hover{border-color: var(--line-strong);border-top-color: var(--c)}.asset-card .name{display: flex;align-items: center;gap: 12px;font-size: 19px;font-weight: 700;line-height: 1.25}.asset-card .price{display: flex;align-items: baseline;gap: 8px}.asset-card .price strong{font-size: 52px;line-height: 1;font-weight: 700}.asset-card .price span{font-size: 16px;color: var(--muted)}.asset-card .meta{display: flex;align-items: center;justify-content: space-between;font-size: 17px;font-weight: 600}.asset-card .more{margin-top: auto;font-size: 14px;color: var(--primary-text);font-weight: 600;display: flex;align-items: center;gap: 4px}.news{grid-column: 1 / 3}.activity{grid-column: 3 / 5}.event-list{display: grid;gap: 6px;margin: 0;padding: 0;list-style: none}.event-list li{display: flex;align-items: center;justify-content: space-between;gap: 12px;min-height: 46px;padding: 4px 14px;border-radius: 12px;background: var(--card-2);font-size: 18px}.event-list li .who{display: flex;align-items: center;gap: 10px;font-weight: 600}.event-list li .res{font-weight: 700;display: inline-flex;align-items: center;gap: 6px}.note{font-size: 14px;color: var(--muted)}.stats{display: grid;grid-template-columns: repeat(4,1fr);gap: 10px}.stats>div{padding: 12px 14px;border-radius: 16px;background: var(--card-2);border: 1px solid var(--line)}.stats small{display: block;font-size: 14px;color: var(--muted)}.stats strong{font-size: 30px;line-height: 1.2}.announce{display: flex;gap: 10px}.announce .input{flex: 1;height: 48px;font-size: 16px}.dash.ph-INFO .asset-card{box-shadow: var(--shadow-lift)}.dash.ph-EVENT .news{border: 2px solid var(--primary)}.dash.ph-ACTION .activity{border: 2px solid var(--primary)}.market{grid-template-columns: 1fr 640px;grid-template-rows: 1fr 1fr}.market table.grid td{height: 46px}.chart-panel{grid-row: 1 / 3}.chart-wrap{flex: 1;min-height: 0}.chart-wrap svg{width: 100%;height: 100%;display: block}.legend{display: flex;flex-wrap: wrap;gap: 8px 18px;font-size: 15px;font-weight: 600}.legend span{display: inline-flex;align-items: center;gap: 8px}.legend i{width: 22px;height: 4px;border-radius: 2px;background: var(--c);display: inline-block}table.grid{width: 100%;border-collapse: separate;border-spacing: 0;font-size: 16px}table.grid th{text-align: left;font-size: 14px;color: var(--muted);font-weight: 600;padding: 8px 10px;border-bottom: 1px solid var(--line);white-space: nowrap}table.grid th button{border: 0;background: none;padding: 0;font: inherit;color: inherit;display: inline-flex;align-items: center;gap: 4px}table.grid th[aria-sort] button{color: var(--primary-text)}table.grid td{padding: 0 10px;height: 52px;border-bottom: 1px solid var(--line);white-space: nowrap}table.grid td.r,table.grid th.r{text-align: right}table.grid tbody tr{cursor: pointer}table.grid tbody tr:hover td{background: var(--card-2)}table.grid tbody tr[aria-selected='true'] td{background: var(--primary-soft)}.players{grid-template-columns: 1fr;grid-template-rows: auto 1fr}.players.with-detail{grid-template-columns: 1fr 430px}.players.with-detail .toolbar{grid-column: 1 / 3}.toolbar{display: flex;align-items: center;gap: 12px}.search{display: flex;align-items: center;gap: 8px;height: 52px;padding: 0 14px;border-radius: var(--r-s);border: 1.5px solid var(--line-strong);background: #fff;width: 380px}.search input{border: 0;outline: 0;flex: 1;font-size: 17px;background: transparent}.detail{gap: 14px}.detail h3{margin: 0;font-size: 22px}.kv{display: grid;grid-template-columns: 1fr auto;gap: 6px 12px;font-size: 16px}.kv dt{color: var(--muted)}.kv dd{margin: 0;font-weight: 600;text-align: right}.hold-list{display: grid;grid-template-columns: 1fr 1fr;gap: 8px}.hold-list>div{display: flex;align-items: center;gap: 10px;padding: 8px 10px;border-radius: 14px;background: var(--card-2);font-size: 15px}.hold-list .asset-badge{width: 36px;height: 36px;border-radius: 12px}.log{list-style: none;margin: 0;padding: 0;display: grid;gap: 4px;font-size: 15px}.log li{display: flex;justify-content: space-between;gap: 8px;padding: 6px 0;border-bottom: 1px dashed var(--line)}.ranking{grid-template-columns: 560px 1fr}.podium{display: grid;gap: 10px}.podium .place{display: flex;align-items: center;gap: 16px;padding: 14px 18px;border-radius: 20px;border: 1.5px solid var(--line);background: #fff}.podium .place .medal{width: 52px;height: 52px;border-radius: 50%;display: grid;place-items: center;font-size: 22px;font-weight: 800;background: var(--primary-soft);color: var(--primary-text);flex: none}.podium .place.p1 .medal{background: #f6e2b0;color: #6b4508}.podium .place .who{flex: 1;min-width: 0}.podium .place .who strong{display: block;font-size: 22px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.podium .place .score{font-size: 32px;font-weight: 700}.formula{display: flex;align-items: center;flex-wrap: wrap;gap: 8px;font-size: 16px}.formula .part{padding: 8px 12px;border-radius: 12px;background: var(--card-2);border: 1px solid var(--line)}.formula .op{font-weight: 700;font-size: 20px}.provisional{display: flex;align-items: center;gap: 10px;padding: 10px 14px;border-radius: 14px;background: var(--warn-soft);border: 1px solid #ecd3a5;color: var(--warn-text);font-weight: 600;font-size: 15px}.help-list{display: grid;gap: 8px;overflow: hidden}.help-list details{border: 1px solid var(--line);border-radius: 14px;background: #fff;padding: 0 16px}.help-list summary{min-height: 48px;display: flex;align-items: center;font-weight: 600;cursor: pointer}.help-list p{margin: 0 0 14px;color: var(--muted);line-height: 1.6}.countdown-overlay{position: absolute;inset: 0;z-index: 30;display: grid;place-items: center;background: rgba(238,231,250,0.88)}.countdown-overlay div{display: grid;place-items: center;gap: 8px;padding: 36px 56px;border-radius: var(--r-xl);background: var(--card);border: 1px solid var(--line);box-shadow: var(--shadow-lift)}.countdown-overlay strong{font-size: 120px;line-height: 1}.countdown-overlay span{font-size: 22px;font-weight: 600;color: var(--muted)}.pl{height: 100%;display: grid;grid-template-rows: auto auto 1fr auto}.pl-top{background: var(--card);border-bottom: 1px solid var(--line);padding: 10px 14px 10px;display: grid;gap: 8px;box-shadow: 0 6px 18px rgba(80,52,156,0.08);z-index: 2}.pl-row{display: flex;align-items: center;gap: 8px}.pl-round{display: grid;flex: 1;min-width: 0;line-height: 1.2}.pl-round span{font-size: 14px;color: var(--muted);font-weight: 600}.pl-round .ph{font-size: 18px}.pl-round .ph-ACTION{color: var(--primary-text)}.pl-round .ph-PAUSED{color: var(--warn-text)}.pl-time{display: grid;justify-items: center;min-width: 96px;padding: 4px 10px;border-radius: 14px;background: var(--ink);color: #fff;line-height: 1.1}.pl-time small{font-size: 11px;color: #d6cbef}.pl-time strong{font-size: 24px}.pl-time.low{background: #7a1f35}.pl-time.paused{background: var(--warn-soft);color: var(--warn-text);border: 1.5px solid #ecd3a5}.pl-time.paused small{color: var(--warn-text)}.pl-top .icon-btn{width: 48px;height: 48px;position: relative}.new-dot{position: absolute;top: 6px;right: 6px;width: 12px;height: 12px;border-radius: 50%;background: var(--down);border: 2px solid #fff}.pl-money{gap: 10px}.pl-cash,.pl-actions{display: grid;line-height: 1.15;padding: 6px 12px;border-radius: 14px;background: var(--card-2);border: 1px solid var(--line)}.pl-cash{flex: 1}.pl-cash small,.pl-actions small{font-size: 12px;color: var(--muted);font-weight: 600}.pl-cash strong{font-size: 26px}.pl-actions strong{font-size: 20px}.pips{display: flex;gap: 3px;margin-top: 2px}.pips i{width: 14px;height: 5px;border-radius: 3px;background: var(--line)}.pips i.on{background: var(--primary)}.acct-btn{min-height: 52px;padding: 0 12px;font-size: 15px}.pl-banner{padding: 8px 14px 0}.pl-banner:empty{padding: 0}.pl-alert{display: flex;align-items: flex-start;gap: 8px;padding: 7px 12px;border-radius: 14px;font-size: 14px;font-weight: 600;line-height: 1.45;border: 1px solid var(--line);background: var(--card)}.pl-alert .ic{margin-top: 2px}.pl-alert.bad{background: var(--down-soft);border-color: #efbfca;color: #a12640}.pl-alert.warn{background: var(--warn-soft);border-color: #ecd3a5;color: var(--warn-text)}.pl-alert.info{background: var(--primary-soft);border-color: #d6c6f3;color: var(--primary-text)}.pl-alert.ok{background: var(--up-soft);border-color: #b7e3cf;color: var(--up-text)}.link{border: 0;background: none;padding: 0;font: inherit;color: inherit;text-decoration: underline;min-height: 0}.pl-main{min-height: 0;overflow: hidden;padding: 10px 14px}.pl-page{height: 100%;display: flex;flex-direction: column;gap: 10px;min-height: 0}.pl-page.center{justify-content: center}.pl-card{padding: 14px 16px;display: grid;gap: 8px}.pl-h1{margin: 0;font-size: 24px}.pl-h2{margin: 0;font-size: 17px}.pl-tip{margin: 0;display: flex;gap: 6px;align-items: flex-start;font-size: 13px;color: var(--muted);line-height: 1.45}.pl-tip .ic{margin-top: 2px}.reason{margin: 0;display: flex;gap: 6px;align-items: flex-start;font-size: 14px;font-weight: 600;color: var(--warn-text);line-height: 1.45}.reason .ic{margin-top: 2px}.note{font-size: 13px;color: var(--muted);margin: 0;line-height: 1.45}.center-text{text-align: center}.pl-nav{display: grid;grid-template-columns: repeat(4,1fr);gap: 6px;padding: 8px 10px calc(10px + env(safe-area-inset-bottom));background: var(--card);border-top: 1px solid var(--line);box-shadow: 0 -6px 18px rgba(80,52,156,0.08)}.pl-nav button{display: grid;justify-items: center;gap: 2px;min-height: 60px;padding: 6px 0;border-radius: 16px;border: 1.5px solid transparent;background: transparent;color: var(--muted);font-size: 14px;font-weight: 600}.pl-nav button[aria-current='page']{background: var(--primary);border-color: var(--primary-deep);color: #fff}.lobby-card{justify-items: center;text-align: center;gap: 12px;padding: 24px 20px}.lobby-card h1{margin: 0;font-size: 28px}.lobby-card p{margin: 0}.lobby-card .kv{width: 100%;text-align: left}.intro-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 10px}.intro-grid .pl-card{gap: 4px;color: var(--primary-text)}.intro-grid strong,.pl-card>strong{color: var(--ink);font-size: 17px}.intro-grid span,.pl-card>span{color: var(--muted);font-size: 14px;line-height: 1.5}.work-card{gap: 10px}.work-head{display: grid;grid-template-columns: repeat(3,1fr);gap: 8px}.work-head>div{display: grid;padding: 8px 10px;border-radius: 14px;background: var(--card-2);border: 1px solid var(--line)}.work-head small{font-size: 12px;color: var(--muted)}.work-head strong{font-size: 22px}.formula-line{margin: 0;font-size: 13px;color: var(--muted)}.work-btn{min-height: 76px;font-size: 26px;border-radius: 20px}.work-meta{display: flex;justify-content: space-between;gap: 8px;font-size: 14px;color: var(--muted);font-weight: 600}.work-meta strong{color: var(--ink)}.shortcut{display: flex;align-items: center;gap: 12px;text-align: left;color: var(--primary-text);font: inherit;cursor: pointer}.shortcut span{flex: 1;display: grid}.shortcut strong{color: var(--ink)}.shortcut small{color: var(--muted);font-size: 13px}.log{list-style: none;margin: 0;padding: 0;display: grid;gap: 2px;font-size: 14px}.log li{display: flex;justify-content: space-between;gap: 8px;padding: 5px 0;border-bottom: 1px dashed var(--line)}.trade-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 10px;flex: 1;min-height: 0}.asset-tile{display: flex;flex-direction: column;border-top: 5px solid var(--c);overflow: hidden;border-radius: var(--r-m)}.tile-body{flex: 1;display: grid;align-content: start;gap: 4px;padding: 10px 12px 6px;border: 0;background: transparent;text-align: left;font: inherit;color: inherit;cursor: pointer}.tile-name{display: flex;align-items: center;gap: 8px;font-weight: 700;font-size: 15px;line-height: 1.25;min-height: 40px}.tile-name .asset-badge{width: 34px;height: 34px;border-radius: 11px}.tile-price{display: flex;align-items: baseline;gap: 6px}.tile-price strong{font-size: 34px;line-height: 1.1}.tile-price small{color: var(--muted);font-size: 12px}.tile-meta{display: flex;justify-content: space-between;font-size: 14px;font-weight: 700}.tile-held{font-size: 14px;color: var(--muted)}.tile-held strong{color: var(--ink)}.tile-btns{display: grid;grid-template-columns: 1fr 1fr;gap: 8px;padding: 0 10px 10px}.tile-btns .btn{min-height: 48px;padding: 0 8px}.qty{display: grid;grid-template-columns: repeat(3,1fr);gap: 8px}.qty button{display: grid;justify-items: center;gap: 2px;min-height: 60px;border-radius: 14px;border: 1.5px solid var(--line-strong);background: #fff}.qty button strong{font-size: 20px}.qty button small{font-size: 12px;color: var(--muted)}.qty button[aria-pressed='true']{background: var(--primary);border-color: var(--primary-deep);color: #fff}.qty button[aria-pressed='true'] small{color: #fff}.qty button:disabled{border-style: dashed;background: var(--card-2);color: var(--muted)}.qty button:disabled small{color: var(--down)}.up-card{gap: 3px;padding: 8px 14px 10px}.up-head{display: flex;align-items: center;gap: 8px;color: var(--primary-text)}.up-head strong{font-size: 17px;color: var(--ink)}.up-head .lv{margin-left: auto;font-weight: 700;font-size: 17px;color: var(--ink)}.up-head .lv small{font-size: 12px;color: var(--muted)}.lvbar{display: grid;grid-template-columns: repeat(9,1fr);gap: 3px}.lvbar span{height: 7px;border-radius: 4px;background: var(--line)}.lvbar span.on{background: var(--primary)}.lvbar.house span{height: 13px;font-size: 10px;line-height: 13px;text-align: center;color: var(--muted);font-weight: 700}.lvbar.house span.mark{outline: 1.5px solid var(--warn);outline-offset: -1.5px}.lvbar.house span.on{color: #fff}.up-line{margin: 0;display: grid;grid-template-columns: 52px 1fr;gap: 6px;font-size: 13.5px;line-height: 1.35}.up-line>span:first-child{color: var(--muted)}.up-line.small{font-size: 12.5px;color: var(--muted)}.up-warn{margin: 0;display: flex;gap: 6px;align-items: center;font-size: 13px;font-weight: 600;color: var(--warn-text)}.up-foot{display: flex;align-items: center;justify-content: space-between;gap: 10px;font-size: 14px}.up-foot small{color: var(--muted)}.up-foot .btn{min-width: 124px}.up-btn{flex-direction: column;gap: 0;line-height: 1.15;padding: 4px 14px}.up-foot .up-btn small{font-size: 11px;font-weight: 500;color: inherit}.seg.wide{display: grid;grid-auto-flow: column;grid-auto-columns: 1fr}.big-num{display: grid}.big-num small{color: var(--muted);font-size: 14px}.big-num strong{font-size: 40px;line-height: 1.15}.two-btns{display: grid;grid-template-columns: 1fr 1fr;gap: 10px}.kv{margin: 0}.result-hero{justify-items: center;text-align: center;gap: 4px;padding: 18px}.result-hero .rank{font-size: 64px;line-height: 1}.result-hero .rank small{font-size: 22px;color: var(--muted)}.result-hero .score{font-size: 18px}.result-hero .score strong{font-size: 28px}table.grid.small{font-size: 14px}table.grid.small td{height: 40px;padding: 0 6px}table.grid.small th{padding: 6px}.portrait .event-list li{min-height: 44px;font-size: 17px}.portrait .sheet-head h2{font-size: 21px}.portrait .sheet-main{padding: 14px 18px}.portrait .sheet-foot{padding: 12px 18px 18px}.portrait .sheet-foot .btn{flex: 1}.portrait .search{height: 48px}.portrait .countdown-overlay strong{font-size: 96px}.join{position: relative;height: 100%;display: grid;align-content: center;gap: 18px;padding: 28px 22px}.join-logo{width: 260px;height: auto;justify-self: center}.join-form{padding: 22px;gap: 14px}.join-form h1{margin: 0;font-size: 26px}.big-input{font-size: 28px;letter-spacing: 0.3em;text-align: center;height: 64px}.home{position: relative;height: 100%;display: grid;gap: 32px}.home-l{grid-template-columns: 1fr 560px;align-items: center;padding: 60px 80px}.home-p{grid-template-rows: auto 1fr;align-content: center;padding: 40px 24px}.home-hero{display: grid;gap: 18px;justify-items: start}.home-hero img{width: 100%;max-width: 620px;height: auto}.home-hero p{margin: 0;font-size: 22px;line-height: 1.6;color: var(--muted);max-width: 26em}.home-p .home-hero p{font-size: 17px}.home-choices{display: grid;gap: 16px}.choice-card{display: flex;align-items: center;gap: 18px;min-height: 112px;padding: 20px 24px;border-radius: var(--r-l);border: 1.5px solid var(--line-strong);background: var(--card);box-shadow: var(--shadow);text-align: left;color: var(--primary-text)}.choice-card:first-child{background: var(--primary);border-color: var(--primary-deep);color: #fff}.choice-card:first-child small{color: #fff}.choice-card strong{display: block;font-size: 26px;color: inherit}.choice-card:not(:first-child) strong{color: var(--ink)}.choice-card small{font-size: 16px;color: var(--muted)}.choice-card.soft{min-height: 84px;border-style: dashed}.home-fs{position: absolute;top: 20px;right: 20px}.home-p .choice-card{min-height: 96px}.home-p .choice-card strong{font-size: 22px}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation: none !important;transition: none !important}}body:has(.pl) #toasts{bottom: calc(12.5% + 8px)}.pl-fill{flex: 0 1 auto;min-height: 0;overflow: hidden}body:has(#sheet-root.open) #toasts{top: 16px;bottom: auto}