@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}:root,html[data-theme=light]{--paper:#eef2f8;--surface:#fff;--surface-2:#f4f8fc;--surface-3:#e6eef7;--ink:#0a1622;--ink-2:#2f4557;--muted:#5a7185;--faint:#8296a9;--line:#d7e2ee;--line-2:#bfd0e0;--brand:#0b6fb8;--brand-ink:#075a96;--brand-soft:#0b6fb817;--signal:#b26a10;--signal-soft:#b26a101f;--up:#c1453a;--down:#0f8a6a;--glow:#0b6fb842;--grid-line:#0b6fb80f;--shadow-sm:0 1px 2px #0916220f;--shadow-md:0 20px 44px -28px #09162252, 0 2px 8px -4px #0916221a;--shadow-lg:0 44px 96px -52px #0916227a, 0 8px 20px -14px #09162224;--mask:#09142057;--seg-active:#fff;--panel-glow:#ffffffd9;--die-shadow:#09162242}html[data-theme=dark]{--paper:#05080c;--surface:#0a0f15;--surface-2:#0f161f;--surface-3:#151f2a;--ink:#e8f2fa;--ink-2:#b3c4d3;--muted:#8497a8;--faint:#5f7182;--line:#1a2632;--line-2:#2a3d4c;--brand:#4cc9f0;--brand-ink:#8ee6ff;--brand-soft:#4cc9f01f;--signal:#ffb454;--signal-soft:#ffb45424;--up:#f2705f;--down:#3ddc97;--glow:#4cc9f066;--grid-line:#4cc9f00e;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 24px 56px -30px #000000f2, 0 0 0 1px #4cc9f00d;--shadow-lg:0 48px 110px -58px #000, 0 0 0 1px #4cc9f017;--mask:#02060aa8;--seg-active:#1c2a36;--panel-glow:#78d2fa0e;--die-shadow:#000000b3}:root{--rail-w:276px;--page-max:1520px;--font-ui:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono:"IBM Plex Mono", "Cascadia Mono", Consolas, "SFMono-Regular", "Liberation Mono", monospace;--radius:10px}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:14px;line-height:1.55}body:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px), radial-gradient(900px 520px at 78% -10%, var(--brand-soft) 0%, transparent 64%);background-repeat:repeat,repeat,no-repeat;background-size:34px 34px,34px 34px,auto;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0009 42%,#0000 100%);mask-image:linear-gradient(#000 0%,#0009 42%,#0000 100%)}::selection{background:var(--brand-soft);color:var(--ink)}a{color:var(--brand)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-clip:content-box;background-color:var(--line-2);border:3px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background-color:var(--faint)}.mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1}.muted{color:var(--muted)}.kbd{border:1px solid var(--line);background:var(--surface-2);min-width:17px;color:var(--muted);font-family:var(--font-mono);border-bottom-width:2px;border-radius:5px;justify-content:center;align-items:center;padding:3px 5px;font-size:10px;line-height:1;display:inline-flex}.kbd-sm{min-width:15px;padding:2px 4px;font-size:9.5px}.eyebrow{color:var(--muted);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:8px;margin:0;font-size:10px;font-weight:500;display:flex}.eyebrow-sep{color:var(--line-2)}.chip{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;border-radius:4px;align-items:center;padding:2px 7px;font-size:10.5px;display:inline-flex}.shell{z-index:1;min-height:100vh;position:relative}.rail{z-index:40;width:var(--rail-w);border-right:1px solid var(--line);background:var(--surface);display:flex;position:fixed;inset:0 auto 0 0}.rail-inner{flex-direction:column;flex:1;gap:18px;min-height:0;padding:22px 15px 16px;display:flex;overflow-y:auto}.shell-main{min-height:100vh;margin-left:var(--rail-w);flex-direction:column;display:flex}.page{width:100%;max-width:var(--page-max);flex:1;margin:0 auto;padding:clamp(22px,2.8vw,38px) clamp(16px,2.6vw,34px) 0}.page-foot{width:100%;max-width:var(--page-max);border-top:1px solid var(--line);color:var(--faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:44px auto 0;padding:18px clamp(16px,2.6vw,34px) 22px;font-size:11.5px;display:flex}.page-foot-brand{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.topbar{z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 84%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.15);backdrop-filter:blur(14px)saturate(1.15);align-items:center;gap:14px;height:60px;padding:0 clamp(16px,2.6vw,34px);display:flex;position:sticky;top:0}.crumb{min-width:0;color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.crumb a,.crumb-link{color:var(--muted);text-decoration:none}.crumb-link:hover{color:var(--ink)}.crumb-sep{color:var(--line-2)}.crumb-current{color:var(--ink);font-weight:550}.crumb-group{white-space:nowrap}.topbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.icon-btn{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--ink-2);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn svg{width:18px;height:18px}.icon-btn:hover{border-color:var(--line-2);color:var(--ink)}.topbar-menu{display:none}.search-trigger{border:1px solid var(--line);background:var(--surface);height:33px;color:var(--muted);font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:9px;padding:0 8px 0 11px;font-size:12.5px;transition:border-color .16s,color .16s,background .16s;display:flex}.search-trigger:hover{border-color:var(--line-2);background:var(--surface-2);color:var(--ink-2)}.search-trigger-ico{width:14px;height:14px}.search-trigger-key{border-left:1px solid var(--line);gap:3px;margin-left:2px;padding-left:8px;display:flex}.theme-switch{padding:3px}.theme-switch .seg-item{width:28px;height:26px;padding:0}.theme-switch .seg-item svg{width:14px;height:14px}.seg{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.seg.is-block{width:100%;display:flex}.seg-item{height:28px;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.seg-item:hover{color:var(--ink)}.seg-item.is-active{background:var(--seg-active);color:var(--ink);box-shadow:var(--shadow-sm)}.ant-slider{min-height:22px}.brand{color:inherit;align-items:center;gap:11px;padding:3px 7px 1px;text-decoration:none;display:flex}.brand-mark{border:1px solid color-mix(in srgb, var(--brand) 32%, transparent);background:var(--brand-soft);width:36px;height:36px;box-shadow:0 0 24px -10px var(--glow), inset 0 0 14px -8px var(--brand);color:var(--brand);border-radius:9px;place-items:center;display:grid}.brand-mark svg{width:21px;height:21px}.brand-text{flex-direction:column;gap:3px;min-width:0;display:flex}.brand-name{color:var(--ink);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:15px;font-weight:500;line-height:1.1}.brand-sub{color:var(--faint);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:9px}.rail-search{border:1px solid var(--line);background:var(--surface-2);width:100%;color:var(--muted);font:inherit;cursor:pointer;border-radius:9px;align-items:center;gap:9px;padding:9px 10px;font-size:12.5px;transition:border-color .16s,color .16s,background .16s;display:flex}.rail-search:hover{border-color:var(--line-2);background:var(--paper);color:var(--ink-2)}.rail-search-ico{flex:none;width:15px;height:15px}.rail-search-text{text-align:left;flex:1}.rail-nav{flex-direction:column;gap:20px;display:flex}.nav-group{flex-direction:column;gap:5px;display:flex}.nav-group-head{align-items:baseline;gap:8px;padding:0 8px 3px;display:flex}.nav-group-name{color:var(--ink-2);letter-spacing:.1em;font-size:11px;font-weight:600}.nav-group-en{color:var(--faint);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin-left:auto;font-size:9px}.nav-list{flex-direction:column;gap:2px;display:flex}.nav-item{color:var(--ink-2);border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;padding:8px 10px 8px 11px;text-decoration:none;transition:background .16s,border-color .16s,color .16s;display:flex;position:relative}.nav-item:hover{border-color:var(--line);background:var(--surface-2);color:var(--ink)}.nav-item.is-active{border-color:color-mix(in srgb, var(--brand) 26%, transparent);background:var(--brand-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 10%, transparent), 0 0 26px -14px var(--glow);color:var(--ink)}.nav-item.is-active:before{content:"";background:var(--brand);width:3px;height:22px;box-shadow:0 0 12px var(--glow);border-radius:0 3px 3px 0;position:absolute;top:50%;left:-1px;transform:translateY(-50%)}.nav-item-icon{border:1px solid var(--line);background:var(--surface-2);width:27px;height:27px;color:var(--muted);border-radius:7px;flex:none;place-items:center;display:grid}.nav-item-icon svg{width:16px;height:16px}.nav-item.is-active .nav-item-icon{background:var(--brand);color:var(--surface);border-color:#0000}.nav-item-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.nav-item-name{letter-spacing:.01em;font-size:13.5px;font-weight:550}.nav-item-en{color:var(--faint);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.nav-item-tail{color:var(--faint);font-family:var(--font-mono);align-items:center;font-size:10px;display:flex}.nav-item-index{letter-spacing:.08em}.nav-item-arrow{width:14px;height:14px;color:var(--brand)}.rail-foot{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;gap:4px;margin-top:auto;padding:14px 8px 2px;font-size:11px;display:flex}.rail-foot-count strong{color:var(--ink-2);font-family:var(--font-mono);font-size:12px;font-weight:500}.rail-foot-note{color:var(--faint);font-family:var(--font-mono);letter-spacing:.06em;font-size:9.5px}.home{flex-direction:column;gap:40px;display:flex}.home-hero{flex-direction:column;gap:14px;max-width:800px;padding-top:6px;display:flex}.home-title{color:var(--ink);letter-spacing:-.025em;margin:0;font-size:clamp(32px,4.4vw,50px);font-weight:600;line-height:1.12}.home-title em{background:linear-gradient(92deg, var(--brand) 0%, var(--brand-ink) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal;position:relative}.home-title em:after{content:"";background:linear-gradient(90deg, var(--brand) 0%, transparent 100%);height:2px;box-shadow:0 0 14px var(--glow);opacity:.85;position:absolute;bottom:.02em;left:.04em;right:.04em}.home-lede{max-width:60ch;color:var(--muted);margin:0;font-size:13.5px;line-height:1.75}.home-tagline{color:var(--faint);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:11px}.home-search{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface);height:54px;box-shadow:var(--shadow-sm);align-items:center;gap:11px;margin-top:4px;padding:0 12px 0 16px;transition:border-color .16s,box-shadow .16s;display:flex}.home-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft), 0 0 32px -12px var(--glow)}.home-search-ico{width:17px;height:17px;color:var(--muted);flex:none}.home-search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:14.5px}.home-search input::placeholder{color:var(--faint)}.home-search-clear{background:var(--surface-2);color:var(--muted);font:inherit;cursor:pointer;border:none;border-radius:6px;padding:4px 8px;font-size:11.5px}.home-search-clear:hover{color:var(--ink)}.home-ruler{border-bottom:1px solid var(--line);background-image:repeating-linear-gradient(90deg, color-mix(in srgb, var(--brand) 45%, var(--line)) 0 1px, transparent 1px 14px);background-position:bottom;background-repeat:repeat-x;background-size:100% 5px;height:7px;margin-top:6px}.group-block,.search-block{flex-direction:column;gap:16px;display:flex}.group-head,.block-head{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:14px;padding-bottom:12px;display:grid}.group-index{color:var(--signal);font-family:var(--font-mono);letter-spacing:.08em;padding-top:3px;font-size:11px}.group-title{letter-spacing:.01em;align-items:baseline;gap:10px;margin:0;font-size:17px;font-weight:600;display:flex}.group-en{color:var(--faint);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:9.5px;font-weight:400}.group-blurb{color:var(--muted);margin:3px 0 0;font-size:12px}.group-count{color:var(--muted);font-family:var(--font-mono);white-space:nowrap;font-size:11px}.block-title{margin:0;font-size:15px;font-weight:600}.block-meta{color:var(--muted);font-family:var(--font-mono);align-items:center;gap:12px;font-size:11px;display:flex}.text-btn{color:var(--brand);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,400px),1fr));gap:14px;display:grid}.tool-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:inherit;flex-direction:column;gap:10px;padding:18px 18px 15px;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative}.tool-card:hover{border-color:color-mix(in srgb, var(--brand) 34%, var(--line));background-image:radial-gradient(460px 220px at 100% 0%, var(--brand-soft) 0%, transparent 72%);box-shadow:var(--shadow-md), 0 0 40px -22px var(--glow);transform:translateY(-2px)}.tool-card:nth-child(2){animation-delay:40ms}.tool-card:nth-child(3){animation-delay:80ms}.tool-card:nth-child(4){animation-delay:.12s}.tool-card-top{justify-content:space-between;align-items:flex-start;display:flex}.tool-card-icon{border:1px solid var(--line);background:var(--surface-2);width:34px;height:34px;color:var(--brand);border-radius:9px;place-items:center;display:grid}.tool-card-icon svg{width:19px;height:19px}.tool-card-index{color:var(--faint);font-family:var(--font-mono);letter-spacing:.1em;font-size:10.5px}.tool-card-title{align-items:baseline;gap:9px;margin-top:2px;display:flex}.tool-card-name{letter-spacing:.01em;font-size:18px;font-weight:600}.tool-card-en{color:var(--faint);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:9.5px}.tool-card-summary{color:var(--muted);flex:1;margin:0;font-size:12.8px;line-height:1.68}.tool-card-foot{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:4px;padding-top:11px;display:flex}.tool-card-tags{flex-wrap:wrap;gap:5px;display:flex}.tool-card-open{color:var(--brand);white-space:nowrap;align-items:center;gap:5px;font-size:11.5px;font-weight:550;display:inline-flex}.tool-card-arrow{width:14px;height:14px;transition:transform .18s}.tool-card:hover .tool-card-arrow{transform:translate(3px)}.slot{border:1px dashed var(--line-2);border-radius:var(--radius);background:linear-gradient(180deg, transparent 0%, var(--brand-soft) 160%);color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:28px 22px;display:flex}.slot-icon{border:1px dashed var(--line-2);width:34px;height:34px;color:var(--faint);border-radius:9px;place-items:center;display:grid}.slot-icon svg{width:15px;height:15px}.slot-title{color:var(--ink-2);font-size:12.5px;font-weight:550}.slot-sub{max-width:32ch;color:var(--faint);text-wrap:balance;font-size:11.5px;line-height:1.6}.empty-box{border:1px dashed var(--line-2);border-radius:var(--radius);background:var(--surface);padding:30px 20px}.empty-suggest{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.chip-btn{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font-family:var(--font-ui);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:11.5px}.chip-btn:hover{border-color:var(--brand);color:var(--brand)}.tool-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;padding-bottom:18px;display:flex}.tool-head-main{min-width:0}.tool-head .eyebrow{margin-bottom:9px}.tool-head-icon{border:1px solid var(--line);background:var(--surface-2);width:24px;height:24px;color:var(--brand);border-radius:6px;place-items:center;display:grid}.tool-head-icon svg{width:14px;height:14px}.tool-title{letter-spacing:-.02em;margin:0;font-size:clamp(26px,3vw,34px);font-weight:600;line-height:1.15}.tool-lede{max-width:66ch;color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.7}.tool-head-actions{flex:none;align-items:center;gap:8px;display:flex}.panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, var(--panel-glow) 0%, transparent 150px), var(--surface);box-shadow:inset 0 1px 0 var(--panel-glow);padding:18px;position:relative}.panel:after{content:"";background:linear-gradient(90deg, var(--brand), transparent);opacity:.65;pointer-events:none;width:54px;height:1px;position:absolute;top:-1px;left:18px}.panel-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.panel-title{letter-spacing:.01em;margin:0;font-size:13px;font-weight:600}.panel-meta{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;font-size:10.5px}.palette-modal .ant-modal-content{border:1px solid var(--line-2);box-shadow:var(--shadow-lg);padding:0;overflow:hidden}.palette{flex-direction:column;display:flex}.palette-search{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:15px 16px;display:flex}.palette-search-ico{width:17px;height:17px;color:var(--muted);flex:none}.palette-search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:14.5px}.palette-search input::placeholder{color:var(--faint)}.palette-results{max-height:min(52vh,430px);padding:7px;overflow-y:auto}.palette-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:11px;padding:10px 11px;display:flex}.palette-item.is-active{border-color:color-mix(in srgb, var(--brand) 20%, transparent);background:var(--brand-soft)}.palette-item-icon{border:1px solid var(--line);background:var(--surface-2);width:30px;height:30px;color:var(--brand);border-radius:8px;flex:none;place-items:center;display:grid}.palette-item-icon svg{width:17px;height:17px}.palette-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.palette-item-top{align-items:baseline;gap:8px;display:flex}.palette-item-name{font-size:13.5px;font-weight:550}.palette-item-en{color:var(--faint);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.palette-item-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.palette-item-tail{color:var(--faint);font-family:var(--font-mono);flex:none;align-items:center;gap:8px;font-size:9.5px;display:flex}.palette-item-group{border:1px solid var(--line);white-space:nowrap;border-radius:4px;padding:2px 6px}.palette-item-arrow{width:14px;height:14px;color:var(--brand);opacity:0;transition:opacity .15s,transform .15s}.palette-item.is-active .palette-item-arrow{opacity:1;transform:translate(2px)}.palette-empty{text-align:center;padding:34px 18px}.palette-empty p{color:var(--ink-2);margin:0 0 6px;font-size:13px}.palette-empty span{color:var(--faint);font-size:11.5px}.palette-foot{border-top:1px solid var(--line);background:var(--surface-2);color:var(--muted);align-items:center;gap:14px;padding:9px 15px;font-size:10.5px;display:flex}.palette-hint{align-items:center;gap:4px;display:inline-flex}.palette-hint-right{font-family:var(--font-mono);margin-left:auto}body .ant-modal-mask,body .ant-drawer-mask{background:var(--mask);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.nav-drawer .ant-drawer-body{padding:0}.nav-drawer .rail-inner{height:100%;min-height:100%}@media (width<=1180px){.search-trigger-label{display:none}.search-trigger{padding:0 9px}.search-trigger-key{border-left:none;margin-left:0;padding-left:0}}@media (width<=1024px){.rail{display:none}.shell-main{margin-left:0}.topbar-menu{display:inline-flex}.page{padding-top:22px}}@media (width<=720px){.topbar{gap:8px;height:56px;padding:0 12px}.crumb{white-space:nowrap;flex:1;min-width:0;overflow:hidden}.crumb-link,.crumb-group,.crumb-sep{display:none}.crumb-current{text-overflow:ellipsis;overflow:hidden}.topbar-actions{gap:8px;margin-left:0}.search-trigger{justify-content:center;width:34px;height:34px;padding:0}.search-trigger-label,.search-trigger-key{display:none}.theme-switch .ant-segmented-item-label{padding:0 4px}.home-search .kbd{display:none}.home-title{font-size:30px}.page-foot{margin-top:32px}.tool-head{flex-direction:column;align-items:flex-start}.group-head,.block-head{grid-template-columns:auto minmax(0,1fr)}.group-count,.block-meta{grid-column:2;justify-self:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.tool-page{flex-direction:column;display:flex}.metro{grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);align-items:stretch;gap:16px;display:grid}.metro-stage{flex-direction:column;padding:18px 22px 22px;display:flex}.metro-dial{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-height:0;padding:10px 0 2px;display:flex}.metro-stage-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.metro-tempo{align-items:baseline;gap:8px;display:flex}.metro-tempo-name{color:var(--brand);font-family:var(--font-mono);letter-spacing:.06em;font-size:16px}.metro-tempo-cn{color:var(--muted);letter-spacing:.1em;font-size:10.5px}.live-pill{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;border-radius:999px;align-items:center;gap:6px;padding:3px 9px 3px 7px;font-size:10px;display:inline-flex}.live-dot{background:var(--faint);border-radius:50%;width:6px;height:6px}.live-pill.is-on{border-color:color-mix(in srgb, var(--signal) 40%, transparent);background:var(--signal-soft);box-shadow:0 0 20px -8px var(--signal);color:var(--signal)}.live-pill.is-on .live-dot{background:var(--signal);animation:1.1s ease-in-out infinite livePulse}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.78)}}.bpm-readout{justify-content:center;align-items:baseline;gap:10px;margin:0;display:flex}.bpm-value{color:var(--ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.05em;font-size:clamp(72px,10vw,116px);font-weight:500;line-height:.9;transition:color .18s}.bpm-value.is-running{color:var(--brand);text-shadow:0 0 42px var(--glow)}.bpm-unit{color:var(--muted);font-family:var(--font-mono);letter-spacing:.2em;font-size:10.5px}.pendulum-area{justify-content:center;align-items:flex-start;width:100%;height:152px;margin-top:2px;display:flex;position:relative}.pendulum{background:linear-gradient(180deg, var(--line-2) 0%, var(--muted) 100%);transform-origin:top;border-radius:2px;width:2px;height:118px;margin-top:12px;transition:transform .3s cubic-bezier(.33,1,.68,1);position:relative}.pendulum-weight{background:var(--brand);width:16px;height:16px;box-shadow:0 0 18px var(--glow);border-radius:50%;margin-left:-8px;position:absolute;bottom:-8px;left:50%}.pendulum.is-strong .pendulum-weight{background:var(--signal);box-shadow:0 0 22px color-mix(in srgb, var(--signal) 70%, transparent)}.pendulum-pivot{border:1px solid var(--line-2);background:var(--surface-3);width:10px;height:10px;box-shadow:0 0 0 4px var(--surface);border-radius:50%;margin-left:-5px;position:absolute;top:6px;left:50%}.beat-dots{flex-wrap:nowrap;justify-content:center;align-items:center;gap:7px;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.beat-dot{border:1px solid var(--line-2);background:var(--surface-3);border-radius:50%;width:8px;height:8px;transition:transform 90ms,background 90ms,box-shadow 90ms}.beat-dot.is-strong{border-color:color-mix(in srgb, var(--signal) 55%, transparent)}.beat-dot.is-active{border-color:var(--brand);background:var(--brand);box-shadow:0 0 0 3px var(--brand-soft), 0 0 14px var(--glow);transform:scale(1.2)}.beat-dot.is-strong.is-active{border-color:var(--signal);background:var(--signal);box-shadow:0 0 0 3px var(--signal-soft), 0 0 14px color-mix(in srgb, var(--signal) 60%, transparent)}.tempo-slider{margin:14px 8px 0}.tempo-slider .ant-slider{margin:10px 0 2px}.tempo-scale{height:15px;color:var(--faint);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:9px;position:relative}.tempo-scale span{position:absolute;transform:translate(-50%)}.tempo-scale span:first-child{transform:none}.tempo-scale span:last-child{transform:translate(-100%)}.metro-quick{grid-template-columns:1fr auto 1fr;gap:8px;margin-top:14px;display:grid}.metro-quick .ant-btn{height:34px}.tap-btn{font-family:var(--font-mono);letter-spacing:.12em;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.metro-controls{flex-direction:column;gap:17px;padding:20px;display:flex}.metro-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.preset-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.preset{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font:inherit;cursor:pointer;border-radius:7px;flex-direction:column;align-items:center;gap:1px;padding:7px 4px 6px;transition:border-color .15s,background .15s,color .15s;display:flex}.preset:hover{border-color:var(--line-2);color:var(--ink)}.preset.is-active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.preset-bpm{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:14px;line-height:1.2}.preset-label{color:var(--muted);letter-spacing:.04em;font-size:9.5px}.preset.is-active .preset-label{color:var(--brand)}.metro-docs{margin-top:16px}.doc-inline{max-height:none;padding-right:0;overflow:visible}.field{flex-direction:column;gap:8px;display:flex}.field-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.field-label{color:var(--ink-2);letter-spacing:.12em;font-size:11px;font-weight:600}.field-hint{color:var(--muted);font-size:11px}.stepper{align-items:center;gap:6px;display:flex}.stepper-btn.ant-btn{width:34px;height:34px;color:var(--ink-2);padding:0}.stepper-value{color:var(--ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:center;flex:1;font-size:20px}.stepper-suffix{color:var(--muted);margin-left:4px;font-size:10px}.volume-row{align-items:center;gap:10px;display:flex}.volume-ico{width:16px;height:16px;color:var(--muted);flex:none}.volume-row .ant-slider{flex:1;margin:4px 6px}.metro-actions{border-top:1px solid var(--line);flex-direction:column;gap:10px;margin-top:auto;padding-top:17px;display:flex}.start-btn.ant-btn:hover{box-shadow:0 0 38px -14px var(--glow)}.start-btn.ant-btn{letter-spacing:.04em;height:50px;font-size:15px}.start-btn-inner{align-items:center;gap:9px;display:inline-flex}.start-btn-inner svg{width:18px;height:18px}.start-btn.is-running.ant-btn{border-color:var(--ink);background:var(--ink);color:var(--paper)}.start-btn.is-running .kbd{border-color:color-mix(in srgb, var(--paper) 30%, transparent);color:inherit;background:0 0}.kbd-hints{border-top:1px dashed var(--line);grid-template-columns:1fr 1fr;gap:8px 14px;margin:2px 0 0;padding-top:14px;display:grid}.kbd-hints div{align-items:center;gap:8px;display:flex}.kbd-hints dt{gap:3px;margin:0;display:flex}.kbd-hints dd{color:var(--muted);margin:0;font-size:11px}.doc-modal .ant-modal-content{padding:22px 24px 20px}.doc{flex-direction:column;gap:18px;max-height:min(62vh,560px);padding-right:4px;display:flex;overflow-y:auto}.doc-section h4{letter-spacing:.02em;align-items:center;gap:8px;margin:0 0 6px;font-size:13px;font-weight:600;display:flex}.doc-section p{color:var(--ink-2);margin:0 0 6px;font-size:12.5px;line-height:1.72}.doc-section code,.doc code{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font-family:var(--font-mono);border-radius:4px;padding:1px 4px;font-size:.92em}.doc-muted{color:var(--muted)!important;font-size:11.5px!important}.doc-badge{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;border-radius:4px;padding:2px 6px;font-size:9.5px;font-weight:400}.doc-table{border-collapse:collapse;width:100%;margin:6px 0 4px;font-size:12px}.doc-table td{border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:top;padding:5px 8px}.doc-table td:first-child{width:32%;color:var(--brand);font-family:var(--font-mono);white-space:nowrap}.doc-table tr:last-child td{border-bottom:none}.doc-keys{color:var(--muted);flex-wrap:wrap;gap:8px 16px;font-size:11.5px;display:flex}.doc-keys span{align-items:center;gap:5px;display:inline-flex}.export-duration{align-items:center;gap:14px;margin:6px 0 16px;display:flex}.export-duration .ant-slider{flex:1}.export-duration-value{min-width:38px;color:var(--ink-2);text-align:right;font-size:12px}.export-facts{border-top:1px solid var(--line);flex-direction:column;margin:0 0 18px;display:flex}.export-facts div{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding:7px 0;display:flex}.export-facts dt{color:var(--muted);font-size:11.5px}.export-facts dd{max-width:64%;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11.5px;overflow:hidden}.export-hint{text-align:center;margin-top:10px!important}.vp{flex-direction:column;gap:16px;display:flex}.vp-searchbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.vp-search{flex:1;gap:8px;max-width:540px;display:flex}.vp-search .ant-input-affix-wrapper{background:var(--surface);border-radius:8px}.vp-search-ico{width:15px;height:15px;color:var(--muted)}.vp-examples{align-items:center;gap:6px;display:flex}.vp-examples-label{color:var(--faint);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-right:2px;font-size:10px}.vp-alert{border-radius:var(--radius)}.vp-quote{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 24px;display:flex}.vp-quote-main{flex-direction:column;gap:8px;display:flex}.vp-quote-title{align-items:baseline;gap:10px;display:flex}.vp-name{letter-spacing:.01em;margin:0;font-size:17px;font-weight:600}.vp-code{color:var(--muted);font-size:11.5px}.vp-quote-price{align-items:baseline;gap:10px;display:flex}.vp-price{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:34px;font-weight:500;line-height:1.1}.vp-change{font-family:var(--font-mono);font-size:13px;font-weight:500}.vp-quote-date{color:var(--muted);margin-left:2px;font-size:11px}.is-up{color:var(--up)}.is-down{color:var(--down)}.vp-stats{flex-wrap:wrap;gap:12px 26px;display:flex}.vp-stat{flex-direction:column;gap:2px;display:flex}.vp-stat-label{color:var(--faint);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:9.5px}.vp-stat-value{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:14px}.vp-chart-panel{padding-bottom:14px}.vp-chart-body{grid-template-columns:minmax(0,1fr) 290px;align-items:stretch;gap:16px;display:grid}.vp-chart{min-width:0;height:566px}.band-chart{width:100%;height:566px}.vp-bands{flex-direction:column;gap:7px;max-height:566px;padding-right:2px;display:flex;overflow-y:auto}.vp-bands-head{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:baseline;padding-bottom:8px;font-size:11.5px;display:flex}.vp-band{border:1px solid var(--line);border-left:2px solid var(--line-2);background:var(--surface-2);border-radius:7px;padding:9px 10px}.vp-band:has(.is-sup){border-left-color:var(--brand)}.vp-band:has(.is-res){border-left-color:var(--signal)}.vp-band-top{align-items:baseline;gap:7px;display:flex}.band-side{font-family:var(--font-mono);border-radius:3px;flex:none;padding:1px 5px;font-size:9.5px}.band-side.is-sup{background:var(--brand-soft);color:var(--brand)}.band-side.is-res{background:var(--signal-soft);color:var(--signal)}.vp-band-scale{color:var(--faint);font-size:9.5px}.vp-band-center{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:auto;font-size:16px}.vp-band-dist{min-width:52px;font-family:var(--font-mono);text-align:right;font-size:10.5px}.vp-band-sub{color:var(--muted);flex-wrap:wrap;gap:3px 10px;margin-top:4px;font-size:9.5px;display:flex}.vp-bands-empty{color:var(--faint);text-align:center;padding:26px 0;font-size:11.5px}.vp-footnote{border-top:1px dashed var(--line);color:var(--faint);margin:12px 0 0;padding-top:10px;font-size:10.5px}.vp-algo,.panel-disclose{padding:4px 18px 8px}.panel-disclose .ant-collapse-header{padding:10px 0!important}.panel-disclose-label{color:var(--brand);font-size:12px;font-weight:600}.vp-algo-body{color:var(--ink-2);padding:2px 0 6px;font-size:12.5px;line-height:1.8}.vp-algo-body h4{color:var(--ink);margin:16px 0 5px;font-size:13px;font-weight:600}.vp-algo-body p{color:var(--ink-2);margin:0 0 7px}.vp-algo-body strong{color:var(--brand);font-weight:600}.coin{grid-template-columns:minmax(0,1.32fr) minmax(300px,.68fr);align-items:stretch;gap:16px;display:grid}.coin-stage{flex-direction:column;gap:14px;padding:16px;display:flex}.coin-canvas-wrap{border:1px solid var(--line);background:radial-gradient(120% 92% at 50% 0%, var(--surface-2) 0%, var(--surface) 72%);border-radius:8px;flex:1;min-height:430px;position:relative;overflow:hidden}.coin-canvas-wrap:after{content:"";pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);opacity:.55;background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 0,#000 10%,#0000 78%);mask-image:radial-gradient(at 50% 0,#000 10%,#0000 78%)}.coin-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.coin-actions{flex-direction:column;gap:9px;display:flex}.coin-btn-inner{align-items:center;gap:9px;display:inline-flex}.coin-btn-inner svg{width:17px;height:17px}.coin-hint{color:var(--muted);margin:0;font-size:11.5px;line-height:1.65}.coin-side{flex-direction:column;gap:18px;padding:20px;display:flex}.coin-result{border-bottom:1px solid var(--line);flex-direction:column;gap:4px;padding-bottom:16px;display:flex}.coin-face{letter-spacing:-.02em;font-size:clamp(30px,3.4vw,40px);font-weight:600;line-height:1.15}.coin-face.is-heads{color:var(--brand);text-shadow:0 0 30px var(--glow)}.coin-face.is-tails{color:var(--signal);text-shadow:0 0 30px color-mix(in srgb, var(--signal) 45%, transparent)}.coin-face.is-idle{color:var(--muted)}.coin-face.is-flying{color:var(--ink-2)}.coin-face-en{color:var(--faint);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;font-size:10px}.coin-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.coin-stat{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;flex-direction:column;gap:3px;padding:10px 11px;display:flex}.coin-stat-label{color:var(--faint);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:9.5px}.coin-stat-value{color:var(--ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:22px;line-height:1.1}.coin-stat-value.is-heads{color:var(--brand)}.coin-stat-value.is-tails{color:var(--signal)}.coin-ratio{flex-direction:column;gap:7px;display:flex}.coin-bar{background:var(--surface-3);border-radius:999px;height:6px;display:flex;overflow:hidden}.coin-bar-heads{background:linear-gradient(90deg, var(--brand), var(--brand-ink));transition:width .4s}.coin-bar-tails{background:var(--signal);opacity:.85;transition:width .4s}.coin-legend{color:var(--faint);font-family:var(--font-mono);letter-spacing:.08em;justify-content:space-between;font-size:9.5px;display:flex}.coin-history-wrap{flex-direction:column;gap:8px;display:flex}.coin-history-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.coin-reset{color:var(--brand);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;font-size:10.5px;text-decoration:underline}.coin-history{flex-wrap:wrap;gap:6px;min-height:24px;display:flex}.coin-chip{border:1px solid var(--line);background:var(--surface-2);width:24px;height:24px;color:var(--muted);font-family:var(--font-mono);border-radius:6px;justify-content:center;align-items:center;font-size:11px;display:inline-flex}.coin-chip.is-heads{border-color:color-mix(in srgb, var(--brand) 42%, var(--line));background:var(--brand-soft);color:var(--brand)}.coin-chip.is-tails{border-color:color-mix(in srgb, var(--signal) 42%, var(--line));background:var(--signal-soft);color:var(--signal)}.coin-empty{color:var(--faint);margin:0;font-size:11.5px}.coin-side-foot{border-top:1px solid var(--line);align-items:center;margin-top:auto;padding-top:14px;display:flex}.coin-note{color:var(--faint);margin:0;font-size:10.5px;line-height:1.65}.dice{grid-template-columns:minmax(0,1.32fr) minmax(300px,.68fr);align-items:stretch;gap:16px;display:grid}.dice-stage{flex-direction:column;gap:14px;padding:16px;display:flex}.dice-scene{--die-size:96px;--half:calc(var(--die-size) / 2);border:1px solid var(--line);background:radial-gradient(120% 92% at 50% 0%, var(--surface-2) 0%, var(--surface) 72%);perspective:1200px;perspective-origin:50% 42%;border-radius:8px;flex:1;min-height:430px;position:relative;overflow:hidden}.dice-scene:after{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);opacity:.55;background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 0,#000 10%,#0000 78%);mask-image:radial-gradient(at 50% 0,#000 10%,#0000 78%)}.dice-floor{background:linear-gradient(90deg, transparent, var(--brand), transparent);opacity:.45;height:1px;position:absolute;bottom:46px;left:5%;right:5%}.dice-floor:after{content:"";background:radial-gradient(58% 100% at 50% 100%, var(--brand-soft) 0%, transparent 72%);height:120px;position:absolute;bottom:0;left:0;right:0}.die{z-index:1;width:var(--die-size);height:var(--die-size);transform-style:preserve-3d;will-change:transform;position:absolute;top:0;left:0}.die-face{backface-visibility:hidden;background:linear-gradient(145deg,#fdfefe 0%,#dce8f1 62%,#c4d5e3 100%);border-radius:0;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);padding:11%;display:grid;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0b6fb847,inset 0 0 14px #ffffffa6}.die-face.front{transform:translateZ(var(--half))}.die-face.back{transform:rotateY(180deg) translateZ(var(--half))}.die-face.right{transform:rotateY(90deg) translateZ(var(--half))}.die-face.left{transform:rotateY(-90deg) translateZ(var(--half))}.die-face.top{transform:rotateX(90deg) translateZ(var(--half));background:linear-gradient(145deg,#fff 0%,#eef5fa 60%,#d6e3ee 100%)}.die-face.bottom{transform:rotateX(-90deg) translateZ(var(--half));background:linear-gradient(145deg,#eef4f9 0%,#cddae5 60%,#b6c8d8 100%)}.die-face.left,.die-face.right{background:linear-gradient(145deg,#f7fbfe 0%,#d5e2ec 60%,#bccddb 100%)}.die-pip{background:radial-gradient(circle at 35% 30%,#2c3d4c 0%,#0a1622 72%);border-radius:50%;place-self:center;width:62%;height:62%;box-shadow:inset 0 -1px 1px #ffffff38}.die-cell{visibility:hidden}.die-shadow{z-index:1;width:var(--die-size);height:calc(var(--die-size) * .16);background:radial-gradient(closest-side, var(--die-shadow) 0%, transparent 100%);pointer-events:none;will-change:transform, opacity;border-radius:50%;position:absolute;top:0;left:0}.dice-actions{flex-direction:column;gap:9px;display:flex}.dice-btn-inner{align-items:center;gap:9px;display:inline-flex}.dice-btn-inner svg{width:17px;height:17px}.dice-hint{color:var(--muted);margin:0;font-size:11.5px;line-height:1.65}.dice-side{flex-direction:column;gap:18px;padding:20px;display:flex}.dice-result{border-bottom:1px solid var(--line);flex-direction:column;gap:4px;padding-bottom:16px;display:flex}.dice-result-value{color:var(--brand);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-shadow:0 0 30px var(--glow);font-size:clamp(34px,3.6vw,44px);font-weight:500;line-height:1.1}.dice-result-value.is-idle{color:var(--muted);font-family:var(--font-ui);letter-spacing:-.01em;text-shadow:none;font-size:26px;font-weight:600}.dice-result-value.is-rolling{color:var(--ink-2);font-family:var(--font-ui);text-shadow:none;font-size:26px;font-weight:600}.dice-result-label{color:var(--faint);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;font-size:10px}.dice-values{flex-wrap:wrap;gap:6px;display:flex}.dice-chip{border:1px solid var(--line);background:var(--surface-2);min-width:26px;height:26px;color:var(--ink-2);font-family:var(--font-mono);border-radius:6px;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.dice-count .seg-item{font-family:var(--font-mono);padding:0 4px;font-size:12px}.dice-stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dice-stat{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;flex-direction:column;gap:3px;padding:10px 11px;display:flex}.dice-stat-label{color:var(--faint);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:9.5px}.dice-stat-value{color:var(--ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:20px;line-height:1.1}.dice-side-foot{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:auto;padding-top:14px;display:flex}.dice-note{color:var(--faint);margin:0;font-size:10.5px;line-height:1.65}.dice-reset{color:var(--brand);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:10.5px;text-decoration:underline}.wheel{grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);align-items:stretch;gap:16px;display:grid}.wheel-stage{flex-direction:column;gap:14px;padding:16px;display:flex}.wheel-canvas-wrap{aspect-ratio:1;width:100%;max-width:520px;margin:0 auto;position:relative}.wheel-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.wheel-actions{flex-direction:column;gap:9px;display:flex}.wheel-btn-inner{align-items:center;gap:9px;display:inline-flex}.wheel-btn-inner svg{width:17px;height:17px}.wheel-hint{color:var(--muted);margin:0;font-size:11.5px;line-height:1.65}.wheel-side{flex-direction:column;gap:16px;padding:20px;display:flex}.wheel-result{border-bottom:1px solid var(--line);flex-direction:column;gap:4px;padding-bottom:16px;display:flex}.wheel-result-value{color:var(--brand);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 30px var(--glow);font-size:clamp(30px,3.4vw,40px);font-weight:600;line-height:1.15;overflow:hidden}.wheel-result-value.is-idle{color:var(--muted);text-shadow:none;font-size:26px}.wheel-result-value.is-rolling{color:var(--ink-2);text-shadow:none;font-size:26px}.wheel-result-label{color:var(--faint);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;font-size:10px}.wheel-editor{flex-direction:column;gap:8px;display:flex}.wheel-editor-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.wheel-editor-title{color:var(--ink-2);letter-spacing:.12em;font-size:11px;font-weight:600}.wheel-editor-total{color:var(--faint);font-family:var(--font-mono);white-space:nowrap;font-size:10px}.wheel-options{flex-direction:column;gap:6px;display:flex}.wheel-option{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;grid-template-columns:10px minmax(0,1fr) auto 24px;align-items:center;gap:8px;padding:6px;display:grid}.wheel-option-dot{border-radius:50%;width:10px;height:10px;box-shadow:0 0 10px -2px}.wheel-input{background:var(--surface);width:100%;min-width:0;color:var(--ink);font:inherit;border:1px solid #0000;border-radius:5px;outline:none;padding:5px 7px;font-size:12.5px}.wheel-input:focus{border-color:var(--brand)}.wheel-input:disabled{opacity:.6}.wheel-weight{align-items:center;gap:5px;display:flex}.wheel-weight-input{border:1px solid var(--line);background:var(--surface);width:46px;color:var(--ink-2);font-family:var(--font-mono);text-align:right;border-radius:5px;outline:none;padding:5px 6px;font-size:11.5px}.wheel-weight-input:focus{border-color:var(--brand)}.wheel-weight-input:disabled{opacity:.6}.wheel-percent{width:34px;color:var(--muted);font-family:var(--font-mono);text-align:right;font-size:10px}.wheel-remove{border:1px solid var(--line);background:var(--surface);width:24px;height:24px;color:var(--muted);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.wheel-remove:hover:not(:disabled){border-color:color-mix(in srgb, var(--up) 55%, var(--line));color:var(--up)}.wheel-remove:disabled{opacity:.35;cursor:not-allowed}.wheel-editor-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:2px;display:flex}.wheel-add{border:1px dashed var(--line-2);color:var(--brand);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:6px 10px;font-size:11.5px;transition:border-color .15s,color .15s}.wheel-add:hover:not(:disabled){border-color:var(--brand)}.wheel-add:disabled{opacity:.4;cursor:not-allowed}.wheel-even{color:var(--muted);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;text-decoration:underline}.wheel-even:hover:not(:disabled){color:var(--ink-2)}.wheel-even:disabled{opacity:.4;cursor:not-allowed}.wheel-side-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:12px;margin-top:auto;padding-top:14px;display:flex}.wheel-note{color:var(--faint);margin:0;font-size:10.5px;line-height:1.65}.wheel-spins{color:var(--faint);font-family:var(--font-mono);white-space:nowrap;flex:none;font-size:10px}.codec{flex-direction:column;gap:16px;display:flex}.codec-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.codec-controls{flex-wrap:wrap;gap:16px;display:flex}.codec-control{flex-direction:column;gap:6px;min-width:0;display:flex}.codec-control .seg{max-width:100%}.codec-control .seg-item{padding:0 8px}.codec-control .field-label{font-size:10px}.codec-actions{flex-wrap:wrap;gap:8px;display:flex}.codec-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.codec-pane{flex-direction:column;gap:10px;min-height:380px;padding:14px;display:flex}.codec-pane-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.codec-pane-head-right{align-items:center;gap:8px;display:flex}.codec-pane-title{color:var(--ink-2);letter-spacing:.12em;font-size:11px;font-weight:600}.codec-pane-meta{color:var(--faint);font-family:var(--font-mono);white-space:nowrap;font-size:10px}.codec-textarea{border:1px solid var(--line);background:var(--surface-2);width:100%;min-height:300px;color:var(--ink);font-family:var(--font-mono);resize:none;border-radius:8px;outline:none;flex:1;padding:10px 12px;font-size:12.5px;line-height:1.65}.codec-textarea::placeholder{color:var(--faint)}.codec-textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.codec-textarea[readonly]{background:var(--surface);color:var(--ink-2)}.codec-error{color:var(--up);margin:0;font-size:11.5px;line-height:1.6}.codec-hint-line{color:var(--muted);margin:0;font-size:11.5px}.jsonl-empty{color:var(--faint);margin:0;padding:12px 0;font-size:11.5px}.jsonl-modal .ant-modal-body{padding-top:4px}.jsonl-detail{flex-direction:column;gap:12px;display:flex}.jsonl-detail-head{color:var(--faint);font-family:var(--font-mono);align-items:center;gap:8px;font-size:10.5px;display:flex}.jsonl-detail-type{border:1px solid var(--line);color:var(--ink-2);border-radius:4px;padding:1px 7px;font-size:10px}.jsonl-detail-type.is-string{color:var(--down)}.jsonl-detail-type.is-number{color:var(--brand)}.jsonl-detail-type.is-boolean{color:var(--signal)}.jsonl-detail-type.is-error{border-color:color-mix(in srgb, var(--up) 45%, var(--line));color:var(--up)}.jsonl-detail-meta{color:var(--faint)}.jsonl-detail-copy{color:var(--brand);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;font-size:10.5px;text-decoration:underline}.jsonl-detail-body{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;max-height:52vh;padding:12px 14px;overflow:auto}.jsonl-detail-error{border:1px solid color-mix(in srgb, var(--up) 45%, var(--line));background:color-mix(in srgb, var(--up) 7%, var(--surface-2));color:var(--up);font-family:var(--font-mono);word-break:break-word;border-radius:8px;margin:0;padding:12px 14px;font-size:12px;line-height:1.6}.jsonl-fields{flex-direction:column;gap:8px;display:flex}.jsonl-field{border-bottom:1px dashed var(--line);grid-template-columns:minmax(96px,26%) minmax(0,1fr);align-items:start;gap:10px;padding-bottom:8px;display:grid}.jsonl-field:last-child{border-bottom:none;padding-bottom:0}.jsonl-field-key{color:var(--brand);font-family:var(--font-mono);word-break:break-word;font-size:11.5px}.jsonl-field-value{min-width:0;color:var(--ink-2);font-size:12.5px;line-height:1.65}.jsonl-value{white-space:pre-wrap;word-break:break-word}.jsonl-value.is-string{color:var(--ink)}.jsonl-value.is-number{color:var(--brand);font-family:var(--font-mono)}.jsonl-value.is-boolean{color:var(--signal);font-family:var(--font-mono)}.jsonl-value.is-null{color:var(--faint);font-family:var(--font-mono)}.jsonl-value.is-empty{color:var(--faint);font-size:11.5px}.jsonl-chips{flex-wrap:wrap;gap:5px;display:flex}.jsonl-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-family:var(--font-mono);border-radius:5px;padding:2px 7px;font-size:11px}.jsonl-chip.is-more{color:var(--faint);border-style:dashed}.jsonl-array{flex-direction:column;gap:6px;display:flex}.jsonl-array-item{grid-template-columns:22px minmax(0,1fr);align-items:start;gap:8px;display:grid}.jsonl-array-index{color:var(--faint);font-family:var(--font-mono);text-align:right;padding-top:2px;font-size:10px}.jsonl-array-value{min-width:0}.jsonl-nav{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:14px;padding-top:12px;display:flex}.jsonl-nav-btn{border:1px solid var(--line);background:var(--surface-2);height:30px;color:var(--ink-2);font:inherit;cursor:pointer;border-radius:6px;padding:0 12px;font-size:11.5px}.jsonl-nav-btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.jsonl-nav-btn:disabled{opacity:.4;cursor:not-allowed}.jsonl-nav-count{color:var(--muted);font-family:var(--font-mono);margin-left:auto;font-size:10.5px}.jsonl-nav-hint{color:var(--faint);font-family:var(--font-mono);font-size:10px}.cipher-settings{flex-direction:column;gap:16px;padding:16px 18px;display:flex}.cipher-fields{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:start;gap:14px;display:grid}.cipher-fields .field{gap:6px}.cipher-pass-row{gap:8px;display:flex}.cipher-input{border:1px solid var(--line);background:var(--surface-2);min-width:0;height:34px;color:var(--ink);font-family:var(--font-mono);border-radius:7px;outline:none;flex:1;padding:0 10px;font-size:12px}.cipher-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.cipher-random{border:1px solid var(--line);background:var(--surface-2);height:34px;color:var(--ink-2);font:inherit;cursor:pointer;border-radius:7px;padding:0 12px;font-size:11.5px}.cipher-random:hover{border-color:var(--brand);color:var(--brand)}.cipher-select{border:1px solid var(--line);background:var(--surface-2);width:100%;height:34px;color:var(--ink);font:inherit;cursor:pointer;border-radius:7px;outline:none;padding:0 10px;font-size:12.5px}.cipher-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.cipher-tip{color:var(--faint);font-size:10.5px;line-height:1.5}.cipher-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding-top:14px;display:flex}.json{flex-direction:column;gap:12px;display:flex}.json-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.json-actions{flex-wrap:wrap;gap:6px;display:flex}.json-file-input{display:none}.json-body{min-height:520px;position:relative}.json-textarea{border:1px solid var(--line);background:var(--surface);width:100%;height:520px;color:var(--ink);font-family:var(--font-mono);resize:none;border-radius:8px;outline:none;padding:14px 16px;font-size:12.5px;line-height:1.7}.json-textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.json-tree{border:1px solid var(--line);background:var(--surface);height:520px;font-family:var(--font-mono);border-radius:8px;padding:10px 12px;font-size:12.5px;line-height:1.8;overflow:auto}.json-row{align-items:flex-start;gap:6px;min-height:22px;display:flex}.json-toggle{width:16px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;font-size:11px;line-height:1;display:inline-flex}.json-toggle:hover{color:var(--brand)}.json-toggle-gap{flex:none;width:16px}.json-key{color:var(--brand)}.json-colon{color:var(--faint)}.json-bracket{color:var(--ink-2)}.json-count{color:var(--faint);margin-left:2px;font-size:10px}.json-value{word-break:break-all}.json-value.is-string{color:var(--down)}.json-value.is-number{color:color-mix(in srgb, var(--brand) 70%, var(--ink))}.json-value.is-boolean{color:var(--signal)}.json-value.is-null{color:var(--faint)}.json-children{border-left:1px solid var(--line);margin-left:9px;padding-left:12px}.json-more{border:1px dashed var(--line-2);color:var(--brand);font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:5px;margin:4px 0 4px 20px;padding:3px 9px;font-size:10.5px}.json-empty{border:1px dashed var(--line-2);background:var(--surface);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:520px;padding:20px;display:flex}.json-empty-title{color:var(--ink-2);margin:0;font-size:14px}.json-empty-hint{color:var(--faint);margin:0;font-size:11.5px}.json-drop{z-index:5;border:2px dashed var(--brand);background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:var(--brand);pointer-events:none;border-radius:8px;place-items:center;font-size:13px;font-weight:600;display:grid;position:absolute;inset:0}.json-status{color:var(--muted);font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:10.5px;display:flex}.json-state{border:1px solid var(--line);letter-spacing:.08em;border-radius:4px;padding:2px 7px;font-size:10px}.json-state.is-ok{border-color:color-mix(in srgb, var(--down) 40%, var(--line));background:color-mix(in srgb, var(--down) 10%, transparent);color:var(--down)}.json-state.is-error{border-color:color-mix(in srgb, var(--up) 40%, var(--line));background:color-mix(in srgb, var(--up) 10%, transparent);color:var(--up)}.json-error-text{color:var(--up);word-break:break-word;font-size:10.5px}.json-message{color:var(--brand);margin-left:auto}.not-found{flex-direction:column;align-items:flex-start;gap:14px;padding:46px 0;display:flex}.not-found-code{color:var(--line-2);font-family:var(--font-mono);letter-spacing:-.04em;font-size:68px;line-height:1}.not-found h1{margin:0;font-size:24px;font-weight:600}.not-found p{max-width:46ch;color:var(--muted);margin:0;font-size:13px;line-height:1.7}@media (width<=1180px){.metro,.coin{grid-template-columns:minmax(0,1fr)}.coin-canvas-wrap{min-height:380px}.dice{grid-template-columns:minmax(0,1fr)}.dice-scene{min-height:380px}.wheel{grid-template-columns:minmax(0,1fr)}.wheel-canvas-wrap{max-width:440px}.codec-grid{grid-template-columns:minmax(0,1fr)}.codec-pane{min-height:300px}.vp-chart-body{grid-template-columns:minmax(0,1fr)}.vp-bands{max-height:none}}@media (width<=720px){.bpm-value{font-size:76px}.coin-canvas-wrap{min-height:320px}.coin-side{gap:14px;padding:16px}.dice-scene{min-height:320px}.dice-side,.wheel-side{gap:14px;padding:16px}.wheel-canvas-wrap{max-width:360px}.codec-pane{min-height:240px}.codec-textarea{min-height:200px}.json-toolbar{align-items:flex-start}.json-tree,.json-textarea,.json-empty{height:420px}.json-body{min-height:420px}.json-message{margin-left:0}.vp-chart,.band-chart{height:400px}.vp-price{font-size:28px}.vp-stats{gap:10px 18px}.metro-fields{grid-template-columns:1fr}}
