:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#e2e8f0;background:radial-gradient(circle at 20% 10%,#1e293b,#0b1020 45%,#020617);line-height:1.4;--pattern-editor-frame-height: 18.2rem;--pattern-editor-stage-height: 19.2rem}*{box-sizing:border-box}body{margin:0;background:#020617;overflow:hidden}html,body,#root{height:100%}button,input,select{font:inherit}.app-shell{height:100dvh;max-height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.topbar{padding:.75rem;background:#0f172ad1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #334155;display:grid;gap:.5rem}.topbar-brand{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.topbar-logo{width:1.6rem;height:1.6rem;object-fit:contain;border-radius:.35rem;flex:0 0 auto}.topbar h1{margin:0;font-size:1rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-controls{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.top-controls button{border:1px solid #475569;background:#111827;color:#e2e8f0;border-radius:.5rem;padding:.35rem .7rem}.mobile-new-song-row,.mobile-new-song-inline{display:none}.save-song-button{display:inline-flex;align-items:center;gap:.28rem}.save-song-button.icon-only{min-width:0;justify-content:center;padding-left:.7rem;padding-right:.7rem}.save-song-icon{font-size:.95em;line-height:1}.control-group{display:inline-flex;gap:.4rem;align-items:center}.controls-divider{width:1px;height:1.7rem;background:#334155;opacity:.9}.ai-dock-button{margin-left:auto;border-color:#16a34a;background:#22c55e;color:#fff;font-weight:600}.status-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.85rem}.status-row label{display:flex;align-items:center;gap:.4rem}.tempo-value-input{width:3.25rem;min-width:3.25rem;text-align:right;font-variant-numeric:tabular-nums}.tempo-value-input{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;border:1px solid #475569;background:#0b1220;color:#e2e8f0;border-radius:.4rem;padding:.1rem .35rem}.tempo-value-input::-webkit-outer-spin-button,.tempo-value-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.status-row .master-volume{min-width:14rem}.panel{padding:0;overflow:hidden;min-height:0}.workspace{display:grid;gap:.75rem;height:100%;min-height:0}.main-view{min-width:0;min-height:0;height:100%;overflow:auto;padding:.65rem}.sound-column{border:1px solid #334155;background:#0b1223;border-radius:.65rem;padding:.65rem;min-height:0;overflow:auto;overflow-x:hidden}.sound-column h2{margin:0}.sound-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.sound-sheet-title-block{min-width:0;display:grid;gap:.3rem}.sound-track-name-row{min-width:0;display:inline-flex;align-items:center;gap:.35rem}.sound-track-title{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sound-track-rename-button{border:1px solid #334155;background:#0f172a;color:#e2e8f0;border-radius:.45rem;min-width:1.8rem;min-height:1.8rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.sound-track-rename-button:hover{border-color:#64748b;background:#172036}.sound-track-name-input{width:min(16rem,100%);border:1px solid #64748b;background:#111827;color:#e2e8f0;border-radius:.45rem;padding:.28rem .5rem}.sound-sheet-close{display:none;border:1px solid #475569;background:#111827;color:#e2e8f0;border-radius:.45rem;padding:.25rem .5rem}.sound-sheet-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;border:0;background:#0206178c}.preset-select{display:grid;gap:.35rem;margin-bottom:.65rem}.preset-select span{font-size:.82rem;color:#cbd5e1}.preset-select select{border:1px solid #475569;background:#111827;color:#e2e8f0;border-radius:.45rem;min-height:2rem;padding:.25rem .5rem}.osc-controls{display:grid;gap:.42rem;margin-bottom:.55rem}.osc-controls label{display:grid;grid-template-columns:4.5rem minmax(0,1fr) 2.7rem;gap:.4rem;align-items:center}.osc-controls label.waveform-row{grid-template-columns:4.5rem minmax(0,1fr)}.osc-controls select,.osc-controls input[type=range]{width:100%;min-width:0;border:1px solid #475569;background:#111827;color:#e2e8f0;border-radius:.45rem}.osc-controls label span:last-child{text-align:right;font-variant-numeric:tabular-nums;font-size:.76rem}.sound-card-section{margin-bottom:.55rem}.section-toggle{width:100%;border:1px solid #475569;background:#111827;color:#e2e8f0;border-radius:.45rem;min-height:2rem;padding:.3rem .55rem;text-align:center}.section-toggle.open{border-color:#16a34a;background:#0f2233}.adsr-editor{border:1px solid #1f3b2c;border-radius:.55rem;background:#0d1b13;padding:.45rem;margin-bottom:.55rem}.adsr-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.74rem;color:#cbd5e1;margin-bottom:.35rem}.adsr-svg{width:100%;height:9.6rem;display:block;touch-action:none;border-radius:.4rem}.adsr-bg{fill:#040a07}.adsr-axis{stroke:#334155;stroke-width:1.4}.adsr-fill{fill:#22c55e2e}.adsr-line{fill:none;stroke:#4ade80;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.adsr-hit{fill:#f8fafc;stroke:#22c55e;stroke-width:2;cursor:pointer}.filter-pad{border:1px solid #1f3b2c;border-radius:.55rem;background:#0d1b13;padding:.45rem;margin-bottom:.55rem}.filter-pad-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.74rem;color:#cbd5e1;margin-bottom:.35rem}.filter-pad-svg{width:100%;height:9.6rem;display:block;touch-action:none;border-radius:.4rem}.filter-pad-bg{fill:#040a07}.filter-axis{stroke:#334155;stroke-width:1.4}.filter-curve{fill:none;stroke:#4ade80;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.filter-handle{fill:#f8fafc;stroke:#22c55e;stroke-width:2}.mod-pads{display:grid;gap:.45rem}.mod-pad-card{border:1px solid #1f3b2c;border-radius:.55rem;background:#0d1b13;padding:.35rem}.mod-pad-title{font-size:.73rem;color:#cbd5e1;margin-bottom:.25rem}.mod-pad-svg{width:100%;height:7.8rem;display:block;border-radius:.4rem;touch-action:none}.mod-pad-bg{fill:#040a07}.mod-pad-axis{stroke:#334155;stroke-width:1.3}.mod-pad-cross{stroke:#4ade8066;stroke-width:1.1}.mod-pad-handle{fill:#f8fafc;stroke:#22c55e;stroke-width:2}.mod-pad-label{font-size:11px;fill:#94a3b8}.timeline-row{margin-bottom:.6rem;display:grid;grid-template-columns:6rem minmax(0,1fr);gap:.45rem;align-items:center;position:relative;z-index:1}.timeline-row:last-child{margin-bottom:0}.timeline-row.muted{background:#02061761;border-radius:.4rem}.timeline-rows-wrap{position:relative;overflow:hidden}.timeline-loop-strip-shell{margin-top:.42rem;padding:.05rem}.timeline-loop-strip-row{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:.45rem;flex-shrink:0}.timeline-loop-strip-row .timeline-loop-strip-shell{grid-column:2;margin-top:.36rem}.timeline-loop-strip{position:relative;height:1.5rem;border-radius:999px;border:0;background:transparent;overflow:hidden;touch-action:none}.timeline-loop-strip-inner{position:absolute;top:0;bottom:0;left:0;background:transparent}.timeline-loop-strip-active-hit{position:absolute;top:0;bottom:0}.timeline-loop-strip-active{position:absolute;top:50%;transform:translateY(-50%);height:.92rem;left:0;right:0;border-radius:999px;background:#4ade802e;border:1px solid rgba(74,222,128,.78);box-shadow:0 0 8px #4ade8038;min-width:.92rem}.timeline-loop-strip-resize-hit{position:absolute;top:0;bottom:0;background:transparent;z-index:3}.timeline-dock{position:relative;padding:.55rem .75rem .65rem;border-top:1px solid #334155;background:#0f172aeb;height:clamp(8.5rem,30dvh,12rem);max-height:32dvh;overflow:hidden;min-height:0;display:flex;flex-direction:column}.timeline-content{position:relative;z-index:1;flex:1;min-height:0;overflow:auto}.timeline-dock.bar-action-mode .timeline-content{filter:blur(3px);opacity:.38;pointer-events:none;-webkit-user-select:none;user-select:none}.timeline-bar-action-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:0;padding:0;background:#0206172e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:24}.timeline-bar-action-bubbles{position:fixed;left:50%;top:clamp(4.5rem,var(--timeline-action-y, 50vh),calc(100vh - .8rem));transform:translate(-50%,-108%);display:grid;gap:.45rem;padding:.56rem;border-radius:.9rem;border:1px solid rgba(100,116,139,.75);background:#0f172af2;box-shadow:0 14px 28px #02061770;z-index:25;width:min(18.5rem,calc(100vw - 1rem))}.timeline-pattern-wheel-shell{display:grid;gap:.28rem}.timeline-pattern-wheel-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;text-align:center}.timeline-pattern-wheel-wrap{position:relative;border-radius:.65rem;border:1px solid rgba(71,85,105,.78);background:#0b1220;overflow:hidden}.timeline-pattern-wheel-wrap:after{content:"";position:absolute;left:.25rem;right:.25rem;top:50%;height:1.64rem;transform:translateY(-50%);border-radius:.5rem;border:1px solid rgba(74,222,128,.34);background:#08261747;pointer-events:none}.timeline-pattern-wheel{height:7.3rem;overflow-y:auto;scroll-snap-type:y mandatory;padding:2.85rem .3rem;scrollbar-width:none}.timeline-pattern-wheel::-webkit-scrollbar{display:none}.timeline-pattern-wheel button{width:100%;min-height:1.62rem;border-radius:.5rem;border:1px solid transparent;background:transparent;color:#cbd5e1;font-size:.8rem;font-variant-numeric:tabular-nums;scroll-snap-align:center}.timeline-pattern-option-content{display:inline-grid;grid-template-columns:auto auto;align-items:center;justify-content:start;gap:.42rem;width:auto;max-width:100%}.timeline-pattern-mini-preview{display:inline-flex;align-items:stretch;justify-content:stretch;width:4.6rem;min-width:4.6rem;height:1.18rem;padding:.12rem;border-radius:.24rem;border:1px solid rgba(31,59,44,.86);background:#06100ad1;box-shadow:inset 0 0 0 1px #07120cb8}.timeline-pattern-mini-preview svg{width:100%;height:100%;display:block}.timeline-pattern-mini-preview rect{shape-rendering:auto}.timeline-pattern-mini-preview rect.synth{fill:#4ade80d1}.timeline-pattern-mini-preview rect.drum{fill:#4ade80ad}.timeline-pattern-option-id{min-width:1.2rem;text-align:right}.timeline-pattern-wheel button.active{border-color:#4ade8080;background:#08261780;color:#dcfce7}.timeline-bar-action-button-row{display:flex;gap:.42rem;justify-content:center;flex-wrap:wrap}.timeline-bar-action-button-row button{min-height:1.8rem;padding:.28rem .62rem;border-radius:999px;border:1px solid #475569;background:#09130e;color:#e2e8f0;font-size:.74rem}.timeline-bar-action-button-row button:disabled{opacity:.45;color:#94a3b8}.timeline-mobile-add-track-menu{position:fixed;left:50%;bottom:max(.75rem,env(safe-area-inset-bottom));transform:translate(-50%);display:grid;gap:.45rem;padding:.56rem;border-radius:.9rem;border:1px solid rgba(31,59,44,.9);background:#06100af5;box-shadow:0 14px 28px #02061770;z-index:25;width:min(18.5rem,calc(100vw - 1rem))}.timeline-mobile-add-track-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#b9d8c7;text-align:center}.timeline-controls{display:grid;gap:.4rem;margin-bottom:.6rem;padding-bottom:.1rem}.timeline-mobile-strip{display:none}.timeline-toggle-button{border:1px solid #475569;background:#0a1510;color:#e2e8f0;border-radius:.4rem;padding:.2rem .45rem;min-height:1.6rem;white-space:nowrap}.timeline-lock-toggle{border:1px solid #475569;background:#0a1510;color:#e2e8f0;border-radius:.4rem;min-height:1.6rem;min-width:1.9rem;padding:0 .38rem;line-height:1;font-size:.78rem}.timeline-lock-toggle.on{border-color:#4ade80;background:#0a2a17;color:#e2e8f0}.timeline-controls-left,.timeline-controls-center,.timeline-controls-right{display:flex;gap:.4rem;align-items:center;min-width:0}.timeline-controls-left{flex-wrap:nowrap;overflow-x:auto}.timeline-controls-center{justify-content:center}.timeline-controls-right{justify-content:flex-end;overflow-x:auto}.timeline-controls span{font-size:.82rem;white-space:nowrap;flex:0 0 auto}.timeline-controls label{display:flex;align-items:center;gap:.35rem;font-size:.82rem;white-space:nowrap;flex:0 0 auto}.timeline-controls select,.timeline-controls button{border:1px solid #475569;background:#0a1510;color:#e2e8f0;border-radius:.45rem;min-height:2rem;padding:.25rem .5rem;flex:0 0 auto}.lock-active-button.on{border-color:#4ade80;background:#0a2a17;color:#e2e8f0}.timeline-track-label{font-size:.78rem;color:#94a3b8;text-align:left;padding-left:.2rem;white-space:nowrap;display:inline-flex;align-items:center;justify-content:flex-start;gap:.3rem}.timeline-track-label.active{color:#e2e8f0;font-weight:600}.timeline-track-open-sound{border:1px solid #23364b;background:#0b1220;color:#dbeafe;border-radius:.4rem;padding:.12rem .38rem;margin:0;text-align:left;white-space:nowrap;cursor:pointer}.timeline-track-open-sound:hover{border-color:#3b82f6;background:#13203a}.timeline-track-label.active .timeline-track-open-sound{border-color:#60a5fa;background:#172554;color:#eff6ff}.mute-toggle{border:1px solid #1f3b2c;background:#0a1510;color:#e7fff0;border-radius:.35rem;min-width:1.25rem;min-height:1.25rem;padding:0;font-size:.72rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.mute-toggle.muted{border-color:#f97316;color:#f97316}.bar-grid{overflow-x:auto;overflow-y:hidden;padding-bottom:.1rem;-ms-overflow-style:none;scrollbar-width:none}.bar-grid::-webkit-scrollbar{display:none}.bar-grid-inner{display:grid;gap:.3rem;position:relative;padding-left:.2rem;padding-right:.2rem;min-width:100%}.timeline-loop-mask{position:absolute;top:0;bottom:0;background:#02061757;pointer-events:none;z-index:2}.timeline-loop-mask.left,.timeline-loop-mask.right{left:0}.bar-cell{min-height:1.55rem;border:1px solid #475569;border-radius:.4rem;background:#09130e;color:#d8f2e2;font-size:.72rem;padding:.1rem .2rem;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-variant-numeric:tabular-nums}.bar-cell.assigned{background:#102116;border-color:#2e5a42;color:#e7fff0}.bar-cell.active{border-color:#eab308b8;background:#78580a47;color:#fef9c3}.bar-cell.unassigned{background:#070f0b;color:#6b8f7b;border-color:#1f3b2c}.bar-cell.unassigned.active{background:#2f3a11;color:#e8efb6}.timeline-global-sweep{position:absolute;top:0;bottom:.62rem;width:2px;background:#4ade80;box-shadow:0 0 10px #4ade80bf;transform:translate(-1px);pointer-events:none;z-index:4;transition:none}.timeline-add-bars-tail{position:absolute;top:0;bottom:.75rem;height:auto;max-height:none;width:.9rem;border:1px solid #1f3b2c;border-radius:.35rem;background:#143222;color:#e7fff0;font-weight:700;font-size:.72rem;line-height:1;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center;z-index:5;padding:.12rem 0;box-sizing:border-box;overflow:hidden}.step-grid{display:grid;gap:.25rem}.step-grid-editor{position:relative;--row-label-width: 2.8rem;--row-gap: .2rem}.step-grid-editor.synth-editor{--row-gap: 0rem}.pattern-editor-stage{height:var(--pattern-editor-stage-height);min-height:var(--pattern-editor-stage-height);display:grid;align-items:center}.pattern-editor-stage>*{width:100%}.editor-sweep{position:absolute;top:-.05rem;bottom:-.05rem;width:2px;background:#f97316;box-shadow:0 0 10px #f97316a6;pointer-events:none;z-index:3;transition:left 60ms linear;left:calc(var(--row-label-width) + var(--row-gap) + (var(--play-step) * ((100% - var(--row-label-width) - (16 * var(--row-gap))) / 16 + var(--row-gap))))}.octave-shell{display:grid;gap:.25rem}.octave-editor-shell{display:grid;grid-template-columns:minmax(0,1fr) 2.35rem;gap:.28rem;align-items:stretch}.octave-grid-viewport{display:grid;overflow:hidden;min-height:var(--pattern-editor-frame-height);perspective:780px;transform:translateY(calc(var(--octave-scrub-offset, 0px) * -.45));transition:transform 80ms linear}.step-grid-editor.drum-editor{align-content:start}.octave-grid-viewport .octave-layer{grid-area:1 / 1;backface-visibility:hidden}.octave-grid-viewport.octave-transition .octave-layer{pointer-events:none}.octave-grid-viewport.octave-transition.dir-up .octave-layer.new{transform:translateY(-100%) rotateX(-16deg)}.octave-grid-viewport.octave-transition.dir-down .octave-layer.new{transform:translateY(100%) rotateX(16deg)}.octave-grid-viewport.octave-transition.running .octave-layer{transition:transform .21s cubic-bezier(.18,.74,.2,1);will-change:transform}.octave-grid-viewport.octave-transition.running.dir-up .octave-layer.old{transform:translateY(100%) rotateX(18deg)}.octave-grid-viewport.octave-transition.running.dir-up .octave-layer.new{transform:translateY(0) rotateX(0)}.octave-grid-viewport.octave-transition.running.dir-down .octave-layer.old{transform:translateY(-100%) rotateX(-18deg)}.octave-grid-viewport.octave-transition.running.dir-down .octave-layer.new{transform:translateY(0) rotateX(0)}.octave-scrubber{border:1px solid #475569;border-radius:.42rem;background:#070b08;display:grid;grid-template-rows:auto minmax(0,1fr);justify-items:center;align-items:center;gap:.28rem;padding:.35rem .24rem;width:100%;min-width:0;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none;cursor:ns-resize}.octave-scrubber-header{width:100%;text-align:center;font-size:.58rem;color:#dcfce7;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-variant-numeric:tabular-nums;letter-spacing:0;line-height:1.1;white-space:nowrap;overflow:hidden}.octave-scrubber-range{--octave-band-size: 14.285714%;width:100%;height:100%;position:relative;border-radius:.28rem;border:1px solid rgba(34,197,94,.55);background:repeating-linear-gradient(to top,rgba(0,0,0,0) 0 calc(var(--octave-band-size) - 1px),rgba(74,222,128,.2) calc(var(--octave-band-size) - 1px) var(--octave-band-size)),repeating-linear-gradient(to top,rgba(10,26,16,.68) 0 var(--octave-band-size),rgba(6,18,11,.68) var(--octave-band-size) calc(var(--octave-band-size) * 2)),linear-gradient(180deg,#00000059,#0003);box-shadow:inset 0 0 0 1px #00000073}.octave-scrubber-window{position:absolute;left:.12rem;right:.12rem;top:var(--octave-window-top, 0%);height:var(--octave-window-height, 14.28%);border-radius:.18rem;border:1px solid rgba(74,222,128,.95);background:#4ade8042;box-shadow:0 0 0 1px #02061740,0 0 10px #4ade804d;pointer-events:none}.grid-row{display:grid;grid-template-columns:2.8rem repeat(16,minmax(0,1fr));gap:.16rem;align-items:center}.grid-row.synth-row{gap:0;position:relative}.grid-row.synth-row .step-cell{min-height:1.13rem;border:0}.grid-row.synth-row .row-label{padding-right:.2rem}.row-label{font-size:.7rem;text-transform:none;font-weight:600}.piano-key{border:1px solid #475569;border-radius:.22rem;min-height:100%;width:100%;text-align:center;padding:0;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none}.piano-key:disabled{opacity:0;pointer-events:none}.piano-key:active:not(:disabled){filter:none;background:#4ade80;border-color:#86efac;color:#03130a}.piano-key.active:not(:disabled){filter:none;background:#4ade80;border-color:#86efac;color:#03130a}.drum-lane-key{border:1px solid #475569;border-radius:.22rem;min-height:100%;width:100%;text-align:center;padding:0;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:#0b1220;color:#cbd5e1;text-transform:capitalize}.step-cell{min-height:1.62rem;border:1px solid #475569;border-radius:.25rem;background:#111827;color:#e2e8f0}.step-cell.on{background:#22c55e;color:#fff}.synth-cell{border-color:transparent;border-radius:0;position:relative;touch-action:none}.synth-cell.note-off{background:transparent}.grid-row.out-of-range .row-label{color:transparent}.grid-row.out-of-range{visibility:hidden}.hidden-cell{border-color:transparent;background:transparent;pointer-events:none}.synth-cell.note-single{border-radius:0;border-left:1px solid #000000;border-right:1px solid #000000}.synth-cell.note-start{border-radius:0;border-left:1px solid #000000}.synth-cell.note-middle{border-radius:0}.synth-cell.note-end{border-radius:0;border-right:1px solid #000000}.synth-cell.on,.synth-cell.note-start,.synth-cell.note-single,.synth-cell.note-end{box-shadow:none}.synth-note-ghost-block{position:absolute;top:0;bottom:0;pointer-events:none;z-index:1;background:#22c55e5c;box-shadow:inset 0 0 0 1px #22c55e38,0 0 .55rem #22c55e52}.synth-note-hover-outline{position:absolute;top:.06rem;bottom:.06rem;pointer-events:none;z-index:2;border:2px solid rgba(255,255,255,.9);background:#fff3;box-shadow:0 0 .45rem #ffffff3d}.grid-row.key-white .step-cell{background:#d1d5db;border-color:#94a3b8;color:#0f172a}.grid-row.key-black .step-cell{background:#374151;border-color:#4b5563;color:#e2e8f0}.grid-row.key-c .step-cell{background:#fde68a;border-color:#f59e0b;color:#1f2937;box-shadow:inset 0 0 0 1px #f59e0b6b}.grid-row.key-g .step-cell{background:#c4b5fd;border-color:#8b5cf6;color:#1f2937}.grid-row.key-white .step-cell.on,.grid-row.key-black .step-cell.on,.grid-row.key-c .step-cell.on,.grid-row.key-g .step-cell.on{background:#22c55e;border-color:transparent;color:#fff}.grid-row.key-white .row-label{color:#0f172a;background:#d1d5db;border-color:#94a3b8}.grid-row.key-black .row-label{color:#e2e8f0;background:#334155;border-color:#4b5563}.grid-row.key-c .row-label{color:#1f2937;background:#fde68a;border-color:#f59e0b;text-shadow:0 0 8px rgba(245,158,11,.35)}.grid-row.synth-row.key-c{border-left:2px solid rgba(245,158,11,.65);border-radius:.2rem}.grid-row.key-g .row-label{color:#1f2937;background:#c4b5fd;border-color:#8b5cf6}.grid-row.ghost-row .step-cell{opacity:.45}.grid-row.ghost-row .row-label{opacity:.55}.sliders{display:grid;gap:.42rem}.sliders label{display:grid;grid-template-columns:4.5rem minmax(0,1fr) 2.7rem;gap:.4rem;align-items:center}.sliders label span:last-child{text-align:right;font-variant-numeric:tabular-nums;font-size:.76rem}.sliders input[type=range]{width:100%;min-width:0}.preset-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.ai-form{margin-top:.6rem;display:grid;grid-template-columns:1fr auto;gap:.4rem}.ai-form input{border:1px solid #475569;background:#0f172a;color:#e2e8f0;border-radius:.5rem;padding:.55rem}.candidate-list{margin-top:.7rem;display:grid;gap:.6rem}.candidate-card{background:#0f172a;border:1px solid #334155;border-radius:.6rem;padding:.7rem}.candidate-card h3{margin:0 0 .35rem}.candidate-card p{margin:0 0 .5rem;color:#94a3b8}.candidate-actions{display:flex;gap:.4rem;flex-wrap:wrap}.ai-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;border:0;background:#0206178c}.ai-sheet{position:fixed;left:0;right:0;bottom:0;z-index:31;border-top:1px solid #334155;background:#0b1223;padding:.75rem;max-height:72dvh;overflow:auto;transform:translateY(102%);transition:transform .22s ease}.ai-sheet.open{transform:translateY(0)}.ai-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.ai-sheet-header h2{margin:0}.ai-sheet-header button{border:1px solid #475569;background:#111827;color:#e2e8f0;border-radius:.45rem;padding:.3rem .6rem}@media (max-width: 899px){:root{--pattern-editor-frame-height: 16.2rem;--pattern-editor-stage-height: 18.3rem}.panel{display:flex;flex-direction:column;min-height:0}.topbar{padding:.2rem .4rem;gap:.08rem}.topbar-brand{gap:.35rem}.topbar-logo{width:1.15rem;height:1.15rem;border-radius:.25rem}.topbar h1{display:block;font-size:.72rem;max-width:100%}.top-controls{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;gap:.14rem}.top-controls button{min-height:1.26rem;padding:.08rem .3rem;border-radius:.4rem;font-size:.66rem}.top-controls .mobile-hide{display:none}.mobile-new-song-inline{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;border:1px solid #475569;background:#111827;color:#e2e8f0;border-radius:.4rem;min-height:1.26rem;padding:.08rem .3rem;font-size:.66rem}.ai-dock-button{margin-left:0}.status-row{gap:.12rem;font-size:.64rem}.mobile-new-song-row{display:none}.status-row .master-volume,.status-row>span{display:none}.status-row label{gap:.14rem}.status-row label input[type=range]{display:none}.tempo-value-input{width:2.45rem;min-width:2.45rem;padding:.02rem .16rem;font-size:.66rem}.workspace{gap:0;height:auto;flex:0 0 auto}.main-view{height:auto;padding:.22rem .5rem 1.12rem}.pattern-editor-stage{margin-bottom:.88rem}.sound-column{position:fixed;left:0;right:0;bottom:0;z-index:26;border:1px solid #334155;border-bottom:0;border-top-left-radius:.8rem;border-top-right-radius:.8rem;border-bottom-left-radius:0;border-bottom-right-radius:0;background:#0b1223;padding:.55rem;max-height:72dvh;overflow:auto;transform:translateY(102%);transition:transform .22s ease}.sound-column.open{transform:translateY(0)}.sound-sheet-close{display:inline-flex}.sound-sheet-backdrop{display:block}.timeline-dock{border-top:0;padding:0 .5rem .4rem;height:auto;max-height:none;min-height:8.5rem;flex:1 1 auto}.timeline-mobile-strip{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.35rem;font-size:.72rem;color:#cbd5e1}.timeline-mobile-strip span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-controls{gap:.24rem;margin-bottom:.35rem}.timeline-controls select,.timeline-controls button{min-height:1.75rem;padding:.2rem .4rem;font-size:.76rem}.timeline-row{grid-template-columns:4.5rem minmax(0,1fr);gap:.35rem;margin-bottom:.45rem}.timeline-track-label{font-size:.72rem;gap:.2rem}.bar-cell{min-height:1.35rem;font-size:.66rem}.bar-grid{overflow-x:auto;touch-action:pan-x}.timeline-add-bars-tail{width:.78rem;font-size:.64rem;left:auto!important;right:.12rem}.timeline-bar-action-bubbles{transform:translate(-50%,-110%);gap:.32rem;padding:.42rem;width:calc(100vw - .7rem)}.timeline-pattern-wheel{height:6.5rem;padding-top:2.3rem;padding-bottom:2.3rem}.timeline-pattern-wheel button{min-height:1.48rem;font-size:.75rem}.timeline-pattern-option-content{gap:.3rem}.timeline-pattern-mini-preview{width:4rem;min-width:4rem;height:1rem;padding:.1rem}.timeline-bar-action-button-row{gap:.28rem}.timeline-bar-action-button-row button{min-height:1.65rem;padding:.22rem .5rem;font-size:.7rem}.timeline-loop-strip-shell{margin-top:.3rem}.timeline-loop-strip-row{grid-template-columns:4.5rem minmax(0,1fr);gap:.35rem}.timeline-loop-strip{height:1.62rem}.step-grid-editor{--row-label-width: 2.25rem;--row-gap: .16rem}.step-grid-editor.synth-editor{--row-gap: 0rem}.grid-row{grid-template-columns:2.25rem repeat(16,minmax(0,1fr));gap:.14rem}.grid-row.synth-row .step-cell{min-height:1rem}.row-label{font-size:.62rem}.step-cell{min-height:1.42rem}}@media (min-width: 900px){.app-shell{width:100%;background:#02061799}.workspace{grid-template-columns:minmax(0,1fr) 25rem;gap:0;align-items:stretch}.sound-column{position:static;transform:none;transition:none;max-height:none;border:0;border-left:1px solid #334155;border-radius:0;padding:.75rem;overflow:auto}.timeline-dock{max-height:28dvh}.timeline-controls{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}.ai-sheet{left:0;right:0;border-top-left-radius:.75rem;border-top-right-radius:.75rem}.preset-row{grid-template-columns:repeat(4,minmax(0,1fr))}}:root{--bg-0: #020403;--bg-1: #070d0a;--bg-2: #0b1510;--bg-3: #101d16;--bg-4: #16281d;--text-1: #ecfdf5;--text-2: #b9d8c7;--accent: #22c55e;--accent-strong: #4ade80;--edge: #204032;--edge-soft: #163126}body,#root,.app-shell{background:radial-gradient(circle at 30% 8%,#0b120e,#030504 42%,#010201);color:var(--text-1)}.topbar,.timeline-dock,.timeline-pattern-wheel-wrap,.timeline-bar-action-bubbles{background:color-mix(in srgb,var(--bg-1) 92%,black 8%);border-color:var(--edge-soft)}.sound-column,.ai-sheet{background:var(--bg-2);border-color:var(--edge)}.controls-divider{background:var(--edge-soft)}button,select,input,.top-controls button,.timeline-controls button,.timeline-controls select,.preset-select select,.sound-sheet-close,.tempo-value-input,.timeline-track-label,.timeline-pattern-wheel button,.timeline-bar-action-button-row button{background:var(--bg-1);color:var(--text-1);border-color:var(--edge)}button:hover,.timeline-controls button:hover,.timeline-pattern-wheel button:hover,.timeline-track-label:hover{border-color:var(--accent);box-shadow:0 0 0 1px #22c55e52}.ai-dock-button,.timeline-lock-toggle.on,.lock-active-button.on,.timeline-pattern-wheel button.active{background:#15803d;border-color:var(--accent-strong);color:#f0fdf4}.timeline-row,.timeline-loop-strip-shell,.timeline-loop-strip{border-color:var(--edge-soft);background:var(--bg-0)}.step-grid-editor.synth-editor,.octave-grid-viewport{background:#000}.step-cell{background:#0d140f;border-color:transparent;color:#ddfbe9}.grid-row.key-white .step-cell,.grid-row.key-black .step-cell,.grid-row.key-c .step-cell,.grid-row.key-g .step-cell{background:#0d140f;border-color:transparent;color:#ddfbe9;box-shadow:none}.grid-row.key-g .step-cell{background:#102036}.grid-row.key-c .step-cell{background:#2a260f}.step-grid-editor.drum-editor{--row-gap: 0rem}.step-grid-editor.drum-editor .grid-row{column-gap:var(--row-gap)}.step-grid-editor.drum-editor .step-cell{background:#0d140f;border-color:transparent;border-radius:0;position:relative;overflow:hidden}.step-grid-editor.drum-editor .grid-row .step-cell:not(.on):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.step-grid-editor.drum-editor .grid-row .step-cell:after{content:"";position:absolute;top:0;bottom:0;right:0;width:1px;background:#00000061;pointer-events:none}.step-grid-editor.drum-editor .grid-row .step-cell:not(.on):nth-of-type(8n+2):before,.step-grid-editor.drum-editor .grid-row .step-cell:not(.on):nth-of-type(8n+3):before,.step-grid-editor.drum-editor .grid-row .step-cell:not(.on):nth-of-type(8n+4):before,.step-grid-editor.drum-editor .grid-row .step-cell:not(.on):nth-of-type(8n+5):before{background:#ffffff29}.step-grid-editor.drum-editor .grid-row .step-cell:not(.on):nth-of-type(8n+6):before,.step-grid-editor.drum-editor .grid-row .step-cell:not(.on):nth-of-type(8n+7):before,.step-grid-editor.drum-editor .grid-row .step-cell:not(.on):nth-of-type(8n+8):before,.step-grid-editor.drum-editor .grid-row .step-cell:not(.on):nth-of-type(8n+1):before{background:#ffffff21}.step-grid-editor.drum-editor .step-cell.on{background:#29d639;color:#001005;box-shadow:inset 0 0 0 1px #b7ffd073}.step-grid-editor.drum-editor .row-label{padding-right:.3rem}.step-grid-editor.drum-editor .grid-row .step-cell.on:after{width:2px;background:#000}.grid-row.synth-row .synth-cell.note-off:nth-of-type(2n):before,.grid-row.synth-row .synth-cell.note-off:nth-of-type(odd):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.grid-row.synth-row .synth-cell.note-off:after{content:"";position:absolute;top:0;bottom:0;right:0;width:1px;background:#00000073;pointer-events:none}.grid-row.synth-row .synth-cell.note-off:nth-of-type(8n+2):before,.grid-row.synth-row .synth-cell.note-off:nth-of-type(8n+3):before,.grid-row.synth-row .synth-cell.note-off:nth-of-type(8n+4):before,.grid-row.synth-row .synth-cell.note-off:nth-of-type(8n+5):before{background:#ffffff29}.grid-row.synth-row .synth-cell.note-off:nth-of-type(8n+6):before,.grid-row.synth-row .synth-cell.note-off:nth-of-type(8n+7):before,.grid-row.synth-row .synth-cell.note-off:nth-of-type(8n+8):before,.grid-row.synth-row .synth-cell.note-off:nth-of-type(8n+1):before{background:#ffffff21}.grid-row.key-white .row-label,.grid-row.key-black .row-label,.grid-row.key-c .row-label,.grid-row.key-g .row-label,.piano-key,.drum-lane-key{background:#141a16;border-color:#2c4a3a;color:#f0fdf4;text-shadow:none}.grid-row.synth-row.key-c,.grid-row.synth-row.key-g{border-left:0;border-radius:.18rem}.grid-row.synth-row.key-c:before,.grid-row.synth-row.key-g:before{content:"";position:absolute;left:0;top:.08rem;bottom:.08rem;width:2px;border-radius:1px;pointer-events:none}.grid-row.synth-row.key-c:before{background:#4ade80f2}.grid-row.synth-row.key-g:before{background:#4ade8085}.grid-row.key-c .row-label{background:#3a320d;border-color:#eab308;color:#fff9d6}.grid-row.key-g .row-label{background:#112947;border-color:#4ade80;color:#dcfce7}.grid-row .piano-key:active:not(:disabled),.grid-row .piano-key.active:not(:disabled){background:#4ade80;border-color:#86efac;color:#03130a}.grid-row.key-white .step-cell.on,.grid-row.key-black .step-cell.on,.grid-row.key-c .step-cell.on,.grid-row.key-g .step-cell.on,.step-cell.on{background:#29d639;border-color:transparent;color:#001005}.step-grid-editor .synth-cell.note-start.on,.step-grid-editor .synth-cell.note-single.on{border-left-color:#000;border-left-style:solid;border-left-width:1px}.step-grid-editor .synth-cell.note-end.on,.step-grid-editor .synth-cell.note-single.on{border-right-color:#000;border-right-style:solid;border-right-width:1px}.editor-sweep{background:#b7ffd0;box-shadow:0 0 12px #4ade80d1,0 0 2px #b7ffd0bf}.synth-note-hover-outline{border-color:#dcfce7f5;background:#22c55e42;box-shadow:0 0 .62rem #22c55e5c}.timeline-dock,.timeline-content,.timeline-rows-wrap,.timeline-row,.timeline-row.muted,.timeline-loop-strip-shell,.timeline-loop-strip,.bar-grid,.bar-grid-inner{background:#000}.sound-column{background:#000;border-color:#163126}.sound-column .adsr-editor,.sound-column .filter-pad,.sound-column .mod-pad-card,.sound-column .preset-select select,.sound-column .osc-controls select,.sound-column .osc-controls input[type=range],.sound-column .section-toggle,.sound-sheet-close{background:#000;border-color:#1f3b2c;color:#ecfdf5}.sound-column .section-toggle,.sound-sheet-close,.sound-column button{background:#102116;border-color:#2e5a42;color:#e7fff0}.sound-column .section-toggle.open{background:#102116;border-color:#4ade80}input[type=range]{accent-color:#22c55e}.ai-sheet{border-top-color:#163126;background:#000}.ai-sheet-backdrop{background:#0000009e}.ai-form input{border-color:#1f3b2c;background:#000;color:#ecfdf5}.candidate-card{background:#0a1510;border-color:#1f3b2c}.candidate-card p{color:#b9d8c7}.ai-sheet-header button,.ai-form button,.candidate-actions button{border:1px solid #2e5a42;background:#102116;color:#e7fff0;border-radius:.45rem;min-height:2rem;padding:.25rem .5rem}.ai-sheet-header button:hover,.ai-form button:hover,.candidate-actions button:hover{border-color:#4ade80;box-shadow:0 0 0 1px #22c55e47}.ai-sheet{border-top:1px solid #1f3b2c;background:#000;padding:.75rem}.ai-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;margin-bottom:.5rem}.ai-sheet-header h2{margin:0;font-size:1rem;color:#ecfdf5}.ai-sheet-subtitle{margin:.18rem 0 0;color:#9ec8b0;font-size:.78rem}.ai-sheet-meta{display:flex;justify-content:space-between;align-items:center;gap:.45rem;margin-bottom:.62rem;padding:.38rem .55rem;border:1px solid #1f3b2c;border-radius:.45rem;background:#060d09;color:#b9d8c7;font-size:.76rem}.ai-sheet-meta strong{color:#e7fff0}.ai-quick-prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-bottom:.6rem}.ai-quick-chip{min-height:1.9rem;border-radius:.45rem;border:1px solid #2e5a42;background:#0a1510;color:#e7fff0}.ai-form{margin-top:0;margin-bottom:.7rem;display:grid;grid-template-columns:1fr;gap:.4rem}.ai-form-label{font-size:.76rem;color:#b9d8c7}.ai-prompt-input{resize:vertical;min-height:3.3rem;max-height:8.5rem;border:1px solid #1f3b2c;background:#000;color:#ecfdf5;border-radius:.45rem;padding:.52rem .6rem}.ai-prompt-input:focus,.ai-prompt-input:focus-visible{outline:none;border-color:#2f5a44;box-shadow:inset 0 0 0 1px #2f5a4438}.ai-prompt-input-wrap{position:relative}.ai-prompt-input-wrap .ai-prompt-input{width:100%}.ai-prompt-input-wrap.has-prefix-override .ai-prompt-input{border-color:#d8842f;box-shadow:inset 0 0 0 1px #d8842f2e;color:#ffd0a0;caret-color:#ffd0a0}.ai-prompt-input-wrap.has-prefix-override .ai-prompt-input:focus,.ai-prompt-input-wrap.has-prefix-override .ai-prompt-input:focus-visible{outline:none;border-color:#d8842f;box-shadow:inset 0 0 0 1px #d8842f3d}.ai-form-actions{display:flex;gap:.42rem;justify-content:flex-end}.ai-form-actions button{min-width:5.5rem}.ai-provider-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem;margin:-.15rem 0 .55rem}.ai-provider-controls-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem;align-items:start}.ai-provider-controls-row .ai-provider-row{margin:0}@media (max-width: 720px){.ai-provider-controls-row{grid-template-columns:1fr}}.ai-panel-collapse{border:1px solid #1f3b2c;border-radius:.45rem;background:#030906;padding:.35rem .5rem;margin:0 0 .55rem}.ai-panel-collapse-inline{margin:0 0 .55rem}.ai-panel-collapse-inline:not([open]){padding-top:.5rem;padding-bottom:.5rem}.ai-panel-collapse summary{cursor:pointer;color:#e7fff0;font-size:.76rem;font-weight:600}.ai-collapse-body{margin-top:.45rem}.ai-guardrail-row{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:-.05rem 0 .55rem}.ai-guardrail-row label{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #1f3b2c;border-radius:.42rem;background:#040b08;color:#c8ead6;padding:.35rem .45rem;font-size:.74rem}.ai-guardrail-row input[type=checkbox]{margin:0}.ai-lock-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin:-.05rem 0 .55rem}.ai-lock-chip{display:inline-flex;align-items:center;gap:.35rem;min-width:0;border:1px solid #1f3b2c;border-radius:.42rem;background:#030906;color:#b9d8c7;padding:.32rem .42rem;font-size:.72rem}.ai-lock-chip.on{background:#102116;border-color:#2e5a42;color:#e7fff0}.ai-lock-chip input[type=checkbox]{margin:0}.ai-lock-chip span{min-width:0;white-space:nowrap}.ai-provider-select{width:100%;border:1px solid #1f3b2c;background:#000;color:#ecfdf5;border-radius:.42rem;padding:.38rem .52rem}.ai-provider-status-list{display:grid;gap:.3rem;margin:-.1rem 0 .55rem}.ai-provider-status-item{display:flex;justify-content:space-between;gap:.5rem;border:1px solid #1f3b2c;border-radius:.42rem;background:#050d09;padding:.35rem .5rem;font-size:.72rem;color:#b9d8c7}.ai-provider-status-item .ok{color:#86efac}.ai-provider-status-item .pending{color:#93c5fd}.ai-provider-status-item .idle{color:#9ca3af}.ai-provider-status-item .error{color:#fca5a5}.ai-provider-status-item .warn{color:#fcd34d}.ai-provider-key-panel{display:grid;gap:.35rem;margin:0 0 .6rem;padding:.45rem .5rem;border:1px solid #1f3b2c;border-radius:.45rem;background:#030906}.ai-provider-advanced{border:1px solid #1f3b2c;border-radius:.45rem;background:#030906;padding:.35rem .5rem;margin:0 0 .6rem}.ai-provider-advanced summary{cursor:pointer;color:#e7fff0;font-size:.76rem;font-weight:600}.ai-provider-key-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem}.ai-provider-key-input{min-width:0;border:1px solid #1f3b2c;background:#000;color:#ecfdf5;border-radius:.42rem;padding:.38rem .5rem}.ai-loading-state{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .6rem;border:1px solid #1f3b2c;border-radius:.45rem;background:#07110c;color:#c8ead6;font-size:.78rem}.ai-loading-spinner{width:.8rem;height:.8rem;border-radius:999px;border:2px solid rgba(74,222,128,.22);border-top-color:#4ade80;animation:ai-spinner-rotate .8s linear infinite;flex:0 0 auto}@keyframes ai-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.ai-loading-spinner{animation:none}}.ai-debug-state{display:grid;gap:.15rem;border:1px solid #1f3b2c;border-radius:.45rem;background:#050d09;color:#b9d8c7;padding:.45rem .55rem;font-size:.72rem}.ai-debug-state strong{color:#e7fff0;font-size:.74rem}.ai-debug-pill{display:inline-flex;align-items:center;width:fit-content;border:1px solid #1f3b2c;border-radius:999px;background:#07110c;color:#d7ffee;padding:.08rem .38rem;font-size:.63rem;font-weight:600;letter-spacing:.02em}.ai-debug-pill.running{border-color:#355b47;background:#09140f;color:#e7fff0}.ai-debug-pill.completed{border-color:#2d6144;background:#07130d;color:#c7f7dd}.ai-debug-pill.fallback{border-color:#6a5528;background:#151006;color:#f6e1ad}.ai-debug-pill.canceled{border-color:#5b4a2f;background:#120f0a;color:#d9c8aa}.ai-debug-pill.error{border-color:#6a2f35;background:#18090b;color:#ffc8d0}.ai-inline-actions{display:flex;gap:.35rem;margin-top:.2rem}.ai-inline-actions button{border:1px solid #2e5a42;background:#0a1510;color:#e7fff0;border-radius:.4rem;padding:.25rem .45rem;font-size:.7rem}.ai-trace-panel{border:1px solid #1f3b2c;border-radius:.45rem;background:#030906;padding:.35rem .5rem;color:#c8ead6;font-size:.72rem}.ai-trace-panel summary{cursor:pointer;color:#e7fff0;font-weight:600}.ai-trace-grid{display:grid;gap:.4rem;margin-top:.4rem}.ai-trace-label{color:#9ec8b0;font-size:.68rem;margin-bottom:.2rem}.ai-trace-value{color:#e7fff0}.ai-trace-list{display:flex;flex-wrap:wrap;gap:.28rem}.ai-trace-list code{border:1px solid #1f3b2c;border-radius:.35rem;background:#050c09;color:#d7ffee;padding:.14rem .28rem;font-size:.67rem}.ai-trace-pre{margin:0;border:1px solid #1f3b2c;border-radius:.35rem;background:#000;color:#d7ffee;padding:.4rem;white-space:pre-wrap;word-break:break-word;max-height:8rem;overflow:auto;font-size:.67rem;line-height:1.25}.candidate-list{margin-top:0;display:grid;gap:.56rem}.ai-empty-state{border:1px dashed #2e5a42;border-radius:.55rem;background:#050b08;color:#9ec8b0;font-size:.82rem;padding:.65rem;text-align:center}.ai-empty-state .ai-inline-actions{justify-content:center;margin-top:.55rem}.ai-stale-candidates-note{border:1px dashed #3a4a42;border-radius:.45rem;background:#060b08;color:#b9c9c0;font-size:.72rem;padding:.38rem .5rem}.candidate-card{background:#0a1510;border:1px solid #1f3b2c;border-radius:.6rem;padding:.65rem}.candidate-card.is-stale{opacity:.78}.candidate-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.3rem}.candidate-card h3{margin:0;color:#eafff3;font-size:.92rem}.candidate-tag{border:1px solid #2e5a42;border-radius:999px;background:#0d1b13;color:#b9d8c7;font-size:.68rem;line-height:1;padding:.2rem .42rem;white-space:nowrap}.candidate-card p{margin:0 0 .55rem;color:#b9d8c7;font-size:.8rem;line-height:1.35}.candidate-meta-row{display:flex;justify-content:space-between;gap:.45rem;margin:0 0 .45rem;color:#9ec8b0;font-size:.7rem}.candidate-path-list{display:flex;flex-wrap:wrap;gap:.28rem;margin:0 0 .55rem}.candidate-path-list code{border:1px solid #1f3b2c;border-radius:.35rem;background:#050c09;color:#d7ffee;padding:.14rem .28rem;font-size:.67rem}.candidate-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.candidate-actions button{border:1px solid #2e5a42;background:#0a1510;color:#e7fff0;border-radius:.45rem;min-height:1.82rem;padding:.2rem .35rem}.candidate-actions button:disabled{opacity:.55;cursor:not-allowed}.candidate-actions .candidate-accept{background:#102116}.candidate-actions .candidate-reject{background:#1a0b0b;border-color:#5c2c2c;color:#ffd7d7}
