:root{color-scheme:dark;font-family:Aptos,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:radial-gradient(circle at top left,rgba(16,185,129,.12),transparent 24%),radial-gradient(circle at top right,rgba(59,130,246,.18),transparent 22%),linear-gradient(180deg,#07111f,#091424 48%,#06101b);color:#e8f0f7;-webkit-tap-highlight-color:rgba(96,165,250,.18)}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden}body{background:transparent}button,input{font:inherit}button,input,label{touch-action:manipulation}button{min-height:44px;border:1px solid rgba(148,163,184,.2);background:linear-gradient(180deg,#111827e0,#0b1220f0);color:#edf5ff;border-radius:14px;padding:0 16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;transition:transform .14s ease,border-color .14s ease,background-color .14s ease,box-shadow .14s ease}button:hover{border-color:#7dd3fc7a;transform:translateY(-1px)}button:disabled{opacity:.56;cursor:default;transform:none}button.active{background:linear-gradient(180deg,#2563ebf2,#1d4ed8f0);border-color:#60a5faeb;box-shadow:0 12px 30px #2563eb38}input{width:100%;min-height:46px;font-size:16px;background:#071221db;color:#e8f0f7;border:1px solid rgba(148,163,184,.16);border-radius:14px;padding:12px 14px}input::placeholder{color:#7c93af}button:focus-visible,input:focus-visible,.skip-link:focus-visible,.wave-card-button:focus-visible{outline:2px solid #7dd3fc;outline-offset:2px}.skip-link{position:absolute;left:16px;top:-64px;z-index:40;padding:10px 14px;border-radius:12px;background:#e8f0f7;color:#05111e;text-decoration:none;transition:top .12s ease}.skip-link:focus-visible{top:16px}.app-shell{height:100vh;display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px;overflow:hidden;padding:18px;padding-top:max(18px,env(safe-area-inset-top));padding-right:max(18px,env(safe-area-inset-right));padding-bottom:max(18px,env(safe-area-inset-bottom));padding-left:max(18px,env(safe-area-inset-left))}.toolbar{display:flex;flex-direction:column;padding:18px 22px;border:1px solid rgba(125,211,252,.12);border-radius:26px;background:#07111fd1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 28px 70px #0208175c,inset 0 1px #ffffff0a;overflow:hidden}.toolbar-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.toolbar-lead{display:flex;align-items:flex-start;gap:16px;min-width:0}.toolbar-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.title-block{min-width:0}.eyebrow{color:#78c8b7;text-transform:uppercase;letter-spacing:.18em;font-size:11px;margin-bottom:8px}.title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-title{margin:0;font-size:clamp(2rem,3vw,3rem);line-height:.95;letter-spacing:-.04em;text-wrap:balance}.symbol-chip,.interval-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;font-size:13px;font-variant-numeric:tabular-nums}.symbol-chip{color:#dff6ff;background:#0ea5e929;border:1px solid rgba(125,211,252,.24)}.interval-chip{color:#d1fae5;background:#10b9811f;border:1px solid rgba(110,231,183,.22)}.muted{margin:8px 0 0;color:#9db0c8;font-size:14px;line-height:1.5}.secondary-button{background:#0c182ac7}.icon-button{min-width:44px;width:44px;padding:0;font-size:24px;line-height:1}.interval-tabs{display:flex;gap:8px;flex-wrap:wrap}.toggle-pill{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border-radius:14px;background:#0c182ac7;border:1px solid rgba(148,163,184,.16);color:#edf5ff}.toggle-pill input{width:18px;min-height:18px;height:18px;margin:0;padding:0}.workspace{min-height:0;display:grid;grid-template-columns:minmax(0,4fr) minmax(300px,1fr);gap:16px;overflow:hidden}.chart-panel,.insight-sidebar{min-height:0;border-radius:28px;border:1px solid rgba(125,211,252,.12);background:linear-gradient(180deg,#081220eb,#050e1bf0),radial-gradient(circle at top,rgba(14,165,233,.08),transparent 40%);box-shadow:0 28px 80px #02081761,inset 0 1px #ffffff0a}.chart-panel{padding:18px;overflow:hidden}.chart-stage{position:relative;width:100%;height:100%;min-height:0;border-radius:22px;border:1px solid rgba(148,163,184,.1);overflow:hidden;background:#050c15e0}.chart-container{position:relative;width:100%;height:100%;min-height:0}.chart-empty-state{position:absolute;inset:auto 18px 18px auto;max-width:min(360px,calc(100% - 36px));padding:16px 18px;display:flex;flex-direction:column;gap:6px;border-radius:18px;background:#07111fe0;border:1px solid rgba(248,113,113,.28);box-shadow:0 18px 40px #02081759}.chart-empty-state strong{font-size:15px}.chart-empty-state span{color:#adc0d4;line-height:1.5}.insight-sidebar{padding:16px;display:flex;flex-direction:column;gap:12px;overflow:auto;overscroll-behavior:contain}.insight-sidebar>section,.group-card{border-radius:20px;border:1px solid rgba(148,163,184,.12);background:#0a1626c7;padding:16px}.detail-headline,.stack-item-head,.drawer-header,.debug-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.detail-headline h2,.drawer-title{margin:0;font-size:20px;line-height:1.1}.detail-headline span,.stack-item-head span,.stack-item p,.empty-block{color:#9db0c8;line-height:1.5}.debug-stat{padding:14px;border-radius:16px;border:1px solid rgba(148,163,184,.12);background:#071221d1}.debug-stat span,.field-label,.section-title,.group-title{display:block;color:#8da5bf;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.debug-stat strong{font-size:16px;font-variant-numeric:tabular-nums}.stack-list,.group-items{display:grid;gap:10px}.stack-item,.wave-card-button{width:100%;padding:14px 16px;border-radius:16px;border:1px solid rgba(148,163,184,.1);background:#071221b3;text-align:left}.stack-item strong,.wave-card-button strong{font-size:15px}.stack-item p,.wave-card-button p{margin:8px 0 0}.wave-card-button{min-height:0;justify-content:flex-start;align-items:stretch;flex-direction:column}.wave-card-button.active{background:linear-gradient(180deg,#0ea5e933,#111827e6);border-color:#7dd3fc85;box-shadow:inset 0 0 0 1px #7dd3fc38}.empty-block{margin-top:12px}.row{display:flex;align-items:center}.gap8{gap:8px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#02081785;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .16s ease;z-index:20}.drawer-backdrop.is-visible{opacity:1;pointer-events:auto}.side-drawer,.debug-panel{position:fixed;z-index:30;border:1px solid rgba(125,211,252,.12);background:#06101df5;box-shadow:0 30px 90px #02081780;overflow:hidden}.side-drawer{top:18px;bottom:18px;width:min(380px,calc(100vw - 24px));border-radius:28px;display:flex;flex-direction:column;transition:transform .18s ease}.side-drawer.left{left:18px;transform:translate(calc(-100% - 24px))}.side-drawer.is-open{transform:translate(0)}.drawer-header,.debug-panel-header{padding:22px 22px 18px;border-bottom:1px solid rgba(148,163,184,.1)}.custom-symbol-form{padding:18px 22px;border-bottom:1px solid rgba(148,163,184,.08);display:flex;flex-direction:column;gap:10px}.drawer-scroll{flex:1;overflow:auto;padding:18px 22px 22px;display:flex;flex-direction:column;gap:14px;overscroll-behavior:contain}.symbol-button{justify-content:space-between;width:100%;text-align:left;background:#071221db}.symbol-button small{color:#8ea6c2;margin-left:12px;min-width:0;overflow:hidden;text-overflow:ellipsis}.debug-panel{inset:auto 24px 24px auto;width:min(720px,calc(100vw - 48px));max-height:min(82vh,860px);border-radius:28px;opacity:0;pointer-events:none;transform:translateY(20px);transition:opacity .18s ease,transform .18s ease;display:flex;flex-direction:column}.debug-panel.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.debug-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 22px 0}.json-box{margin:18px 22px 22px;padding:18px;overflow:auto;border-radius:20px;background:#04101d;border:1px solid rgba(148,163,184,.12);color:#c8d7e6;font-size:12px;line-height:1.55;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace}.button-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#f8fbff;border-radius:50%;animation:spin .78s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 1100px){.toolbar-top{flex-direction:column;align-items:stretch}.debug-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.app-shell{padding:14px}.workspace{grid-template-columns:1fr;grid-template-rows:minmax(0,3fr) minmax(260px,2fr)}.chart-panel,.insight-sidebar{min-height:0}.debug-grid{grid-template-columns:1fr}.debug-panel{left:12px;right:12px;bottom:12px;width:auto;max-height:calc(100vh - 24px);border-radius:24px}.side-drawer{top:12px;bottom:12px;width:calc(100vw - 24px);border-radius:24px}.side-drawer.left{left:12px}}
