.header{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 20px;gap:16px}.header__left{display:flex;align-items:center;gap:14px;min-width:0}.header__right{display:flex;align-items:center;gap:12px;margin-left:auto}.header__ticker{display:flex;align-items:center;gap:10px}.header__icon{width:38px;height:38px;border-radius:50%;object-fit:contain;background:var(--bg-elevated);display:inline-block}.header__ticker-name{font-size:24px;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;line-height:1}.header__ticker-name-skel{width:140px;height:24px}.header__divider{width:1px;align-self:stretch;background:var(--border-subtle);margin:8px 0}.header__price-group{display:flex;align-items:baseline;gap:12px}.header__price{font-size:20px;font-weight:700;color:var(--text-primary);line-height:1}.header__currency{font-size:12px;font-weight:500;color:var(--text-secondary);margin-left:2px}.header__price-skel{width:96px;height:20px}.header__change{font-size:15px;font-weight:600;color:var(--text-secondary);line-height:1}.header__change--pos{color:var(--positive)}.header__change--neg{color:var(--negative)}.header__change-skel{width:110px;height:14px}.header__btn{width:40px;height:40px;border-radius:9999px;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease,background-color .15s ease;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.header__btn:hover{color:var(--text-primary);background:var(--state-hover)}.header__btn:active{background:var(--state-active)}.header__btn:focus-visible{outline:none;box-shadow:var(--glass-shadow),0 0 0 2px var(--state-focus)}.skeleton{display:inline-block;background:linear-gradient(90deg,var(--skeleton-base) 0%,var(--skeleton-shine) 50%,var(--skeleton-base) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:4px}.skeleton--circle{border-radius:50%}.skeleton--text{border-radius:4px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.user-menu{position:relative;display:inline-flex}.user-menu__trigger{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;font:inherit;font-size:14px;font-weight:500;color:var(--text-primary);background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.user-menu__trigger:hover,.user-menu__trigger[aria-expanded=true]{background:var(--state-hover);border-color:var(--border-subtle)}.user-menu__label{white-space:nowrap}.user-menu__panel{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;padding:4px;background:var(--bg-elevated, #1a1d24);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:0 8px 24px #00000052;display:flex;flex-direction:column;gap:2px;z-index:1000}.user-menu__item{font:inherit;font-size:13px;text-align:left;padding:8px 10px;border:none;border-radius:4px;background:transparent;color:var(--text-primary);cursor:pointer}.user-menu__item:hover{background:var(--state-hover)}.user-menu__item--danger{color:var(--negative, #fb7185)}.user-menu__item--danger:hover{background:#fb71851f}.sidebar-column{width:48px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;border:1px solid var(--border-subtle);border-radius:16px;background:var(--bg-surface);position:relative;z-index:30;transition:border-radius .26s cubic-bezier(.22,1,.36,1)}.sidebar-column--expanded{border-top-right-radius:0;border-bottom-right-radius:0}.sidebar-column--static{border-radius:16px}.sidebar-column__btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:10px;color:var(--text-secondary);cursor:pointer;transition:color .15s ease,background-color .15s ease;position:relative;z-index:1}.sidebar-column__btn:hover{color:var(--text-primary);background:var(--state-hover)}.sidebar-column__btn--reload:hover:not(:disabled){color:var(--negative);background:color-mix(in srgb,var(--negative) 12%,transparent)}.sidebar-column__btn--reload:active:not(:disabled){background:color-mix(in srgb,var(--negative) 18%,transparent)}.sidebar-column__btn:disabled,.sidebar-column__btn:disabled:hover{color:var(--text-tertiary);background:transparent;cursor:default;opacity:.45}.sidebar-column__btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--state-focus)}.sidebar-column__btn--active,.sidebar-column__btn--active:hover{color:var(--text-primary);background:transparent}.sidebar-column__btn--bottom.sidebar-column__btn--active,.sidebar-column__btn--bottom.sidebar-column__btn--active:hover{background:var(--state-active);border-color:var(--border-subtle)}.sidebar-column__btn--placeholder{color:var(--text-tertiary)}.sidebar-column__divider{width:24px;height:1px;background:var(--border-subtle);flex-shrink:0;margin:2px 0}.sidebar-column__spacer{flex:1;min-height:8px}.sidebar-column__pill{position:absolute;width:36px;height:36px;border-radius:10px;background:var(--state-active);border:1px solid var(--border-subtle);transition:transform .2s ease;pointer-events:none;z-index:0}.sidebar-panel-wrap{position:relative;height:100%}.sidebar-panel{height:100%;display:flex;flex-direction:column;background:var(--bg-surface);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;box-shadow:var(--glass-shadow)}.sidebar-panel--right{border-left:1px solid var(--border-subtle);border-top-left-radius:16px;border-bottom-left-radius:16px}.sidebar-panel--left{border-right:1px solid var(--border-subtle);border-top-right-radius:16px;border-bottom-right-radius:16px}.sidebar-panel::-webkit-scrollbar{width:0;height:0;display:none}.sidebar-panel__header{position:sticky;top:0;flex:none;height:48px;display:flex;align-items:center;padding:0 20px;background-color:var(--bg-surface);border-bottom:1px solid var(--border-subtle);z-index:1}.sidebar-panel__title{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap}.sidebar-panel__body{flex:1;min-height:0;display:flex;flex-direction:column;padding:8px 20px 24px}.sidebar-scrollbar{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.interval-selector{--interval-button-size: 38px;--interval-padding: 5px;position:relative;display:inline-grid;align-items:center;padding:var(--interval-padding);border-radius:16px;background:var(--bg-surface);border:1px solid var(--border-subtle)}.interval-selector--horizontal{height:48px;grid-template-columns:repeat(var(--interval-count),var(--interval-button-size))}.interval-selector--vertical{width:calc(var(--interval-button-size) + var(--interval-padding) * 2 + 2px);grid-template-rows:repeat(var(--interval-count),var(--interval-button-size))}.interval-selector__pill{position:absolute;top:var(--interval-padding);left:var(--interval-padding);width:var(--interval-button-size);height:var(--interval-button-size);border-radius:12px;background:var(--state-active);pointer-events:none;transition:transform .22s cubic-bezier(.22,1,.36,1)}.interval-selector--horizontal .interval-selector__pill{transform:translate(calc(var(--interval-active-index) * var(--interval-button-size)))}.interval-selector--vertical .interval-selector__pill{transform:translateY(calc(var(--interval-active-index) * var(--interval-button-size)))}.interval-selector__btn{position:relative;z-index:1;width:var(--interval-button-size);height:var(--interval-button-size);border:0;border-radius:12px;background:transparent;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:13px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease}.interval-selector__btn:hover,.interval-selector__btn--active,.interval-selector__btn--active:hover{color:var(--text-primary)}.interval-selector__btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--state-focus)}.sidebar-column .interval-selector--vertical{--interval-button-size: 36px;--interval-padding: 0px;width:36px;padding:0;border:0;background:transparent}.sidebar-column .interval-selector__pill{border-radius:10px;border:1px solid var(--border-subtle)}.sidebar-column .interval-selector__btn{border-radius:10px;font-size:12px}.chart-panel{position:relative;width:100%;height:100%;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden}.chart-panel--ruler{cursor:crosshair}.chart-panel__status{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:14px;pointer-events:none}.chart-panel__ruler-svg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;width:100%;height:100%;pointer-events:none}.chart-panel__ruler-rect{fill:color-mix(in srgb,var(--accent) 12%,transparent);stroke:var(--accent);stroke-width:2;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.chart-panel__ruler-point{fill:var(--bg-surface);stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke}.chart-panel__ruler-label{position:absolute;z-index:9;min-width:92px;padding:6px 8px;border-radius:7px;background:#12141af0;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #00000073;color:var(--text-primary);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.3;pointer-events:none;-webkit-user-select:none;user-select:none}.chart-panel__ruler-label div+div{color:var(--text-secondary);font-size:11px;font-weight:600}.chart-panel__breakdown{position:absolute;z-index:10;transform:translateY(-100%);pointer-events:auto;background:#12141af0;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 10px;min-width:220px;max-width:300px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px #00000080;-webkit-user-select:none;user-select:none}.cbt__title{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:6px}.cbt__row{width:100%;border:0;background:transparent;display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:baseline;font:inherit;font-size:12px;padding:2px 0;text-align:left;cursor:pointer;border-radius:4px}.cbt__row:hover{background:#ffffff0f}.cbt__row--long{color:#34d399f2}.cbt__row--short{color:#fb7185f2}.cbt__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cbt__vol{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.cbt__pct{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;color:var(--text-secondary);font-size:11px;min-width:32px}.cbt__total{margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.08);font-size:11px;color:var(--text-secondary);text-align:right}.asset-search{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:center;padding:96px 16px 16px;background:#0000002e}.asset-search__panel{width:min(640px,100%);max-height:min(520px,calc(100vh - 128px));display:flex;flex-direction:column;border-radius:12px;overflow:hidden}.asset-search__form{position:relative;display:flex;align-items:center;height:56px;border-bottom:1px solid var(--border-subtle)}.asset-search__icon{position:absolute;left:18px;color:var(--text-tertiary);pointer-events:none}.asset-search__input{width:100%;height:100%;border:0;outline:0;background:transparent;color:var(--text-primary);font:inherit;font-size:18px;padding:0 56px 0 48px}.asset-search__input::placeholder{color:var(--text-tertiary)}.asset-search__close{position:absolute;right:10px;width:36px;height:36px;border-radius:8px;border:0;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.asset-search__close:hover{color:var(--text-primary);background:var(--state-hover)}.asset-search__body{min-height:160px;overflow:auto;padding:8px}.asset-search__status{min-height:144px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-secondary);font-size:14px}.asset-search__spinner{animation:asset-search-spin .8s linear infinite}.asset-search__list{display:flex;flex-direction:column;gap:2px}.asset-search__result{border-radius:8px}.asset-search__result:hover,.asset-search__result--active{background:var(--state-hover)}.asset-search__row{display:grid;grid-template-columns:1fr 36px;align-items:center}.asset-search__item{width:100%;border:0;border-radius:8px;background:transparent;color:var(--text-primary);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;text-align:left;cursor:pointer}.asset-search__symbol{font-size:14px;font-weight:700}.asset-search__name{min-width:0;font-size:14px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-search__meta{font-size:12px;color:var(--text-tertiary);white-space:nowrap}.asset-search__expand{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.asset-search__expand:hover{color:var(--text-primary);background:var(--state-hover)}.asset-search__expand-icon{transition:transform .15s ease}.asset-search__expand-icon--open{transform:rotate(180deg)}.asset-search__alternatives{margin:0 8px 8px 12px;padding:6px;border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:2px}.asset-search__alternative-status{min-height:40px;display:flex;align-items:center;gap:8px;padding:0 10px;color:var(--text-secondary);font-size:13px}.asset-search__quote{width:100%;border:0;border-radius:8px;background:transparent;color:var(--text-primary);display:grid;grid-template-columns:minmax(72px,auto) 1fr auto auto;align-items:center;gap:12px;padding:10px;text-align:left;cursor:pointer}.asset-search__quote:hover,.asset-search__quote--active{background:var(--state-hover)}.asset-search__star{width:24px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-tertiary);cursor:pointer;transition:color .15s ease,background-color .15s ease}.asset-search__star:hover{color:var(--text-primary);background:var(--state-hover)}.asset-search__star--active,.asset-search__star--active:hover{color:#f5b301}.asset-search__star:focus-visible{outline:none;box-shadow:0 0 0 2px var(--state-focus)}.asset-search__quote-name{min-width:0;font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes asset-search-spin{to{transform:rotate(360deg)}}.sb-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.sb-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 16px;text-align:center;color:var(--text-secondary)}.sb-empty__icon{opacity:.6}.sb-empty__title{font-size:15px;font-weight:600;color:var(--text-primary)}.sb-empty__subtitle{font-size:12px;opacity:.75}.sb-item{padding:10px 12px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.sb-item:hover{background:var(--state-hover);border-color:var(--border-strong)}.sb-item:active,.sb-item[aria-selected=true]{background:var(--state-active);border-color:var(--border-strong)}.sb-item:focus-visible{outline:none;box-shadow:0 0 0 2px var(--state-focus)}.sb-item--row{display:flex;align-items:center;justify-content:space-between}.sb-item__title{font-size:13px;color:var(--text-primary);font-weight:500}.sb-item__meta{font-size:11px;color:var(--text-secondary);margin-top:4px;display:flex;gap:6px}.sb-item--row .sb-item__meta{margin-top:0}.sb-pos{color:var(--positive)}.sb-neg{color:var(--negative)}.sb-empty{min-height:160px;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;color:var(--text-secondary);font-size:13px;text-align:center}.sb-spinner{animation:sb-spin .8s linear infinite}.etp-groups{display:flex;flex-direction:column;gap:14px}.etp-group{display:flex;flex-direction:column;gap:8px}.etp-group__header-row{display:flex;align-items:center;gap:8px}.etp-group__header{flex:1;min-width:0;border:0;background:transparent;color:var(--text-secondary);display:flex;align-items:center;gap:6px;padding:0;cursor:pointer}.etp-group__header:hover{color:var(--text-primary)}.etp-group__right{display:flex;align-items:center;gap:6px;flex:none}.etp-group__eye{background:transparent;border:none;padding:3px;border-radius:4px;color:var(--text-tertiary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .12s ease,background-color .12s ease}.etp-group__eye:hover{color:var(--text-primary);background:var(--state-hover)}.etp-group__title{min-width:0;font-size:13px;font-weight:600;transition:opacity .15s ease}.etp-group__title--disabled{opacity:.45}.etp-group__chevron{flex:none;transition:transform .15s ease}.etp-group__chevron--closed{transform:rotate(-90deg)}.etp-group__count{flex:none;font-size:11px;color:var(--text-tertiary)}.etp-group__list{padding-left:10px;border-left:1px solid var(--border-subtle)}.etp-group__empty{padding:8px 10px;color:var(--text-tertiary);font-size:12px}.etp-item{cursor:default}.etp-item--pending{opacity:.55;filter:grayscale(.85)}.etp-item--pending:hover{background:var(--bg-elevated);border-color:var(--border-subtle)}.etp-item--loaded{opacity:1;filter:none}.etp-item--loaded:hover{background:var(--state-hover);border-color:var(--border-strong)}.etp-item--focused{border-color:var(--accent);box-shadow:0 0 0 2px var(--state-focus)}.etp-item__toggle{width:100%;border:0;background:transparent;color:inherit;display:grid;grid-template-columns:1fr 20px;gap:8px;align-items:start;padding:0;text-align:left;cursor:pointer}.etp-item__toggle:focus-visible{outline:none;box-shadow:0 0 0 2px var(--state-focus);border-radius:6px}.etp-item__content{min-width:0}.etp-item__top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.etp-item__badges{flex:none;display:flex;align-items:center;gap:4px}.etp-badge{border-radius:6px;padding:2px 5px;background:var(--state-hover);color:var(--text-secondary);font-size:10px;font-weight:600;line-height:1}.etp-badge--long{color:var(--positive)}.etp-badge--short{color:var(--negative)}.etp-item__pending{margin-top:8px;color:var(--text-tertiary);font-size:11px}.etp-item__loaded{margin-top:8px;color:var(--positive);font-size:11px}.etp-item__chevron{margin-top:1px;color:var(--text-secondary);transition:transform .15s ease}.etp-item__chevron--closed{transform:rotate(-90deg)}.etp-item__details{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-subtle)}.etp-detail-grid{margin:0;display:grid;gap:7px}.etp-detail-grid div{display:flex;justify-content:space-between;gap:12px;font-size:11px}.etp-detail-grid dt{color:var(--text-tertiary)}.etp-detail-grid dd{margin:0;min-width:0;color:var(--text-primary);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.etp-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}.etp-link{min-height:28px;border-radius:7px;background:var(--state-hover);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 8px;font-size:11px;font-weight:600;text-decoration:none;border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.etp-link:hover{background:var(--state-active)}.etp-link--avanza{color:color-mix(in srgb,rgb(87,191,134) 68%,var(--text-secondary));background:color-mix(in srgb,rgb(87,191,134) 16%,var(--bg-elevated));border-color:color-mix(in srgb,rgb(87,191,134) 26%,transparent)}.etp-link--avanza:hover{color:#06150d;background:#57bf86;border-color:#57bf86}.etp-link--nordnet{color:color-mix(in srgb,rgb(110,236,224) 64%,var(--text-secondary));background:color-mix(in srgb,rgb(110,236,224) 15%,var(--bg-elevated));border-color:color-mix(in srgb,rgb(110,236,224) 24%,transparent)}.etp-link--nordnet:hover{color:#051615;background:#6eece0;border-color:#6eece0}.watchlists{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}.watchlists__create{margin-top:auto;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:8px}.watchlists__input{min-width:0;height:34px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-elevated);color:var(--text-primary);padding:0 10px;font-size:12px}.watchlists__input::placeholder{color:var(--text-tertiary)}.watchlists__input:focus{outline:none;border-color:var(--border-strong);box-shadow:0 0 0 2px var(--state-focus)}.watchlists__add{width:34px;height:34px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-elevated);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.watchlists__add:hover:not(:disabled){color:var(--text-primary);background:var(--state-hover);border-color:var(--border-strong)}.watchlists__add:disabled{cursor:default;opacity:.45}.watchlists__groups{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-right:2px}.watchlist-group{display:flex;flex-direction:column;gap:8px;border-radius:8px;transition:opacity .15s ease,box-shadow .15s ease,background-color .15s ease}.watchlist-group--drop{background:var(--state-hover);box-shadow:0 0 0 1px var(--border-strong)}.watchlist-group--reorder-drop{box-shadow:inset 0 2px 0 var(--accent)}.watchlist-group--dragging{opacity:.5}.watchlist-group__header{position:sticky;top:0;z-index:2;width:100%;min-height:28px;border-radius:7px;background:var(--bg-base);color:var(--text-secondary);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;align-items:center;cursor:grab;transition:background-color .15s ease,color .15s ease}.watchlist-group__header:active{cursor:grabbing}.watchlist-group__header:hover{color:var(--text-primary);background:var(--state-hover)}.watchlist-group__toggle{min-width:0;min-height:28px;display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:6px;align-items:center;padding:0 4px}.watchlist-group__chevron-btn{width:16px;height:16px;padding:0;border:0;background:transparent;color:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.watchlist-group__chevron-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--state-focus);border-radius:4px}.watchlist-group__title-input{min-width:0;font:inherit;font-size:13px;font-weight:600;padding:2px 4px;background:var(--bg-base);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:4px}.watchlist-group__title-input:focus{outline:none;border-color:var(--accent, var(--text-secondary))}.watchlist-group__delete{width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:var(--text-tertiary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.watchlist-group__delete:hover{color:var(--negative);background:var(--state-active)}.watchlist-group__delete:focus-visible{outline:none;box-shadow:0 0 0 2px var(--state-focus)}.watchlist-group__chevron{transition:transform .15s ease}.watchlist-group__chevron--closed{transform:rotate(-90deg)}.watchlist-group__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.watchlist-group__count{min-width:20px;color:var(--text-tertiary);font-size:11px;text-align:right;font-variant-numeric:tabular-nums}.watchlist-group__items{padding-left:10px;border-left:1px solid var(--border-subtle)}.watchlist-group__empty{padding:8px 10px;color:var(--text-tertiary);font-size:12px}.watchlist-item{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr) 28px;align-items:center;gap:7px;padding:8px;cursor:grab}.watchlist-item:active{cursor:grabbing}.watchlist-item--dragging{opacity:.45}.watchlist-item--drop-above:before,.watchlist-item--drop-below:after{content:"";position:absolute;left:4px;right:4px;height:2px;background:var(--accent, var(--text-primary));border-radius:1px;pointer-events:none}.watchlist-item--drop-above:before{top:-1px}.watchlist-item--drop-below:after{bottom:-1px}.watchlist-item__grip{color:var(--text-tertiary)}.watchlist-item__main{min-width:0;border:0;background:transparent;color:inherit;display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center;padding:0;text-align:left;cursor:pointer}.watchlist-item__main:focus-visible,.watchlist-item__remove:focus-visible{outline:none;box-shadow:0 0 0 2px var(--state-focus);border-radius:6px}.watchlist-item__icon{width:30px;height:30px;border-radius:50%;object-fit:contain;background:var(--bg-surface)}.watchlist-item__icon--fallback{display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:12px;font-weight:700}.watchlist-item__text{min-width:0}.watchlist-item__text .sb-item__title,.watchlist-item__text .sb-item__meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watchlist-item__remove{width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:var(--text-tertiary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.watchlist-item__remove:hover{color:var(--negative);background:var(--state-hover)}@keyframes sb-spin{to{transform:rotate(360deg)}}.etp-toast{position:fixed;bottom:20px;right:20px;z-index:200;min-width:200px;padding:10px 14px;border-radius:10px;background:var(--glass-bg, rgba(20, 20, 28, .85));border:1px solid var(--glass-border, rgba(255, 255, 255, .08));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 24px #00000059;display:flex;flex-direction:column;gap:8px;opacity:1;transition:opacity .6s ease 1.4s;pointer-events:none}.etp-toast--loading{right:auto;left:20px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--glass-border, rgba(255, 255, 255, .08));cursor:pointer;pointer-events:auto;text-align:left}.etp-toast--loading:hover{border-color:var(--border-strong)}.etp-toast--loading:focus-visible{outline:none;box-shadow:0 4px 24px #00000059,0 0 0 2px var(--state-focus)}.etp-toast--done{opacity:0;pointer-events:none}.etp-toast__label{font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.etp-toast__track{height:3px;border-radius:2px;background:var(--border-subtle, rgba(255, 255, 255, .08));overflow:hidden}.etp-toast__fill{height:100%;border-radius:2px;background:var(--positive, #34d399);transition:width .3s ease}.watchlist-popover{position:relative;display:inline-flex}.watchlist-popover__panel{position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%);min-width:220px;padding:4px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:0 8px 24px #00000052;display:flex;flex-direction:column;gap:2px;z-index:1000}.watchlist-popover__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px;max-height:280px;overflow-y:auto}.watchlist-popover__row{display:flex;align-items:center;gap:10px;width:100%;font:inherit;font-size:13px;text-align:left;padding:8px 10px;border:none;border-radius:4px;background:transparent;color:var(--text-primary);cursor:pointer}.watchlist-popover__row:hover{background:var(--state-hover)}.watchlist-popover__row--create{color:var(--text-secondary);border-top:1px solid var(--border-subtle);margin-top:2px;padding-top:10px}.watchlist-popover__check{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent, currentColor)}.watchlist-popover__name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.watchlist-popover__empty{font-size:12px;color:var(--text-secondary);padding:10px;text-align:center}.settings-panel{display:flex;flex-direction:column;gap:18px}.settings-panel__section{display:flex;flex-direction:column;gap:12px}.settings-panel__section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.settings-panel__section-title{margin:0;color:var(--text-primary);font-size:13px;font-weight:700}.settings-panel__section-meta{color:var(--text-tertiary);font-size:12px;font-weight:600}.settings-panel__theme{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-elevated)}.settings-panel__theme-btn{min-width:0;height:40px;border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:transparent;color:var(--text-secondary);font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:color .15s ease,background-color .15s ease}.settings-panel__theme-btn:hover{color:var(--text-primary);background:var(--state-hover)}.settings-panel__theme-btn--active,.settings-panel__theme-btn--active:hover{color:var(--text-primary);background:var(--bg-surface);box-shadow:0 1px 2px #00000014}.settings-panel__field{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-panel__field-label{color:var(--text-secondary);font-size:13px;font-weight:600}.settings-panel__stepper{display:inline-grid;grid-template-columns:34px 68px 34px;align-items:center;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-elevated);overflow:hidden}.settings-panel__icon-btn{width:34px;height:34px;border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .15s ease,background-color .15s ease}.settings-panel__icon-btn:hover:not(:disabled){color:var(--text-primary);background:var(--state-hover)}.settings-panel__icon-btn:disabled{color:var(--text-disabled);cursor:default}.settings-panel__icon-btn:focus-visible,.settings-panel__theme-btn:focus-visible,.settings-panel__number:focus-visible{outline:none;box-shadow:0 0 0 2px var(--state-focus)}.settings-panel__number{width:68px;height:34px;border:0;border-left:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:14px;font-weight:700;text-align:center}.settings-panel__number::-webkit-outer-spin-button,.settings-panel__number::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.settings-panel__number{-moz-appearance:textfield}.login{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--bg-base);color:var(--text-primary);font-family:inherit;cursor:text}.login__form{display:flex;flex-direction:column;align-items:center;gap:14px}.login__prompt{font-size:14px;letter-spacing:.02em;opacity:.75}.login__field{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:18px;line-height:1;letter-spacing:.08em;white-space:pre;min-height:22px}.login__filled{display:inline-block}.login__caret{display:inline-block;animation:login-caret-blink 1s steps(1,end) infinite}.login__caret--busy{animation:login-caret-pulse .9s ease-in-out infinite}@keyframes login-caret-blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes login-caret-pulse{0%,to{opacity:.3}50%{opacity:1}}.login__error{font-size:12px;color:var(--negative)}.login__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;background:transparent;color:transparent;caret-color:transparent;opacity:0}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,sans-serif;background:var(--bg-base);color:var(--text-primary)}:root,:root[data-theme=light]{--bg-base: #fafafa;--bg-surface: #ffffff;--bg-elevated: #f4f4f5;--text-primary: #18181b;--text-secondary: rgba(24, 24, 27, .68);--text-tertiary: rgba(24, 24, 27, .48);--text-disabled: rgba(24, 24, 27, .32);--border-subtle: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .16);--state-hover: rgba(0, 0, 0, .05);--state-active: rgba(0, 0, 0, .1);--state-focus: rgba(37, 99, 235, .35);--accent: #2563eb;--accent-hover: #1d4ed8;--accent-fg: #ffffff;--positive: #15803d;--negative: #dc2626;--warning: #b45309;--glass-bg: rgba(255, 255, 255, .6);--glass-border: var(--border-subtle);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .08), inset 0 0 0 1px rgba(255, 255, 255, .5);--glass-blur: blur(40px) saturate(180%);--skeleton-base: rgba(0, 0, 0, .06);--skeleton-shine: rgba(0, 0, 0, .12)}:root[data-theme=dark]{--bg-base: #0d0f12;--bg-surface: #16191e;--bg-elevated: #1c2026;--text-primary: #e6e8eb;--text-secondary: rgba(230, 232, 235, .68);--text-tertiary: rgba(230, 232, 235, .46);--text-disabled: rgba(230, 232, 235, .3);--border-subtle: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .18);--state-hover: rgba(255, 255, 255, .06);--state-active: rgba(255, 255, 255, .12);--state-focus: rgba(88, 166, 255, .45);--accent: #58a6ff;--accent-hover: #79b8ff;--accent-fg: #0d0f12;--positive: #3fb950;--negative: #f85149;--warning: #d29922;--glass-bg: rgba(25, 27, 32, .55);--glass-border: var(--border-subtle);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .4), inset 0 0 0 1px rgba(255, 255, 255, .04);--glass-blur: blur(40px) saturate(200%);--skeleton-base: rgba(255, 255, 255, .04);--skeleton-shine: rgba(255, 255, 255, .1)}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark}}.apple-glass{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.app{display:flex;flex-direction:column;height:100vh}.app__body{display:flex;position:relative;flex:1;min-height:0;gap:12px;padding:0 12px 12px}.app__main{flex:1;height:100%;min-width:0;display:flex}.app__left-sidebar{--left-sidebar-panel-width: clamp(260px, calc(100vw - 144px) , 360px);display:grid;grid-template-columns:48px 0px;flex:none;min-height:0;transition:grid-template-columns .26s cubic-bezier(.22,1,.36,1)}.app__left-sidebar--expanded{grid-template-columns:48px var(--left-sidebar-panel-width)}.app__sidebar-overlay{height:100%;min-width:0;overflow:hidden;opacity:0;pointer-events:none;transform:translate(-10px);clip-path:inset(0 100% 0 0 round 0 16px 16px 0);transition:opacity .18s ease,transform .26s cubic-bezier(.22,1,.36,1),clip-path .26s cubic-bezier(.22,1,.36,1)}.app__left-sidebar--expanded .app__sidebar-overlay{opacity:1;pointer-events:auto;transform:translate(0);clip-path:inset(0 0 0 0 round 0 16px 16px 0)}.app__sidebar-overlay>.sidebar-panel-wrap{width:var(--left-sidebar-panel-width)}
