@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-vietnamese-400-normal-BNOj0Qhp.woff2) format("woff2"),url(/assets/space-mono-vietnamese-400-normal-B0PMp_xB.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-ext-400-normal-DTLbW2xa.woff2) format("woff2"),url(/assets/space-mono-latin-ext-400-normal-D4cJI_B-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-400-normal-Rg4St2Dn.woff2) format("woff2"),url(/assets/space-mono-latin-400-normal-_3DlpgIW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-vietnamese-700-normal-DWQgDHuA.woff2) format("woff2"),url(/assets/space-mono-vietnamese-700-normal-D-KrLuLr.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-ext-700-normal-B2s3bDs2.woff2) format("woff2"),url(/assets/space-mono-latin-ext-700-normal-B_E7P90g.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-700-normal-mWgeinG7.woff2) format("woff2"),url(/assets/space-mono-latin-700-normal-D7A851RN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-ui: "Space Grotesk Variable", "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Space Mono", ui-monospace, "SF Mono", Menlo, monospace;--h-ctl: 30px;--r-sm: 4px;--r-md: 7px;--r-lg: 11px;--appbar-h: 60px;--t-instant: 80ms;--t-fast: .14s;--t-base: .2s;--ease: cubic-bezier(.2, .7, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.2, 1.5, .4, 1)}:root{--bg: #0e0c12;--bg-deep: #0a080d;--surface-1: #16131c;--surface-2: #1d1926;--surface-3: #272231;--hover: #2c2638;--line: #2e2939;--line-strong: #433c54;--text: #f1edf7;--text-dim: #a9a2b6;--text-faint: #756e84;--accent: #ffbe2e;--accent-hover: #ffcb52;--accent-press: #e8a714;--on-accent: #1a1204;--accent-soft: rgba(255, 190, 46, .14);--accent-glow: rgba(255, 190, 46, .38);--danger: #ff5c7a;--tint-tonic: #ffbe2e;--tint-sub: #3fbfae;--tint-dom: #8b7cf0;--tint-chrom: #ef6292;--safe: #7fb069;--colorful: #8b7cf0;--surprising: #ef6292;--key-white: #2b2535;--key-black: #151020;--k-faceplate-deep: #121016;--k-screw-deep: #060508;--k-boot-well: #171420;--k-boot-case: var(--bg);--k-boot-mark-size: 49px;--k-boot-sq: 10px;--k-boot-sq-r: 2.5px;--k-boot-step: 13px;--k-boot-pulse-delay: 1.1s;--k-boot-wordmark-delay: .65s;--k-boot-line-delay: .94s;--k-scroll-edge: var(--bg)}@media (pointer: coarse){:root{--h-ctl: 38px}}.k-btn,.k-iconbtn{height:var(--h-ctl);display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;background:var(--surface-2);color:var(--text);border:1px solid var(--line);border-radius:var(--r-md);font-family:var(--font-ui);font-size:13px;line-height:1;cursor:pointer;transition:background var(--t-fast) var(--ease),border-color var(--t-fast),transform var(--t-instant),opacity var(--t-fast)}.k-btn:hover,.k-iconbtn:hover{background:var(--hover);border-color:var(--line-strong)}.k-btn:active,.k-iconbtn:active{transform:translateY(1px)}.k-btn:disabled,.k-iconbtn:disabled{opacity:.5;cursor:default;transform:none}.k-btn--accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700}.k-btn--accent:hover{background:var(--accent);border-color:var(--accent);filter:brightness(1.08)}.k-btn--accent:active{background:var(--accent-press)}.k-btn--ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.k-btn--ghost:hover{background:var(--surface-2);border-color:var(--line);color:var(--text)}.k-btn--danger{color:var(--danger)}.k-btn--danger:hover{color:var(--danger);border-color:var(--danger)}.k-iconbtn{width:var(--h-ctl);padding:0;color:var(--text-dim)}.k-iconbtn:hover{color:var(--text)}.k-iconbtn svg{display:block}.k-seg{display:inline-flex;align-items:stretch;border:1px solid var(--line-strong);border-radius:var(--r-md);overflow:hidden;height:var(--h-ctl)}.k-seg__opt{display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:none;border-radius:0;background:transparent;color:var(--text-dim);font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.k-seg__opt+.k-seg__opt{border-left:1px solid var(--line)}.k-seg__opt:hover{background:var(--hover);color:var(--text)}.k-seg__opt--on,.k-seg__opt--on:hover{background:var(--accent);color:var(--on-accent)}.k-seg__opt:active{transform:scale(.97)}.k-input{height:var(--h-ctl);background:var(--surface-2);color:var(--text);border:1px solid var(--line);border-radius:var(--r-md);padding:0 9px;font-family:var(--font-ui);font-size:13px;transition:border-color var(--t-fast) var(--ease),background var(--t-fast)}.k-input:hover{border-color:var(--line-strong)}.k-input:focus{outline:none;border-color:var(--accent)}.k-input--num,.k-input[type=number]{font-family:var(--font-mono);text-align:right}.k-select-wrap{position:relative;display:inline-flex;align-items:center}.k-select{height:var(--h-ctl);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-2);color:var(--text);border:1px solid var(--line);border-radius:var(--r-md);padding:0 26px 0 9px;font-family:var(--font-ui);font-size:13px;cursor:pointer;transition:border-color var(--t-fast) var(--ease),background var(--t-fast)}.k-select:hover{border-color:var(--line-strong)}.k-select:focus{outline:none;border-color:var(--accent)}.k-select-chevron{position:absolute;right:9px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-dim)}.k-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:var(--line-strong);border-radius:3px;cursor:pointer;vertical-align:middle}.k-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:var(--accent);border:none;cursor:pointer;transition:transform var(--t-instant) var(--ease)}.k-slider:active::-webkit-slider-thumb{transform:scale(1.12)}.k-slider::-moz-range-track{height:4px;background:var(--line-strong);border-radius:3px}.k-slider::-moz-range-thumb{width:13px;height:13px;border:none;border-radius:50%;background:var(--accent);cursor:pointer;transition:transform var(--t-instant) var(--ease)}.k-slider:active::-moz-range-thumb{transform:scale(1.12)}.k-microlab{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.k-label-engraved{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint);text-shadow:0 1px 0 rgba(0,0,0,.6)}.k-chip{display:inline-flex;align-items:center;padding:2px 6px;background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.k-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;font-family:var(--font-mono);font-size:11px;color:var(--text);background:var(--surface-3);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:var(--r-sm)}.k-kbd--wide{min-width:64px}.k-toggle{display:inline-flex;align-items:center;gap:7px;min-height:var(--h-ctl);font-family:var(--font-ui);font-size:13px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.k-toggle input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--accent);cursor:pointer}.k-faceplate{position:relative;background:radial-gradient(rgba(255,255,255,.045) .5px,transparent .5px),linear-gradient(180deg,var(--surface-2) 0%,var(--surface-1) 58%,var(--k-faceplate-deep, #0e0e10) 100%);background-size:11px 11px,100% 100%;box-shadow:inset 0 1px #ffffff0f,inset 0 -1px #00000080,0 1px #0006}.k-faceplate:before,.k-faceplate:after{content:"";position:absolute;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:radial-gradient(circle at 38% 32%,var(--line-strong),var(--k-screw-deep, #070605) 75%);box-shadow:inset 0 0 0 .5px #ffffff0f,0 1px #ffffff08;pointer-events:none;z-index:2}.k-faceplate:before{left:7px}.k-faceplate:after{right:7px}.k-brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;color:var(--text)}.k-brand__word{font-family:var(--font-ui);font-weight:700;letter-spacing:.01em;font-size:17px;line-height:1.05;text-transform:lowercase;cursor:pointer;-webkit-user-select:none;user-select:none}.k-brand__word sup{font-family:var(--font-mono);color:var(--accent);font-size:.5em;font-weight:700;vertical-align:super;margin-left:2px;letter-spacing:0}.k-wobble{animation:k-wobble .42s var(--ease-spring)}@keyframes k-wobble{0%{transform:rotate(0) scale(1)}25%{transform:rotate(-6deg) scale(1.08)}55%{transform:rotate(4deg) scale(1.04)}80%{transform:rotate(-2deg) scale(1.01)}to{transform:rotate(0) scale(1)}}.k-mark{color:var(--accent);filter:drop-shadow(0 0 7px color-mix(in srgb,var(--accent) 55%,transparent));animation:k-mark-pulse 3.6s var(--ease) infinite}@keyframes k-mark-pulse{0%,to{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 55%,transparent))}50%{filter:drop-shadow(0 0 9px color-mix(in srgb,var(--accent) 75%,transparent))}}.k-boot-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 50% 42%,var(--k-boot-well, var(--surface-1)) 0%,var(--k-boot-case, #0b0b0b) 72%);cursor:pointer}.k-boot-splash:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(56% 44% at 50% 44%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 70%);animation:k-boot-glow-in .9s var(--ease-out) both}@keyframes k-boot-glow-in{0%{opacity:0}to{opacity:1}}.k-boot-stack{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px}.k-boot-mark{position:relative;width:var(--k-boot-mark-size, 40px);height:var(--k-boot-mark-size, 40px)}.k-boot-mark span{position:absolute;top:0;left:0;width:var(--k-boot-sq, 11px);height:var(--k-boot-sq, 11px);border-radius:var(--k-boot-sq-r, 3px);background:var(--accent);box-shadow:0 0 10px 1px color-mix(in srgb,var(--accent) 60%,transparent),inset 0 1px #ffffff59;animation:k-boot-mark-pop .42s var(--ease-spring) both,k-boot-mark-pulse 3.6s var(--ease) var(--k-boot-pulse-delay, .5s) infinite}.k-boot-mark span:nth-child(2){top:var(--k-boot-step, 14.5px);left:var(--k-boot-step, 14.5px);animation-delay:.15s,calc(var(--k-boot-pulse-delay, .5s) + .15s)}.k-boot-mark span:nth-child(3){top:calc(2 * var(--k-boot-step, 14.5px));left:calc(2 * var(--k-boot-step, 14.5px));animation-delay:.3s,calc(var(--k-boot-pulse-delay, .5s) + .3s)}.k-boot-mark span:nth-child(4){top:calc(3 * var(--k-boot-step, 14.5px));left:calc(3 * var(--k-boot-step, 14.5px));animation-delay:.45s,calc(var(--k-boot-pulse-delay, .5s) + .45s)}@keyframes k-boot-mark-pop{0%{opacity:0;transform:scale(.25)}60%{transform:scale(1.14)}to{opacity:1;transform:scale(1)}}@keyframes k-boot-mark-pulse{0%,to{box-shadow:0 0 9px color-mix(in srgb,var(--accent) 45%,transparent),inset 0 1px #ffffff59}50%{box-shadow:0 0 13px 2px color-mix(in srgb,var(--accent) 75%,transparent),inset 0 1px #ffffff59}}.k-boot-wordmark{font-family:var(--font-ui);font-weight:700;font-size:clamp(28px,6vw,54px);letter-spacing:.01em;text-transform:lowercase;color:var(--text);-webkit-user-select:none;user-select:none;-webkit-mask-image:linear-gradient(90deg,#000,#000);mask-image:linear-gradient(90deg,#000,#000);-webkit-mask-size:0% 100%;mask-size:0% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;animation:k-boot-rise .52s var(--ease-out) var(--k-boot-wordmark-delay, .35s) both,k-boot-sweep .62s var(--ease-out) var(--k-boot-wordmark-delay, .35s) both}.k-boot-wordmark sup{font-family:var(--font-mono);color:var(--accent);font-size:.5em;vertical-align:super;margin-left:4px}@keyframes k-boot-rise{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}@keyframes k-boot-sweep{0%{-webkit-mask-size:0% 100%;mask-size:0% 100%}to{-webkit-mask-size:120% 100%;mask-size:120% 100%}}.k-boot-line{width:150px;height:1px;border-radius:1px;overflow:hidden;background:color-mix(in srgb,var(--accent) 14%,transparent);animation:k-boot-line-in .36s var(--ease-out) var(--k-boot-line-delay, .64s) both}@keyframes k-boot-line-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.k-boot-line-fill{display:block;height:100%;width:100%;background:var(--accent);box-shadow:0 0 7px color-mix(in srgb,var(--accent) 70%,transparent);transform:scaleX(0);transform-origin:left;animation:k-boot-fill 1.32s var(--ease-out) calc(var(--k-boot-line-delay, .64s) + 40ms) both}@keyframes k-boot-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.k-boot--leaving{animation:k-boot-out .46s var(--ease-out) forwards;pointer-events:none}@keyframes k-boot-out{to{opacity:0;transform:scale(1.02)}}@keyframes k-panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.k-scroll{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.k-scroll::-webkit-scrollbar{width:10px;height:10px}.k-scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:6px;border:2px solid var(--k-scroll-edge, transparent)}.k-scroll::-webkit-scrollbar-thumb:hover{background:var(--hover)}.k-scroll::-webkit-scrollbar-track{background:transparent}@media (prefers-reduced-motion: reduce){.k-mark,.k-wobble,.k-boot-splash:after,.k-boot-mark span,.k-boot-wordmark,.k-boot-line,.k-boot-line-fill,.k-boot--leaving{animation:none}.k-boot-wordmark{-webkit-mask-size:120% 100%;mask-size:120% 100%}.k-boot-line-fill{transform:none}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{position:relative;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.028'/%3E%3C/svg%3E");background-size:28px 28px,28px 28px,120px 120px}#root{position:relative;z-index:1}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;touch-action:manipulation}html{-webkit-tap-highlight-color:transparent}input{font:inherit;color:inherit}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}button:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app{display:grid;grid-template-rows:auto 1fr auto;height:100%}.main{display:grid;grid-template-columns:1fr 332px;gap:14px;padding:14px 16px;min-height:0;overflow:hidden}.left-col{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0;overflow-y:auto;padding-right:2px}body.k-booted .appbar{animation:k-panel-in var(--t-base) var(--ease-out) both}body.k-booted .timeline-zone,body.k-booted .empty-state{animation:k-panel-in var(--t-base) var(--ease-out) 50ms both}body.k-booted .suggestions-zone{animation:k-panel-in var(--t-base) var(--ease-out) .1s both}body.k-booted .arr-strip{animation:k-panel-in var(--t-base) var(--ease-out) .15s both}body.k-booted .detail-panel{animation:k-panel-in var(--t-base) var(--ease-out) .2s both}body.k-booted .transport{animation:k-panel-in var(--t-base) var(--ease-out) .25s both}.appbar{height:var(--appbar-h);display:flex;align-items:center;gap:14px;padding:0 22px;z-index:5}.appbar-role{margin-left:-4px;padding-top:3px}.appbar-controls{display:flex;align-items:center;gap:8px;margin-left:10px}.name-input{flex:1;min-width:60px;height:var(--h-ctl);background:transparent;border:1px solid transparent;border-radius:var(--r-md);color:var(--text);font-size:13px;padding:0 9px;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.name-input::placeholder{color:var(--text-faint)}.name-input:hover{border-color:var(--line)}.name-input:focus{outline:none;border-color:var(--accent);background:var(--surface-1)}.appbar-actions{display:flex;align-items:center;gap:6px}.pop-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:45;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:0 12px 28px #00000080,inset 0 1px #ffffff0a;display:flex;flex-direction:column;min-width:148px;overflow:hidden;animation:k-panel-in var(--t-fast) var(--ease-out)}.export-wrap .pop-menu{left:auto;right:0}.pop-menu button{display:flex;align-items:center;gap:8px;height:var(--h-ctl);padding:0 12px;text-align:left;font-size:13px;color:var(--text-dim);white-space:nowrap;transition:background var(--t-instant) var(--ease),color var(--t-instant)}.pop-menu button:hover:not(:disabled){background:var(--hover);color:var(--text)}.pop-menu button:disabled{opacity:.4}.export-wrap{position:relative}.timeline-zone,.suggestions-zone,.arr-strip,.detail-panel{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:inset 0 1px #ffffff0a}.timeline-zone,.suggestions-zone{padding:12px 14px 14px}.zone-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;min-height:var(--h-ctl)}.section-tabs{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.section-tab{position:relative;display:flex;align-items:center;height:var(--h-ctl);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.section-tab:hover{border-color:var(--line-strong);background:var(--hover)}.section-tab.on{border-color:var(--accent);background:var(--surface-2);box-shadow:0 0 0 1px var(--accent),0 0 10px -2px var(--accent-glow)}.section-tab-btn{display:flex;align-items:center;gap:8px;height:100%;padding:0 4px 0 11px;font-size:13px;color:var(--text-dim)}.section-tab.on .section-tab-btn{color:var(--text);font-weight:500}.section-tab-label{text-transform:lowercase}.section-tab-code{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.section-tab.on .section-tab-code{color:var(--accent)}.section-tab-menu{display:inline-flex;align-items:center;height:100%;padding:0 8px 0 2px;color:var(--text-faint);opacity:0;transition:opacity var(--t-fast),color var(--t-fast)}.section-tab:hover .section-tab-menu,.section-tab.on .section-tab-menu{opacity:1}.section-tab-menu:hover{color:var(--text)}.section-tab input{background:transparent;border:none;outline:none;color:var(--text);font-size:13px;padding:0 11px;width:110px;height:100%}.section-tab.add{width:var(--h-ctl);justify-content:center;border-style:dashed;border-color:var(--line-strong);color:var(--text-faint);background:transparent}.section-tab.add:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.timeline{display:flex;gap:9px;flex-wrap:wrap;align-items:stretch}.chord-card{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:96px;min-height:82px;padding:12px 16px 10px;background:linear-gradient(180deg,var(--surface-3) 0%,var(--surface-2) 100%);border:1px solid var(--line);border-bottom:2px solid var(--bg-deep);border-radius:var(--r-md);cursor:pointer;transition:transform var(--t-instant) var(--ease),border-color var(--t-fast) var(--ease),box-shadow var(--t-base) var(--ease);-webkit-user-select:none;user-select:none;box-shadow:inset 0 1px #ffffff0d}.chord-card:before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:2px;border-radius:1px;background:var(--fn-color, var(--text-faint));opacity:.9}.chord-card:hover{border-color:var(--line-strong);border-bottom-color:var(--bg-deep)}.chord-card:active{transform:translateY(1px);border-bottom-width:1px}.chord-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),inset 0 1px #ffffff0d}.chord-card.playing{animation:cardPulse .45s var(--ease-out);border-color:color-mix(in srgb,var(--fn-color, var(--accent)) 65%,transparent);box-shadow:0 0 16px -2px color-mix(in srgb,var(--fn-color, var(--accent)) 45%,transparent),inset 0 1px #ffffff0d}@keyframes cardPulse{0%{transform:scale(1.03)}to{transform:scale(1)}}.fn-tonic{--fn-color: var(--tint-tonic)}.fn-sub{--fn-color: var(--tint-sub)}.fn-dom{--fn-color: var(--tint-dom)}.fn-chrom{--fn-color: var(--tint-chrom)}.chord-card-roman{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--text-faint)}.chord-card-name{font-family:var(--font-ui);font-size:23px;font-weight:700;letter-spacing:-.01em;line-height:1.1}.chord-card-remove{position:absolute;top:4px;right:4px;display:inline-flex;padding:3px;border-radius:var(--r-sm);color:var(--text-faint);opacity:0;transition:opacity var(--t-fast),color var(--t-fast),background var(--t-fast)}.chord-card:hover .chord-card-remove{opacity:1}.chord-card-remove:hover{color:var(--text);background:var(--hover)}.chord-card.ghost{border:1px dashed var(--line-strong);background:transparent;color:var(--text-faint);min-width:56px;box-shadow:none}.chord-card.ghost:before{display:none}.chord-card.ghost:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.midi-banner{display:inline-flex;align-items:center;gap:6px;height:var(--h-ctl);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);color:var(--text);border-radius:var(--r-md);padding:0 12px;font-size:13px;animation:k-panel-in var(--t-base) var(--ease-out)}.midi-banner strong{font-weight:700;color:var(--accent)}.lanes{display:flex;flex-direction:column;gap:10px}.lane{display:grid;grid-template-columns:104px 1fr;align-items:start;gap:10px}.lane-head{display:flex;flex-direction:column;gap:2px;padding-top:7px}.lane-label{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.lane-safe .lane-label{color:var(--safe)}.lane-colorful .lane-label{color:var(--colorful)}.lane-surprising .lane-label{color:var(--surprising)}.lane-tag{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.lane-chips{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0 6px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 46px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 46px),transparent)}.lane-chips::-webkit-scrollbar{display:none}.lane-chips .chip{flex-shrink:0}.chip{height:var(--h-ctl);display:inline-flex;align-items:center;padding:0 12px;font-size:15px;font-weight:500;background:var(--surface-2);border:1px solid var(--line);border-left:2px solid var(--fn-color, var(--line-strong));border-bottom:2px solid var(--bg-deep);border-radius:var(--r-md);transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-instant);animation:k-panel-in var(--t-base) var(--ease-out) backwards}.chip:hover{background:var(--hover);border-color:var(--line-strong);border-left-color:var(--fn-color, var(--line-strong));border-bottom-color:var(--bg-deep)}.chip:active{transform:translateY(1px);border-bottom-width:1px}.chip.small{font-size:13px;padding:0 10px}.arr-strip{display:flex;align-items:center;gap:12px;padding:10px 14px}.arr-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.arr-chip{display:inline-flex;align-items:center;gap:2px;height:24px;padding:0 4px 0 10px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);cursor:grab;transition:border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),box-shadow var(--t-base) var(--ease);-webkit-user-select:none;user-select:none}.arr-chip:hover{border-color:var(--line-strong);color:var(--text)}.arr-chip.playing{border-color:var(--accent);color:var(--accent);box-shadow:0 0 10px -2px var(--accent-glow)}.arr-remove{display:inline-flex;align-items:center;padding:2px;color:var(--text-faint);opacity:0;transition:opacity var(--t-fast)}.arr-chip:hover .arr-remove{opacity:1}.arr-remove:hover{color:var(--text)}.arr-add-wrap{position:relative;display:inline-flex}.arr-chip.add{padding:0 7px;border-style:dashed;border-color:var(--line-strong);background:transparent;cursor:pointer}.arr-chip.add:hover{color:var(--accent);border-color:var(--accent)}.detail-panel{padding:16px;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.detail-panel.empty{align-items:center;justify-content:center}.detail-empty{text-align:center;color:var(--text-faint);max-width:210px;font-size:13px;line-height:1.55}.detail-empty-icon{display:block;font-size:20px;margin-bottom:8px;color:var(--text-faint)}.detail-head{display:flex;flex-direction:column;gap:5px}.detail-name{font-family:var(--font-ui);font-size:37px;font-weight:700;letter-spacing:-.015em;line-height:1.05}.detail-roman{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--fn-color, var(--text-dim))}.detail-live{color:var(--safe)}.detail-hint{font-family:var(--font-mono);font-size:11.5px;line-height:1.6;color:var(--text-dim);background:var(--bg-deep);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;box-shadow:inset 0 1px 3px #00000080}.detail-diagrams{display:flex;flex-direction:column;gap:12px}.piano-diagram{width:100%;height:auto}.pk-white{fill:var(--key-white);stroke:var(--bg-deep);stroke-width:1}.pk-white.on{fill:var(--accent);filter:drop-shadow(0 0 5px var(--accent-glow))}.pk-white.on.bass{fill:var(--tint-dom);filter:drop-shadow(0 0 5px rgba(139,124,240,.4))}.pk-black{fill:var(--key-black);stroke:var(--bg-deep);stroke-width:1}.pk-black.on{fill:var(--accent);filter:drop-shadow(0 0 5px var(--accent-glow))}.pk-black.on.bass{fill:var(--tint-dom)}.pk-label{font-size:10px;fill:var(--text-dim);font-family:var(--font-mono)}.pk-label.dark{fill:var(--on-accent);font-weight:700}.guitar-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}.guitar-diagram{width:142px;height:auto}.gd-string,.gd-fret{stroke:var(--text-faint);stroke-width:1}.gd-nut{fill:var(--text-dim)}.gd-dot{fill:var(--accent)}.gd-finger{font-size:10px;fill:var(--on-accent);font-weight:700;font-family:var(--font-mono)}.gd-barre{fill:var(--accent);opacity:.85}.gd-mute{font-size:12px;fill:var(--text-faint)}.gd-open{fill:none;stroke:var(--text-dim);stroke-width:1.5}.gd-fretnum{font-size:10px;fill:var(--text-dim);font-family:var(--font-mono)}.no-shape{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);text-align:center;padding:10px}.swaps{display:flex;flex-direction:column;gap:9px;padding-top:10px;border-top:1px solid var(--line)}.swap-chips{display:flex;flex-wrap:wrap;gap:6px}.transport{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;padding:12px 22px;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--surface-1) 0%,var(--k-faceplate-deep) 100%);box-shadow:inset 0 1px #ffffff0a}.play-btn{width:44px;height:40px;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);border-bottom:3px solid var(--accent-press);border-radius:var(--r-md);transition:filter var(--t-fast) var(--ease),transform var(--t-instant);box-shadow:0 0 14px -4px var(--accent-glow),inset 0 1px #ffffff59}.play-btn:hover:not(:disabled){filter:brightness(1.07)}.play-btn:active{transform:translateY(1px);border-bottom-width:2px}.play-btn.on{background:var(--surface-3);color:var(--text);border-color:var(--line-strong);border-bottom-color:var(--bg-deep);box-shadow:inset 0 1px #ffffff0f}.play-btn:disabled{opacity:.35;box-shadow:none}.loop-toggle{height:var(--h-ctl);display:inline-flex;align-items:center;gap:6px;padding:0 11px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);transition:border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.loop-toggle:hover{border-color:var(--line-strong);color:var(--text)}.loop-toggle.song{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:var(--accent-soft)}.beat-dots{display:flex;gap:6px}.beat-dot{width:6px;height:6px;border-radius:2px;background:var(--line-strong);transition:background var(--t-instant) ease-out,box-shadow var(--t-instant) ease-out}.beat-dot.on{background:var(--accent);box-shadow:0 0 7px var(--accent-glow)}.tempo-ctl{display:flex;align-items:center;gap:9px;flex:0 1 210px;min-width:140px}.tempo-ctl .k-slider{flex:1}.tempo-readout{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--text);min-width:30px;text-align:right;font-variant-numeric:tabular-nums}.ctl-group{display:flex;align-items:center;gap:8px}.vol-ctl{display:flex;align-items:center;gap:8px;color:var(--text-dim)}.vol-ctl .k-slider{width:84px}.midi-status{margin-left:auto;display:flex;align-items:center;gap:7px}.midi-dot{width:7px;height:7px;border-radius:2px;background:var(--text-faint);opacity:.5}.midi-status.on .midi-dot{background:var(--safe);opacity:1;box-shadow:0 0 7px #7fb0698c}.midi-status.on .midi-label{color:var(--safe)}.key-picker{position:relative}.key-btn{gap:7px}.key-btn-value{text-transform:lowercase}.key-caret{color:var(--text-faint)}.key-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:40;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:0 12px 28px #00000080,inset 0 1px #ffffff0a;padding:12px;display:flex;flex-direction:column;gap:10px;animation:k-panel-in var(--t-fast) var(--ease-out)}.key-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.key-cell{height:var(--h-ctl);width:42px;font-family:var(--font-mono);font-size:12px;border-radius:var(--r-sm);color:var(--text-dim);transition:background var(--t-instant) var(--ease),color var(--t-instant)}.key-cell:hover{background:var(--hover);color:var(--text)}.key-cell.on{background:var(--accent);color:var(--on-accent);font-weight:700}.mode-seg{display:flex;border:1px solid var(--line-strong);border-radius:var(--r-md);overflow:hidden;height:var(--h-ctl)}.mode-seg .seg{flex:1;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);transition:background var(--t-fast) var(--ease),color var(--t-fast)}.mode-seg .seg+.seg{border-left:1px solid var(--line)}.mode-seg .seg:hover{background:var(--hover);color:var(--text)}.mode-seg .seg.on{background:var(--accent);color:var(--on-accent)}.key-note{text-align:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#060509b8;display:grid;place-items:center;animation:fadeIn var(--t-base) var(--ease-out);padding:24px}.modal-backdrop.light{place-items:start center;padding-top:14vh}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface-1);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:0 24px 60px #0009,inset 0 1px #ffffff0d;padding:22px 24px;max-width:700px;width:100%;max-height:82vh;overflow-y:auto;animation:k-panel-in var(--t-base) var(--ease-out);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.modal-title{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:700;letter-spacing:-.01em;margin-bottom:16px}.mood-led{display:inline-block;width:9px;height:9px;border-radius:2.5px;box-shadow:0 0 8px -1px currentColor,inset 0 1px #ffffff59}.mood-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:9px}.mood-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:14px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),transform var(--t-instant)}.mood-card:hover{border-color:var(--accent);background:var(--hover)}.mood-card:active{transform:translateY(1px)}.mood-label{font-size:15px;font-weight:700}.mood-blurb{font-size:11.5px;color:var(--text-dim);line-height:1.45;text-transform:lowercase}.mood-seed-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.mood-seed-head .modal-title{margin:0}.seed-list{display:flex;flex-direction:column;gap:8px}.seed-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-base) var(--ease)}.seed-card:hover{border-color:var(--line-strong)}.seed-card.previewing{border-color:var(--accent);box-shadow:0 0 14px -4px var(--accent-glow)}.seed-info{display:flex;flex-direction:column;gap:7px;min-width:0}.seed-key{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.seed-chips{display:flex;flex-wrap:wrap;gap:5px}.seed-chip{font-size:14px;font-weight:500;padding:3px 9px;background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-sm)}.seed-actions{display:flex;gap:6px;flex-shrink:0}.save-row{display:flex;gap:8px;margin-bottom:16px}.save-row input{flex:1}.library-empty{color:var(--text-faint);text-align:center;padding:26px 0;font-size:13px}.library-list{list-style:none;display:flex;flex-direction:column;gap:8px}.library-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md)}.library-info{display:flex;flex-direction:column;gap:3px;min-width:0}.library-name{font-size:15px;font-weight:700}.library-meta{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.library-chords{font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-actions{display:flex;gap:2px;flex-shrink:0}.search-holder{width:min(460px,92vw)}.chord-search{background:var(--surface-1);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:0 24px 60px #0009,inset 0 1px #ffffff0d;padding:14px;display:flex;flex-direction:column;gap:10px;animation:k-panel-in var(--t-base) var(--ease-out)}.chord-search input{height:36px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:0 12px;font-size:15px}.chord-search input:focus{outline:none;border-color:var(--accent)}.chord-search input.shake{animation:shake .35s;border-color:var(--danger)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.chord-search-preview{min-height:18px;font-size:13px;display:flex;align-items:center}.chord-search-preview .ok{color:var(--safe);font-size:15px;font-weight:700}.chord-search-preview .bad{color:var(--text-faint)}.hint-text{letter-spacing:.08em}.quick-grid{display:flex;flex-wrap:wrap;gap:6px}.quick-chord{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 11px;background:var(--surface-2);border:1px solid var(--line);border-bottom:2px solid var(--bg-deep);border-radius:var(--r-md);font-size:14px;font-weight:500;transition:border-color var(--t-fast) var(--ease),background var(--t-fast)}.quick-chord:hover{border-color:var(--accent);background:var(--hover)}.quick-chord:active{transform:translateY(1px);border-bottom-width:1px}.quick-roman{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.1em;color:var(--text-faint)}.empty-state{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:inset 0 1px #ffffff0a;padding:34px 20px;text-align:center}.empty-title{font-size:24px;font-weight:700;letter-spacing:-.01em;margin-bottom:22px}.entry-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;max-width:700px;margin:0 auto}.entry-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;padding:16px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),transform var(--t-instant);cursor:pointer}.entry-card:hover:not(.passive){border-color:var(--accent);background:var(--hover)}.entry-card:active:not(.passive){transform:translateY(1px)}.entry-card.passive{cursor:default;border-style:dashed}.entry-card.passive.live{border-color:var(--safe);border-style:solid}.entry-icon{color:var(--accent)}.entry-label{font-size:15px;font-weight:700}.entry-blurb{font-size:12px;color:var(--text-dim);line-height:1.5}.kbd-hints{margin-top:auto;padding:12px 4px 2px;text-align:center;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;letter-spacing:.08em}.kbd-hints .k-kbd{height:18px;min-width:18px;font-size:9px}.toast{position:fixed;bottom:86px;left:50%;transform:translate(-50%);z-index:60;background:var(--surface-3);color:var(--text);border:1px solid var(--line-strong);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;padding:8px 16px;border-radius:var(--r-md);box-shadow:0 12px 28px #00000080,inset 0 1px #ffffff0d;animation:k-panel-in var(--t-base) var(--ease-out);max-width:80vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1280px){.main{grid-template-columns:1fr 296px}}@media (max-width: 900px){body{overflow:auto}.app{height:auto;min-height:100dvh}.main{grid-template-columns:1fr;overflow:visible;padding-bottom:calc(150px + env(safe-area-inset-bottom))}.left-col{overflow:visible}.detail-panel{order:2}.midi-status{margin-left:0}.appbar{height:auto;flex-wrap:wrap;padding:calc(8px + env(safe-area-inset-top)) 22px 8px;row-gap:4px}.name-input{order:10;flex-basis:100%}.transport{position:fixed;left:0;right:0;bottom:0;z-index:30;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-1) 96%,transparent) 0%,var(--k-faceplate-deep) 100%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toast{bottom:calc(160px + env(safe-area-inset-bottom))}}@media (max-width: 640px){.appbar{gap:8px;padding-left:16px;padding-right:12px}.appbar-role,.appbar .k-btn .lbl{display:none}.appbar-controls{margin-left:auto}.name-input{order:10;flex-basis:100%;height:auto;font-size:22px;font-weight:700;letter-spacing:-.015em;padding:2px 0 6px;border:none;border-radius:0}.name-input:focus{background:transparent;border:none}.main{padding:4px 0 calc(132px + env(safe-area-inset-bottom));gap:0}.left-col{gap:22px}.timeline-zone,.suggestions-zone,.arr-strip,.empty-state{background:transparent;border:none;box-shadow:none;border-radius:0;padding:0 16px}.zone-head{margin-bottom:8px}.section-tabs,.timeline,.lane-chips,.arr-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px;scroll-padding:0 16px}.section-tabs::-webkit-scrollbar,.timeline::-webkit-scrollbar,.lane-chips::-webkit-scrollbar,.arr-chips::-webkit-scrollbar{display:none}.timeline{gap:10px;padding-top:4px;padding-bottom:10px;scroll-snap-type:x proximity}.chord-card{scroll-snap-align:start;min-width:112px;min-height:104px;flex-shrink:0}.chord-card-name{font-size:28px}.chord-card-roman{font-size:11px}.chord-card-nudge{display:none!important}.timeline .chord-card.ghost{min-width:64px}.lane{grid-template-columns:1fr;gap:6px}.lane-head{flex-direction:row;align-items:baseline;gap:8px;padding-top:0}.lane-chips{padding-bottom:4px}.lane-chips .chip{flex-shrink:0;font-size:17px}.lanes{gap:14px}.detail-panel{background:transparent;border:none;box-shadow:none;padding:0 4px;overflow:visible}.detail-name{font-size:44px}.transport{gap:10px;padding:0 14px calc(10px + env(safe-area-inset-bottom))}.readout-strip{display:block}.tempo-ctl,.ctl-group,.vol-ctl{display:none}.sound-btn{display:inline-flex}.midi-status{display:none}.midi-status.on{display:flex}.midi-status.on .midi-label{display:none}.play-btn{width:52px;height:44px}.beat-dots{margin-left:auto}.modal-backdrop{padding:0;align-items:end}.modal{max-height:92dvh;padding:20px 16px calc(16px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;border-left:none;border-right:none;border-bottom:none;animation:m-sheet-up .3s var(--ease-out)}.modal-backdrop.light{align-items:start;padding:8dvh 8px 0}.modal-backdrop.light .chord-search{border-radius:var(--r-lg)}.seed-card{flex-direction:column;align-items:stretch;gap:10px}.seed-actions{justify-content:flex-end}.library-row{flex-direction:column;align-items:stretch;gap:8px}.library-actions{justify-content:flex-end;flex-wrap:wrap}.kbd-hints{display:none}}.readout-strip{display:none;flex-basis:100%;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--text-dim);background:var(--bg-deep);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:inset 0 1px 3px #00000080;padding:7px 10px;margin-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.readout-strip.live{color:var(--accent)}.m-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#06050999;animation:fadeIn .2s var(--ease-out)}.m-sheet-backdrop.closing{animation:m-fade-out .22s var(--ease) forwards}@keyframes m-fade-out{to{opacity:0}}.m-sheet{position:absolute;left:0;right:0;bottom:0;max-height:86dvh;display:flex;flex-direction:column;background:var(--surface-1);border-top:1px solid var(--line-strong);border-radius:14px 14px 0 0;box-shadow:0 -18px 50px #0000008c,inset 0 1px #ffffff0d;animation:m-sheet-up .3s var(--ease-out);transition:transform .2s var(--ease-out);touch-action:none}.m-sheet.closing{animation:m-sheet-down .22s var(--ease) forwards}@keyframes m-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes m-sheet-down{to{transform:translateY(100%)}}.m-sheet-handle{padding:9px 0 5px;display:grid;place-items:center;cursor:grab;flex-shrink:0}.m-sheet-grabber{width:38px;height:4px;border-radius:2px;background:var(--line-strong)}.m-sheet-body{overflow-y:auto;padding:4px 16px calc(20px + env(safe-area-inset-bottom));touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}body.sheet-open{overflow:hidden}.sheet-toolbar{display:flex;align-items:center;gap:8px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--line)}.sheet-toolbar .k-iconbtn{background:var(--surface-2);border:1px solid var(--line)}.sheet-toolbar-gap{flex:1}.sound-sheet{display:flex;flex-direction:column;gap:16px;padding-top:4px}.sound-sheet-head{padding-bottom:2px}.sound-row{display:flex;flex-direction:column;gap:7px}.sound-row .k-seg{display:flex}.sound-row .k-seg .k-seg__opt{flex:1}.sound-slider{display:flex;align-items:center;gap:12px}.sound-slider .k-slider{flex:1}@media (pointer: coarse){.chord-card-remove,.arr-remove,.section-tab-menu{opacity:1}.kbd-hints{display:none}.name-input,.chord-search input,.save-row input,.section-tab input{font-size:16px}.chip,.chord-card,.quick-chord{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.chord-card{min-height:92px}}.chord-card-nudge{position:absolute;bottom:-13px;left:50%;transform:translate(-50%);display:none;gap:4px;z-index:3}.chord-card-nudge button{display:grid;place-items:center;width:26px;height:26px;background:var(--surface-3);color:var(--text-dim);border:1px solid var(--line-strong);border-radius:999px;box-shadow:0 3px 8px #00000073}.chord-card-nudge button:disabled{opacity:.35}.chord-card-nudge button:active{color:var(--accent);border-color:var(--accent)}@media (pointer: coarse){.chord-card-nudge{display:inline-flex}.timeline{padding-bottom:14px}}@media (max-width: 640px){.readout-strip{display:block}}.chord-card.trial-card{border:1.5px dashed var(--accent);border-bottom:2px solid var(--accent-press);background:linear-gradient(180deg,var(--accent-soft),var(--surface-2) 80%);animation:trial-breathe 1.8s var(--ease) infinite;padding-bottom:16px}@keyframes trial-breathe{0%,to{box-shadow:0 0 10px -3px var(--accent-glow),inset 0 1px #ffffff0d}50%{box-shadow:0 0 18px -2px var(--accent-glow),inset 0 1px #ffffff0d}}.chord-card.trial-card .chord-card-roman{color:var(--accent)}.trial-actions{position:absolute;bottom:-13px;left:50%;transform:translate(-50%);display:inline-flex;gap:5px;z-index:3}.trial-actions button{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;border:1px solid var(--line-strong);box-shadow:0 3px 8px #00000073}.trial-actions .trial-keep{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.trial-actions .trial-keep:active{background:var(--accent-press)}.trial-actions .trial-discard{background:var(--surface-3);color:var(--text-dim)}.trial-actions .trial-discard:active{color:var(--danger);border-color:var(--danger)}.timeline{padding-bottom:16px}.chip.armed{border-color:var(--accent);border-left-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 10px -3px var(--accent-glow);color:var(--accent)}@media (pointer: coarse){.trial-actions button{width:32px;height:32px}.chord-card.trial-card{padding-bottom:18px}}.sculpt-strip{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:inset 0 1px #ffffff0a;padding:12px 14px;display:flex;flex-direction:column;gap:8px;animation:k-panel-in var(--t-base) var(--ease-out)}.sculpt-strip .zone-head{margin-bottom:0;min-height:auto}.sculpt-actions{display:inline-flex;gap:6px}.sculpt-actions button{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:999px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-strong)}.sculpt-actions .trial-keep{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.sculpt-actions .trial-discard{background:var(--surface-3);color:var(--text-dim);padding:0 8px}.sculpt-row{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}.sculpt-row::-webkit-scrollbar{display:none}.sculpt-chip{flex-shrink:0;height:26px;display:inline-flex;align-items:center;padding:0 9px;font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.05em;color:var(--text-dim);background:var(--surface-2);border:1px solid var(--line);border-bottom:2px solid var(--bg-deep);border-radius:var(--r-sm);transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.sculpt-chip:hover{color:var(--text);border-color:var(--line-strong);border-bottom-color:var(--bg-deep)}.sculpt-chip:active{transform:translateY(1px);border-bottom-width:1px}.sculpt-chip.armed{color:var(--on-accent);background:var(--accent);border-color:var(--accent);border-bottom-color:var(--accent-press)}.sculpt-chip.nudge{padding:0 6px}.sculpt-divider{flex-shrink:0;width:1px;height:16px;background:var(--line-strong);margin:0 3px}.sculpt-row-label{flex-shrink:0;margin-right:3px}@media (max-width: 640px){.sculpt-strip{background:transparent;border:none;box-shadow:none;border-radius:0;padding:0 16px}.sculpt-row{margin:0 -16px;padding-left:16px;padding-right:16px}.m-sheet-body .sculpt-strip{padding:0 0 12px;border-bottom:1px solid var(--line);margin-bottom:12px}.m-sheet-body .sculpt-row{margin:0;padding-left:0}}@media (pointer: coarse){.sculpt-chip{height:34px;padding:0 12px;font-size:11.5px}.sculpt-actions button{height:32px}}.voice-grid{display:flex;flex-wrap:wrap;gap:6px}.voice-grid .sculpt-chip{height:34px;padding:0 13px}
