@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/SpaceGrotesk-latin.woff2) format("woff2");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-weight:400;font-display:swap;src:url(../fonts/SpaceMono-Regular-latin.woff2) format("woff2");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-weight:700;font-display:swap;src:url(../fonts/SpaceMono-Bold-latin.woff2) format("woff2");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}*{margin:0;padding:0;box-sizing:border-box}:root{color-scheme:dark;--bg: #0f0f12;--panel: #16161b;--panel-alt: #1c1c22;--raised: #232329;--sunken: #0a0a0d;--border: #2a2a32;--border-soft: #1f1f26;--text: #ececf1;--text-dim: #a7a7b3;--text-faint: #8d8d9a;--accent: #ff8a1f;--accent-hover: #ffa04a;--select: #7fb4ff;--danger: #ff6b6b;--caution: #e0b53a;--ok: #57c97a;--toggle-on: #223046;--font-ui: "Space Grotesk", system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", sans-serif;--font-mono: "Space Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius: 4px;--radius-lg: 8px;--gap-in-group: 5px;--gap-between-groups: 16px;--hover: rgba(255, 255, 255, .05);--shadow: 0 12px 36px rgba(0, 0, 0, .55);--app-min-width: 960px}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:13px;line-height:1.5;overflow:hidden auto;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit;font-size:13px}button{color:inherit}:focus-visible{outline:2px solid var(--select);outline-offset:1px}.app{display:flex;flex-direction:column;height:100vh;min-width:var(--app-min-width)}body{overflow-x:auto}html.gated .app>:not(.gate){display:none}html.gated .app{min-width:0}.spacer{flex:1}.mono,.display,.bpm-input,.lib-bpm input,.lib-key,.lib-dur,.num-sm,.shortcut-row dt,.kbd{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);line-height:1}.icon-btn,.text-btn,.primary-btn,.mini-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:var(--raised);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;white-space:nowrap}.icon-btn{width:30px;height:28px;padding:0}.text-btn{height:28px;padding:0 10px}.mini-btn{height:22px;min-width:26px;padding:0 6px;font-size:11px;color:var(--text-dim)}.icon-btn:hover:not(:disabled),.text-btn:hover:not(:disabled),.mini-btn:hover:not(:disabled){background:#2b2b33;color:var(--text)}.icon-btn:disabled,.text-btn:disabled,.mini-btn:disabled,.primary-btn:disabled{opacity:.4;cursor:default}.icon-btn.on,.text-btn.on{background:var(--toggle-on);border-color:#3a4d68;color:#d6e6ff}.text-btn.accentish{border-color:var(--select);color:var(--select)}.mini-btn.danger-text{color:var(--danger);border-color:#5a3535}.link-btn{background:none;border:none;color:var(--select);cursor:pointer;font-size:11px;padding:0 4px;text-decoration:underline}a{color:var(--select)}.primary-btn{position:relative;overflow:hidden;height:28px;padding:0 14px;background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:700}.primary-btn:hover:not(:disabled){background:var(--accent-hover)}.export-progress{position:absolute;left:0;bottom:0;height:3px;background:#00000073;transition:width .12s linear}.pass-tag{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;padding:1px 4px;border:1px solid var(--accent);color:var(--accent);border-radius:3px;line-height:1.2}.pass-tag.active{background:var(--accent);color:var(--bg)}.doubt-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--caution);color:var(--caution);font-family:var(--font-mono);font-size:10px;font-weight:700;line-height:1;cursor:help}.toolbar{display:flex;align-items:center;flex-wrap:nowrap;gap:var(--gap-between-groups);padding:7px 12px;background:var(--panel);border-bottom:1px solid var(--border);overflow:hidden}.tb-group{display:flex;align-items:center;gap:var(--gap-in-group);position:relative}.tb-group+.tb-group:before{content:"";position:absolute;left:calc(var(--gap-between-groups) / -2);top:4px;bottom:4px;width:1px;background:var(--border)}.brand-mark{display:inline-flex;align-items:center;gap:8px;padding-right:4px}.brand-mark svg{display:block}.brand-mark .brand-word{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;color:var(--text-faint);text-transform:uppercase}.project-title{display:flex;flex-direction:column;align-items:flex-start;gap:1px;max-width:190px;padding:2px 6px;background:none;border:1px solid transparent;border-radius:var(--radius);color:var(--text);cursor:pointer;text-align:left}.project-title:hover{border-color:var(--border)}.project-title-text{font-weight:600;font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-title-sub{font-size:11px;color:var(--text-faint)}.project-title-input{width:190px;background:var(--sunken);color:var(--text);border:1px solid var(--select);border-radius:var(--radius);padding:5px 7px}.display{background:var(--sunken);border:1px solid var(--border);border-radius:var(--radius);padding:5px 9px;min-width:56px;text-align:center;font-size:12px}.display.small{min-width:46px;padding:3px 6px}.field-inline{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.field-label{color:var(--text-dim);font-size:11px;display:inline-flex;align-items:center}.toolbar select,.library-tools select,.inspector select{background:var(--raised);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:4px 6px}.bpm-input{width:72px;background:var(--sunken);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:5px 6px;font-size:12px;text-align:right}.bpm-input:focus{border-color:var(--select)}.monitor-slider{width:64px;accent-color:var(--select)}input[type=range],input[type=checkbox],input[type=radio]{accent-color:var(--select)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.tb-menu-sep{height:1px;background:var(--border);margin:2px 0}.meters{display:flex;flex-direction:column;gap:2px;padding:3px 6px;background:var(--sunken);border:1px solid var(--border);border-radius:var(--radius)}.meters.clipped{border-color:var(--danger)}.meter-row{display:flex;align-items:center;gap:4px}.meter-label{font-size:11px;line-height:1;color:var(--text-faint);width:12px}.meter-track{width:62px;height:5px;background:var(--panel-alt);border-radius:2px;overflow:hidden}.meter-bar{height:100%;border-radius:2px;transition:width 80ms linear}.tb-menu-wrap{position:relative}.tb-menu{position:absolute;right:0;top:34px;z-index:60;min-width:220px;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:8px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.tb-menu .field-inline,.tb-menu .icon-btn,.tb-menu .text-btn{justify-content:flex-start}.tb-menu .icon-btn{width:auto;padding:0 10px}.tb-menu .menu-note{font-size:11px;color:var(--text-faint);padding:2px 4px}.menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.timeline-wrap{flex-shrink:0;border-bottom:1px solid var(--border);position:relative}.timeline-wrap canvas{display:block;touch-action:none}.timeline-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-40%);display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 28px;border:1px dashed #3a3a46;border-radius:var(--radius-lg);background:#0f0f12b3;text-align:center;pointer-events:none}.timeline-empty>*{pointer-events:auto}.timeline-empty .te-title{font-size:15px;font-weight:600}.timeline-empty .te-sub{font-size:12px;color:var(--text-dim);line-height:1.7}.timeline-empty .te-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.timeline-empty .te-wave{display:block;color:var(--select);opacity:.8}.automation-lane{flex-shrink:0;border-bottom:1px solid var(--border);background:#121217}.automation-empty{padding:11px 12px;color:var(--text-faint);border-bottom:1px solid var(--border);font-size:12px}.automation-tabs{display:flex;align-items:center;gap:2px;padding:4px 8px 0}.automation-tabs .tab{background:transparent;color:var(--text-dim);border:none;border-bottom:2px solid transparent;padding:4px 10px;cursor:pointer;font-size:12px}.automation-tabs .tab.active{color:var(--text);font-weight:600}.automation-tabs .tab-hint{margin-left:auto;font-size:11px;color:var(--text-faint)}.automation-lane canvas{display:block;touch-action:none}.automation-lane canvas:focus-visible{outline-offset:-2px}.bottom{display:flex;flex:1;min-height:0}.pane-header{display:flex;align-items:center;gap:8px;padding:7px 12px;border-bottom:1px solid var(--border);background:var(--panel)}.pane-title{font-weight:600;display:inline-flex;align-items:baseline;gap:8px}.pane-count{color:var(--text-faint);font-size:11px}.library{flex:1.4;display:flex;flex-direction:column;min-width:0;overflow:hidden;border-right:1px solid var(--border);background:var(--panel)}.library-tools{display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border-soft);flex-wrap:wrap}.search-field{display:inline-flex;align-items:center;gap:5px;flex:1;min-width:150px;background:var(--sunken);border:1px solid var(--border);border-radius:var(--radius);padding:3px 8px;color:var(--text-faint)}.search-field:focus-within{border-color:var(--select);box-shadow:0 0 0 1px var(--select)}.search-field input{flex:1;min-width:0;background:none;border:none;color:var(--text);padding:2px 0;font-size:12px}.search-field input:focus{outline:none}.rekordbox-status{display:inline-flex;align-items:center;gap:2px;color:var(--text-faint);font-size:11px}.storage-meter{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-faint);font-family:var(--font-mono)}.storage-meter .storage-bar{width:56px;height:4px;background:var(--panel-alt);border-radius:2px;overflow:hidden}.storage-meter .storage-bar>span{display:block;height:100%;background:var(--text-faint)}.storage-meter.warn{color:var(--caution)}.storage-meter.warn .storage-bar>span{background:var(--caution)}.library-rows{display:flex;flex-direction:column;overflow-y:auto;flex:1}.library-empty{color:var(--text-faint);text-align:center;padding:28px 20px;font-size:12px;line-height:1.7}.library-row{display:grid;grid-template-columns:36px minmax(0,1fr) 76px 56px 40px 42px 30px 26px;align-items:center;gap:8px;padding:5px 12px;border-bottom:1px solid var(--border-soft);cursor:grab;touch-action:none}.library-row:hover{background:var(--hover)}.library-row.selected{background:#7fb4ff1f}.library-row.key-compatible .lib-key{color:var(--ok);font-weight:700}.library-row.failed .lib-title{color:var(--text-faint)}.lib-art{position:relative;width:34px;height:34px;border-radius:4px;overflow:hidden;background:var(--sunken)}.lib-art img{width:100%;height:100%;object-fit:cover;display:block}.lib-art-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#4a4a55;font-size:15px}.lib-preview{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000006b;color:#fff;border:none;cursor:pointer;opacity:.75;transition:opacity .12s}.lib-art:hover .lib-preview,.lib-preview:focus-visible,.lib-preview.on{opacity:1}.lib-preview:disabled{opacity:.25;cursor:default}.lib-meta{min-width:0}.lib-title,.lib-artist{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-title{font-size:12px}.lib-artist{font-size:11px;color:var(--text-faint)}.lib-bpm{position:relative;display:block}.lib-bpm input{width:100%;background:var(--sunken);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 4px 3px 14px;font-size:11px;text-align:right}.lib-bpm input:disabled{opacity:.5}.lib-bpm-manual{position:absolute;left:2px;top:50%;transform:translateY(-50%);color:var(--text-faint);pointer-events:none;display:flex}.lib-bpm-scale{display:flex;gap:2px}.lib-key{display:inline-flex;align-items:center;gap:4px}.lib-key,.lib-dur{font-size:11px;color:var(--text-dim)}.lib-actions,.lib-remove{display:flex;justify-content:center}.add-clip-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--raised);color:var(--text);border:1px solid var(--border);border-radius:4px;width:26px;height:24px;cursor:pointer}.add-clip-btn:hover:not(:disabled){background:#2b2b33}.add-clip-btn:disabled{opacity:.35;cursor:default}.forget-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--text-faint);border:1px solid transparent;border-radius:4px;width:24px;height:24px;cursor:pointer;opacity:.55}.library-row:hover .forget-btn,.forget-btn:focus-visible{opacity:1}.forget-btn:hover{border-color:var(--danger);color:var(--danger)}.inspector{flex:1;min-width:0;overflow-y:auto;background:var(--panel);padding-bottom:16px}.inspector .field{padding:7px 12px;display:flex;flex-direction:column;gap:4px}.inspector .field>label{color:var(--text-dim);font-size:11px}.inspector input[type=range]{width:100%}.inspector input[type=number],.inspector input[type=text],.inspector select{background:var(--sunken);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:5px 8px;width:100%}.row-gap{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.row-gap input[type=number]{flex:1}.value-strong{font-weight:600}.checkbox-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text)}.checkbox-label input{width:auto}.transition-info{padding:8px 12px;color:var(--text);font-size:12px;line-height:1.8}.transition-info .k{display:inline-block;width:4.2em;color:var(--text-faint);font-size:11px}.transition-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 12px 8px}.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px 12px 8px}.preset-btn{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:var(--raised);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px;cursor:pointer;text-align:left}.preset-btn:hover{background:#2b2b33}.preset-btn.applied{border-color:var(--select);background:#7fb4ff1a}.preset-btn .pass-tag{position:absolute;right:8px;top:8px}.preset-head{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600}.preset-glyph{display:block}.preset-desc{font-size:11px;color:var(--text-faint);line-height:1.4}.hint{padding:6px 12px;color:var(--text-faint);font-size:11px;line-height:1.6}.inspector .block-btn{margin:4px 12px;width:calc(100% - 24px);background:var(--raised);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px;cursor:pointer}.inspector .block-btn:hover:not(:disabled){background:#2b2b33}.inspector .block-btn:disabled{opacity:.4;cursor:default}.inspector .danger-btn:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.missing-note{margin:6px 12px;padding:8px 10px;border:1px solid #5a3535;border-radius:6px;font-size:12px;line-height:1.6;color:var(--text)}.missing-note b{color:var(--danger)}.notices{position:fixed;right:16px;bottom:16px;z-index:1000;display:flex;flex-direction:column;gap:8px;max-width:min(420px,calc(100vw - 32px))}.notice{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.notice-error{border-left-color:var(--danger)}.notice-success{border-left-color:var(--ok)}.notice-progress{border-left-color:var(--select)}.notice-info{border-left-color:var(--caution)}.notice-icon{display:flex;padding-top:1px;color:var(--text-faint)}.notice-error .notice-icon{color:var(--danger)}.notice-success .notice-icon{color:var(--ok)}.notice-body{flex:1;min-width:0}.notice-title{font-size:12px;font-weight:600}.notice-detail{font-size:11px;color:var(--text-dim);margin-top:2px;overflow-wrap:anywhere}.notice-progress .notice-detail{color:var(--text-dim)}.notice .notice-progress,.export-running .notice-progress{height:4px;margin-top:6px;background:var(--panel-alt);border-radius:2px;overflow:hidden;border:none}.notice .notice-progress>span,.export-running .notice-progress>span{display:block;height:100%;background:var(--select);transition:width .15s linear}.notice-action{background:var(--raised);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 9px;font-size:11px;cursor:pointer}.notice-close{background:none;border:none;color:var(--text-faint);cursor:pointer;padding:0;display:flex}.notice-close:hover{color:var(--text)}.env-banner{display:flex;align-items:center;gap:10px;padding:7px 12px;background:#2a2413;color:var(--text);border-bottom:1px solid #5a4a1c;font-size:12px}.env-banner .env-text{flex:1}.env-banner b{color:var(--caution)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;background:#0009;padding:20px}.modal{width:min(420px,100%);max-height:calc(100vh - 40px);overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:18px;box-shadow:0 24px 70px #000000a6}.modal.wide{width:min(620px,100%)}.modal-title{font-size:16px;font-weight:700;margin-bottom:8px;display:flex;align-items:baseline;gap:10px}.modal-body{font-size:12px;color:var(--text-dim);line-height:1.7;white-space:pre-wrap}.modal-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;flex-wrap:wrap}.modal-btn{height:30px;padding:0 14px;background:var(--raised);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none}.modal-btn:hover:not(:disabled){background:#2b2b33}.modal-btn:disabled{opacity:.4;cursor:default}.modal-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:700}.modal-btn.primary:hover:not(:disabled){background:var(--accent-hover)}.modal-btn.danger{border-color:var(--danger);color:var(--danger)}.form-grid{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:10px 12px;align-items:center;margin-top:12px}.form-grid>label{color:var(--text-dim);font-size:11px}.form-grid input[type=text],.form-grid input:not([type]),.form-grid select,.modal textarea,.modal input.wide-input{width:100%;background:var(--sunken);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:6px 8px}.modal textarea{font-family:var(--font-mono);font-size:11px;line-height:1.5;resize:vertical}.radio-col{display:flex;flex-direction:column;gap:6px}.radio-col .checkbox-label{flex-wrap:wrap;gap:5px;font-size:12px}.num-sm{width:62px;background:var(--sunken);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 5px}.export-running{display:flex;align-items:center;gap:10px;margin-top:14px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.export-running .notice-progress{flex:1;margin-top:0}.shortcut-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px 22px;margin-top:10px}.shortcut-groups h3{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin-bottom:5px}.shortcut-row{display:flex;gap:10px;font-size:12px;padding:2px 0}.shortcut-row dt{flex:0 0 11em;color:var(--text);font-size:11px}.shortcut-row dd{color:var(--text-dim)}.done-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.done-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel-alt);border:1px solid var(--border-soft);border-radius:6px}.done-row .done-text{flex:1;min-width:0}.done-row .done-title{font-size:12px;font-weight:600}.done-row .done-sub{font-size:11px;color:var(--text-faint)}.done-row .done-actions{display:flex;gap:6px;flex-wrap:wrap}.done-row .text-btn{text-decoration:none}.pass-features{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.pass-features li{padding:10px 12px;background:var(--panel-alt);border:1px solid var(--border-soft);border-radius:6px;font-size:12px;line-height:1.6}.pass-features li b{display:block;font-size:12px}.pass-features li span{color:var(--text-faint);font-size:11px}.pass-price{display:flex;align-items:baseline;gap:8px;margin:4px 0 10px}.pass-price .amount{font-family:var(--font-mono);font-size:22px;font-weight:700}.pass-price .note{font-size:11px;color:var(--text-faint)}.pass-status{font-size:12px;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--panel-alt);margin-top:8px}.pass-status.ok{border-color:var(--ok)}.pass-status.bad{border-color:var(--danger);color:var(--danger)}.usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:12px 0}.usage-grid .stat{padding:8px 10px;background:var(--panel-alt);border:1px solid var(--border-soft);border-radius:6px}.usage-grid .stat .n{font-family:var(--font-mono);font-size:18px;font-weight:700}.usage-grid .stat .k{font-size:11px;color:var(--text-faint)}.context-menu{position:fixed;z-index:60;min-width:190px;padding:4px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;flex-direction:column}.menu-item{background:none;border:none;color:var(--text);text-align:left;padding:6px 10px;border-radius:5px;cursor:pointer;font-size:12px}.menu-item:hover:not(:disabled){background:var(--raised)}.menu-item.danger{color:var(--danger)}.menu-item:disabled{opacity:.4;cursor:default}.pwa-update{position:fixed;right:16px;bottom:16px;z-index:1000;display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.pwa-update button{background:var(--raised);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:5px 12px;cursor:pointer}.pwa-update button.primary{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:700}.pwa-update button:disabled{opacity:.4;cursor:default}.gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg);overflow-y:auto}.gate-card{width:min(440px,100%);display:flex;flex-direction:column;gap:14px}.gate-card .gate-wave{color:var(--select)}.gate-card h1{font-size:22px;line-height:1.3;letter-spacing:-.01em}.gate-card p{font-size:13px;color:var(--text-dim);line-height:1.8}.gate-card .gate-url{display:flex;gap:6px}.gate-card .gate-url input{flex:1;min-width:0;background:var(--sunken);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;font-family:var(--font-mono);font-size:12px}.gate-card .gate-actions{display:flex;gap:8px;flex-wrap:wrap}.gate-card .gate-actions .text-btn,.gate-card .gate-actions .primary-btn{height:36px;padding:0 14px;text-decoration:none}.gate-card .gate-later{align-self:flex-start;background:none;border:none;color:var(--text-faint);text-decoration:underline;cursor:pointer;font-size:12px;padding:0}@media (prefers-reduced-motion: reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
