:root{--bg:#07080c;--bg-2:#0c0e14;--card:#131620;--card-2:#181b27;--border:rgba(255,255,255,0.07);--border-2:rgba(255,255,255,0.13);--text:#f3f5f9;--text-2:#b2b9c7;--muted:#6b7280;--green:#2ac769;--red:#f04452;--amber:#fbbf24;--accent:#3182f6;--accent-2:#1b64da;--grad:linear-gradient(180deg,#3182f6,#2272ec);--grad-soft:rgba(49,130,246,0.14);--shadow:0 8px 30px rgba(0,0,0,0.45);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--app-w:460px;--tabbar-h:64px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;background:#000;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none}a{color:inherit;text-decoration:none}.app{position:relative;width:100%;max-width:var(--app-w);margin:0 auto;min-height:100dvh;background:radial-gradient(120% 60% at 50% -10%,rgba(49,130,246,.1),transparent 60%),var(--bg);display:flex;flex-direction:column}@media (min-width:480px){body{background:radial-gradient(80% 80% at 50% 20%,#0d0f16,#000)}.app{border-left:1px solid var(--border);border-right:1px solid var(--border);box-shadow:var(--shadow)}}.appbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:calc(var(--safe-top) + 14px) 18px 12px;background:rgba(7,8,12,.72);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border-bottom:1px solid var(--border)}.appbar .brand{font-size:21px;font-weight:800;letter-spacing:-.6px}.appbar .brand b{font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.appbar .spacer{flex:1 1}.appbar .acct{font-size:12px;color:var(--text-2);display:flex;align-items:center;gap:8px}.appbar .acct .badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--grad-soft);color:var(--accent);border:1px solid var(--border-2)}.appbar .acct a{color:var(--muted)}.content{flex:1 1;padding:16px 16px calc(var(--safe-bottom) + var(--tabbar-h) + 24px)}h1{font-size:24px;font-weight:800;letter-spacing:-.5px;margin:4px 0}h2{font-size:16px;font-weight:700;margin:20px 0 10px}.sub{color:var(--muted);font-size:13px;margin:0 0 16px}.skel{background:linear-gradient(90deg,var(--card) 25%,var(--card-2) 37%,var(--card) 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite;border-radius:12px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skel-h1{height:28px;width:45%;margin:8px 0 12px}.skel-line{height:13px;width:72%;margin-bottom:18px;border-radius:8px}.skel-card{height:190px;margin-bottom:14px;border-radius:18px}.skel-row{height:66px;margin-bottom:10px;border-radius:16px}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.up{color:var(--green)}.down{color:var(--red)}.card{background:var(--card);border-radius:18px;padding:16px;margin-bottom:12px;box-shadow:0 1px 2px rgba(0,0,0,.18);transition:box-shadow .2s ease,transform .15s ease}@media (prefers-reduced-motion:no-preference){.content>*>*{animation:pageIn .42s cubic-bezier(.22,1,.36,1) both}@keyframes pageIn{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.content>*>:first-child{animation-delay:0s}.content>*>:nth-child(2){animation-delay:.04s}.content>*>:nth-child(3){animation-delay:.08s}.content>*>:nth-child(4){animation-delay:.11s}.content>*>:nth-child(n+5){animation-delay:.14s}.appbar{animation:fadeIn .5s ease both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}.btn,.level,.lnk,.model-badge,.pick,.prob-chip,.pw-eye,.risk,.sector-tag,.seg button,.startrow,.stat,.tab,.todo{transition:background .16s ease,color .16s ease,transform .12s ease,box-shadow .18s ease,border-color .16s ease}.btn:active{transform:scale(.975)}.card:active{transform:scale(.995)}.tab:active{transform:scale(.94)}.risk{display:block;width:100%;text-align:left;cursor:pointer;font-family:inherit;background:rgba(251,191,36,.08);border:none;border-radius:14px;padding:12px 14px;margin-bottom:16px;color:#f0d9a8;transition:background .15s}.risk:active{background:rgba(251,191,36,.14)}.risk-head{gap:9px}.risk-badge,.risk-head{display:flex;align-items:center}.risk-badge{width:18px;height:18px;flex-shrink:0;border-radius:50%;background:var(--amber);color:#1a1305;font-weight:800;font-size:12px;justify-content:center}.risk-title{font-size:13px;font-weight:700;flex:1 1}.risk-more{font-size:11.5px;color:var(--muted);font-weight:600}.risk-body{display:block;margin-top:9px;font-size:12.5px;line-height:1.65;color:#d8c39a}.risk b{color:#ffe2ad}.pick{display:flex;align-items:center;gap:13px;padding:15px 2px;border-bottom:1px solid var(--border);transition:background .15s ease}.pick:active{background:var(--card)}.pick .rank{width:22px;flex-shrink:0;text-align:center;font-weight:800;font-size:14px;color:var(--muted)}.pick .name{flex:1 1;min-width:0}.pick .name .tk{font-weight:700;font-size:15px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.pick .name .kr{color:var(--muted);font-size:12.5px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pick .prob{font-weight:800;font-size:19px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pick .px{color:var(--muted);font-size:12.5px;min-width:64px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sector-tag{font-size:10.5px;font-weight:700;border-radius:7px;line-height:1.5}.model-badge,.sector-tag{color:var(--accent);background:var(--grad-soft);padding:1px 7px}.model-badge{font-size:11px;font-weight:800;border-radius:6px}.prob-hi{color:var(--green)}.prob-mid{color:var(--amber)}.prob-lo{color:var(--text-2)}.pick-col{flex-direction:column;align-items:stretch;gap:11px}.pick-top{display:flex;align-items:center;gap:13px}.prob-chip{font-size:11px;font-weight:700;color:var(--accent);white-space:nowrap;background:var(--grad-soft);border-radius:999px;padding:4px 10px}.levels{display:flex;gap:8px}.level{flex:1 1;background:var(--bg-2);border-radius:12px;padding:9px 8px;text-align:center}.level .lk{display:block;font-size:10.5px;color:var(--muted);font-weight:600}.level .lv{display:block;font-size:15.5px;font-weight:800;margin-top:3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.level.tp{background:rgba(42,199,105,.08);border-color:rgba(42,199,105,.22)}.level.tp .lv{color:var(--green)}.level.sl{background:rgba(251,113,133,.08);border-color:rgba(251,113,133,.22)}.level.sl .lv{color:var(--red)}.rule-bar{background:var(--card);border-radius:14px;padding:13px 15px;margin-bottom:14px}.rule-dates{display:flex;align-items:center;gap:14px}.rule-dates>div{display:flex;flex-direction:column;gap:3px}.rule-dates .rl{font-size:10.5px;color:var(--muted);font-weight:600;letter-spacing:.3px}.rule-dates .rv{font-size:13.5px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rule-sep{width:1px;align-self:stretch;background:var(--border)}.rule-tp{margin-top:11px;padding-top:11px;border-top:1px solid var(--border);font-size:12.5px;color:var(--text-2)}.rule-tp .dot{color:var(--muted);margin:0 7px}.modal{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center}.modal-card{width:100%;max-width:var(--app-w);background:var(--card-2);border-radius:22px 22px 0 0;padding:20px 16px calc(var(--safe-bottom) + 20px);max-height:88vh;overflow-y:auto;animation:sheet-up .18s ease}@keyframes sheet-up{0%{transform:translateY(24px);opacity:.5}to{transform:none;opacity:1}}.field{display:block;margin-bottom:12px}.field span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px;font-weight:600}.modal-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.lnk{background:none;border:none;color:var(--accent);font-size:12.5px;font-weight:600;cursor:pointer;padding:4px}.logrow{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.logrow:last-child{border-bottom:none}.logd{width:40px;color:var(--muted);font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.logact{width:30px;font-weight:700;font-size:12px}.logtk{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis}.logp,.logtk{white-space:nowrap}.logp{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.todo{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--border)}.todo:last-of-type{border-bottom:none}.todo-l{flex:1 1;min-width:0;font-size:14px}.todo-l b{margin-right:4px}.acc{color:var(--accent)}.exrow{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:13.5px}.exrow:last-of-type{border-bottom:none}.exrow .lbl{color:var(--text-2)}.exrow .amt{font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.exrow.sum{border-top:2px solid var(--border-2);margin-top:4px;padding-top:10px;font-size:15px}.startrow{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--border)}.startrow:last-of-type{border-bottom:none}.startrow .n{width:20px;color:var(--muted);font-weight:700;font-size:13px;text-align:center}.startrow .tkn{flex:1 1;min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.startrow .pxn{font-weight:700;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dates{display:flex;gap:8px}.dates .dt{flex:1 1;display:flex;flex-direction:column;gap:1px;font-size:11.5px;color:var(--text-2);background:var(--bg-2);border-radius:11px;padding:7px 10px}.dates .dt .dk{font-size:10px;color:var(--muted);font-weight:600}.dates .dt .dv{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.live{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;color:var(--green);letter-spacing:.5px}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(42,199,105,.7);animation:live-pulse 1.5s infinite}@keyframes live-pulse{0%{box-shadow:0 0 0 0 rgba(42,199,105,.6)}70%{box-shadow:0 0 0 7px rgba(42,199,105,0)}to{box-shadow:0 0 0 0 rgba(42,199,105,0)}}.pulse-dot{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--green);transform:translate(-50%,-50%);pointer-events:none;transition:opacity .2s;box-shadow:0 0 0 0 rgba(42,199,105,.7);animation:dot-pulse 1.5s infinite}@keyframes dot-pulse{0%{box-shadow:0 0 0 0 rgba(42,199,105,.55)}70%{box-shadow:0 0 0 13px rgba(42,199,105,0)}to{box-shadow:0 0 0 0 rgba(42,199,105,0)}}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--grad);color:#fff;border:none;border-radius:15px;padding:15px 18px;font-size:16px;font-weight:700;cursor:pointer;width:100%;transition:opacity .15s,transform .1s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5}.btn.ghost{background:var(--card-2);border:1px solid var(--border-2);color:var(--text)}.btn.sm{width:auto;padding:8px 14px;font-size:13px;border-radius:11px}.input{width:100%;padding:15px 16px;border-radius:14px;border:1px solid var(--border-2);background:var(--card-2);color:var(--text);font-size:16px;outline:none;transition:border-color .15s}.input:focus{border-color:var(--accent)}.pw-wrap{position:relative}.pw-wrap .input{padding-right:56px}.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);font-size:12.5px;font-weight:700;cursor:pointer;padding:8px}.pw-eye:active{color:var(--text)}.seg{display:flex;background:var(--bg-2);border-radius:12px;padding:4px;margin-bottom:14px}.seg button{flex:1 1;border:none;background:none;color:var(--muted);font-size:14px;font-weight:700;padding:9px;border-radius:9px;cursor:pointer;transition:background .15s,color .15s}.seg button.on{background:var(--card-2);color:var(--text)}.lock{text-align:center;padding:48px 20px;color:var(--text-2)}.lock .icon{width:64px;height:64px;margin:0 auto 14px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:30px;background:var(--grad-soft)}.stats{display:flex;gap:10px;margin-bottom:14px}.stat{flex:1 1;background:var(--card);border-radius:14px;padding:12px 13px}.stat .k{font-size:11px;color:var(--muted)}.stat .v{font-size:19px;font-weight:800;margin-top:3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px}table{width:100%;border-collapse:collapse;font-size:12.5px}td,th{padding:9px 8px;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}td:first-child,th:first-child{text-align:left;position:-webkit-sticky;position:sticky;left:0;background:var(--card)}th{color:var(--muted);font-weight:600}.chat-box{display:flex;flex-direction:column;height:380px}.chat-msgs{flex:1 1;overflow-y:auto;padding:8px 0}.chat-msg{padding:7px 0;font-size:14px;border-bottom:1px solid var(--border)}.chat-msg .who{color:var(--accent);font-weight:700;font-size:12px}.chat-msg .t{color:var(--muted);font-size:11px;margin-left:6px}.chat-input{display:flex;gap:8px;padding-top:10px;align-items:stretch}.chat-input .input{flex:1 1 auto;min-width:0;padding:12px 14px}.chat-input .btn{flex:0 0 auto;width:auto;padding:0 18px;white-space:nowrap}.tabbar{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:var(--app-w);z-index:30;display:flex;align-items:stretch;padding:6px 6px calc(var(--safe-bottom) + 6px);background:rgba(8,9,13,.82);backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);border-top:1px solid var(--border)}.tab{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px;color:var(--muted);font-size:10.5px;font-weight:600;transition:color .15s;border-radius:12px}.tab svg{width:23px;height:23px;stroke-width:1.9}.tab:active{background:var(--card-2)}.tab.active{color:var(--accent)}.bottom-cta{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--safe-bottom) + var(--tabbar-h));width:100%;max-width:var(--app-w);z-index:25;padding:14px 16px 16px;background:linear-gradient(180deg,rgba(7,8,12,0),var(--bg) 32%)}.bottom-cta.solo{bottom:0;padding-bottom:calc(var(--safe-bottom) + 16px)}.bottom-cta .btn{box-shadow:0 10px 28px rgba(49,130,246,.32)}.has-cta{padding-bottom:96px}