:root{--bg: #0b0d10;--raised: #171a1f;--line: #22262d;--grid: rgba(255, 255, 255, .045);--text: #e6e8eb;--muted: #7d8590;--long: #2ebd85;--short: #f6465d;--long-zone: rgba(46, 189, 133, .12);--short-zone: rgba(246, 70, 93, .12);--crosshair: rgba(230, 232, 235, .35);--theme-accent: #4dabf7;--accent: var(--theme-accent);--accent-ink: #fff;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--type-label: 13px;--weight-bold: 500;--toolbar: 1;--bar-h: calc(54px * var(--toolbar));--rail-w: calc(60px * var(--toolbar));--legend-size: 15px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font:13px/1.3 var(--font-sans);overflow:hidden}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}#app{display:grid;grid-template-columns:var(--rail-w) 1fr;grid-template-rows:var(--bar-h) 1fr;position:fixed;inset:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.bar,.rail{zoom:var(--toolbar)}.bar{grid-column:1 / -1;grid-row:1;display:flex;align-items:center;gap:6px;padding:0 12px 0 9px;border-bottom:1px solid var(--line)}.bar .market{font-size:19px;font-weight:600;padding:6px 14px;border-radius:8px;letter-spacing:.01em}.bar .market:hover,.bar nav button:hover{background:var(--raised)}.bar .stat{font:17px var(--font-mono);color:var(--muted);margin-right:14px}.bar .stat.up{color:var(--long)}.bar .stat.down{color:var(--short)}.bar nav{display:flex;gap:2px}.bar nav button{padding:6px 11px;border-radius:8px;color:var(--muted);font:17px var(--font-mono);display:grid;place-items:center}.bar nav button.on{color:var(--text);background:var(--raised)}.bar svg{width:26px;height:26px}.bar .grow{flex:1}.bar .me{flex:none;width:44px;height:44px;margin-right:1px;border-radius:50%;display:grid;place-items:center;color:var(--muted)}.bar .me:hover{background:var(--raised);color:var(--text)}.bar .me img,.bar .me .initial{width:32px;height:32px;border-radius:50%}.bar .me .initial{display:grid;place-items:center;background:var(--line);color:var(--text);font-size:15px;font-weight:600}.rail{grid-column:1;grid-row:2;display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:9px;border-right:1px solid var(--line)}.rail button{flex:none;width:44px;height:44px;border-radius:9px;color:var(--muted);display:grid;place-items:center}.rail svg{width:26px;height:26px}.rail button:hover{background:var(--raised);color:var(--text)}.rail button.on{background:var(--accent);color:var(--accent-ink)}.grid{grid-column:2;grid-row:2;display:grid;gap:1px;background:var(--line);min-height:0;min-width:0}.pane{position:relative;background:var(--chart-bg, var(--bg));min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column}.pane{container-type:inline-size}.pane .main{position:relative;flex:1;min-height:max(80px,45%)}.series-pane{height:120px;flex:0 1 auto;min-height:40px;max-height:35%;border-top:1px solid var(--line)}.series-pane:has(+.main){border-top:0;border-bottom:1px solid var(--line)}.grid.dense .series-pane{height:84px}.pane.solo-price .series-pane{display:none}.pane.solo-sub .main{position:absolute;inset:0;visibility:hidden}.pane.solo-sub .series-pane:not(.solo){display:none}.pane.solo-sub .series-pane.solo{flex:1 1 0;max-height:none;border:0}.pane.solo-sub .series-pane.solo .resizer{display:none}.series-pane .ctl{position:absolute;top:0;left:6px;display:flex;gap:2px;opacity:0}.series-pane:hover .ctl{opacity:1}.series-pane .ctl button{width:26px;height:26px;border-radius:6px;color:var(--muted);font-size:17px;line-height:1;display:grid;place-items:center}.series-pane .ctl button:hover:not(:disabled){background:var(--raised);color:var(--text)}.series-pane .ctl button:disabled{opacity:.3;cursor:default}.overlays{position:absolute;top:calc(16px + var(--legend-size) * 1.3);left:8px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;font:calc(var(--legend-size) - 1px) var(--font-mono);color:var(--muted);z-index:1;user-select:none;-webkit-user-select:none}.pane.legend-off .overlays{top:10px}.overlays .item{display:flex;align-items:center;gap:3px;padding:2px 6px;border-radius:7px}.overlays .item:hover{background:color-mix(in srgb,var(--raised) 85%,transparent)}.overlays button{width:26px;height:26px;border-radius:6px;color:var(--muted);opacity:0;font-size:17px;line-height:1;display:grid;place-items:center}.overlays .item:hover button{opacity:1}.overlays button:hover{background:var(--line);color:var(--text)}.pane.active:after{content:"";position:absolute;inset:0;border:1px solid var(--accent);opacity:.45;pointer-events:none}.pane .surface{position:absolute;inset:0;outline:none}.legend{position:absolute;top:10px;left:14px;display:flex;gap:.8em;align-items:baseline;pointer-events:none;font:var(--legend-size) / 1.3 var(--font-mono);color:var(--muted);white-space:nowrap;user-select:none;-webkit-user-select:none}.legend .title{color:var(--text);font-family:var(--font-sans);font-weight:600}.legend .coin:not([hidden])+.iv:not([hidden]):before{content:" · "}.legend .ohlc{display:inline-flex;gap:.55em}.legend .ohlc[hidden],.legend:not([data-dir=up]):not([data-dir=down]) .ohlc{display:none}.legend .ohlc b{font-weight:inherit;color:var(--text)}.legend[data-dir=up] .v,.legend[data-dir=up] .chg{color:color-mix(in srgb,var(--long) 80%,var(--muted))}.legend[data-dir=down] .v,.legend[data-dir=down] .chg{color:color-mix(in srgb,var(--short) 80%,var(--muted))}.legend .title,.legend .eye{pointer-events:auto}.legend .eye{width:26px;height:26px;margin:-6px -8px -6px -10px;align-self:center;border-radius:6px;color:var(--muted);opacity:0;display:grid;place-items:center}.legend .eye svg{width:20px;height:20px}.legend:hover .eye,.legend .eye.lit{opacity:1}.legend .eye.lit{color:var(--accent)}.legend .eye:hover{background:var(--line);color:var(--text)}.legend.candles-off .ohlc,.legend.candles-off .chg{opacity:.45}.legend .ref{font-family:var(--font-sans);color:var(--muted)}.refnote{position:absolute;left:14px;bottom:34px;max-width:min(720px,calc(100% - var(--axis-w, 64px) - 28px));z-index:1;font:calc(var(--legend-size) - 2px) / 1.4 var(--font-sans);color:var(--muted);pointer-events:none;user-select:none;-webkit-user-select:none}.refnote a{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--muted) 45%,transparent);text-underline-offset:2px;pointer-events:auto}.refnote a:hover{color:var(--text)}.pop{position:absolute;top:0;left:0;display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--raised);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 24px #00000073;z-index:2}.pop[hidden]{display:none}.pop .grip{flex:none;display:grid;place-items:center;width:16px;height:30px;margin:0 -2px 0 -4px;border-radius:5px;color:var(--muted);cursor:grab;touch-action:none}.pop .grip:hover{background:var(--line);color:var(--text)}.pop .grip.held{cursor:grabbing}.pop .grip svg{width:10px;height:20px;fill:currentColor;stroke:none}.pop .width{font:14px var(--font-mono);color:var(--muted);padding:5px 8px;border-radius:6px}.pop .width:hover{background:var(--line);color:var(--text)}.pop .templates{display:flex;align-items:center;gap:8px;padding:0 9px 0 3px;border-right:1px solid var(--line)}.pop .template,.pop .templates .add{position:relative;flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center}.pop .template svg{width:26px;height:26px}.pop .template:hover{filter:brightness(1.25)}.pop .template.on{box-shadow:0 0 0 2px var(--raised),0 0 0 3.5px var(--text)}.pop .template .x{position:absolute;top:-5px;right:-5px;width:17px;height:17px;border-radius:50%;display:none;place-items:center;background:var(--line);color:var(--text);font-size:13px;line-height:1;box-shadow:0 0 0 1px var(--raised)}.pop .template:hover .x,.pop .template:focus-visible .x{display:grid}.pop .template .x:hover{background:var(--short)}.pop .templates .add{color:var(--muted);box-shadow:inset 0 0 0 1.5px var(--line)}.pop .templates .add svg{width:16px;height:16px;stroke-width:2}.pop .templates .add:hover:not(:disabled){color:var(--text);background:var(--line)}.pop .templates .add:disabled{opacity:.35;cursor:default}.pop .well{position:relative;flex:none;width:24px;height:24px;margin:0 2px;box-shadow:inset 0 0 0 1px #ffffff24;background:linear-gradient(135deg,var(--solid) 50%,transparent 50%),linear-gradient(var(--c),var(--c)),repeating-conic-gradient(#3b4049 0 25%,#262a31 0 50%) 0 0 / 8px 8px}.pop .well.line{border-radius:50%}.pop .well.fill{border-radius:6px}.pop .well:hover{filter:brightness(1.15)}.pop .well.open{box-shadow:inset 0 0 0 1px #ffffff24,0 0 0 2px var(--raised),0 0 0 3.5px var(--text)}.pop .drop{display:flex;align-items:center;gap:3px;height:30px;padding:0 3px 0 7px;border-radius:6px;color:var(--muted);font:14px var(--font-mono);white-space:nowrap}.pop .drop:hover{background:var(--line);color:var(--text)}.pop .drop .chev{width:14px;height:14px;opacity:.7}.pop .del{width:30px;height:30px;border-radius:6px;color:var(--muted);display:grid;place-items:center}.pop .del svg{width:20px;height:20px}.pop .del:hover{background:var(--line);color:var(--short)}.pop .count{font:14px var(--font-mono);color:var(--text);background:var(--line);border-radius:11px;padding:2px 9px;margin-right:2px}.palette{position:fixed;inset:0;background:#00000073;display:grid;justify-items:center;align-items:start;padding-top:12vh;z-index:10}.palette .box{width:min(560px,calc(100vw - 32px));background:var(--raised);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 20px 60px #0009}.palette input{width:100%;padding:14px 16px;background:none;border:0;border-bottom:1px solid var(--line);color:var(--text);font:17px var(--font-sans);outline:none}.palette ul{list-style:none;margin:0;padding:6px;max-height:50vh;overflow:auto}.palette li{display:grid;grid-template-columns:104px 1fr auto;gap:12px;padding:8px 12px;font-size:14.5px;border-radius:7px;cursor:pointer;align-items:baseline}.palette li.on{background:var(--line)}.palette .g{color:var(--muted);font-size:12.5px}.palette .h{color:var(--muted);font:12.5px var(--font-mono)}html[data-phone]{--bar-h: 0px;--rail-w: 0px;--home-band: max(env(safe-area-inset-bottom), 34px);--touch-ink: var(--text);--touch-ground: var(--chart-bg, var(--bg));--touch-font: var(--font-mono);--touch-sheet: var(--raised);--touch-edge: var(--line);--touch-foot: var(--home-band);--star: #f0b90b;--draw-bar-h: 44px;--type-label: 11px;--type-time: 10px;--chart-time-axis-h: 22px;--chart-chip-h: 18px}html[data-phone] .bar,html[data-phone] .rail{display:none}html[data-phone] .grid{grid-template-areas:none!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important}html[data-phone] .grid>.pane{grid-area:auto!important}html[data-phone] .grid:not(.maximized)>.pane:not(.active):not(:only-child){display:none}html[data-phone] .pane.active:after{display:none}html[data-phone] body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html[data-phone] input,html[data-phone] textarea{-webkit-user-select:text;user-select:text}html[data-phone] button{touch-action:manipulation}html[data-phone] #app{padding-bottom:var(--home-band)}html[data-phone] #app.tree-open{grid-template-columns:var(--rail-w) 1fr}html[data-phone] #app>.tree{display:none}html[data-phone] .panel{z-index:13}html[data-phone] .notice{bottom:calc(var(--home-band) + 64px)}html[data-phone] .legend{right:calc(var(--axis-w, 64px) + 8px);overflow:hidden}html[data-phone] .legend .ohlc>:nth-child(-n+3){display:none}.wheels{position:absolute;right:0;bottom:var(--chart-time-axis-h);z-index:3;width:var(--wheels-w);height:var(--wheels-h)}.wheels .wheel{left:0;right:0;--wheel-h: calc(var(--wheels-h) / 2);height:var(--wheel-h)}.wheels .wheel--market{top:0;background:linear-gradient(to bottom,transparent 0%,var(--touch-ground) 22%,var(--touch-ground) 100%)}.wheels .wheel--tf{bottom:0}.wheels .wheel--tf .wheel__value{font-size:13px}.cross-plus{position:absolute;right:calc(var(--axis-w, 64px) + 6px);z-index:3;width:34px;height:34px;margin-top:-17px;border-radius:50%;display:grid;place-items:center;background:var(--raised);border:1px solid var(--muted);color:var(--text)}.cross-plus[hidden]{display:none}.cross-plus svg{width:20px;height:20px;stroke-width:1.8}.cross-plus:active{background:var(--line)}html[data-bar] .wheels,html[data-bar] .corner,html[data-bar] .cross-plus{display:none}html[data-bar] #app{padding-bottom:calc(var(--home-band) + var(--draw-bar-h))}.draw-bar{position:fixed;left:0;right:0;bottom:var(--home-band);z-index:9;height:var(--draw-bar-h);display:flex;align-items:center;justify-content:center;gap:8px;padding:0 max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left));background:var(--raised);border-top:1px solid var(--line);color:#9aa1aa}.draw-bar[hidden]{display:none}.draw-bar .group{display:flex;align-items:center;gap:4px;min-width:0}.draw-bar .divider{flex:none;width:1px;height:24px;background:var(--line)}.draw-bar button,.draw-bar .slot{flex:0 1 40px;width:40px;min-width:34px;height:40px}.draw-bar button{display:grid;place-items:center;padding:0;border-radius:6px;color:inherit}.draw-bar .swatches{gap:0}.draw-bar .swatches button{flex:0 1 32px;min-width:26px}.draw-bar button svg{width:22px;height:22px}.draw-bar button:active{background:var(--line)}.draw-bar button:disabled{opacity:.3}.draw-bar .armed{color:var(--short)}.draw-bar .lit{color:var(--star)}.draw-bar .done{color:var(--text)}.draw-bar button[aria-pressed=true]:not(.lit){outline:1.5px solid var(--text);outline-offset:-4px}.draw-bar .dot{display:block;width:20px;height:20px;box-sizing:border-box;border-radius:50%;border:2px solid var(--c, var(--text));background:var(--c, var(--text))}.draw-bar .dot.box{border-radius:3px}.draw-bar .dot.any{border:0;background:conic-gradient(#ff6b6b,#ffd43b,#51cf66,#22b8cf,#4dabf7,#cc5de8,#ff6b6b)}.draw-bar .num{font:600 11px var(--font-mono);color:var(--text)}html[data-phone] .pop{position:fixed;transform:none!important;top:auto;left:8px;right:8px;bottom:calc(var(--home-band) + 6px);justify-content:center;z-index:10}html[data-phone] .pop .grip{display:none}html[data-phone] .pane:has(.pop:not([hidden])) .wheels{visibility:hidden}html[data-phone] .pop:not([data-for^="study:"]):not([data-for^="alert:"]){display:none}@media(pointer:coarse){.pop{flex-wrap:wrap;max-width:calc(100vw - 16px);gap:4px;padding:6px}.pop .del,.pop .bell,.pop .gear,.pop .lock,.pop .template,.pop .templates .add{width:36px;height:36px}.pop .del svg,.pop .bell svg,.pop .gear svg,.pop .lock svg{width:22px;height:22px}.pop .well{width:30px;height:30px}.pop .drop{height:36px;font-size:14px;padding:0 6px}.pop .drop .chev{display:none}}.corner{position:fixed;bottom:0;z-index:8;width:56px;height:52px;display:grid;place-items:center;color:var(--muted);background:var(--raised);border:1px solid var(--line)}.corner--left{left:0;border-width:1px 1px 0 0;border-radius:0 18px 0 0}.corner--right{right:0;border-width:1px 0 0 1px;border-radius:18px 0 0}.corner svg{width:24px;height:24px}.corner:active{color:var(--text)}.corner[data-fired]:after{content:"";position:absolute;top:10px;right:12px;width:8px;height:8px;border-radius:50%;background:var(--star);box-shadow:0 0 0 2px var(--raised)}.pp-right .panel__body{display:flex;flex-direction:column}.pp-page{flex:1 0 auto;display:flex;flex-direction:column;justify-content:flex-end}.pp-head{margin:0;font:600 12px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pp-dot{width:9px;height:9px;border-radius:50%;flex:none}.pp-ws{display:flex;flex-direction:column;gap:10px;padding:14px 16px 4px}.pp-spaces{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.pp-spaces::-webkit-scrollbar{display:none}.pp-space{flex:none;height:38px;padding:0 14px;border-radius:10px;border:1px solid var(--line);color:var(--muted);font:500 15px var(--font-sans);white-space:nowrap}.pp-space.on{color:var(--text);border-color:var(--text);background:var(--line)}.pp-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pp-tile{display:flex;align-items:center;gap:8px;min-width:0;height:44px;padding:0 12px;border-radius:10px;background:var(--bg);border:1px solid var(--line);color:var(--text);text-align:left}.pp-tile b{font:600 16px var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-tile span{font:14px var(--font-mono);color:var(--muted)}.pp-tile.on{border-color:var(--text)}.pp-studies{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.pp-chips{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:8px}.pp-chip{display:flex;align-items:center;gap:8px;height:38px;padding:0 14px 0 12px;border-radius:19px;background:var(--line);color:var(--text);font:500 15px var(--font-sans);white-space:nowrap}.pp-chip[data-hidden=true]{background:none;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted)}.pp-chip[data-hidden=true] .pp-dot{opacity:.35}.pp-editbtn{flex:none;display:flex;align-items:center;gap:6px;height:38px;padding:0 12px;border-radius:10px;border:1px solid var(--line);color:var(--text);font:500 15px var(--font-sans)}.pp-editbtn svg,.pp-add svg{width:18px;height:18px}.pp-wl{display:flex;flex-direction:column}.pp-wlhead{display:flex;align-items:center;gap:8px;padding:10px 6px 4px 16px}.pp-count{flex:1;font:12px var(--font-mono);color:var(--muted)}.pp-glass{width:44px;height:44px;display:grid;place-items:center;border-radius:10px;color:var(--text)}.pp-glass svg{width:21px;height:21px}.pp-rows{list-style:none;margin:0;padding:0}.pp-row{position:relative;display:flex;align-items:center;gap:10px;min-height:52px;padding:0 16px;border-top:1px solid var(--line);background:var(--raised);cursor:pointer;touch-action:pan-y;transition:transform .16s ease}.pp-row.on{background:color-mix(in srgb,var(--text) 8%,var(--raised))}.pp-row:active{background:var(--line)}.pp-row.lifted{z-index:1;transition:none;background:var(--line);outline:1px solid var(--muted)}.pp-row.going{background:color-mix(in srgb,var(--short) 32%,var(--raised))}.pp-row .name{flex:1;min-width:0;display:flex;align-items:center;gap:6px;font:600 17px var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-row .dex{padding:2px 5px;border-radius:4px;background:var(--line);color:var(--muted);font:500 11px var(--font-mono)}.pp-row .price{font:16px var(--font-mono)}.pp-row .change{min-width:70px;box-sizing:border-box;padding:6px 8px;border-radius:7px;font:600 14px var(--font-mono);text-align:right}.pp-row .change.up{color:var(--long);background:color-mix(in srgb,var(--long) 16%,transparent)}.pp-row .change.down{color:var(--short);background:color-mix(in srgb,var(--short) 16%,transparent)}.pp-row .change:empty{visibility:hidden}.pp-strip{display:flex;gap:6px;padding:10px}.pp-tfbtn{flex:1 1 0;min-width:0;height:44px;border-radius:10px;border:1px solid transparent;color:var(--muted);font:500 15px var(--font-mono)}.pp-tfbtn.on{color:var(--text);background:var(--line);border-color:var(--text)}.pp-searchbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:10px;padding:12px 12px 12px 16px;background:var(--raised);border-bottom:1px solid var(--line)}.pp-field{flex:1;min-width:0;display:flex;align-items:center;gap:8px;height:44px;padding:0 12px;border-radius:12px;background:var(--bg);border:1px solid var(--accent);color:var(--muted)}.pp-field svg{width:20px;height:20px;flex:none}.pp-field input{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--text);font:17px var(--font-sans);-webkit-appearance:none;appearance:none}.pp-cancel{height:44px;padding:0 4px;color:var(--accent);font:500 16px var(--font-sans)}.pp-results .pp-row{padding-right:4px}.pp-star{flex:none;width:44px;height:44px;display:grid;place-items:center;color:var(--muted)}.pp-star svg{width:22px;height:22px}.pp-star[aria-pressed=true]{color:var(--star)}.pp-star[aria-pressed=true] svg{fill:currentColor}.pp-none{margin:20px 16px;color:var(--muted);font-size:15px}.pp-edit{display:flex;flex-direction:column;padding:14px 0 6px}.pp-edit+.pp-edit{border-top:1px solid var(--line)}.pp-headrow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px 8px 16px}.pp-edit>.pp-head{padding:0 16px 12px}.pp-add{display:flex;align-items:center;gap:6px;height:38px;padding:0 12px;border-radius:10px;background:var(--line);color:var(--text);font:500 15px var(--font-sans)}.pp-erow{display:flex;align-items:center;gap:2px;min-height:52px;padding:0 6px 0 16px;border-top:1px solid var(--line)}.pp-erow .pp-dot{margin-right:12px}.pp-erow .name{flex:1;min-width:0;font:16px var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-icon{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:10px;color:var(--muted)}.pp-icon svg{width:20px;height:20px}.pp-icon.lit{color:var(--accent)}.pp-tfgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 8px;padding:0 16px 10px}.pp-tfcell{position:relative;display:flex;min-width:0}.pp-tfchip{flex:1;min-width:0;height:44px;border-radius:10px;border:1px solid var(--line);background:none;color:var(--muted);font:500 15px var(--font-mono)}.pp-tfchip.on{color:var(--text);background:var(--line);border-color:var(--text)}.pp-tfplus{display:grid;place-items:center}.pp-tfplus svg{width:18px;height:18px}.pp-tfinput{width:100%;box-sizing:border-box;padding:0 6px;text-align:center;color:var(--text);background:var(--bg);border-color:var(--accent);outline:none}.pp-forget{position:absolute;top:-9px;right:-7px;width:24px;height:24px;border-radius:50%;background:#3a4049;color:var(--text);font:600 14px/1 var(--font-sans);display:grid;place-items:center}.pp-done{width:calc(100% - 32px);height:48px;margin:12px 16px;border-radius:12px;background:var(--accent);color:var(--accent-ink);font:600 17px var(--font-sans)}.pp-cover{position:absolute;inset:0;background:#00000073}.pp-sheet{position:absolute;left:0;right:0;bottom:var(--touch-foot, 0px);max-height:calc(100% - 60px);overflow:auto;overscroll-behavior:contain;box-sizing:border-box;padding:20px 16px 16px;border-radius:18px 18px 0 0;background:#1d2127;border-top:1px solid #2a2f37;display:flex;flex-direction:column;gap:10px}.pp-sheet__title{margin:0 0 4px;font:600 19px var(--font-sans);color:var(--text)}.pp-sheet .pp-head{margin-top:6px}.pp-cat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pp-catitem{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;height:46px;padding:0 10px 0 12px;border-radius:10px;background:#262c34;color:var(--text);font:500 15px var(--font-sans);text-align:left}.pp-catitem span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.15}.pp-catitem svg{flex:none;width:16px;height:16px;color:var(--muted)}.pp-catitem:disabled{opacity:.35}.pp-left .panel__body{display:flex;flex-direction:column}.pp-tabs{display:flex;height:52px;border-top:1px solid var(--line)}.pp-tab{flex:1 1 0;margin-top:-1px;border-top:2px solid transparent;color:var(--muted);font:500 15px var(--font-sans)}.pp-tab.on{color:var(--text);border-top-color:var(--text);font-weight:600}.pp-linkrow{display:flex;align-items:center;gap:8px;width:100%;min-height:52px;padding:0 12px 0 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--text);text-align:left}.pp-linkrow .name{flex:1;font:16px var(--font-sans)}.pp-linkrow .pp-count{flex:none;font-size:15px}.pp-linkrow svg{width:18px;height:18px;color:var(--muted)}.pp-tools{display:flex;flex-direction:column;gap:8px;padding:18px 16px 14px}.pp-sketch{display:flex;align-items:center;gap:12px;height:52px;padding:0 14px;border-radius:12px;background:var(--bg);color:var(--text);font:500 15px var(--font-sans);text-align:left}.pp-sketch svg{width:26px;height:26px}.pp-sketch span:first-of-type{flex:1}.pp-sketch .hint{color:var(--muted);font-size:13px}.pp-toolgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pp-toolbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;height:76px;padding:0 4px;border-radius:12px;background:var(--bg);color:var(--text)}.pp-toolbtn svg{width:26px;height:26px}.pp-toolbtn span{font:12px/1.2 var(--font-sans);color:#cfd2d6;text-align:center}.pp-actions{display:flex;gap:8px;padding:12px 16px}.pp-act{flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:12px;background:var(--line);color:var(--text);font:500 15px var(--font-sans)}.pp-act svg{width:18px;height:18px}.pp-act:disabled{opacity:.35}.pp-act.lit{color:var(--text);background:color-mix(in srgb,var(--accent) 16%,transparent);box-shadow:inset 0 0 0 1px var(--accent)}.pp-act.lit svg{color:var(--accent)}.pp-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.pp-text .name{font:16px var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-text .name b{font-weight:600}.pp-text .detail{font:13px var(--font-mono);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-row.pp-drawing,.pp-row.pp-alert{min-height:64px;padding:0 6px 0 16px;gap:12px}.pp-row.pp-alert:has(>.pp-small){padding-right:12px}.pp-row.faded .pp-glyph,.pp-row.faded .pp-text{opacity:.45}.pp-glyph{flex:none;display:grid;place-items:center}.pp-glyph svg{width:22px;height:22px}.pp-bell{flex:none;display:grid;place-items:center;color:var(--star)}.pp-bell svg{width:18px;height:18px}.pp-alert.fired:before{content:"";position:absolute;left:6px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--star)}.pp-alerts{display:flex;flex-direction:column;padding-top:14px}.pp-alerts .pp-headrow{padding-bottom:4px}.pp-small{flex:none;height:38px;padding:0 12px;border-radius:10px;background:var(--line);color:var(--text);font:500 14px var(--font-sans);white-space:nowrap}.pp-small.pp-quiet{background:none;color:#9aa1aa;font-size:15px}.pp-ask{display:flex;align-items:center;gap:10px;margin:14px 16px 0;padding:10px 10px 10px 14px;border-radius:12px;border:1px solid var(--line)}.pp-ask .name{flex:1;font:15px var(--font-sans)}.pp-signin{display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 16px 20px;color:var(--muted)}.pp-signin>svg{width:44px;height:44px;stroke-width:1.2}.pp-say{margin:0;color:#cfd2d6;font:17px var(--font-sans)}.pp-hint{margin:0;color:var(--muted);font:14px var(--font-sans);text-align:center}.pp-group{display:flex;flex-direction:column;margin-top:24px;border-bottom:1px solid var(--line)}.pp-setting{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 16px;border-top:1px solid var(--line)}.pp-setting .name{flex:1;min-width:0;font:16px var(--font-sans)}.pp-value{flex:none;max-width:190px;height:36px;padding:0 12px;border-radius:8px;background:var(--line);color:var(--text);font:500 15px var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-value.dim{color:var(--muted)}.pp-stepper{display:flex;align-items:center;gap:4px}.pp-stepper .pp-value{width:36px;padding:0;font-size:19px}.pp-stepper .n{width:36px;text-align:center;font:16px var(--font-mono)}.pp-wells{display:flex;gap:6px;height:36px;padding:0 8px;border-radius:8px;background:var(--line);align-items:center}.pp-well{width:22px;height:22px;border-radius:5px;background:var(--c);box-shadow:inset 0 0 0 1px #ffffff2e}.pp-who{display:flex;align-items:center;gap:14px;padding:20px 16px 0}.pp-face{flex:none;width:56px;height:56px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--line);color:var(--text);font:600 22px var(--font-sans)}.pp-face img{width:100%;height:100%;object-fit:cover}.pp-who .pp-text .name{font-size:18px;font-weight:600}.pp-pair{display:flex;gap:10px;padding-top:6px}.pp-pair>*{flex:1 1 0}.pp-primary{height:50px;border-radius:12px;background:var(--accent);color:var(--accent-ink);font:600 17px var(--font-sans)}.pp-signin .pp-primary{width:100%}.pp-second{height:46px;border-radius:12px;background:var(--line);color:var(--text);font:500 16px var(--font-sans)}.pp-danger{height:46px;border-radius:12px;border:1px solid var(--short);color:var(--short);font:500 16px var(--font-sans)}.pp-wide{width:calc(100% - 32px);margin:20px 16px 0}.pp-quietdanger{height:44px;margin:6px 16px 12px;color:var(--short);font:500 15px var(--font-sans)}.pp-sheethead{display:flex;align-items:baseline;gap:8px}.pp-sheet .pp-rows{margin:4px -16px 6px}.pp-confirm .pp-question{margin:0 0 6px;color:var(--text);font:16px/1.45 var(--font-sans)}.pp-input{height:46px;box-sizing:border-box;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:16px var(--font-sans);outline:none}.pp-input:focus{border-color:var(--accent)}html[data-phone] .study-settings.alert-settings{right:auto;left:0;border-width:1px 1px 0 0}.pop .bell{width:30px;height:30px;border-radius:6px;color:var(--muted);display:grid;place-items:center}.pop .bell svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}.pop .bell:hover{background:var(--line);color:var(--text)}.pop .bell.on svg{fill:currentColor;fill-opacity:.25}.notice{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);padding:8px 14px;border-radius:8px;background:var(--raised);border:1px solid var(--line);box-shadow:0 8px 28px #00000080;font-size:14px;z-index:20;pointer-events:none}.notice[hidden]{display:none}.notice button{pointer-events:auto;margin-left:12px;padding:4px 10px;border-radius:6px;background:var(--accent);color:var(--accent-ink);font-weight:var(--weight-bold)}.notice button:hover{filter:brightness(1.12)}.rail .divider{width:30px;height:1px;margin:5px 0;background:var(--line);flex:none}.rail .magnet.lit,.rail .stay.lit{color:var(--accent)}.rail{min-height:0;overflow-y:auto;scrollbar-width:none;padding-bottom:9px}.rail::-webkit-scrollbar{display:none}.rail .foot{margin-top:auto;padding-top:10px;display:flex;flex-direction:column;gap:4px}.rail button:disabled{opacity:.35;cursor:default;background:none}#app.tree-open{grid-template-columns:var(--rail-w) 1fr minmax(0,320px)}.tree{grid-column:3;grid-row:2;min-height:0;overflow:auto;border-left:1px solid var(--line);padding:0 0 12px;font-size:14px}.tree[hidden]{display:none}.tree header{position:sticky;top:0;display:flex;align-items:center;gap:8px;padding:10px 10px 8px 14px;background:var(--bg);border-bottom:1px solid var(--line);z-index:1}.tree header .t{font-weight:600}.tree header .m{color:var(--muted);font:13px var(--font-mono)}.tree header .x{margin-left:auto;width:28px;height:28px;border-radius:6px;color:var(--muted);font-size:18px}.tree header .plus{margin-left:auto;width:28px;height:28px;border-radius:6px;color:var(--muted);display:grid;place-items:center}.tree header .plus svg{width:18px;height:18px}.tree header .plus:hover{background:var(--raised);color:var(--text)}.tree header .plus+.x{margin-left:0}.tree header .x:hover{background:var(--raised);color:var(--text)}.tree section{padding:10px 0 2px}.tree h4{display:flex;gap:6px;margin:0 14px 6px;font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.tree h4 .n{font:12px var(--font-mono)}.tree .bulk{display:flex;gap:4px;margin:0 10px 6px}.tree .bulk button{padding:4px 9px;border-radius:6px;color:var(--muted);font-size:13px;border:1px solid var(--line)}.tree .bulk button:hover{color:var(--text);background:var(--raised)}.tree ul{list-style:none;margin:0;padding:0 6px}.tree li{display:flex;align-items:center;gap:8px;padding:5px 6px 5px 8px;border-radius:6px;cursor:pointer}.tree li:hover{background:var(--raised)}.tree li.on{background:color-mix(in srgb,var(--accent) 18%,transparent)}.tree li.hidden .text{opacity:.45}.tree .icon{display:grid;place-items:center}.tree .icon svg{width:20px;height:20px}.tree .text{display:flex;flex-direction:column;min-width:0;flex:1}.tree .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree .detail{color:var(--muted);font:12.5px var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree .actions{display:flex;gap:1px}.tree .actions button{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;color:var(--muted);opacity:0;font-size:16px}.tree .actions button svg{width:20px;height:20px}.tree li:hover .actions button,.tree .actions button.lit{opacity:1}.tree .actions button.lit{color:var(--accent)}.tree .actions button:hover:not(:disabled){background:var(--line);color:var(--text)}.tree li:hover .actions button:disabled{opacity:.2;cursor:default}.tree .empty{margin:2px 14px 6px;color:var(--muted)}.pop .lock{width:30px;height:30px;border-radius:6px;color:var(--muted);display:grid;place-items:center}.pop .lock svg{width:20px;height:20px}.pop .lock:hover{background:var(--line);color:var(--text)}.pop .lock.on{color:var(--accent)}.rail button.more{position:relative}.rail button.more:after{content:"";position:absolute;right:5px;bottom:5px;border:3.5px solid transparent;border-right-color:currentColor;border-bottom-color:currentColor;opacity:.55}.flyout{position:fixed;z-index:15;display:flex;flex-direction:column;padding:5px;min-width:230px;background:var(--raised);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 28px #00000080}.flyout button{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:12px;padding:8px 10px;border-radius:7px;color:var(--text);text-align:left;font-size:14px}.flyout svg{width:22px;height:22px}.flyout button:hover{background:var(--line)}.flyout button.on{color:var(--accent)}.flyout .k{color:var(--muted);font:12.5px var(--font-mono)}.text-edit{position:absolute;top:0;left:0;z-index:3;min-width:120px;padding:1px 3px;background:var(--bg);border:1px solid var(--accent);border-radius:4px;outline:none}.surface.over-drawing{cursor:move!important}.surface.over-handle{cursor:grab!important}.surface.dragging{cursor:grabbing!important}.menu{position:fixed;z-index:30;min-width:250px;padding:5px;outline:none;background:var(--raised);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 32px #0000008c}.menu button{display:flex;width:100%;justify-content:space-between;gap:18px;padding:8px 12px;border-radius:7px;text-align:left;font-size:14px;outline:none}.menu button:hover:not(:disabled),.menu button:focus-visible{background:var(--line)}.menu button:disabled{color:var(--muted);opacity:.5;cursor:default}.menu button.danger:not(:disabled){color:var(--short)}.menu .k{color:var(--muted);font:12.5px var(--font-mono)}.menu hr{border:0;border-top:1px solid var(--line);margin:4px 6px}.menu .note{margin:0;padding:8px 12px 6px;max-width:290px;color:var(--muted);font-size:13px;line-height:1.4}.menu .tick{flex:none;width:18px;height:18px;border-radius:5px;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--muted)}.menu .tick svg{width:14px;height:14px;stroke-width:2.2;opacity:0}.menu .tick.on{background:var(--accent);color:var(--accent-ink);box-shadow:none}.menu .tick.on svg{opacity:1}.menu .with-ic{display:flex;align-items:center;gap:12px}.menu .ic{display:grid;place-items:center;min-width:36px;color:var(--text)}.menu .pick{flex:none;width:18px;height:18px;display:grid;place-items:center;color:var(--accent)}.menu .pick svg{width:16px;height:16px;stroke-width:2.2;opacity:0}.menu .pick.on svg{opacity:1}.menu .step{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:3px 4px 3px 12px;font-size:14px}.menu .step .ctl{display:flex;align-items:center;gap:2px}.menu .step button{width:30px;height:30px;padding:0;justify-content:center;align-items:center;font-size:17px}.menu .step .v{min-width:28px;text-align:center;font:14px var(--font-mono)}.menu .choice{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:4px 6px 4px 12px;font-size:14px}.menu .choice .seg{display:flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}.menu .choice .seg button{width:auto;padding:6px 12px;border-radius:0;font-size:13.5px;color:var(--muted)}.menu .choice .seg button:hover:not(.on),.menu .choice .seg button:focus-visible{background:var(--line);color:var(--text)}.menu .choice .seg button.on{background:var(--accent);color:var(--accent-ink)}.settings{position:fixed;inset:0;z-index:25;background:#00000073;display:grid;place-items:start center;padding-top:10vh}.settings .box{width:min(500px,calc(100vw - 32px));font-size:14px;max-height:80vh;overflow:auto;background:var(--raised);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 60px #0009;padding-bottom:12px}.settings header{display:flex;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);font-weight:600}.settings header .x{margin-left:auto;width:24px;height:24px;border-radius:6px;color:var(--muted);font-size:16px}.settings header .x:hover{background:var(--line);color:var(--text)}.settings section{padding:10px 14px 2px}.settings h4{margin:0 0 6px;font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.settings .row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:7px 0}.settings .l{display:flex;flex-direction:column;gap:2px}.settings .d{color:var(--muted);font-size:12.5px}.settings input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex:none}.settings .pair{display:grid;grid-template-columns:1fr 44px 44px;column-gap:16px;align-items:center}.settings h4.pair span:not(:first-child){text-align:center}.settings .well,.study-settings .well{position:relative;flex:none;width:44px;height:28px;border-radius:7px;background:linear-gradient(135deg,var(--solid) 50%,transparent 50%),linear-gradient(var(--c),var(--c)),repeating-conic-gradient(#3b4049 0 25%,#262a31 0 50%) 0 0 / 10px 10px}.settings .well:after,.study-settings .well:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff24}.settings .well:hover:after,.study-settings .well:hover:after{box-shadow:inset 0 0 0 1px #fff6}.settings .well.open,.study-settings .well.open{box-shadow:0 0 0 2px var(--raised),0 0 0 4px var(--accent)}.settings .seg{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.settings .seg button{padding:5px 12px;color:var(--muted);font-size:13.5px}.settings .seg button.on{background:var(--line);color:var(--text)}.settings .chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.settings .chips button{padding:5px 11px;border:1px solid var(--line);border-radius:7px;color:var(--muted);font-size:13.5px}.settings .chips button:hover{color:var(--text)}.settings .chips button.on{color:var(--text);background:color-mix(in srgb,var(--accent) 22%,transparent);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.settings .stepper,.drawing-settings .stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:7px;overflow:hidden}.settings .stepper button,.drawing-settings .stepper button{width:34px;height:30px;color:var(--muted);font-size:17px}.settings .stepper button:hover:not(:disabled),.drawing-settings .stepper button:hover:not(:disabled){background:var(--line);color:var(--text)}.settings .stepper button:disabled,.drawing-settings .stepper button:disabled{opacity:.35;cursor:default}.settings .stepper .v,.drawing-settings .stepper .v{min-width:52px;text-align:center;font:14px var(--font-mono)}.settings .reset{margin:10px 14px 0;padding:6px 12px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:13.5px}.settings .reset:hover{color:var(--text);background:var(--line)}.series-pane .resizer{position:absolute;left:0;right:0;height:9px;cursor:row-resize;z-index:3}.series-pane .resizer.top{top:-5px}.series-pane .resizer.bottom{bottom:-5px}.series-pane .resizer:after{content:"";position:absolute;left:0;right:0;top:4px;height:1px;background:var(--accent);opacity:0;transition:opacity .12s}.series-pane .resizer:hover:after,.series-pane .resizer.active:after{opacity:.8}.study-settings{position:fixed;z-index:30;width:290px;padding:4px 14px 14px;font-size:14px;background:var(--raised);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 36px #0000008c}.study-settings header{display:flex;align-items:center;justify-content:space-between;padding:8px 0;margin-bottom:4px;border-bottom:1px solid var(--line);font-weight:600}.study-settings header .x{width:28px;height:28px;border-radius:6px;color:var(--muted);font-size:18px}.study-settings header .x:hover{background:var(--line);color:var(--text)}.study-settings .row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 0}.study-settings input[type=number],.study-settings select{width:128px;padding:5px 8px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:14px var(--font-mono)}.study-settings input[type=number]:focus,.study-settings select:focus{outline:none;border-color:var(--accent)}.study-settings .defaults{margin-top:8px;padding:5px 10px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:13px}.study-settings .defaults:hover{color:var(--text);background:var(--line)}.study-settings .stepper{display:inline-flex;align-items:center;gap:6px}.study-settings .stepper input[type=number]{width:64px;height:40px;text-align:center;font-size:16px;-moz-appearance:textfield}.study-settings .stepper input::-webkit-inner-spin-button,.study-settings .stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.study-settings .nudge{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:20px/1 var(--font-sans)}.study-settings .nudge:active{background:var(--line)}html[data-phone] .study-settings{left:auto!important;top:auto!important;right:0;bottom:var(--home-band);width:min(360px,86vw);max-height:calc(100% - 120px);overflow:auto;overscroll-behavior:contain;box-sizing:border-box;padding:6px 16px 16px;border-radius:18px 18px 0 0;border-width:1px 0 0 1px;box-shadow:none;font-size:16px}html[data-phone] .study-settings header{padding:12px 0;font-size:18px}html[data-phone] .study-settings .row{min-height:48px}html[data-phone] .study-settings select{width:auto;max-width:180px;height:40px;font-size:15px}html[data-phone] .study-settings header{justify-content:flex-start;gap:12px}.study-settings header .dot{flex:none;width:12px;height:12px;border-radius:50%;background:var(--c)}.study-settings header .named{display:flex;flex-direction:column;gap:4px;min-width:0}.study-settings header .named small{font:400 13px var(--font-sans);color:var(--muted)}html[data-phone] .study-settings .nudge{width:44px;height:44px;font-size:22px}html[data-phone] .study-settings .stepper input[type=number]{width:76px;height:44px;font:600 19px var(--font-mono)}.study-settings .row.colours{flex-direction:column;align-items:stretch;gap:12px;padding:8px 0}.study-settings .strip{display:flex;justify-content:space-between;gap:6px}.study-settings .swatch{flex:0 1 34px;min-width:0;aspect-ratio:1;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px #ffffff24}.study-settings .swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--raised),0 0 0 4px var(--text)}.study-settings .swatch.any{background:conic-gradient(#ff6b6b,#ffd43b,#51cf66,#22b8cf,#4dabf7,#cc5de8,#ff6b6b)}.study-settings .swatch.any.open{box-shadow:0 0 0 2px var(--raised),0 0 0 4px var(--accent)}.study-settings footer{display:flex;gap:10px;padding-top:16px}.study-settings footer button{flex:1 1 0;height:48px;border-radius:12px;font:600 16px var(--font-sans)}.study-settings footer .remove{border:1px solid var(--short);color:var(--short)}.study-settings footer .done{background:var(--accent);color:var(--bg)}@media(pointer:coarse){.study-settings{width:min(340px,calc(100vw - 16px));font-size:15px}.study-settings select{height:40px;font-size:16px}.study-settings .swatches{max-width:210px;gap:8px}.study-settings .swatches button{width:28px;height:28px}.study-settings header .x{width:40px;height:40px;font-size:22px}}.overlays .name{width:auto;height:auto;opacity:1;font:inherit;padding:0 4px;white-space:nowrap}.grid.maximized{grid-template-areas:none!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important}.grid.maximized>.pane.max{grid-area:auto!important}.grid.maximized>.pane:not(.max){display:none}.surface.over-study{cursor:pointer!important}.surface.over-alert{cursor:ns-resize!important}.pop .study-name{font:14px var(--font-mono);padding:0 6px 0 2px;white-space:nowrap}.palette .field{position:relative}.palette .ghost{position:absolute;inset:0;padding:14px 16px;font:17px var(--font-sans);line-height:normal;white-space:pre;overflow:hidden;pointer-events:none}.palette .ghost .typed{color:transparent}.palette .ghost .slots{color:var(--muted)}.overlays .item.off .name{opacity:.45;text-decoration:line-through}.overlays .item.off button.lit{opacity:1;color:var(--accent)}.overlays button svg{width:20px;height:20px}.overlays .fold{width:auto;height:26px;display:flex;align-items:center;gap:4px;opacity:.85;padding:0 8px 0 4px;font:calc(var(--legend-size) - 1px) var(--font-mono);color:var(--muted);background:color-mix(in srgb,var(--raised) 70%,transparent)}.overlays .fold svg{width:18px;height:18px}.overlays .fold:hover{opacity:1;background:color-mix(in srgb,var(--raised) 85%,transparent);color:var(--text)}.series-pane .ctl button svg{width:20px;height:20px}.series-pane .ctl button.lit{color:var(--accent)}@container (max-width: 560px){.legend{font-size:calc(var(--legend-size) * .83);top:8px;left:10px}.overlays{font-size:calc(var(--legend-size) * .83);top:calc(13px + var(--legend-size) * 1.08);left:6px}.overlays .fold{font-size:calc(var(--legend-size) * .83)}.pane.legend-off .overlays{top:8px}}.alert-settings{width:330px}.alert-settings input[type=text]{width:100%;margin:6px 0 4px;padding:7px 9px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:14px var(--font-sans)}.alert-settings input[type=text]:focus{outline:none;border-color:var(--accent)}.alert-settings .seg{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.alert-settings .seg button{padding:5px 10px;color:var(--muted);font-size:13px}.alert-settings .seg button:hover{color:var(--text)}.alert-settings .seg button.on{background:var(--line);color:var(--text)}.alert-settings .foot{display:flex;align-items:center;gap:8px;margin-top:10px}.alert-settings .foot .status{color:var(--muted);font-size:13px}.alert-settings .foot button{padding:5px 10px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:13px}.alert-settings .foot button:hover{color:var(--text);background:var(--line)}.alert-settings .foot .danger{margin-left:auto;color:var(--short)}html[data-phone] .alert-settings{display:flex;flex-direction:column;gap:18px;padding-top:20px}html[data-phone] .alert-settings header{flex-direction:column;align-items:flex-start;gap:4px;margin:0;padding:0;border:0;font-size:19px}html[data-phone] .alert-settings header small{font:400 13px var(--font-mono);color:var(--muted)}html[data-phone] .alert-settings .row{padding:0;min-height:40px;font-size:16px}html[data-phone] .alert-settings .row.stacked{flex-direction:column;align-items:stretch;gap:10px}html[data-phone] .alert-settings .seg{padding:3px;border:0;border-radius:12px;background:var(--bg)}html[data-phone] .alert-settings .seg button{flex:1 1 0;height:40px;padding:0;border-radius:9px;color:#9aa1aa;font:500 15px var(--font-sans)}html[data-phone] .alert-settings .seg button.on{background:#2d333c;color:var(--text)}html[data-phone] .alert-settings .sound{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-radius:10px;background:#262c34;color:var(--text);font:500 15px var(--font-sans)}html[data-phone] .alert-settings .sound svg{width:16px;height:16px}html[data-phone] .alert-settings input[type=text]{box-sizing:border-box;height:44px;margin:0;padding:0 12px;border-radius:10px;font-size:16px}html[data-phone] .alert-settings .foot{margin:0}html[data-phone] .alert-settings footer{padding-top:4px}.alerts-panel .signin{margin:4px 14px;padding:7px 12px;border-radius:7px;background:var(--accent);color:var(--accent-ink);font-weight:600}.bar .workspace-button,.bar .layout-button{display:flex;align-items:center;gap:2px;min-width:0;border-radius:8px}.bar .workspace-button:hover,.bar .layout-button:hover{background:var(--raised);color:var(--text)}.bar .workspace-button .chev,.bar .layout-button .chev{flex:none;width:16px;height:16px;color:var(--muted)}.bar .workspace-button{padding:6px 6px 6px 12px;color:var(--text);font:16px var(--font-sans)}.bar .workspace-button .name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar .layout-button{padding:6px 6px 6px 10px;color:var(--muted)}.layout-menu,.workspace-menu{position:fixed;z-index:30;padding:8px;min-width:300px;background:var(--raised);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 36px #0000008c}.workspace-menu{min-width:260px}.layout-menu .row{display:flex;align-items:center;gap:4px;padding:2px 0}.layout-menu .n{width:22px;color:var(--muted);font:13px var(--font-mono);text-align:center}.layout-menu .row button{width:40px;height:36px;border-radius:7px;color:var(--muted);display:grid;place-items:center}.layout-menu .row button svg{width:28px;height:28px}.layout-menu .row button:hover{background:var(--line);color:var(--text)}.layout-menu .row button.on{background:var(--accent);color:var(--accent-ink)}.layout-menu h4,.workspace-menu h4{margin:10px 6px 4px;font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.layout-menu .sync{display:grid;grid-template-columns:18px auto;column-gap:10px;align-items:center;width:100%;padding:6px;border-radius:7px;text-align:left;font-size:14px}.layout-menu .sync:hover{background:var(--line)}.layout-menu .sync .box{grid-row:span 2;width:16px;height:16px;border:1.5px solid var(--muted);border-radius:4px}.layout-menu .sync.on .box{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 2.5px var(--raised)}.layout-menu .sync .note{color:var(--muted);font-size:12.5px}.workspace-menu h4{margin-top:4px}.workspace-menu .ws{display:flex;align-items:center;gap:2px;border-radius:7px}.workspace-menu .ws:hover{background:var(--line)}.workspace-menu .ws.on{background:color-mix(in srgb,var(--accent) 20%,transparent)}.workspace-menu .ws .name{flex:1;min-width:0;padding:9px 10px;text-align:left;font-size:15px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-menu .ws .k{color:var(--muted);font:12.5px var(--font-mono);padding:0 6px}.workspace-menu .ws .act{flex:none;width:30px;height:30px;border-radius:6px;color:var(--muted);display:grid;place-items:center;font-size:18px;opacity:0}.workspace-menu .ws .act svg{width:16px;height:16px}.workspace-menu .ws:hover .act,.workspace-menu .ws .act:focus-visible{opacity:1}.workspace-menu .ws .act:hover{background:var(--raised);color:var(--text)}.workspace-menu .ws .act.del:hover{color:var(--short)}.workspace-menu .ws input.rename{flex:1;min-width:0;height:36px;padding:0 10px;border:1px solid var(--accent);border-radius:7px;background:var(--bg);color:var(--text);font:15px var(--font-sans);outline:none}.workspace-menu .add{display:flex;align-items:center;gap:8px;width:100%;margin-top:4px;padding:9px 10px;border-top:1px solid var(--line);border-radius:0 0 7px 7px;color:var(--muted);font-size:15px;text-align:left}.workspace-menu .add svg{width:16px;height:16px;stroke-width:2}.workspace-menu .add:hover{background:var(--line);color:var(--text)}.bar .layouts{align-items:center}.bar .side{padding:6px 8px;border-radius:8px;color:var(--muted);display:grid;place-items:center}.bar .side:hover{background:var(--raised);color:var(--text)}.bar .side.lit{color:var(--accent)}.bar .layouts .gap{width:1px;height:24px;margin:0 6px;background:var(--line)}.dex{margin-left:5px;padding:1px 5px;border-radius:4px;background:var(--line);color:var(--muted);font:500 11px var(--font-mono);vertical-align:2px}.bar .market .dex{font-size:12px}.watchlist .find{position:relative;margin:10px 12px 6px}.watchlist .add{width:100%;padding:8px 10px;border-radius:7px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:14px var(--font-sans)}.watchlist .add:focus{outline:none;border-color:var(--accent)}.watchlist .suggest{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:2;list-style:none;margin:0;padding:4px;background:var(--raised);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #00000080}.watchlist .suggest:empty{display:none}.watchlist .suggest li{padding:7px 8px;border-radius:6px;cursor:pointer;font-size:14px}.watchlist .suggest li:hover{background:var(--line)}.watchlist .rows{list-style:none;margin:0;padding:0 6px}.watchlist .rows li{display:grid;grid-template-columns:1fr auto 76px 26px;align-items:center;gap:8px;padding:7px 6px 7px 10px;border-radius:6px;cursor:pointer;font-size:14px}.watchlist .rows li:hover{background:var(--raised)}.watchlist .rows li.on{background:color-mix(in srgb,var(--accent) 18%,transparent)}.watchlist .rows li.over{box-shadow:inset 0 2px 0 var(--accent)}.watchlist .rows li.dragging{opacity:.4}.watchlist .rows .name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.watchlist .rows .price{font:13.5px var(--font-mono);text-align:right}.watchlist .rows .change{font:13px var(--font-mono);text-align:right}.watchlist .rows .change.up{color:var(--long)}.watchlist .rows .change.down{color:var(--short)}.watchlist .rows .x{width:24px;height:24px;border-radius:5px;color:var(--muted);opacity:0;font-size:16px}.watchlist .rows li:hover .x{opacity:1}.watchlist .rows .x:hover{background:var(--line);color:var(--text)}.tree .layers li{position:relative}.tree .layers li.group .name{font-weight:600}.tree .layers li.member{padding-left:30px}.tree .layers li.member:before{content:"";position:absolute;left:17px;top:0;bottom:0;width:1px;background:var(--line)}.tree .layers .fold{width:22px;height:22px;margin-right:-4px;border-radius:5px;color:var(--muted);display:grid;place-items:center;flex:none}.tree .layers .fold svg{width:16px;height:16px}.tree .layers .fold:hover{background:var(--line);color:var(--text)}.tree .layers li.dragging{opacity:.4}.tree .layers li.drop-front{box-shadow:inset 0 2px 0 var(--accent)}.tree .layers li.drop-behind{box-shadow:inset 0 -2px 0 var(--accent)}.tree .layers .rename{flex:1;min-width:0;padding:3px 6px;border-radius:5px;border:1px solid var(--accent);background:var(--bg);color:var(--text);font:inherit}.tree .bulk .group-selected{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.series-pane.picked{box-shadow:inset 0 0 0 1.5px var(--accent)}.pop .gear{width:30px;height:30px;border-radius:6px;color:var(--muted);display:grid;place-items:center}.pop .gear svg{width:20px;height:20px}.pop .gear:hover{background:var(--line);color:var(--text)}.bar nav .more-tf{padding:6px 4px}.bar nav .more-tf svg{width:18px;height:18px}.tf-menu{position:fixed;z-index:30;width:340px;padding:8px 10px 10px;background:var(--raised);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 36px #0000008c}.tf-menu h4{margin:8px 2px 5px;font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.tf-menu .chips{display:flex;flex-wrap:wrap;gap:5px}.tf-menu .chip{display:flex;align-items:center;border:1px solid var(--line);border-radius:7px}.tf-menu .chip.on{border-color:var(--accent)}.tf-menu .chip .tf{padding:5px 4px 5px 9px;font:14px var(--font-mono);color:var(--text)}.tf-menu .chip .star,.tf-menu .chip .x{width:26px;height:28px;display:grid;place-items:center;color:var(--muted)}.tf-menu .chip .star svg{width:16px;height:16px}.tf-menu .chip .star.lit{color:#ffd43b}.tf-menu .chip .star.lit svg{fill:currentColor}.tf-menu .chip button:hover{color:var(--text)}.tf-menu .chip .x{width:22px;font-size:15px}.tf-menu .chip.plus{width:32px;height:30px;justify-content:center;color:var(--muted)}.tf-menu .chip.plus svg{width:16px;height:16px}.tf-menu .chip.plus:hover{color:var(--text);border-color:var(--muted)}.tf-menu .chip.add{width:64px;height:30px;padding:0 8px;background:var(--bg);color:var(--text);font:14px var(--font-mono);border-color:var(--accent);outline:none}.picker{position:fixed;z-index:40;width:292px;padding:14px;display:flex;flex-direction:column;gap:14px;font-size:14px;background:var(--raised);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 48px #0009}.picker .favs{display:grid;grid-template-columns:repeat(8,26px);justify-content:space-between;row-gap:10px}.picker .fav,.picker .add{position:relative;width:26px;height:26px;border-radius:50%}.picker .fav{background:var(--c);box-shadow:inset 0 0 0 1px #ffffff24}.picker .fav.on{box-shadow:0 0 0 2px var(--raised),0 0 0 4px var(--text)}.picker .fav .x{position:absolute;top:-6px;right:-6px;width:17px;height:17px;border-radius:50%;display:none;place-items:center;background:var(--line);color:var(--text);font-size:13px;line-height:1;box-shadow:0 0 0 1px var(--raised)}.picker .fav:hover .x,.picker .fav:focus-visible .x{display:grid}.picker .fav .x:hover{background:var(--short)}.picker .add{display:grid;place-items:center;color:var(--muted);box-shadow:inset 0 0 0 1.5px var(--line)}.picker .add svg{width:16px;height:16px;stroke-width:2}.picker .add:hover:not(:disabled){color:var(--text);background:var(--line)}.picker .add:disabled{opacity:.35;cursor:default}.picker .field{position:relative;height:150px;border-radius:8px;cursor:crosshair;touch-action:none;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent)}.picker .field:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.picker .knob{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;pointer-events:none;border:2px solid #fff;box-shadow:0 0 0 1px #00000059,0 1px 4px #00000080}.picker input[type=range]{-webkit-appearance:none;appearance:none;display:block;width:100%;height:14px;margin:0;border-radius:7px;cursor:pointer}.picker input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.picker input.hue{background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.picker input.alpha{background:linear-gradient(to right,transparent,var(--solid)),repeating-conic-gradient(#3b4049 0 25%,#262a31 0 50%) 0 0 / 10px 10px}.picker input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--thumb, transparent);border:2px solid #fff;box-shadow:0 0 0 1px #00000059,0 1px 4px #00000080}.picker input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--thumb, transparent);border:2px solid #fff;box-shadow:0 0 0 1px #00000059,0 1px 4px #00000080}.picker .hue{--thumb: var(--hue)}.picker .alpha{--thumb: var(--solid)}.picker .opacity{display:flex;align-items:center;gap:12px}.picker .opacity[hidden]{display:none}.picker .pct{flex:none;width:46px;text-align:right;font:14px var(--font-mono);color:var(--text)}.picker .foot{display:flex;align-items:center;gap:10px}.picker .hex{flex:1;display:flex;align-items:center;gap:2px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--muted);font:14px var(--font-mono);cursor:text}.picker .hex:focus-within{border-color:var(--accent)}.picker .hex input{width:100%;min-width:0;padding:0;border:0;outline:none;background:none;color:var(--text);font:inherit;text-transform:uppercase}.picker .reset{height:34px;padding:0 14px;border:1px solid var(--line);border-radius:7px;color:var(--muted);font-size:14px}.picker .reset[hidden]{display:none}.picker .reset:hover:not(:disabled){color:var(--text);background:var(--line)}.picker .reset:disabled{opacity:.4;cursor:default}.drawing-settings{width:320px}.drawing-settings h5{margin:12px 0 6px;font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.drawing-settings input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.drawing-settings .levels{display:grid;grid-template-columns:1fr 1fr;gap:6px}.drawing-settings .level{display:flex;align-items:center;border:1px solid var(--line);border-radius:7px;background:var(--bg)}.drawing-settings .level:focus-within{border-color:var(--accent)}.drawing-settings .levels input{width:100%;min-width:0;height:30px;padding:0 8px;border:0;background:none;color:var(--text);font:14px var(--font-mono);outline:none}.drawing-settings .levels input.new{border:1px solid var(--accent);border-radius:7px;background:var(--bg)}.drawing-settings .level button{flex:none;width:26px;height:30px;color:var(--muted);font-size:16px}.drawing-settings .level button:hover:not(:disabled){color:var(--short)}.drawing-settings .level button:disabled{opacity:.3;cursor:default}.drawing-settings .levels .add{height:32px;border:1px dashed var(--line);border-radius:7px;color:var(--muted);display:grid;place-items:center}.drawing-settings .levels .add:hover{color:var(--text);border-color:var(--muted)}.drawing-settings .levels .add svg{width:16px;height:16px;stroke-width:2}.drawing-settings .defaults{margin-right:6px}.drawing-settings .defaults:disabled{opacity:.4;cursor:default}@media(hover:none){.watchlist .rows .x,.tree .actions button{opacity:1}.tree .actions button:disabled{opacity:.2}.pop .template .x,.picker .fav.on .x{display:grid}.picker .fav:not(.on):hover .x{display:none}}.wheel{position:absolute;display:block;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;outline:none;color:var(--touch-ink, #e6e8eb);--drum-a: calc(var(--wheel-h, 64px) / 8);--drum-b: calc(var(--wheel-h, 64px) / 8);--drum-ink: .22;--drum-housing: .1;--drum-value: 80%;background:var(--touch-ground, #0b0d10)}.wheel:focus-visible .wheel__value{outline:1px solid color-mix(in srgb,var(--touch-ink, #e6e8eb) 40%,transparent)}.wheel__ribs,.wheel:before,.wheel:after{top:var(--drum-a);bottom:var(--drum-b)}.wheel__value{position:absolute;left:0;right:0;top:calc((100% + var(--drum-a) - var(--drum-b)) / 2);transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;padding:5px 0;background:var(--touch-ground, #0b0d10);font:600 14px/1 var(--touch-font, ui-monospace, monospace);letter-spacing:.02em;white-space:nowrap;color:color-mix(in srgb,var(--touch-ink, #e6e8eb) var(--drum-value),var(--touch-ground, #0b0d10))}.wheel__ribs{position:absolute;left:50%;width:34px;transform:translate(-50%);background-image:repeating-linear-gradient(to bottom,currentColor 0 1px,transparent 1px 5px),linear-gradient(to right,transparent 0%,color-mix(in srgb,currentColor 20%,transparent) 40%,color-mix(in srgb,currentColor 20%,transparent) 60%,transparent 100%);background-size:18px 100%;background-position:center;background-repeat:no-repeat;opacity:var(--drum-ink);-webkit-mask-image:radial-gradient(50% 50% at 50% 50%,#000 30%,rgba(0,0,0,.7) 62%,transparent 100%);mask-image:radial-gradient(50% 50% at 50% 50%,#000 30%,rgba(0,0,0,.7) 62%,transparent 100%)}.wheel:before,.wheel:after{content:"";position:absolute;width:1px;background-image:repeating-linear-gradient(to bottom,currentColor 0 1px,transparent 1px 4px);opacity:var(--drum-housing);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 24%,#000 76%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 24%,#000 76%,transparent 100%)}.wheel:before{left:calc(50% - 14px)}.wheel:after{left:calc(50% + 13px)}.wheel[data-turn=on] .wheel__value{animation:wheel-on .18s ease-out}.wheel[data-turn=back] .wheel__value{animation:wheel-back .18s ease-out}@keyframes wheel-on{0%{transform:translateY(calc(-50% + 12px));opacity:.35}}@keyframes wheel-back{0%{transform:translateY(calc(-50% - 12px));opacity:.35}}@media(prefers-reduced-motion:reduce){.wheel[data-turn] .wheel__value{animation:none}}.panel{position:fixed;inset:0;z-index:20;pointer-events:none}.panel[data-open=true]{pointer-events:auto}.panel__scrim{position:absolute;inset:0;background:#00000080;opacity:0;transition:opacity .2s ease}.panel[data-open=true] .panel__scrim{opacity:1}.panel__sheet{position:absolute;top:0;bottom:0;width:var(--panel-w, min(360px, 86vw));display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:var(--touch-foot, 0px);background:var(--touch-sheet, #171a1f);color:var(--touch-ink, #e6e8eb);visibility:hidden;transition:transform .24s cubic-bezier(.2,.8,.2,1),visibility 0s linear .24s}.panel--right .panel__sheet{right:0;transform:translate(100%);border-left:1px solid var(--touch-edge, #22262d);padding-right:env(safe-area-inset-right)}.panel--left .panel__sheet{left:0;transform:translate(-100%);border-right:1px solid var(--touch-edge, #22262d);padding-left:env(safe-area-inset-left)}.panel[data-open=true] .panel__sheet{transform:none;visibility:visible;transition:transform .24s cubic-bezier(.2,.8,.2,1)}.panel__body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.panel__foot{flex:none;border-top:1px solid var(--touch-edge, #22262d)}.panel__foot:empty{display:none}@media(prefers-reduced-motion:reduce){.panel__scrim,.panel__sheet,.panel[data-open=true] .panel__sheet{transition:none}}
