:root{--bg: #07080c;--bg-soft: #0d0f15;--surface: rgba(255, 255, 255, .035);--surface-2: rgba(255, 255, 255, .06);--surface-solid: #14161e;--bg-elevated: #14161e;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--text: #f3f4f8;--text-dim: #a2a9ba;--text-faint: #6b7283;--accent: #7c6cff;--accent-2: #4f8cff;--accent-hover: #8e80ff;--accent-grad: linear-gradient(135deg, #7c6cff 0%, #4f8cff 100%);--accent-soft: rgba(124, 108, 255, .16);--danger: #ff6b6b;--danger-soft: rgba(255, 107, 107, .12);--radius: 14px;--radius-sm: 9px;--radius-lg: 20px;--radius-pill: 999px;--shadow-md: 0 8px 28px rgba(0, 0, 0, .45);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .55);--glow: 0 0 0 1px rgba(124, 108, 255, .4), 0 12px 40px rgba(124, 108, 255, .25)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:radial-gradient(1100px 700px at 12% -8%,rgba(124,108,255,.18),transparent 60%),radial-gradient(1000px 700px at 100% 0%,rgba(79,140,255,.14),transparent 55%),radial-gradient(900px 800px at 50% 120%,rgba(124,108,255,.1),transparent 60%),var(--bg);background-attachment:fixed;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;cursor:pointer}a{color:inherit}::selection{background:var(--accent-soft)}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:14px;text-align:center;padding:24px}.login-page h1{font-size:2.4rem;font-weight:700;letter-spacing:-.035em;margin:0;background:linear-gradient(180deg,#fff,#c7cad6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-page p{color:var(--text-dim);margin:0;max-width:34ch}.login-button,.logout-button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:9px 18px;border-radius:var(--radius-sm);text-decoration:none;display:inline-block;font-weight:500;font-size:.9rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color .15s,background .15s,transform .1s}.login-button:hover,.logout-button:hover{border-color:var(--border-strong);background:#ffffff1a}.login-button:active,.logout-button:active{transform:translateY(1px)}.login-page .login-button{margin-top:8px;padding:12px 30px;font-size:1rem;font-weight:600;color:#fff;background:var(--accent-grad);border-color:transparent;box-shadow:0 10px 30px #7c6cff59}.login-page .login-button:hover{box-shadow:0 14px 38px #7c6cff80}.tv-code{font-family:ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.1em;color:var(--accent)}.tv-code-input{margin-top:8px;padding:12px 18px;font-size:1.4rem;text-align:center;letter-spacing:.15em;text-transform:uppercase;font-family:ui-monospace,SF Mono,Menlo,monospace;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);color:var(--text);width:12ch;max-width:80vw}.auth-callback{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-dim);padding:24px;text-align:center}.auth-callback--error{color:var(--danger)}.catalog-header,.settings-page .catalog-header{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;background:#0a0b108c;backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.catalog-header__brand{font-weight:650;font-size:1.15rem;letter-spacing:-.02em}.catalog-page{min-height:100vh}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px;padding:48px 32px;max-width:960px;margin:0 auto}.catalog-loading{grid-column:1 / -1;display:flex;justify-content:center;padding:80px 0}.spinner{width:34px;height:34px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.catalog-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;aspect-ratio:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-decoration:none;color:var(--text);font-size:.98rem;font-weight:550;letter-spacing:-.01em;position:relative;overflow:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-md);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}.catalog-tile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 50% -10%,rgba(124,108,255,.22),transparent 60%);opacity:0;transition:opacity .25s ease;pointer-events:none}.catalog-tile:hover{transform:translateY(-4px);border-color:var(--border-strong);background:var(--surface-2);box-shadow:var(--glow)}.catalog-tile:hover:before{opacity:1}.catalog-tile:active{transform:translateY(-1px)}.catalog-tile__icon{font-size:2.6rem;line-height:1;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}.catalog-tile__label{position:relative}.catalog-error{color:var(--danger);padding:16px 28px}.settings-page{min-height:100vh}.settings-main{max-width:800px;margin:0 auto;padding:36px 28px 64px;display:flex;flex-direction:column;gap:36px}.settings-section h2{font-size:1.15rem;font-weight:650;letter-spacing:-.02em;margin:0 0 16px}.settings-section h3{font-size:.95rem;font-weight:600;color:var(--text-dim);margin:20px 0 12px}.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-md)}.settings-table{width:100%;border-collapse:collapse;margin-bottom:16px}.settings-table th{text-align:left;padding:8px 12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);border-bottom:1px solid var(--border)}.settings-table td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--border);font-size:.9rem}.settings-table tr:last-child td{border-bottom:none}.settings-table button{background:var(--danger-soft);border:1px solid transparent;color:var(--danger);border-radius:var(--radius-sm);padding:5px 12px;font-size:.8rem;font-weight:500;transition:border-color .15s,background .15s}.settings-table button:hover{border-color:var(--danger)}.settings-inline-form,.settings-service-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.settings-inline-form input,.settings-service-form input,.settings-service-form select,.settings-service-card select,.settings-service-card input[type=text]{background:#00000040;border:1px solid var(--border);color:var(--text);padding:9px 12px;border-radius:var(--radius-sm);font-size:.9rem;transition:border-color .15s,box-shadow .15s}.settings-inline-form input::placeholder,.settings-service-form input::placeholder{color:var(--text-faint)}.settings-inline-form input:focus,.settings-service-form input:focus,.settings-service-form select:focus,.settings-service-card select:focus,.settings-service-card input[type=text]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.settings-inline-form button,.settings-service-form button,.settings-service-card button{background:var(--accent-grad);border:none;color:#fff;padding:9px 18px;border-radius:var(--radius-sm);font-weight:600;font-size:.88rem;box-shadow:0 6px 18px #7c6cff4d;transition:box-shadow .15s,transform .1s}.settings-inline-form button:hover,.settings-service-form button:hover,.settings-service-card button:hover{box-shadow:0 9px 24px #7c6cff73}.settings-inline-form button:active,.settings-service-form button:active,.settings-service-card button:active{transform:translateY(1px)}.settings-service-card{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:16px;background:#0003;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;font-size:.9rem}.settings-service-card label{display:inline-flex;align-items:center;gap:7px;color:var(--text-dim)}.settings-service-card input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.settings-service-card__title{flex:1 0 100%;font-weight:600;font-size:1rem;color:var(--text)}.settings-service-card__id{color:var(--text-faint);font-weight:400;font-size:.8rem}.pt-stats{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:16px}.pt-stat{display:flex;flex-direction:column;gap:4px}.pt-stat__label{font-size:.8rem;color:var(--text-dim)}.pt-stat__value{font-size:1.4rem;font-weight:650;letter-spacing:-.02em}.pt-positive{color:#7ee787}.pt-negative{color:var(--danger)}.pt-chart{width:100%;height:220px;margin-top:8px;display:block}.pt-chart__line{fill:none;stroke-width:2}.pt-chart__line--total{stroke:var(--text)}.pt-chart__line--safe{stroke:var(--accent-2)}.pt-chart__line--speculative{stroke:#e3b341}.pt-chart-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;font-size:.8rem;color:var(--text-dim)}.pt-chart-legend__item{position:relative;padding-left:16px}.pt-chart-legend__item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:10px;height:2px}.pt-chart-legend__item--total:before{background:var(--text)}.pt-chart-legend__item--safe:before{background:var(--accent-2)}.pt-chart-legend__item--speculative:before{background:#e3b341}.pt-chart-legend__toggle{display:flex;align-items:center;gap:5px;cursor:pointer;-webkit-user-select:none;user-select:none}.pt-chart-legend__toggle input{margin:0}.pt-chart__line--benchmark-spy{stroke:var(--text-dim);stroke-dasharray:4 4}.pt-chart__line--benchmark-spy_qqq_5050{stroke:var(--accent);stroke-dasharray:2 2}.pt-chart__line--benchmark-world_em_8020{stroke:var(--accent-hover);stroke-dasharray:6 3}.pt-side{text-transform:capitalize}.pt-side-buy{color:var(--accent-2)}.pt-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border)}.pt-tab{background:none;border:none;border-bottom:2px solid transparent;padding:8px 4px;margin-right:20px;color:var(--text-dim);font-size:.95rem;cursor:pointer}.pt-tab--active{color:var(--text);border-bottom-color:var(--accent-2)}.pt-history-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.pt-history-filters select,.pt-history-filters input{font-size:.85rem}.pt-history-filters input{max-width:180px}.pt-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.pt-sortable:hover{color:var(--text)}.pt-pagination{display:flex;align-items:center;gap:12px;margin-top:12px;color:var(--text-dim);font-size:.85rem}
