.panel-app{--rail:var(--surface);--signal:var(--accent);--signal-ink:var(--accent-contrast);--signal-text:var(--accent-text);--info:var(--accent-text);--panel-grid:color-mix(in oklab, var(--ink) 5%, transparent);--panel-radius:var(--radius-xl);background:var(--canvas);color:var(--ink)}[data-theme=dark] .panel-app{--panel-grid:color-mix(in oklab, var(--ink) 4%, transparent)}.panel-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.6875rem;font-weight:500}.panel-kbd,.panel-label,.panel-num{font-family:Geist Mono,Geist Mono Fallback\: Courier New,Geist Mono Fallback\: monospace,ui-monospace,monospace}.panel-num{font-variant-numeric:tabular-nums slashed-zero;letter-spacing:-.01em}.panel-kbd{border:1px solid var(--border-strong);min-width:1.25rem;height:1.25rem;color:var(--muted);background:var(--elevated);border-bottom-width:2px;border-radius:.3rem;justify-content:center;align-items:center;padding-inline:.3rem;font-size:.625rem;line-height:1;display:inline-flex}.panel-grid-bg{background-image:linear-gradient(var(--panel-grid) 1px,transparent 1px),linear-gradient(90deg,var(--panel-grid) 1px,transparent 1px);background-position:-1px -1px;background-size:24px 24px}.panel-card{border:1px solid var(--border);border-radius:var(--panel-radius);background:var(--elevated)}.panel-ticket{position:relative}.panel-ticket:after,.panel-ticket:before{content:"";border-color:var(--border-strong);pointer-events:none;border-style:solid;width:10px;height:10px;position:absolute}.panel-ticket:before{border-top-left-radius:var(--panel-radius);border-width:1px 0 0 1px;top:-1px;left:-1px}.panel-ticket:after{border-bottom-right-radius:var(--panel-radius);border-width:0 1px 1px 0;bottom:-1px;right:-1px}.panel-signal-dot{background:var(--signal);width:.5rem;height:.5rem;box-shadow:0 0 0 3px color-mix(in oklab,var(--signal) 25%,transparent);border-radius:9999px}.panel-scroll{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}@media (prefers-reduced-motion:no-preference){.panel-enter{animation:.26s cubic-bezier(.2,.7,.2,1) both panel-enter}.panel-pulse{animation:2.4s ease-in-out infinite panel-pulse}}@keyframes panel-enter{0%{opacity:0;transform:translateY(4px)}}@keyframes panel-pulse{50%{box-shadow:0 0 0 6px color-mix(in oklab,var(--signal) 0%,transparent)}}
