*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0;overflow:hidden;background:var(--canvas);color:var(--ink)}body{font:var(--weight-body) var(--type-body)/1.55 var(--font);word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer;padding:0;touch-action:manipulation;transition:transform var(--press) var(--ease),background var(--change),color var(--change)}button:active{transform:scale(.97)}button:focus-visible,a:focus-visible,input:focus-visible,svg[role=slider]:focus-visible{outline:2px solid var(--focus);outline-offset:4px}button:disabled{cursor:default;opacity:.45}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.25;letter-spacing:-.02em}a{color:inherit;text-underline-offset:4px}b,strong{font-weight:600}[hidden]{display:none!important}.num{font-variant-numeric:tabular-nums;font-feature-settings:'tnum';letter-spacing:-.04em;white-space:nowrap}.caption{font-size:12px;line-height:1.5;color:var(--ink-tertiary)}.label{font-size:14px;color:var(--ink-secondary)}.up{color:var(--positive)}.down{color:var(--negative)}.icon-button{min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:50%;font-size:22px;flex:none}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.icon-button.subtle{background:var(--surface-muted)}.text-button{min-height:44px;padding:0 12px;color:var(--accent);font-size:14px;font-weight:500}.chip{min-height:44px;padding:9px 16px;border-radius:24px;background:var(--surface-muted);font-size:14px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px}.chip[aria-pressed=true]{background:var(--ink);color:var(--inverse)}.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;min-width:0}.chips::-webkit-scrollbar{display:none}.chips.wrap{flex-wrap:wrap;overflow:visible}.button{min-height:48px;padding:12px 20px;border-radius:16px;background:var(--ink);color:var(--inverse);font-size:16px;font-weight:500;display:inline-flex;gap:10px;align-items:center;justify-content:center}.button.secondary{background:var(--surface-muted);color:var(--ink)}.button.full{width:100%}#workspace{height:calc(100dvh - var(--nav-height) - var(--safe-bottom));min-width:0}.pane{min-width:0;height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.pane:focus{outline:none}#secondary-pane,#system-pane{display:none}#view{min-height:100%;padding-bottom:24px}.view-intro{padding:24px var(--pad) 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.view-intro h1{font-size:28px}.view-intro p{margin-top:6px;color:var(--ink-secondary);font-size:14px}.section{padding:24px var(--pad)}.section+.section{padding-top:12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-head h2{font-size:20px}.section-head .text-button{margin:-8px -10px -8px 0}.full-card{background:var(--hero);color:var(--hero-ink);border-radius:0 0 32px 32px;overflow:hidden;position:relative}.object-top{padding:24px var(--pad) 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.object-top>div{display:flex;align-items:center;gap:12px;min-width:0}.object-logo{width:36px;height:36px;border-radius:13px;background:var(--hero-accent);color:var(--hero);display:grid;place-items:center;font-size:13px;font-weight:600}.object-top h1{font-size:20px;letter-spacing:-.02em}.full-card .caption{color:var(--hero-muted)}.object-top .icon-button{color:var(--hero-muted);margin-right:-10px}.object-main{padding:18px var(--pad) 0}.object-main>.label{color:var(--hero-muted);font-size:14px}.hero-number{font-size:var(--type-number);line-height:1.08;font-weight:500;margin-top:6px;display:flex;align-items:baseline;gap:9px;min-width:0}.hero-number>small{font-size:16px;letter-spacing:0;color:var(--hero-muted);font-weight:400}.hero-delta{display:flex;align-items:center;gap:10px;margin-top:6px;flex-wrap:wrap;font-size:16px}.hero-delta .up{color:var(--hero-positive)}.hero-delta .down{color:var(--hero-negative)}.hero-delta .caption{font-size:12px}.chart-wrap{height:190px;margin-top:8px;position:relative;touch-action:pan-y;user-select:none;-webkit-user-select:none}.live-chart{height:100%;width:100%;display:block;overflow:visible;touch-action:pan-y}.live-chart text{font:400 12px var(--font);fill:var(--hero-muted)}.chart-line{fill:none;stroke:var(--hero-accent);stroke-width:2.3;vector-effect:non-scaling-stroke}.chart-area{fill:url(#areaFill)}.chart-cross{stroke:var(--hero-muted);stroke-width:1;stroke-dasharray:2 4}.chart-dot{fill:var(--hero-accent);stroke:var(--hero);stroke-width:3}.chart-bubble rect{fill:var(--hero-ink)}.chart-bubble text{fill:var(--hero);font-size:12px}.chart-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 var(--pad);margin-top:0}.chart-foot .caption{font-size:12px}.full-card .chips{gap:2px}.full-card .chip{min-height:44px;padding:6px 12px;font-size:12px;background:transparent;color:var(--hero-muted)}.full-card .chip[aria-pressed=true]{background:var(--hero-line);color:var(--hero-ink)}.number-basis{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.5;color:var(--ink-tertiary);min-height:44px;text-align:left;max-width:100%}.number-basis>span{min-width:0}.number-basis .basis-dot{width:4px;height:4px;border-radius:50%;background:currentColor;flex:none}.full-card .number-basis{color:var(--hero-muted);margin:6px var(--pad) 13px;width:calc(100% - var(--pad)*2);justify-content:space-between}.full-card .number-basis>span:last-child{color:var(--hero-accent)}.brief-card{background:var(--surface);border-radius:24px;padding:20px}.brief-card>.label{color:var(--accent);display:flex;align-items:center;gap:8px;font-size:14px}.brief-mark{font-size:21px;line-height:1}.brief-card h2{font-size:24px;line-height:1.35;margin-top:12px}.brief-card p{font-size:14px;line-height:1.8;color:var(--ink-secondary);margin-top:12px}.brief-card .number-basis{justify-content:space-between;margin-top:10px}.data-list{display:grid;gap:0}.list-row{display:flex;align-items:center;gap:12px;min-height:76px;width:100%;padding:14px 0;border-bottom:1px solid var(--line);text-align:left;min-width:0}.list-row:last-child{border-bottom:0}.row-symbol{width:40px;height:40px;border-radius:14px;background:var(--surface-muted);display:grid;place-items:center;color:var(--accent);font-size:12px;font-weight:500;flex:none}.row-copy{flex:1;min-width:0}.row-copy h3{font-size:16px;line-height:1.4}.row-copy .caption{margin-top:3px;display:block}.row-number{text-align:right;flex:none;max-width:45%;font-size:20px;line-height:1.2;font-weight:500}.row-number small{font-size:12px;display:block;color:var(--ink-tertiary);font-weight:400;margin-top:4px;letter-spacing:0}.arrow{color:var(--accent);font-size:20px;flex:none}.row-context{font-size:14px;color:var(--ink-secondary);margin-top:8px}.empty-state{padding:32px 24px;background:var(--surface);border-radius:24px;text-align:center;display:grid;justify-items:center;gap:12px}.empty-glyph{width:52px;height:52px;border-radius:19px;background:var(--surface-muted);display:grid;place-items:center;color:var(--accent)}.empty-glyph svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.4}.empty-state h3{font-size:20px}.empty-state p{font-size:14px;color:var(--ink-secondary);max-width:30em;line-height:1.7}.missing-state{display:flex;align-items:center;gap:16px;border-radius:20px;background:var(--surface);padding:20px;margin-top:16px}.missing-state>b{font-size:32px;color:var(--ink-tertiary);font-weight:400}.missing-state h3{font-size:16px}.missing-state p{font-size:14px;color:var(--ink-secondary);margin-top:4px}.skeleton{background:linear-gradient(100deg,var(--surface-muted) 20%,var(--surface) 46%,var(--surface-muted) 72%);background-size:240% 100%;border-radius:8px;animation:shimmer 1.8s ease-in-out infinite}.skeleton-line{height:12px;width:72%}.skeleton-number{height:42px;width:48%;margin-top:16px}.skeleton-chart{height:96px;margin-top:24px;border-radius:16px}.skeleton-row{display:flex;align-items:center;gap:12px;min-height:76px}.skeleton-row .skeleton-icon{width:40px;height:40px;border-radius:14px;flex:none}.skeleton-row .skeleton-line{height:16px;max-width:180px}.state-caption{font-size:14px;color:var(--ink-secondary);margin:14px 0}.state-card{padding:24px;border-radius:24px;background:var(--surface)}@keyframes shimmer{to{background-position:-240% 0}}
#app-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;height:calc(var(--nav-height) + var(--safe-bottom));padding:0 4px var(--safe-bottom);background:var(--surface);display:flex;align-items:stretch;border-radius:22px 22px 0 0;box-shadow:0 -6px 24px #20272b08}#app-nav button{flex:1;min-width:0;min-height:44px;font-size:12px;font-weight:500;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--ink-tertiary);position:relative}#app-nav button[aria-current=page]{color:var(--ink)}#app-nav button[aria-current=page]:before{content:'';position:absolute;top:0;width:18px;height:3px;background:var(--accent);border-radius:0 0 3px 3px}#app-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#app-nav button[aria-current=page] svg{stroke-width:2}.source-card{background:var(--surface);border-radius:20px;padding:20px;margin-top:16px}.source-card h3{font-size:18px}.source-card p{font-size:14px;line-height:1.7;margin-top:10px;color:var(--ink-secondary)}.source-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 18px;font-size:14px;margin:20px 0}.source-grid dt{color:var(--ink-tertiary)}.source-grid dd{margin:0;min-width:0;overflow-wrap:anywhere}.source-grid+.button{margin-top:8px}dialog{border:0;padding:0;background:var(--surface);color:var(--ink);border-radius:32px 32px 0 0;position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:88dvh;box-shadow:0 -24px 80px #0003;overflow:hidden}dialog::backdrop{background:#101c2470;backdrop-filter:blur(3px)}.sheet-top{position:relative;padding:26px 16px 10px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;touch-action:none;min-height:76px}.sheet-top h2{font-size:20px}.drag-handle{position:absolute;top:9px;left:calc(50% - 16px);height:4px;width:32px;background:var(--ink-tertiary);opacity:.5;border-radius:4px}#sheet-body{max-height:calc(88dvh - 76px);padding:8px 24px calc(24px + env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain}.sheet-lead{font-size:24px;line-height:1.4;margin:6px 0 16px}.sheet-copy{font-size:16px;color:var(--ink-secondary);line-height:1.8}.sheet-actions{display:flex;gap:8px;margin-top:24px;flex-wrap:wrap}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.comparison>div{padding:18px;border-radius:16px;background:var(--canvas)}.comparison span{display:block;font-size:12px;color:var(--ink-tertiary)}.comparison b{display:block;font-size:24px;font-weight:500;margin-top:6px}.comparison b.missing{font-size:20px;color:var(--ink-secondary)}.search-field{width:100%;min-height:48px;background:var(--surface);border:1px solid transparent;border-radius:16px;padding:12px 16px;outline:none;font-size:16px}.search-field:focus{border-color:var(--accent)}.swatch-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.swatch{min-width:0;padding:14px;border-radius:16px;background:var(--surface);font-size:14px}.swatch i{display:block;height:50px;border-radius:10px;margin-bottom:10px;background:var(--sw)}.swatch code{display:block;font:12px var(--font);color:var(--ink-tertiary);margin-top:4px}.type-list{display:grid;gap:16px;margin:20px 0}.type-item{display:flex;align-items:baseline;justify-content:space-between;gap:16px;min-width:0}.type-item small{font-size:12px;color:var(--ink-tertiary);white-space:nowrap}.spacing-list{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:20px 0}.spacing-list>span{font-size:12px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ink-tertiary)}.spacing-list i{height:var(--size);width:var(--size);min-width:4px;background:var(--accent);border-radius:3px}.token-details{margin-top:24px}.token-details summary{min-height:44px;cursor:pointer;font-size:16px;font-weight:500}.token-details p{font-size:14px;color:var(--ink-secondary);line-height:1.7;margin:12px 0}.system-intro{padding:24px}.system-intro .brand{font-size:18px;font-weight:600;letter-spacing:-.06em}.system-intro h2{font-size:28px;margin-top:20px}.system-intro p{font-size:14px;color:var(--ink-secondary);line-height:1.75;margin-top:12px}#toast{position:fixed;z-index:100;bottom:calc(var(--nav-height) + var(--safe-bottom) + 16px);left:50%;transform:translate(-50%,8px);max-width:90%;background:var(--ink);color:var(--inverse);font-size:14px;padding:12px 20px;border-radius:24px;pointer-events:none;opacity:0;transition:opacity 180ms,transform 180ms;white-space:nowrap}#toast.on{opacity:1;transform:translate(-50%,0)}.initial{padding:120px 24px;text-align:center;color:var(--ink-secondary)}.number-caption{font-size:12px;margin-top:6px;color:var(--ink-tertiary)}
@media(max-width:365px){.object-main{padding-top:14px}.object-top{padding-top:18px}.chart-wrap{height:174px}.hero-number{font-size:60px}.chart-foot{gap:6px}.full-card .chip{padding:6px 10px}.brief-card{padding:18px}.brief-card h2{font-size:23px}.row-number{font-size:18px}.list-row{gap:10px}.sheet-top{padding-left:20px}#sheet-body{padding-left:20px;padding-right:20px}.sheet-lead{font-size:23px}.source-grid{gap:10px 12px}.swatch-grid{gap:8px}.type-item{gap:8px}}
@media(min-width:768px){:root{--pad:28px}#workspace{height:100dvh;margin-left:72px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}#primary-pane{border-right:1px solid var(--line)}#secondary-pane{display:block}#app-nav{top:0;bottom:0;right:auto;width:72px;height:auto;padding:20px 4px;border-radius:0;flex-direction:column;justify-content:center;gap:14px;box-shadow:none}#app-nav button{flex:0 0 62px;gap:5px}#app-nav button[aria-current=page]:before{top:calc(50% - 12px);left:-4px;width:3px;height:24px;border-radius:0 3px 3px 0}#app-nav svg{width:22px;height:22px}.full-card{border-radius:0 0 32px 32px}.object-top{padding-top:30px}.hero-number{font-size:72px}.chart-wrap{height:240px}.pane>.section:first-child{padding-top:30px}.pane>.section-head{padding:28px}dialog{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(580px,calc(100vw - 48px));border-radius:28px;max-height:88dvh}.drag-handle{display:none}.sheet-top{touch-action:auto;padding-top:16px;min-height:66px}#sheet-body{max-height:calc(88dvh - 66px)}.comparison{gap:12px}.section{padding-top:28px}.chart-foot .caption{max-width:45%}.brief-card h2{font-size:26px}#toast{bottom:24px}}
@media(min-width:1280px){:root{--pad:36px}#workspace{margin-left:88px;grid-template-columns:minmax(440px,1.3fr) minmax(340px,1fr) minmax(300px,.85fr)}#app-nav{width:88px}#system-pane{display:block;border-left:1px solid var(--line)}.hero-number{font-size:88px}.chart-wrap{height:280px}.object-top{padding-top:36px}.object-main{padding-top:28px}.full-card .number-basis{margin-top:14px;margin-bottom:22px}.full-card .chip{font-size:14px}.full-card .caption{font-size:13px}.brief-card{padding:24px}.system-intro{padding:30px}.system-intro h2{font-size:30px}.section-head h2{font-size:22px}.swatch-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
