.desktop-icon{cursor:pointer;box-sizing:border-box;color:#fff;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:center;gap:8px;width:140px;padding:16px;transition:all .2s;display:flex}.desktop-icon:focus-visible{background:#ffffff1a;outline:none}.desktop-icon:active{transform:translateY(0)}.desktop-icon.disabled,.desktop-icon:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.desktop-icon.disabled .icon-image,.desktop-icon:disabled .icon-image{border-color:var(--text-muted)}.desktop-icon.disabled .icon-image svg,.desktop-icon:disabled .icon-image svg,.desktop-icon.disabled .icon-label,.desktop-icon:disabled .icon-label{color:var(--text-muted)}.icon-image{background:linear-gradient(135deg,#0a0a0a 0%,#1a1a1a 100%);border:2px solid #0f0;border-radius:12px;justify-content:center;align-items:center;width:80px;height:80px;padding:16px;transition:all .2s;display:flex;position:relative}.icon-badge{box-sizing:border-box;color:#fff;min-width:24px;height:24px;font-family:var(--font-sans);background:#ff3b30;border:2px solid #0a0a0a;border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:15px;font-weight:800;line-height:1;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 0 10px #ff3b3099}.desktop-icon:focus-visible .icon-image{border-color:#0ff;box-shadow:0 0 20px #00ffff4d}.icon-image svg{color:#0f0;width:100%;height:100%}.desktop-icon:focus-visible .icon-image svg{color:#0ff}.icon-label{font-family:var(--font-sans);color:#0f0;text-shadow:0 1px 2px #00000080;-webkit-user-select:none;user-select:none;text-align:center;overflow-wrap:break-word;word-break:break-word;max-width:100%;font-size:18px;font-weight:600;transition:color .2s}.desktop-icon:focus-visible .icon-label{color:#0ff}@media (hover:hover){.desktop-icon:hover{background:#ffffff1a;outline:none}.desktop-icon:hover .icon-image{border-color:#0ff;box-shadow:0 0 20px #00ffff4d}.desktop-icon:hover .icon-image svg,.desktop-icon:hover .icon-label{color:#0ff}}@media (width<=768px){.desktop-icon{width:100%;padding:12px 6px}.icon-image{width:64px;height:64px;padding:12px}.icon-label{font-size:14px}}.confirm-overlay{z-index:10001;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d9;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:380px;font-family:var(--font-mono);padding:20px;box-shadow:0 8px 30px #00000080}.confirm-title{color:var(--text-primary);margin:0 0 10px;font-size:1rem}.confirm-message{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.6}.confirm-error{color:#ff6b6b;margin:12px 0 0;font-size:.82rem}.confirm-actions{gap:12px;margin-top:18px;display:flex}.confirm-cancel,.confirm-ok{font-family:var(--font-mono);cursor:pointer;border-radius:20px;flex:1;padding:11px 16px;font-size:.9rem;transition:all .2s}.confirm-cancel{border:2px solid var(--border);color:var(--text-primary);background:0 0}.confirm-cancel:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.confirm-ok{border:2px solid var(--accent);background:var(--accent);color:var(--bg-dark)}.confirm-ok.danger{color:#fff;background:#dc3545;border-color:#dc3545}.confirm-cancel:disabled,.confirm-ok:disabled{opacity:.55;cursor:default}.desktop-container{background:var(--bg-dark);min-height:100vh;padding:0;position:relative}.desktop-icons{width:768px;padding:max(40px, env(safe-area-inset-top)) max(40px, env(safe-area-inset-right)) max(40px, env(safe-area-inset-bottom)) max(40px, env(safe-area-inset-left));flex-wrap:wrap;gap:0;display:flex}@media (width<=768px){.desktop-icons{width:100%;padding:max(20px, env(safe-area-inset-top)) max(2px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(2px, env(safe-area-inset-left));grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:2px;display:grid}.desktop-container--covered{display:none}}.event-widget{left:12px;right:12px;bottom:calc(6px + env(safe-area-inset-bottom,0px));z-index:50;box-sizing:border-box;border:1px solid var(--accent);color:#fff;max-width:900px;font-family:var(--font-sans);background:#0000008c;border-radius:16px;flex-direction:column;gap:16px;margin:0 auto;padding:12px 16px;display:flex;position:fixed;box-shadow:0 6px 24px #0000008c}.event-widget-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.event-widget-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.event-widget-toggle{background:#ffffff14;border-radius:999px;flex-shrink:0;padding:2px;display:flex;position:relative}.event-widget-toggle-thumb{background:var(--accent);border-radius:999px;width:calc(50% - 2px);transition:transform .25s;position:absolute;top:2px;bottom:2px;left:2px}.event-widget-toggle-btn{z-index:1;font-family:var(--font-sans);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;flex:1;margin:0;padding:3px 10px;font-size:11px;font-weight:600;line-height:1.4;transition:color .25s;position:relative}.event-widget-toggle-btn.active{color:#000}.event-widget-toggle-btn:active{opacity:.7}@media (prefers-reduced-motion:reduce){.event-widget-toggle-thumb{transition:none}}.event-widget-row{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.event-widget-action{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;margin:0;padding:0}.event-widget-action:active{opacity:.7}.event-widget-countdown-line{flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.event-widget-label{color:var(--text-secondary);font-size:13px}.event-widget-countdown{font-family:var(--font-mono);color:var(--accent);font-size:18px;font-weight:600}.event-widget-chevron{color:var(--text-secondary);flex-shrink:0;font-size:20px}.event-widget-nowplaying{flex:1;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:3px 10px;min-width:0;padding-top:4px;line-height:1.3;display:grid}.event-widget-act{display:contents}.event-widget-stage{color:var(--text-secondary);white-space:nowrap;font-size:13px}.event-widget-artist{color:#fff;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:600;overflow:hidden}.event-widget-artist.upcoming{color:var(--text-secondary);font-weight:400}.event-widget-fav-star{color:var(--accent)}.event-widget-dash{padding-left:24px}.event-widget-time{font-family:var(--font-mono);color:var(--text-secondary);white-space:nowrap;flex-direction:column;justify-self:end;gap:3px;font-size:13px;display:flex}.event-widget-time-text{text-align:right}.event-widget-progress{background:#4d9fff40;border-radius:1px;height:2px;overflow:hidden}.event-widget-progress.idle{background:0 0}.event-widget-progress-fill{background:#4d9fff;border-radius:1px;height:100%;transition:width 1s linear;display:block}.event-widget-message{color:#fff;margin:0;font-size:15px;font-weight:500}.window-titlebar{height:calc(48px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0;background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;transition:background .3s;display:flex}.window-titlebar.unpublished{background:#c50;border-bottom-color:#a40}.window-dots{cursor:pointer;align-self:stretch;align-items:center;gap:6px;margin-left:-14px;padding:0 14px;display:flex;position:relative}.dot{border-radius:50%;width:12px;height:12px;transition:all .3s}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27c93f}.dot-arrow-top,.dot-arrow-bottom{opacity:1;position:absolute;transform:scale(1)}.window-dots.back-arrow .dot-red,.window-dots.back-arrow .dot-yellow,.window-dots.back-arrow .dot-green{border-radius:2px;width:15px;height:3px}.window-dots.back-arrow .dot-red{transform:translate(0)}.window-dots.back-arrow .dot-arrow-top{opacity:1;border-radius:2px;width:8px;height:3px;transform:translate(0)translateY(-4px)rotate(-45deg)scaleX(1.5)}.window-dots.back-arrow .dot-arrow-bottom{opacity:1;border-radius:2px;width:8px;height:3px;transform:translate(0)translateY(4px)rotate(45deg)scaleX(1.5)}.window-dots.back-arrow.pulse .dot-red:not(.dot-arrow-top):not(.dot-arrow-bottom){animation:.3s dots-squeeze-right}.window-dots.back-arrow.pulse .dot-green{animation:.3s dots-squeeze-left}@keyframes dots-squeeze-right{0%,to{transform:translate(0)}40%{transform:translate(4px)}}@keyframes dots-squeeze-left{0%,to{transform:translate(0)}40%{transform:translate(-4px)}}@media (prefers-reduced-motion:reduce){.window-dots.back-arrow.pulse .dot{animation:none}}.window-title{font-family:var(--font-mono);color:var(--text-secondary);font-size:.9rem}.window-actions{gap:8px;margin-left:auto;display:flex}.titlebar-text-button{border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);color:var(--text-secondary);cursor:pointer;background:0 0;padding:6px 12px;font-size:.9rem;transition:color .2s,border-color .2s}.titlebar-text-button:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.titlebar-text-button:disabled{opacity:.5;cursor:not-allowed}.titlebar-text-button.danger:hover:not(:disabled){color:#ff6b6b;border-color:#ff6b6b}.window-wrapper{padding:12px;padding-top:max(12px, env(safe-area-inset-top));padding-bottom:max(12px, env(safe-area-inset-bottom));padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right));z-index:1000;background:0 0;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.window-container{background:var(--bg-surface);border:3px solid var(--border);border-radius:var(--radius-lg);width:100%;height:80vh;font-family:var(--font-mono);flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000080}@media (width<=768px){.window-wrapper{bottom:var(--keyboard-height,0px);padding:0}.window-container{height:auto;box-shadow:none;padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);border:none;border-radius:0;position:absolute;inset:0}.window-container:has(.tab-bar){padding-bottom:0}.keyboard-open .window-container{padding-bottom:0}}.event-gallery{flex-direction:column;max-width:900px;height:100%;min-height:400px;margin:0 auto;padding:0;display:flex}.event-gallery .gallery-header{justify-content:space-between;align-items:center;margin-bottom:20px;padding:0 4px;display:flex}.event-gallery .gallery-header h3{color:var(--text-primary);margin:0;font-size:20px;font-weight:600}.event-gallery .btn-add-photo{background:var(--accent);color:var(--bg-dark);border-radius:var(--radius);font-family:var(--font-mono);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:opacity .2s;display:flex}.event-gallery .btn-add-photo:hover{opacity:.9}.event-gallery .btn-add-photo:active{transform:scale(.98)}.event-gallery .gallery-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.event-gallery .gallery-capture-input{display:none}.event-gallery .btn-export{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border)}.event-gallery .btn-export:disabled{opacity:.6;cursor:default}.event-gallery .gallery-error{border-radius:var(--radius);color:#f44;font-family:var(--font-mono);background:#ff44441a;border:1px solid #f446;margin:0 4px 16px;padding:12px 16px;font-size:13px;line-height:1.5}.event-gallery .gallery-grid{grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.event-gallery .gallery-item{aspect-ratio:1;cursor:pointer;background:var(--bg-elevated);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:2px;position:relative;overflow:hidden}.event-gallery .gallery-item img{object-fit:cover;-webkit-user-drag:none;width:100%;height:100%;display:block}.event-gallery .gallery-item.selected{outline:3px solid var(--accent);outline-offset:-3px}.event-gallery .gallery-item.selected img{transition:transform .12s;transform:scale(.92)}.event-gallery .gallery-select-circle{color:#fff;background:#00000059;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:flex;position:absolute;top:6px;right:6px;box-shadow:0 0 4px #00000080}.event-gallery .gallery-select-circle.selected{background:var(--accent);border-color:var(--accent);color:var(--bg-dark)}.gallery-selectbar{z-index:1500;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:var(--bg-surface);border-top:1px solid var(--border);align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0}.gallery-selectbar-count{color:var(--text-primary);font-family:var(--font-mono);flex:1;font-size:14px;font-weight:600}.gallery-selectbar-actions{gap:8px;display:flex}.gallery-selectbar-btn{border-radius:var(--radius);width:40px;height:40px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.gallery-selectbar-btn:disabled{opacity:.4;cursor:default}.gallery-selectbar-btn.danger{color:#ff5a5a}.event-gallery .burst-badge{color:var(--accent);font-size:9px;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;border-radius:2px;padding:2px 5px;position:absolute;top:4px;right:4px}.event-gallery .video-badge{color:#fff;pointer-events:none;background:#0000008c;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding-left:2px;font-size:12px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.event-gallery .btn-video{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border)}.annotate-backdrop{z-index:2100;padding:calc(8vh + env(safe-area-inset-top)) 20px 20px;background:#0009;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.annotate-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:12px;width:100%;max-width:420px;padding:16px;display:flex}.annotate-preview{border-radius:var(--radius);background:var(--bg-elevated);justify-content:center;align-self:center;align-items:center;width:96px;height:96px;display:flex;position:relative;overflow:hidden}.annotate-preview img{object-fit:cover;width:100%;height:100%}.annotate-input{box-sizing:border-box;resize:none;background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-primary);font-family:var(--font-mono);padding:12px;font-size:14px}.annotate-input:focus{border-color:var(--accent);outline:none}.annotate-actions{gap:12px;display:flex}.annotate-btn{border-radius:var(--radius);background:var(--bg-dark);color:var(--text-primary);border:1px solid var(--border);font-family:var(--font-mono);cursor:pointer;flex:1;padding:12px;font-size:14px;font-weight:600}.annotate-btn-primary{background:var(--accent);color:var(--bg-dark);border-color:var(--accent)}.event-gallery .gallery-empty{color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.event-gallery .gallery-empty svg{opacity:.3;margin-bottom:16px}.event-gallery .gallery-empty p{margin:4px 0;font-size:16px}.event-gallery .gallery-empty-hint{opacity:.7;font-size:14px}.event-gallery .photo-modal{z-index:2000;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:#000000f2;flex-direction:column;display:flex;position:fixed;inset:0}.event-gallery .photo-modal-bar{flex-shrink:0;justify-content:flex-end;padding:12px;display:flex}.event-gallery .photo-modal-stage{touch-action:none;-webkit-user-select:none;user-select:none;flex:1;min-height:0;position:relative;overflow:hidden}.event-gallery .pv-track{will-change:transform;position:absolute;inset:0}.event-gallery .pv-slide{box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:100%;padding:0 6px;display:flex;position:absolute;top:0;left:0}.event-gallery .pv-slide-prev{transform:translate(-100%)}.event-gallery .pv-slide-next{transform:translate(100%)}.event-gallery .pv-slide img,.event-gallery .pv-slide .pv-video{object-fit:contain;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;background:#000;max-width:100%;max-height:100%}.event-gallery .photo-modal-caption{text-align:center;max-width:600px;color:var(--text-primary);font-family:var(--font-mono);margin:0;font-size:13px;line-height:1.5}.event-gallery .photo-modal-actions{flex-direction:column;flex-shrink:0;align-items:center;gap:12px;padding:16px;display:flex}.event-gallery .photo-modal-close{background:var(--bg-surface);color:var(--text-primary);border:2px solid var(--border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.event-gallery .photo-modal-close:hover{background:var(--accent);color:var(--bg-dark);border-color:var(--accent)}.event-gallery .photo-modal-buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.event-gallery .photo-modal-btn{background:var(--bg-surface);color:var(--text-primary);border:2px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);cursor:pointer;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.event-gallery .photo-modal-btn:disabled{opacity:.6;cursor:default}.event-gallery .photo-modal-delete:hover{color:#fff;background:#dc3545;border-color:#dc3545}.event-gallery .burst-indicator{color:var(--accent);border-radius:var(--radius);font-family:var(--font-mono);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;padding:8px 16px;font-size:13px;font-weight:600}.status-message{font-family:var(--font-mono);text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px 16px;font-size:.9rem;line-height:1.5;display:flex}.status-message--loading{flex-direction:row}.status-message p{margin:0}.status-message--empty{color:var(--text-muted)}.status-message--error{color:var(--error)}.status-message--offline{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);background:#ffaa0014;flex-direction:row;gap:10px;margin:16px;padding:12px 16px}.status-message__offline-icon{color:#fa0;flex-shrink:0;width:20px;height:20px}.status-message__spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite status-message-spin}@keyframes status-message-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.status-message__spinner{animation:none}}.app-help-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;background:#000000d9;animation:.3s ease-out fadeIn;position:fixed;inset:0}.app-help-content{color:var(--text-primary);font-family:var(--font-mono);flex:1;padding:20px;font-size:.9rem;line-height:1.7;overflow-y:auto}.app-help-content:after{content:"█";color:var(--accent);margin-top:14px;animation:1.2s step-end infinite blink;display:block}@keyframes blink{50%{opacity:0}}.app-help-content::-webkit-scrollbar{width:8px}.app-help-content::-webkit-scrollbar-track{background:#0003;border-radius:4px}.app-help-content::-webkit-scrollbar-thumb{background:#00ff884d;border-radius:4px}.app-help-content::-webkit-scrollbar-thumb:hover{background:#00ff8880}.app-help-content h3{color:var(--accent);align-items:center;gap:8px;margin:20px 0 12px;font-size:1rem;font-weight:600;display:flex}.app-help-content h3:before{content:">";color:var(--accent-dim)}.app-help-content h3:first-child{margin-top:0}.app-help-content p{margin:12px 0}.app-help-content ul{margin:12px 0;padding-left:24px}.app-help-content li{margin:8px 0}.app-help-content li::marker{color:var(--accent)}.app-help-content strong{color:var(--accent);font-weight:600}.app-help-content code{color:var(--accent);font-family:var(--font-mono);background:#00ff881a;border-radius:4px;padding:2px 6px;font-size:.85rem}.app-help-feature{background:var(--bg-elevated);border-left:3px solid var(--accent);border-radius:var(--radius-sm);margin:16px 0;padding:14px 16px}.app-help-feature h4{color:var(--accent);margin:0 0 8px;font-size:.95rem;font-weight:600}.app-help-feature p{color:var(--text-secondary);margin:0;font-size:.85rem}.app-help-footer{border-top:1px solid var(--border);background:var(--bg-elevated);justify-content:center;padding:14px 20px;display:flex}.app-help-button{background:var(--accent);border:1px solid var(--accent-dim);border-radius:var(--radius);font-size:.95rem;font-weight:600;font-family:var(--font-mono);color:var(--bg-dark);cursor:pointer;padding:12px 40px;transition:all .2s;box-shadow:0 4px 12px #00ff8840}.app-help-button:hover{background:var(--accent-dim);transform:translateY(-2px);box-shadow:0 6px 20px #00ff8859}.app-help-button:active{transform:translateY(0);box-shadow:0 2px 8px #00ff8840}@media (width<=768px){.app-help-content{padding:16px;font-size:.85rem}.app-help-footer{padding:12px 16px}.app-help-button{padding:10px 32px;font-size:.9rem}}.knob{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.knob-label{color:var(--text-secondary,#aaa);text-align:center;align-items:flex-end;min-height:2.6em;font-size:11px;line-height:1.25;display:flex}.knob-dial{touch-action:none;cursor:ns-resize;border-radius:50%;outline:none;width:100%;max-width:72px}.knob-dial svg{width:100%;height:auto;display:block;overflow:visible}.knob-dial:focus-visible{box-shadow:0 0 0 2px var(--accent,#4caf50)}.knob-tick{stroke:#555;stroke-width:2px;stroke-linecap:round}.knob-track{fill:none;stroke:#3a3a3a;stroke-width:7px;stroke-linecap:round}.knob-fill{fill:none;stroke:var(--accent,#4caf50);stroke-width:7px;stroke-linecap:round}.knob-body{filter:drop-shadow(0 2px 3px #0009)}.knob-rim{fill:none;stroke:#666;stroke-width:1px}.knob-indicator{stroke:#fff;stroke-width:3.5px;stroke-linecap:round}.knob-indicator-halo{stroke:#000000a6;stroke-width:6px;stroke-linecap:round}.knob-dial--dragging .knob-fill{stroke-width:8.5px}.knob-dial--dragging .knob-rim{stroke:var(--accent,#4caf50)}.knob-value{font-family:var(--font-mono);color:#fff;font-variant-numeric:tabular-nums;font-size:11px}.guest-knob-backdrop{z-index:1500;background:#000000a6;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.guest-knob{border:1px solid var(--border);border-radius:var(--radius-lg,12px);background:var(--bg-elevated);text-align:center;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:320px;padding:28px 20px 24px;display:flex;position:relative}.guest-knob-message{font-family:var(--font-sans);color:var(--text-primary);margin:0;font-size:15px;line-height:1.5}.guest-knob-message strong{color:var(--accent)}.guest-knob-waiting{font-family:var(--font-mono);color:var(--text-secondary);margin:0;font-size:12px}.guest-knob-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:1rem;position:absolute;top:8px;right:10px}.drawing-player{z-index:2000;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.drawing-player-stage{touch-action:none;-webkit-user-select:none;user-select:none;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.drawing-player-canvas{display:block}.drawing-player-close{top:calc(12px + env(safe-area-inset-top));z-index:1;color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;width:40px;height:40px;font-size:1rem;position:absolute;right:12px}.drawing-player-message{color:var(--text-secondary);font-family:var(--font-mono);text-align:center;padding:24px;font-size:14px}.drawing-player-progress{background:#ffffff2e;flex-shrink:0;height:3px;overflow:hidden}.drawing-player-progress-fill{background:var(--accent,#0f8);height:100%;transition:width .1s linear}.gallery{background:var(--bg-surface);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.gallery-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:flex-end;padding:16px 20px;display:flex}.gallery-content{flex:1;min-height:0;padding:20px;overflow-y:auto}.gallery-message{min-height:240px;color:var(--text-secondary);font-family:var(--font-mono);text-align:center;justify-content:center;align-items:center;padding:20px;font-size:14px;display:flex}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.gallery-item{aspect-ratio:1;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);position:relative;overflow:hidden}.gallery-item img{object-fit:cover;background:#000;width:100%;height:100%;display:block}@media (width<=768px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}}.gallery-load-more{justify-content:center;padding:20px 0 4px;display:flex}.gallery-load-more-btn{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);color:var(--text-primary);cursor:pointer;padding:10px 24px;font-size:13px;transition:all .2s}.gallery-load-more-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.gallery-load-more-btn:disabled{opacity:.6;cursor:default}.gallery-tabbar{background:var(--bg-surface);border-top:1px solid var(--border);flex-shrink:0;animation:.4s ease-out tab-bar-slide-in;display:flex}.gallery-tab{color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;border-top:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 8px;font-size:13px;font-weight:500;transition:color .2s,border-color .2s;display:flex}.gallery-tab:hover{color:var(--text-primary)}.gallery-tab.active{color:var(--accent);border-top-color:var(--accent)}.gallery-item-blank{width:100%;height:100%;color:var(--text-secondary);font-family:var(--font-mono);background:#000;justify-content:center;align-items:center;font-size:12px;display:flex}.gallery-item-label{color:#fff;font-family:var(--font-mono);pointer-events:none;background:linear-gradient(#0000,#000000bf);padding:6px 8px;font-size:11px;position:absolute;bottom:0;left:0;right:0}.gallery-item--playable{cursor:pointer}.gallery-item.is-playing{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.gallery-item--playable:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);outline:none}.gallery-item-active{pointer-events:none;position:absolute;top:6px;left:6px;right:6px}.gallery-item-progress{background:#0000008c;border-radius:2px;width:100%;height:4px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff40}.gallery-item-progress-fill{background:var(--accent);height:100%;transition:width .25s linear}.gallery-menu-backdrop{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.gallery-menu{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);width:100%;max-width:320px;overflow:hidden}.gallery-menu-item{border:none;border-bottom:1px solid var(--border);width:100%;font-family:var(--font-mono);color:var(--text-primary);text-align:center;cursor:pointer;background:0 0;padding:16px;font-size:15px;display:block}.gallery-menu-item:last-child{border-bottom:none}.gallery-menu-item:active{background:var(--bg-surface)}.gallery-menu-item--destructive{color:#dc3545}.gallery-menu-cancel{color:var(--text-secondary)}.gallery-item--playable{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.gallery-header--live{justify-content:flex-start}.gallery-live{font-family:var(--font-sans);color:var(--accent);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.gallery-live-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite gallery-live-pulse}@keyframes gallery-live-pulse{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.gallery-live-dot{animation:none}}.gallery-item-live{background:#000;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gallery-item.is-playing{background:#000}.gallery-grid--hive{--tile-ratio:1.7778;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.gallery-item--hive{aspect-ratio:var(--tile-ratio);background:#000}.gallery-item.gallery-item--hive img{width:calc(100% / var(--tile-ratio));aspect-ratio:calc(1 / var(--tile-ratio));object-fit:cover;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(90deg)}@media (width<=768px){.gallery-grid--hive{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.gallery-item-play{color:#fff;pointer-events:none;background:#0000008c;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;padding-left:2px;font-size:11px;display:flex;position:absolute;bottom:6px;right:6px}.gallery-header--selecting{justify-content:flex-start;align-items:center;gap:10px}.gallery-selection-count{font-family:var(--font-mono);color:var(--text-secondary);margin-right:auto;font-size:13px}.gallery-item-check{width:22px;height:22px;color:var(--bg-dark);pointer-events:none;background:#00000073;border:2px solid #ffffffd9;border-radius:50%;justify-content:center;align-items:center;font-size:12px;line-height:1;display:flex;position:absolute;top:6px;right:6px}.gallery-item.is-selected .gallery-item-check{background:var(--accent);border-color:var(--accent)}.gallery-item.is-selected{border-color:var(--accent)}.gallery-item.is-selecting .gallery-item-active{right:34px}.gallery-item.is-selecting:not(.is-selected) img,.gallery-item.is-selecting:not(.is-selected) .gallery-item-live{opacity:.55}.gallery-header--modes{justify-content:space-between;align-items:center;gap:10px}.gallery-modes{gap:4px;display:flex}.gallery-mode{border:1px solid var(--border);border-radius:var(--radius);width:34px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;transition:color .2s,border-color .2s,background .2s;display:flex}.gallery-mode:hover{color:var(--text-primary)}.gallery-mode.is-active{background:var(--accent);border-color:var(--accent);color:var(--bg-dark)}.gallery-knob-button{margin-left:auto}.gallery-notice{z-index:5;border:1px solid var(--border);max-width:calc(100% - 32px);color:var(--text-primary);font-family:var(--font-mono);text-align:center;pointer-events:none;background:#000c;border-radius:16px;padding:8px 14px;font-size:12px;position:absolute;bottom:64px;left:50%;transform:translate(-50%)}.draw-page{z-index:1000;padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:#000000d9;flex-direction:column;display:flex;position:fixed;inset:0}.draw-canvas-container{touch-action:none;flex:1;width:100%;height:100%;position:relative;overflow:hidden}.draw-canvas-container.settings-open{pointer-events:none;-webkit-user-select:none;user-select:none;filter:blur(1px)grayscale(.5)}.draw-settings-overlay{z-index:2000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.draw-settings-modal{color:#fff;background:#222;border-radius:12px;min-width:320px;max-width:calc(100vw - 24px);min-height:180px;max-height:calc(100vh - 48px);padding:28px 20px;position:relative;overflow-y:auto}.draw-settings-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:22px;position:absolute;top:12px;right:12px}.draw-settings-title{margin-top:0}.draw-settings-control{margin:24px 0}.draw-settings-label{margin-bottom:8px;display:block}.draw-settings-toggle-label{cursor:pointer;justify-content:space-between;align-items:center;width:100%;display:flex}.draw-settings-control.is-disabled .draw-settings-toggle-label{opacity:.4;cursor:default}.draw-settings-hint{color:var(--text-secondary);font-family:var(--font-mono);margin:6px 0 0;font-size:11px}.draw-toggle-switch{width:48px;height:24px;display:inline-block;position:relative}.draw-toggle-switch input{opacity:0;width:0;height:0}.draw-toggle-slider{cursor:pointer;background-color:#555;border-radius:24px;transition:all .3s;position:absolute;inset:0}.draw-toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}.draw-toggle-switch input:checked+.draw-toggle-slider{background-color:var(--accent,#4caf50)}.draw-toggle-switch input:checked+.draw-toggle-slider:before{transform:translate(24px)}.draw-settings-divider{border:none;border-top:1px solid #444;margin:24px 0}.draw-settings-input{color:#fff;background:#333;border:1px solid #555;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-size:14px}.draw-settings-input:disabled{opacity:.6}.draw-settings-input:focus{border-color:var(--accent,#4caf50)}.draw-knob-grid{grid-template-columns:repeat(4,1fr);gap:14px 4px;margin:20px 0;display:grid}.draw-titlebar-toggle{box-sizing:border-box;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.draw-titlebar-toggle.is-active{border-radius:50%;animation:1.6s ease-in-out infinite draw-toggle-pulse;background:var(--accent,#0f8)!important}.draw-titlebar-toggle.is-working{animation:1.2s ease-in-out infinite draw-toggle-working}@keyframes draw-toggle-pulse{0%,to{box-shadow:0 0 #00ff888c}50%{box-shadow:0 0 0 6px #0f80}}@keyframes draw-toggle-working{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.draw-titlebar-toggle.is-active,.draw-titlebar-toggle.is-working{animation:none}}.draw-canvas-container{position:relative}.draw-gl-canvas{pointer-events:none;display:block;position:absolute;top:0;left:0}.loading-container{flex-direction:column;justify-content:center;align-items:center;height:100%;padding:40px 20px;display:flex;position:relative;overflow:hidden}.loading-background-wrapper{z-index:0;justify-content:center;transition:opacity .1s linear;display:flex;position:absolute;top:0;left:0;right:0}.loading-background-image{width:100%;height:auto;display:block;-webkit-mask-image:linear-gradient(#000 0%,#000c 40%,#0000004d 70%,#0000 100%);mask-image:linear-gradient(#000 0%,#000c 40%,#0000004d 70%,#0000 100%)}.loading-content{z-index:1;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:400px;display:flex;position:relative}.loading-title{color:var(--accent);text-align:center;margin-bottom:20px;font-size:20px;font-weight:600}.progress-bar-container{background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;width:100%;height:8px;margin-top:20px;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--accent-dim), var(--accent));height:100%;transition:width .1s linear}.loading-percentage{color:var(--text-secondary);font-size:14px;font-family:var(--font-mono);margin-top:12px}.terminal-output{margin-bottom:0}.terminal-line{white-space:pre-wrap;word-break:break-word;margin-bottom:12px}.terminal-line--system{color:var(--text-secondary)}.terminal-line--input{color:var(--text-primary)}.terminal-line--error{color:var(--error)}.terminal-line--success{color:var(--success)}.terminal-input-row{align-items:center;gap:8px;display:flex;position:relative}.terminal-prompt{color:var(--accent);font-weight:700}.terminal-input{color:var(--text-primary);font-family:var(--font-mono);caret-color:var(--accent);caret-shape:block;background:0 0;border:none;outline:none;flex:1;font-size:13px}.terminal-input::placeholder{color:var(--text-muted)}.personal-event-form{background:var(--bg-surface);flex-direction:column;flex:1;min-height:0;display:flex}.personal-event-form-error{border-radius:var(--radius);color:#ff6b6b;font-family:var(--font-mono);background:#ff44441a;border:1px solid #f446;margin:12px 24px 0;padding:10px 14px;font-size:13px}.personal-event-form-content{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:18px;min-height:0;padding:24px;display:flex;overflow-y:auto}.personal-event-field{flex-direction:column;gap:6px;display:flex}.personal-event-field label{color:var(--text-secondary);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.5px;font-size:12px}.personal-event-field input,.personal-event-field textarea{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-width:0;color:var(--text-primary);font-family:var(--font-mono);box-sizing:border-box;padding:12px 16px;font-size:14px;transition:all .3s}@media (width<=768px){.personal-event-field input[type=date]{appearance:none}}.personal-event-field textarea{resize:vertical;min-height:100px}.personal-event-field input:focus,.personal-event-field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #00ff881a}.personal-event-field input[type=date]::-webkit-calendar-picker-indicator{filter:invert();cursor:pointer}.personal-event-photo-buttons{gap:10px;display:flex}.personal-event-photo-buttons button{background:var(--bg-elevated);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;align-items:center;gap:8px;padding:10px 16px;font-size:13px;transition:all .2s;display:flex}.personal-event-photo-buttons button:hover{color:var(--accent);border-color:var(--accent)}.personal-event-photo-preview{width:fit-content;max-width:100%;position:relative}.personal-event-photo-preview img{border-radius:var(--radius);border:1px solid var(--border);max-width:100%;max-height:200px;display:block}.personal-event-photo-remove{background:var(--bg-dark);border:1px solid var(--border);width:24px;height:24px;color:var(--text-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:-8px;right:-8px}.personal-event-photo-remove:hover{color:#ff6b6b;border-color:#ff6b6b}.personal-event-photo-error{color:#ff6b6b;font-family:var(--font-mono);margin-top:6px;font-size:12px}.connection-form{background:var(--bg-elevated);flex-direction:column;flex:1;padding:0;display:flex;overflow-y:auto}.connection-form h3{color:var(--accent);margin:0 0 16px;padding:20px 20px 0;font-size:18px}.connection-form .form-photo-section{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-direction:column;justify-content:center;align-items:center;margin-bottom:0;padding:24px 20px;display:flex;position:relative;overflow:hidden}.connection-form .photo-slot{position:relative}.connection-form .photo-error{color:#f44;max-width:320px;font-family:var(--font-mono);text-align:center;margin:12px 0 0;font-size:12px;line-height:1.5}.connection-form .photo-preview{width:152.42px;height:132px;position:relative}.connection-form .photo-avatar-button{cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0;display:block}.connection-form .photo-remove{color:#fff;border:2px solid var(--bg-surface);cursor:pointer;background:#f44;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;position:absolute;top:14px;right:2px}.connection-form .photo-remove:hover{background:#c00}.connection-form .photo-placeholder{width:152.42px;height:132px;color:var(--text-secondary);position:relative}.connection-form .photo-placeholder-icon{background:var(--bg-surface);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.connection-form .photo-placeholder-icon svg{width:50px;height:50px}.connection-form .photo-add{color:#fff;border:2px solid var(--bg-surface);pointer-events:none;background:#4a4;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:22px;line-height:1;display:flex;position:absolute;top:14px;right:2px}.connection-form .form-field{border-bottom:1px solid var(--border);align-items:center;margin:0 20px 6px;transition:border-color .2s;display:flex}.connection-form .form-field:focus-within{border-bottom-color:var(--accent)}.connection-form .form-field-icon{color:var(--text-primary);flex-shrink:0;justify-content:center;align-items:center;padding:12px 14px 12px 2px;font-size:18px;display:flex}.connection-form .form-field input{color:var(--text-primary);font-family:var(--font-mono);box-sizing:border-box;background:0 0;border:none;border-radius:0;flex:1;padding:12px 2px;font-size:14px}.connection-form .form-field input:focus{outline:none}.connection-form .form-field input[type=date]{text-align:left;padding-right:12px}.connection-form .form-field input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}.connection-form .form-field input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2300ff88' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain;width:16px;height:16px}.connection-form .form-field input:read-only{cursor:default;opacity:.9}.connection-form .form-field-hive-user .form-field-icon,.connection-form .form-field-hive-user .form-field-static{color:var(--accent)}.connection-form .form-field-static{color:var(--text-primary);font-family:var(--font-mono);opacity:.9;flex:1;padding:12px 2px;font-size:14px}.connection-form .btn-add-method{color:var(--accent);font-family:var(--font-mono);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:0;margin-bottom:0;padding:12px 20px;font-size:14px;transition:all .2s}.connection-form .btn-add-method--spaced{margin-bottom:20px}.connection-form .btn-add-method:hover{color:var(--accent-dim)}.connection-form .connection-methods-list{flex-direction:column;gap:6px;margin-bottom:0;display:flex}.connection-form .connection-method-row{margin:0 20px;display:flex}.connection-form .connection-method-input-wrapper{border:none;border-bottom:1px solid var(--border);background:0 0;border-radius:0;flex:1;align-items:center;transition:border-color .2s;display:flex}.connection-form .connection-method-input-wrapper:focus-within{border-bottom-color:var(--accent)}.connection-form .connection-method-select-wrapper{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:12px 14px 12px 2px;display:flex;position:relative}.connection-form .connection-method-icon{color:var(--text-primary);pointer-events:none;justify-content:center;align-items:center;font-size:18px;display:flex}.connection-form .connection-method-caret{color:var(--text-secondary);pointer-events:none;flex-shrink:0;margin-left:3px;font-size:11px}.connection-form .connection-method-type{opacity:0;cursor:pointer;background:0 0;border:none;width:100%;height:100%;position:absolute;top:0;left:0}.connection-form .connection-method-type:focus{outline:none}.connection-form .connection-method-value{color:var(--text-primary);font-family:var(--font-mono);background:0 0;border:none;flex:1;padding:12px 2px;font-size:14px}.connection-form .connection-method-value:focus{outline:none}.connection-form .connection-method-value--static{cursor:default;opacity:.9;overflow-wrap:anywhere}.connection-form .connection-method-link{text-align:left;color:var(--accent);cursor:pointer;overflow-wrap:anywhere}.connection-form .connection-method-type:disabled{cursor:default}.connection-form .btn-remove-method{color:#f44;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:12px;padding:12px;transition:all .2s;display:flex}.connection-form .btn-remove-method:hover{color:#c00;background:#ff44441a}.connection-form .connection-prompts-list{flex-direction:column;gap:6px;margin-bottom:0;display:flex}.connection-form .connection-prompt-row{border-bottom:1px solid var(--border);align-items:center;margin:0 20px;transition:border-color .2s;display:flex}.connection-form .connection-prompt-row:focus-within{border-bottom-color:var(--accent)}.connection-form .connection-prompt-select-wrapper{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:12px 14px 12px 2px;display:flex;position:relative}.connection-form .connection-prompt-icon{color:var(--text-primary);pointer-events:none;justify-content:center;align-items:center;font-size:18px;display:flex}.connection-form .connection-prompt-caret{color:var(--text-secondary);pointer-events:none;flex-shrink:0;margin-left:3px;font-size:11px}.connection-form .connection-prompt-type{opacity:0;cursor:pointer;background:0 0;border:none;width:100%;height:100%;position:absolute;top:0;left:0}.connection-form .connection-prompt-type:focus{outline:none}.connection-form .connection-prompt-type:disabled{cursor:default}.connection-form .connection-prompt-body{flex-direction:column;flex:1;min-width:0;padding:6px 0;display:flex}.connection-form .connection-prompt-question{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.02em;font-size:11px}.connection-form .connection-prompt-value{color:var(--text-primary);font-family:var(--font-mono);background:0 0;border:none;padding:2px;font-size:14px}.connection-form .connection-prompt-value:focus{outline:none}.connection-form .connection-prompt-value:read-only{cursor:default;opacity:.9}.connection-tracks{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin-top:16px;padding:20px;display:flex}.connection-tracks-heading{font-family:var(--font-mono);color:var(--text-primary);font-size:.95rem;font-weight:600}.connection-track{flex-direction:column;gap:6px;display:flex}.connection-track-title{color:var(--text-secondary);font-size:.8rem}.connection-track-embed{border-radius:var(--radius-sm);border:0;width:100%}.connection-track-link{color:var(--accent);font-size:.85rem;text-decoration:none}.fullscreen-avatar-overlay{z-index:2000;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:#000000f2;flex-direction:column;display:flex;position:fixed;inset:0}.fullscreen-avatar-bar{flex-shrink:0;justify-content:flex-end;padding:12px;display:flex}.fullscreen-avatar-close{background:var(--bg-surface);color:var(--text-primary);border:2px solid var(--border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.fullscreen-avatar-close:hover{background:var(--accent);color:var(--bg-dark);border-color:var(--accent)}.fullscreen-avatar-close svg{width:22px;height:22px}.fullscreen-avatar-stage{flex:1;justify-content:center;align-items:center;min-height:0;padding:0 16px 24px;display:flex}.fullscreen-avatar-image{object-fit:contain;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:12px;max-width:100%;max-height:100%}.hex-frame{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);width:100%;height:100%;position:relative}.hex-frame>img,.hex-frame>video{object-fit:cover;width:100%;height:100%;display:block}.hex-frame-outline{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hex-frame-outline polygon{fill:none;stroke:var(--border);stroke-width:6px;vector-effect:non-scaling-stroke}.hex-backdrop{pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hex-backdrop polygon{fill:none;stroke:var(--border);stroke-width:2px;opacity:.45}.hex-pattern{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hex-pattern polygon{fill:none;stroke:var(--border);stroke-width:1.5px;opacity:.45}.hex-backdrop.reveal polygon{transform-box:fill-box;transform-origin:50%;animation:.35s ease-out backwards hex-cell-in}@keyframes hex-cell-in{0%{opacity:0;transform:scale(.6)}}.hex-avatar-reveal{animation:.4s cubic-bezier(.2,.9,.3,1.2) backwards hex-avatar-in}@keyframes hex-avatar-in{0%{opacity:0;transform:scale(.85)}}@media (prefers-reduced-motion:reduce){.hex-backdrop.reveal polygon,.hex-avatar-reveal{animation:none}}.action-menu-backdrop{z-index:2100;position:fixed;inset:0}.action-menu{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);transform-origin:100% 0;flex-direction:column;min-width:180px;padding:6px;animation:.24s cubic-bezier(.2,.9,.3,1.15) both action-menu-drop;display:flex;position:fixed;box-shadow:0 8px 30px #00000080}.action-menu.align-left{transform-origin:0 0}.action-menu.opens-up{transform-origin:100% 100%;animation-name:action-menu-rise}.action-menu.opens-up.align-left{transform-origin:0 100%}.action-menu.closing{pointer-events:none;animation:.14s ease-in both action-menu-exit}@keyframes action-menu-drop{0%{opacity:0;transform:translateY(-8px)scale(.85)}to{opacity:1;transform:none}}@keyframes action-menu-rise{0%{opacity:0;transform:translateY(8px)scale(.85)}to{opacity:1;transform:none}}@keyframes action-menu-exit{to{opacity:0;transform:scale(.92)}}@keyframes action-menu-item-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}.action-menu-item{border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-mono);text-align:left;cursor:pointer;animation:.2s ease-out both action-menu-item-in;animation-delay:calc(60ms + var(--i,0) * 35ms);background:0 0;border:none;align-items:center;gap:12px;padding:10px 12px;font-size:.9rem;transition:background .15s;display:flex}.action-menu-item svg{color:var(--accent)}.action-menu-item:active,.action-menu-item:hover{background:var(--bg-surface)}@media (prefers-reduced-motion:reduce){.action-menu,.action-menu.closing,.action-menu-item{animation:none}}.connection-card-wrapper{position:relative;overflow:hidden}.connection-card-delete-button{color:#fff;cursor:pointer;z-index:0;background:#f44;justify-content:center;align-items:center;width:80px;transition:background .2s;display:flex;position:absolute;top:0;bottom:0;right:0}.connection-card-delete-button.hidden{visibility:hidden}.connection-card-delete-button:hover{background:#c00}.connection-card-delete-button svg{width:24px;height:24px}.connection-card{background:var(--bg-surface);border:none;border-top:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;z-index:1;touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:0;align-items:center;gap:16px;margin-bottom:-1px;padding:12px 20px;display:flex;position:relative}.connection-card:hover{background:var(--bg-elevated)}.connection-card-avatar.hex-frame{flex-shrink:0;width:55.4256px;height:48px}.connection-card-avatar .hex-frame-outline polygon{stroke-width:4px}.connection-card-avatar-placeholder{background:var(--bg-elevated);width:100%;height:100%;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.connection-card-avatar-placeholder svg{width:20px;height:20px}.connection-info{flex:1}.connection-name{color:var(--text-primary);margin:0;font-size:14px;font-weight:600}.connection-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:10px;font-weight:600}.connection-badge.public{color:var(--accent);border-color:var(--accent)}.connections-search{flex-shrink:0}.connections-search-input{background:var(--bg-surface);width:100%;color:var(--text-primary);border:none;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-family:var(--font-mono);box-sizing:border-box;border-radius:0;padding:12px 20px;font-size:14px;transition:background .2s}.connections-search-input:focus{background:var(--bg-elevated);outline:none}.connections-search-input::placeholder{color:var(--text-tertiary)}.connections-list{flex:1;overflow-y:auto}.connections-empty{text-align:center;color:var(--text-secondary);padding:60px 20px}.connections-empty p:first-child{margin-bottom:8px;font-size:18px}.connections-hint{color:var(--text-tertiary);font-size:12px}.connections-tabbar{background:var(--bg-surface);border-top:1px solid var(--border);flex-shrink:0;display:flex}.connections-tab{color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;border-top:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 8px;font-size:13px;font-weight:500;transition:color .2s,border-color .2s;display:flex}.connections-tab:hover{color:var(--text-primary)}.connections-tab.active{color:var(--accent);border-top-color:var(--accent)}.event-connections{box-sizing:border-box;-webkit-overflow-scrolling:touch;flex-direction:column;max-width:900px;height:100%;min-height:0;margin:0 auto;padding:20px 16px;display:flex;overflow-y:auto}.event-connections--form{padding:0;overflow:hidden}.event-connections-header{justify-content:space-between;align-items:center;margin-bottom:20px;padding:0 4px;display:flex}.event-connections-header h3{color:var(--text-primary);margin:0;font-size:20px;font-weight:600}.event-menu-anchor{display:flex}.event-menu-toggle{box-sizing:border-box;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.overview{min-height:100%;position:relative}.overview-background-wrapper{z-index:0;opacity:.7;justify-content:center;display:flex;position:absolute;top:-20px;left:-16px;right:-16px}.overview-background-image{width:100%;height:auto;display:block;-webkit-mask-image:linear-gradient(#000 0%,#0009 40%,#0000001a 70%,#0000 100%);mask-image:linear-gradient(#000 0%,#0009 40%,#0000001a 70%,#0000 100%)}.tab-content>.overview{animation:none}.overview-content{z-index:1;animation:.4s ease-out event-fade-in;position:relative}.overview-hero{text-align:center;padding:32px 20px;position:relative}.overview-hero:before,.overview-hero:after{content:"";z-index:-1;filter:blur(9px);pointer-events:none;background:#0a0a0c80;position:absolute;inset:2px 8px}.overview-hero:before{border-radius:54px 30px 62px 36px/38px 52px 30px 56px}.overview-hero:after{border-radius:34px 58px 28px 50px/50px 32px 56px 34px;transform:rotate(-1.2deg)}@media (prefers-reduced-transparency:reduce){.overview-hero:before,.overview-hero:after{background:#0a0a0cd1}}.overview-title{color:var(--accent);margin-bottom:8px;font-size:28px;font-weight:700}.overview-dates{color:var(--text-secondary);font-size:15px}.overview-details{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);max-width:900px;margin:0 auto;padding:20px;line-height:1.7}.overview-details p{margin-bottom:12px}.overview-details p:last-child{margin-bottom:0}.overview-extra{max-width:900px;margin-top:24px;margin-left:auto;margin-right:auto}.overview-extra .extra-list{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:20px;display:flex}.overview-extra .extra-item{align-items:center;gap:14px;transition:background-color .2s;display:flex}.overview-extra .extra-item:last-child{border-bottom:none}.overview-extra .extra-link{text-decoration:none}.overview-extra .extra-link:hover .extra-item{background-color:rgba(var(--accent-rgb), .05)}.overview-extra .extra-title{color:var(--text-primary);font-size:14px}.overview-extra .extra-link .extra-title{color:var(--accent)}.overview-details ul{margin:0 0 12px;padding-left:24px}.overview-details ol{margin:0 0 12px;padding-left:34px}.overview-details li{margin-bottom:6px}.lineup-empty{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:14px}.artist-list{flex-direction:column;gap:16px;display:flex}.artist-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .2s;display:flex;overflow:hidden}.artist-card:hover{border-color:var(--accent-dim)}.artist-card.expandable{cursor:pointer;scroll-margin-top:12px}.artist-aside{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;align-items:center;gap:10px;padding:43px 16px 16px;display:flex;position:relative;overflow:hidden}.artist-pic-slot{width:92.376px;height:80px;position:relative}.artist-pic.hex-frame{width:100%;height:100%}.artist-link{position:relative}.artist-pic .hex-frame-outline polygon{stroke-width:4px}.artist-pic-placeholder{background:var(--bg-elevated);width:100%;height:100%;color:var(--text-secondary);justify-content:center;align-items:center;font-size:24px;display:flex}.artist-info{flex:1;min-width:0;padding:16px}.artist-name{color:var(--text-primary);margin-bottom:6px;font-size:15px;font-weight:600;line-height:1.4}.artist-bio-wrap{margin-bottom:8px;transition:height .3s;overflow:hidden}.artist-bio{color:var(--text-secondary);white-space:pre-line;overflow-wrap:break-word;margin:0;font-size:13px;line-height:1.5}.artist-bio.clamped{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.artist-more{font-family:var(--font-mono);color:var(--accent);margin:-4px 0 8px;font-size:12px;display:block}@media (prefers-reduced-motion:reduce){.artist-bio-wrap{transition:none}}.artist-link{color:var(--accent);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.artist-note-backdrop{z-index:2100;padding:calc(8vh + env(safe-area-inset-top)) 20px 20px;background:#0009;justify-content:center;align-items:flex-start;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.artist-note-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:12px;width:100%;max-width:420px;padding:16px;display:flex}.artist-note-title{color:var(--accent);margin:0;font-size:16px;font-weight:600}.artist-note-input{box-sizing:border-box;resize:none;background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-primary);font-family:var(--font-mono);padding:12px;font-size:16px}.artist-note-input:focus{border-color:var(--accent);outline:none}.artist-note-actions{gap:12px;display:flex}.artist-note-btn{border-radius:var(--radius);background:var(--bg-dark);color:var(--text-primary);border:1px solid var(--border);font-family:var(--font-mono);cursor:pointer;flex:1;padding:12px;font-size:14px;font-weight:600}.artist-note-btn:disabled{opacity:.55;cursor:default}.artist-note-btn-primary{background:var(--accent);color:var(--bg-dark);border-color:var(--accent)}.timetable{flex-direction:column;height:100%;min-height:0;display:flex}.timetable-stage-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0;padding:14px 0 14px 16px;display:flex;overflow-x:auto}.timetable-stage-tabs:after{content:"";flex:0 0 16px}.timetable-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:0 16px 20px;overflow-y:auto}.timetable-stage-tabs::-webkit-scrollbar{display:none}.timetable-stage-strip{background:var(--bg-elevated);flex-shrink:0;display:flex;position:relative}.timetable-stage-tab{color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;border-radius:0;flex-shrink:0;padding:9px 18px;font-size:13px;font-weight:500;transition:color .2s}.timetable-stage-tab+.timetable-stage-tab{border-left:1px solid var(--border)}.timetable-stage-tab.active{color:var(--accent)}.timetable-stage-indicator{box-sizing:border-box;border:2px solid var(--accent);pointer-events:none;z-index:1;background:#00ff881f;transition:transform .25s,width .25s,height .25s,top .25s;position:absolute;left:0}@media (prefers-reduced-motion:reduce){.timetable-stage-indicator{transition:none}}.timetable-stage-viewport{touch-action:pan-y;overflow-x:clip}.timetable-stage-track{align-items:flex-start;display:flex}.timetable-stage-slide{flex-shrink:0}.timetable-day{margin-bottom:24px}.timetable-day-header{z-index:2;background:#000;margin:0 -16px;padding:12px 16px;position:sticky;top:0}.timetable-day-header-card{color:var(--text-primary);background:var(--bg-elevated);border-radius:var(--radius);padding:10px 12px;font-size:16px;font-weight:600;display:block}.timetable-entries{flex-direction:column;display:flex}.timetable-entry{border-bottom:1px solid var(--border);align-items:baseline;gap:16px;padding:8px 12px;display:flex}.timetable-entry:last-child{border-bottom:none}.timetable-entry.current{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius);border-bottom-color:#0000}.timetable-time{font-family:var(--font-mono);color:var(--accent);flex-shrink:0;min-width:48px;font-size:13px}.timetable-artist-info{flex-direction:column;gap:2px;display:flex}.timetable-entry-actions{flex-shrink:0;align-self:center;margin-left:auto;display:flex}.timetable-fav{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:6px;transition:color .2s,transform .1s;display:flex}.timetable-fav.active{color:var(--accent)}.timetable-fav:active{transform:scale(.85)}.timetable-artist-name{color:var(--text-primary);font-size:14px;font-weight:500}a.timetable-artist-name{color:var(--accent)}.timetable-genre{color:var(--text-muted);font-size:12px}.countdown{margin-top:16px}.countdown-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;font-size:13px}.countdown-timer{justify-content:center;align-items:center;gap:4px;display:flex}.countdown-segment{flex-direction:column;align-items:center;min-width:48px;display:flex}.countdown-value{font-family:var(--font-mono);color:var(--accent);font-size:28px;font-weight:700;line-height:1}.countdown-unit{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-top:4px;font-size:10px}.countdown-separator{font-family:var(--font-mono);color:var(--text-muted);margin-bottom:16px;font-size:24px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.countdown-value{animation:2s ease-in-out infinite pulse}.location{flex-direction:column;gap:20px;display:flex}.location-status{text-align:center;padding:40px 20px}.location-fallback{color:var(--text-secondary);margin-bottom:24px;font-size:16px;line-height:1.6}.location-sailed{color:var(--text-muted);font-size:18px;font-style:italic}.location-details{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;line-height:1.7}.location-details p{margin-bottom:8px}.location-actions{flex-direction:column;align-items:center;gap:8px;display:flex}.location-link{border:1px solid var(--accent-dim);border-radius:var(--radius);color:var(--accent);background:#00ff881a;padding:12px 24px;font-size:14px;font-weight:500;transition:all .2s;display:inline-block}.location-link:hover{background:#0f83;text-decoration:none}.location-map{border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden}.location-details ul{margin:0 0 12px;padding-left:24px}.location-details ol{margin:0 0 12px;padding-left:34px}.location-details li{margin-bottom:6px}.report-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;background:#000000d9;animation:.2s ease-out fadeIn;position:fixed;inset:0}.report-form{min-height:0;font-family:var(--font-mono);background:var(--bg-elevated);color:var(--text-primary);flex-direction:column;flex:1;gap:16px;padding:18px 20px 22px;display:flex;overflow-y:auto}.report-quote{border-left:3px solid var(--accent);background:var(--bg-surface);border-radius:var(--radius-sm);padding:10px 14px}.report-quote-name{color:var(--accent);margin-bottom:4px;font-size:.8rem;display:block}.report-quote-text{color:var(--text-secondary);word-break:break-word;max-height:6.5em;margin:0;font-size:.9rem;overflow-y:auto}.report-prompt{color:var(--text-primary);margin:0;font-size:.9rem}.report-reasons{flex-direction:column;gap:8px;display:flex}.report-reason{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);align-items:center;gap:10px;padding:11px 14px;font-size:.9rem;transition:border-color .15s,background .15s;display:flex}.report-reason.selected{border-color:var(--accent);background:#00ff8814}.report-reason input{accent-color:var(--accent)}.report-description{box-sizing:border-box;resize:vertical;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);width:100%;color:var(--text-primary);font-family:var(--font-mono);padding:12px 14px;font-size:.9rem}.report-description:focus{border-color:var(--accent);outline:none}.report-error{color:var(--error);font-size:.85rem}.report-actions{gap:12px;margin-top:2px;display:flex}.report-cancel,.report-submit{font-family:var(--font-mono);cursor:pointer;border-radius:20px;flex:1;padding:12px 18px;font-size:.9rem;transition:all .2s}.report-cancel{border:2px solid var(--border);color:var(--text-primary);background:0 0}.report-cancel:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.report-submit{border:2px solid var(--accent);color:var(--accent);background:0 0}.report-submit:hover:not(:disabled){background:var(--accent);color:var(--bg-dark)}.report-submit:disabled{opacity:.45;cursor:default}.report-done{align-items:flex-start}.report-done .report-submit{flex:none;align-self:stretch}.report-done-title{color:var(--accent);margin:4px 0 0;font-size:1rem}.report-done-sub{color:var(--text-secondary);margin:0;font-size:.85rem}.profile-view-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;background:#000000d9;animation:.2s ease-out fadeIn;position:fixed;inset:0}.profile-view{min-height:0;font-family:var(--font-sans);color:var(--text-primary);flex-direction:column;flex:1;gap:16px;padding:22px 20px;display:flex;overflow-y:auto}.profile-view-status{text-align:center;color:var(--text-secondary);font-family:var(--font-mono);padding:2.5rem 1.5rem}.profile-view-error{color:#ff6b6b;font-size:.85rem}.profile-view-header{flex-direction:column;align-items:center;gap:12px;display:flex}.profile-view-hero{border-bottom:1px solid var(--border);background:var(--bg-surface);justify-content:center;align-self:stretch;margin:-22px -20px 0;padding:24px 20px;display:flex;position:relative;overflow:hidden}.profile-view-avatar,.profile-avatar-hex{width:152.42px;height:132px;position:relative}.profile-avatar-placeholder-cell{background:var(--bg-surface);width:100%;height:100%;color:var(--text-secondary);justify-content:center;align-items:center;font-size:44px;display:flex}.profile-view-name{white-space:nowrap;text-overflow:ellipsis;text-align:center;height:1.6rem;color:var(--text-primary);align-self:stretch;margin:0;font-size:1.3rem;line-height:1.6rem;overflow:hidden}.profile-view-location{text-align:center;color:var(--text-secondary);margin:4px 0 0;font-size:.9rem}.profile-view-bio{text-align:center;color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:break-word;margin:0;line-height:1.6}.profile-view-tracks-heading{color:var(--accent);margin:8px 0 0;font-size:.95rem}.profile-view-tracks ul{flex-direction:column;gap:12px;margin:8px 0 0;padding:0;list-style:none;display:flex}.profile-view-track{flex-direction:column;gap:6px;display:flex}.profile-view-track-title{color:var(--text-secondary);font-size:.85rem}.profile-view-track-embed{border-radius:var(--radius-sm);border:0;width:100%}.profile-view-track-link{color:var(--accent);font-size:.85rem;text-decoration:none}.profile-view-connect{border:2px solid var(--accent);background:var(--accent);color:var(--bg-dark);font-family:var(--font-mono);cursor:pointer;border-radius:20px;margin-top:4px;padding:12px 18px;font-size:.95rem;font-weight:600;transition:all .2s}.profile-view-connect:disabled{color:var(--accent);opacity:.85;cursor:default;background:0 0}.profile-view-mod-actions{justify-content:center;gap:24px;margin-top:auto;padding-top:16px;display:flex}.profile-view-mod-action{font-family:var(--font-mono);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:.85rem;text-decoration:underline}.profile-view-mod-action.danger{color:var(--error,#f44)}.fullscreen-image-overlay{z-index:2000;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:#000000f2;flex-direction:column;display:flex;position:fixed;inset:0}.fullscreen-image-bar{flex-shrink:0;justify-content:flex-end;padding:12px;display:flex}.fullscreen-image-close{background:var(--bg-surface);color:var(--text-primary);border:2px solid var(--border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.fullscreen-image-close:hover{background:var(--accent);color:var(--bg-dark);border-color:var(--accent)}.fullscreen-image-close svg{width:22px;height:22px}.fullscreen-image-stage{flex:1;justify-content:center;align-items:center;min-height:0;padding:0 16px 24px;display:flex}.fullscreen-image{object-fit:contain;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:12px;width:auto;max-width:100%;height:auto;max-height:100%}.banter{flex-direction:column;height:100%;min-height:0;display:flex}.banter.reaction-open .banter-message:not(.reacting),.banter.reaction-open .banter-date-divider,.banter.reaction-open .banter-compose{filter:blur(3px);opacity:.55}.banter-date-divider,.banter-compose{transition:filter .18s,opacity .18s}body.banter-pressing,body.banter-pressing *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}.banter-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:8px 16px 10px;display:flex}.banter.reaction-open .banter-header{filter:blur(3px);opacity:.55}.banter-tabs{gap:6px;display:flex}.banter-tab{border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:6px 12px;font-size:12px;transition:border-color .2s,color .2s}.banter-tab.active{border-color:var(--accent);color:var(--accent)}.banter-list{overflow-anchor:none;flex-direction:column;flex:1;gap:10px;min-height:0;padding:0 16px 14px;display:flex;overflow-y:auto}.banter-loading{flex-shrink:0;justify-content:center;align-items:center;padding:12px;display:flex}.banter-loading:after{content:"";border:2px solid #00ff8840;border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite banter-spin}@keyframes banter-spin{to{transform:rotate(360deg)}}.banter-empty{text-align:center;color:var(--text-secondary);flex:1;justify-content:center;align-items:center;padding:40px 16px;font-size:14px;display:flex}.banter-date-divider{color:var(--text-muted);font-family:var(--font-mono);flex-shrink:0;align-items:center;gap:10px;margin:8px 0 2px;font-size:11px;display:flex}.banter-date-divider:before,.banter-date-divider:after{content:"";border-top:1px solid var(--border);flex:1}.banter-message{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;padding:10px 12px;transition:transform .18s,filter .18s,opacity .18s;position:relative}.banter-message.reacting{z-index:1;transform:scale(1.04)}.banter-react-popup{background:var(--bg-dark);border:1px solid var(--border);z-index:5;border-radius:999px;gap:2px;padding:4px 6px;display:flex;position:absolute;bottom:calc(100% + 6px);right:8px;box-shadow:0 4px 16px #00000073}.banter-react-popup.below{top:calc(100% + 6px);bottom:auto}.banter-msg-menu{z-index:6;background:var(--bg-dark);border:1px solid var(--border);border-radius:12px;flex-direction:column;min-width:168px;padding:6px;display:flex;position:absolute;right:8px;box-shadow:0 6px 20px #00000080}.banter-msg-menu.below{top:calc(100% + 6px)}.banter-msg-menu.below.pushed{top:calc(100% + 52px)}.banter-msg-menu.above{bottom:calc(100% + 6px)}.banter-msg-menu.above.pushed{bottom:calc(100% + 52px)}.banter-msg-menu-item{text-align:left;font-family:var(--font-mono);color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:10px 12px;font-size:.85rem}.banter-msg-menu-item:active{background:var(--bg-surface)}.banter-msg-menu-separator{background:var(--border);height:1px;margin:4px 6px}.banter-react-option{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:5px 6px 7px;font-size:20px;line-height:1;position:relative}.banter-react-option.selected{background:var(--bg-surface)}.banter-react-option.selected:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.banter-react-option:active{transform:scale(1.25)}.banter-message-reactions{z-index:1;gap:4px;display:flex;position:absolute;bottom:-10px;right:10px}.banter-message-reaction{background:var(--bg-dark);border:1px solid var(--border);border-radius:999px;align-items:center;gap:3px;padding:3px 8px;font-size:13px;line-height:1;display:inline-flex}.banter-message-reaction.mine{border-color:var(--accent-dim)}.banter-message-reaction-count{font-family:var(--font-mono);color:var(--text-secondary);font-size:11px}.banter-message.own{border-color:var(--accent-dim);margin-left:20px}.banter-message:not(.own){margin-right:20px}.banter-message-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.banter-message-name{font-family:var(--font-mono);color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.banter-message-name-link{font-family:var(--font-mono);color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.banter-message-time{color:var(--text-muted);flex-shrink:0;font-size:11px}.banter-message-text{color:var(--text-primary);white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;margin:0;font-size:14px;line-height:1.5}.banter-compose{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:8px;margin-top:4px;padding:12px 16px;display:flex}.banter-error{color:var(--error);font-size:13px}.banter-reply-preview{border-left:3px solid var(--border);background:var(--bg-elevated);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:6px 10px;display:flex}.banter-reply-quote{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.banter-reply-name{color:var(--text-secondary);font-size:.72rem}.banter-reply-text{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.banter-reply-cancel{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px 6px;font-size:.85rem;line-height:1}.banter-input-wrap{position:relative}.banter-input{box-sizing:border-box;background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-sans);resize:none;scrollbar-width:none;max-height:140px;padding:10px 44px 10px 12px;font-size:14px;line-height:1.4;transition:border-color .2s;display:block}.banter-input::-webkit-scrollbar{display:none}.banter-input:focus{border-color:var(--accent);outline:none}.banter-count{font-family:var(--font-mono);color:var(--text-muted);pointer-events:none;font-size:11px;position:absolute;top:6px;right:10px}.banter-send{width:32px;height:32px;color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;bottom:4px;right:6px}.banter-send:disabled{opacity:.4;cursor:not-allowed}.banter-message.banter-announcement{border-color:var(--accent-dim);background:var(--bg-dark);margin-left:0;margin-right:0}.banter-announcement-pin{font-size:12px}.banter-announcement-actions{gap:8px;margin-top:10px;display:flex}.banter-announcement-action{border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:999px;padding:4px 12px;font-size:11px;transition:border-color .2s,color .2s}.banter-announcement-action:hover{border-color:var(--accent);color:var(--accent)}.banter-announcement-action.danger:hover{border-color:var(--error);color:var(--error)}.banter-editing{color:var(--text-secondary);font-size:12px;font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:8px;display:flex}.banter-retention{color:var(--text-muted);text-align:center;margin:0;font-size:11px}.banter-signin{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:8px 0 4px;display:flex}.banter-signin p{color:var(--text-secondary);margin:0;font-size:14px}.banter-signin-button{border:1px solid var(--accent);color:var(--accent);font-family:var(--font-mono);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:10px 24px;font-size:14px;font-weight:600;transition:all .2s}.banter-signin-button:hover{background:var(--accent);color:var(--bg-dark)}.banter-announcement-image-button{cursor:zoom-in;background:0 0;border:none;width:fit-content;max-width:100%;margin-top:10px;padding:0;display:block}.banter-announcement-image{border:1px solid var(--border);border-radius:var(--radius-sm);width:auto;max-width:100%;height:auto;max-height:280px;display:block}.banter-attach{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:color .2s;display:flex;position:absolute;bottom:4px;left:6px}.banter-attach:hover{color:var(--accent)}.banter-input-wrap.with-attach .banter-input{padding-left:44px}.banter-attachment{max-width:100%;margin-bottom:8px;display:inline-block;position:relative}.banter-attachment-preview{border:1px solid var(--border);border-radius:var(--radius-sm);width:auto;max-width:100%;height:auto;max-height:140px;display:block}.banter-attachment-remove{border:1px solid var(--border);width:28px;height:28px;color:var(--text-primary);cursor:pointer;background:#0009;border-radius:50%;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;top:6px;right:6px}.details-state{text-align:center;color:var(--text-secondary,#aaa);padding:32px 0}.details-retry{color:#fff;cursor:pointer;background:#333;border:1px solid #555;border-radius:6px;margin-top:12px;padding:8px 16px}.details-filters{scrollbar-width:none;gap:8px;margin-bottom:4px;padding-bottom:12px;display:flex;overflow-x:auto}.details-filters::-webkit-scrollbar{display:none}.details-filter{color:var(--text-secondary,#aaa);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #555;border-radius:999px;flex-shrink:0;padding:6px 14px;font-size:13px}.details-filter--active{background:var(--accent,#4caf50);border-color:var(--accent,#4caf50);color:#0a0a0a;font-weight:600}.details-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.details-card{background:var(--bg-elevated,#1c1c1c);text-align:center;border:1px solid #2e2e2e;border-radius:10px;flex-direction:column;align-items:center;padding:16px;display:flex}.details-card-title{margin:0 0 6px;font-size:17px}.details-card-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary,#aaa);align-self:center;margin-bottom:12px;font-size:11px}.details-card-image{border-radius:8px;width:auto;max-width:100%;height:auto;max-height:45vh;margin-bottom:12px;display:block}.details-card-text{white-space:pre-wrap;text-align:left;align-self:stretch;margin:0;line-height:1.5}.details-card-link{border:1px solid var(--accent,#4caf50);color:var(--accent,#4caf50);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;margin-top:14px;padding:8px 14px;font-size:14px;display:inline-flex}.details-add{background:var(--accent,#4caf50);color:#0a0a0a;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;margin-top:14px;margin-bottom:14px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex}.details-card-admin{align-self:flex-end;gap:8px;margin-top:12px;display:flex}.details-card-admin button{color:var(--text-secondary,#aaa);cursor:pointer;background:0 0;border:1px solid #555;border-radius:6px;padding:6px 10px}.detail-composer-overlay{z-index:2000;background:#000000b3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.detail-composer{color:#fff;background:#222;border-radius:12px;width:100%;max-width:440px;max-height:calc(100vh - 48px);padding:28px 20px 20px;position:relative;overflow-y:auto}.detail-composer-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:20px;position:absolute;top:10px;right:12px}.detail-composer-title{margin:0 0 16px;font-size:18px}.detail-composer-label{color:var(--text-secondary,#aaa);margin:14px 0 6px;font-size:12px;display:block}.detail-composer-input,.detail-composer-textarea{box-sizing:border-box;color:#fff;background:#333;border:1px solid #555;border-radius:6px;outline:none;width:100%;padding:9px 12px;font-family:inherit;font-size:14px}.detail-composer-input:focus,.detail-composer-textarea:focus{border-color:var(--accent,#4caf50)}.detail-composer-textarea{resize:vertical}.detail-composer-pick{cursor:pointer;background:#333;border:1px dashed #666;border-radius:6px;padding:9px 14px;font-size:14px;display:inline-block}.detail-composer-preview{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.detail-composer-preview img{border-radius:6px;max-width:100%;max-height:200px}.detail-composer-remove{color:var(--text-secondary,#aaa);cursor:pointer;background:0 0;border:1px solid #555;border-radius:6px;padding:6px 12px}.detail-composer-error{color:var(--error,#f44);margin:14px 0 0;font-size:13px}.detail-composer-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.detail-composer-cancel,.detail-composer-save{cursor:pointer;border-radius:6px;padding:9px 18px;font-size:14px}.detail-composer-cancel{color:#fff;background:0 0;border:1px solid #555}.detail-composer-save{background:var(--accent,#4caf50);color:#0a0a0a;border:none;font-weight:600}.detail-composer-save:disabled,.detail-composer-cancel:disabled{opacity:.6;cursor:default}.event-page{background:var(--bg-dark);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}@keyframes event-fade-in{0%{opacity:0}to{opacity:1}}.event-header{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:12px 16px;display:flex}.event-header.unpublished{background:#c50;border-bottom-color:#a40}.back-button{border-radius:var(--radius);color:#fff;cursor:pointer;font-size:13px;font-family:var(--font-sans);background:#2a4;border:1px solid #1a8833;align-items:center;gap:6px;padding:6px 12px;transition:all .2s;display:flex}.back-button:hover{background:#2acc55;border-color:#2a4}.event-header-title{color:var(--text-primary);font-size:18px;font-weight:600}.tab-bar{background:var(--bg-surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);flex-shrink:0;animation:.4s ease-out tab-bar-slide-in;display:flex;position:relative}.tab-bar--static{animation:none}@keyframes tab-bar-slide-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.tab-indicator{height:calc(100% - env(safe-area-inset-bottom));background:var(--accent);transition:transform .25s;position:absolute;top:0;left:0}.keyboard-open .tab-bar{padding-bottom:0}.keyboard-open .tab-indicator{height:100%}.tab-button{color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;z-index:1;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:5px;padding:10px 8px;font-size:13px;font-weight:500;transition:color .25s;display:flex;position:relative}.tab-button:hover{color:var(--text-primary)}.tab-button.active{color:var(--bg-dark)}@media (prefers-reduced-motion:reduce){.tab-indicator,.tab-button{transition:none}.event-page,.tab-bar,.tab-content>*,.overview-content{animation:none}}.tab-content{-webkit-overflow-scrolling:touch;flex:1;padding:20px 16px;overflow-y:auto}.tab-content--flush{padding-left:0;padding-right:0}.tab-content--fill{flex-direction:column;padding:0;display:flex;overflow:hidden}.tab-content--fill>*{flex:1;width:100%}.tab-content>*{max-width:900px;margin:0 auto;animation:.2s ease-out event-fade-in}.personal-event-page{min-height:100%;position:relative}.personal-event-cover-wrapper{z-index:0;opacity:.7;justify-content:center;display:flex;position:absolute;top:-20px;left:-16px;right:-16px}.personal-event-cover{width:100%;height:auto;display:block;-webkit-mask-image:linear-gradient(#000 0%,#0009 40%,#0000001a 70%,#0000 100%);mask-image:linear-gradient(#000 0%,#0009 40%,#0000001a 70%,#0000 100%)}.personal-event-body{z-index:1;position:relative}.personal-event-hero{text-align:center;padding:32px 0}.personal-event-title{color:var(--accent);margin-bottom:8px;font-size:28px;font-weight:700}.personal-event-date{color:var(--text-secondary);margin-bottom:12px;font-size:15px}.personal-event-tag{border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;font-size:11px;display:inline-block}.personal-event-link{border:1px solid var(--border);border-radius:var(--radius);width:fit-content;color:var(--accent);font-family:var(--font-mono);align-items:center;gap:8px;margin:16px auto 0;padding:8px 14px;font-size:13px;text-decoration:none;transition:all .2s;display:flex}.personal-event-link:hover{border-color:var(--accent);box-shadow:0 0 10px #0f83}.personal-event-notes-tab{flex-direction:column;gap:16px;min-height:100%;display:flex}.personal-event-notes-editor{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;min-height:300px;color:var(--text-primary);font-family:var(--font-mono);resize:vertical;box-sizing:border-box;flex:1;padding:16px;font-size:14px;line-height:1.7}.personal-event-notes-editor:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #00ff881a}.personal-event-lineup{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-top:24px;padding:20px}.personal-event-lineup h3{color:var(--text-primary);margin:0 0 12px;font-size:16px}.personal-event-lineup img{border-radius:var(--radius);width:100%;height:auto;display:block}.directory-tab-body{flex-direction:column;flex:1;min-height:0;display:flex}.event-directory-container{background:var(--bg-surface);flex-direction:column;flex:1;min-height:0;padding:24px;display:flex;overflow:hidden}.event-directory-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.event-directory-content{flex:1;min-height:0;margin:-8px;padding:8px;overflow:hidden auto}.event-directory-add{color:var(--accent);border:2px solid var(--accent);border-radius:var(--radius);font-family:var(--font-mono);cursor:pointer;white-space:nowrap;background:0 0;padding:12px 18px;font-size:13px;font-weight:600;transition:all .2s}.event-directory-add:hover{background:var(--accent);color:var(--bg-dark);box-shadow:0 0 15px var(--accent)}.event-directory-tabbar{background:var(--bg-surface);border-top:1px solid var(--border);flex-shrink:0;animation:.4s ease-out tab-bar-slide-in;display:flex}.event-directory-tab{color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;border-top:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 8px;font-size:13px;font-weight:500;transition:color .2s,border-color .2s;display:flex}.event-directory-tab:hover{color:var(--text-primary)}.event-directory-tab.active{color:var(--accent);border-top-color:var(--accent)}.event-directory-empty{min-height:400px;color:var(--text-secondary);font-family:var(--font-mono);text-align:center;justify-content:center;align-items:center;padding:20px;font-size:14px;display:flex}.event-directory-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.event-directory-separator{color:var(--text-secondary);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px;grid-column:1/-1;align-items:center;gap:12px;margin:4px 0;font-size:12px;display:flex}.event-directory-separator:before,.event-directory-separator:after{content:"";border-top:1px dashed var(--border);flex:1}.event-card.past .event-card-background{filter:grayscale()}.event-card{aspect-ratio:3;border-radius:var(--radius);cursor:pointer;border:1px solid var(--border);background:var(--bg-elevated);width:100%;padding:0;transition:all .3s;display:block;position:relative;overflow:hidden}.event-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}.event-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.event-card:active{transform:translateY(-2px)}.event-card-background{background-position:50%;background-size:cover;width:100%;height:100%;transition:transform .3s;position:absolute;top:0;left:0}.event-card:hover .event-card-background{transform:scale(1.05)}.event-card-overlay{background:linear-gradient(#00000073 0%,#000000d9 100%);width:100%;height:100%;transition:background .3s;position:absolute;top:0;left:0}.event-card:hover .event-card-overlay{background:linear-gradient(#00ff8826 0%,#000000e6 100%)}.event-card-content{text-align:left;z-index:1;flex-direction:column;justify-content:flex-end;height:100%;padding:14px 18px;display:flex;position:relative}.event-card-badge{border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.5px;background:#00000080;align-self:flex-start;margin-bottom:auto;padding:3px 8px;font-size:10px}.event-card-badge.local{border-color:var(--border);color:var(--text-secondary)}.event-card-title{color:var(--text-primary);font-family:var(--font-heading);text-shadow:0 2px 4px #00000080;margin:0 0 4px;font-size:18px;font-weight:700;transition:color .3s}.event-card:hover .event-card-title{color:var(--accent)}.event-card-date{color:var(--text-secondary);font-family:var(--font-mono);text-shadow:0 1px 2px #00000080;text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:12px}@media (width<=768px){.event-directory-container{padding:16px}.event-directory-grid{grid-template-columns:1fr;gap:16px}.event-directory-header{flex-direction:column;align-items:stretch}}.terminal-tabs{background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-shrink:0;display:flex;position:relative}.terminal-tab-indicator{background:var(--accent);width:50%;height:2px;transition:transform .25s;position:absolute;bottom:0;left:0}.terminal-tab{color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;flex:1;padding:10px 16px;font-size:.9rem;transition:color .25s}.terminal-tab:hover{color:var(--text-primary)}.terminal-tab.active{color:var(--accent)}@media (prefers-reduced-motion:reduce){.terminal-tab-indicator,.terminal-tab{transition:none}}.terminal-body{min-height:0;font-family:var(--font-mono);flex:0 auto;padding:16px;font-size:.9rem;line-height:1.6;overflow-y:auto}.cypher-text{color:var(--text-secondary);font-family:var(--font-mono);text-align:center;letter-spacing:2px;min-height:24px;margin:10px 0 20px;font-size:16px}.hive-list{overscroll-behavior-y:contain;flex:1;overflow-y:auto}.hive-pull{color:var(--accent);justify-content:center;align-items:center;transition:height .25s ease-out;display:flex;overflow:hidden}.hive-pull.dragging{transition:none}.hive-pull-icon{display:flex}.hive-pull.refreshing .hive-pull-icon{animation:.9s linear infinite hive-pull-spin}@keyframes hive-pull-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.hive-pull.refreshing .hive-pull-icon{animation:none}}.hive-refresh-error{font-family:var(--font-mono);color:var(--text-secondary);text-align:center;margin:8px 20px 0;font-size:12px}.hive-card{background:var(--bg-surface);border:none;border-top:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;text-align:left;border-radius:0;align-items:center;gap:16px;width:100%;margin-bottom:-1px;padding:12px 20px;font-family:inherit;display:flex}.hive-card:hover{background:var(--bg-elevated)}.hive-avatar.hex-frame{flex-shrink:0;width:55.4256px;height:48px}.hive-avatar .hex-frame-outline polygon{stroke-width:4px}.hive-avatar-placeholder{background:var(--bg-elevated);width:100%;height:100%;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.hive-avatar-placeholder svg{width:20px;height:20px}.hive-info{flex:1;min-width:0}.hive-name{color:var(--text-primary);margin:0;font-size:14px;font-weight:600}.hive-bio{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:12px;overflow:hidden}.guide-entry-detail{background:var(--bg-elevated);flex-direction:column;height:100%;display:flex;overflow:hidden}.entry-content{flex:1;padding:0;overflow-y:auto}.entry-hero{background:linear-gradient(to bottom, var(--bg-surface) 0%, var(--bg-elevated) 100%);border-bottom:2px solid var(--border);padding:32px 32px 24px}.entry-title-large{color:var(--accent);margin:0 0 16px;font-size:36px;font-weight:700;line-height:1.2}.entry-meta-row{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;display:flex}.entry-author-large{color:var(--text-primary);font-size:16px;font-weight:600}.entry-location-inline{color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:4px 10px;font-size:14px}.entry-meta-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:12px;display:flex}.entry-date-small{color:var(--text-tertiary);font-size:12px;font-family:var(--font-mono)}.entry-tags-compact{flex-wrap:wrap;gap:6px;display:flex}.entry-tag-small{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border);font-size:10px;font-family:var(--font-mono);border-radius:10px;padding:3px 8px}.entry-main{flex-direction:column;gap:0;display:flex}@media (width>=769px){.entry-main{flex-direction:row;align-items:flex-start;gap:32px}}.entry-image-container{border-bottom:2px solid var(--border);flex-shrink:0;margin:0;padding:20px;overflow:hidden}@media (width>=769px){.entry-image-container{border-bottom:none;border-right:2px solid var(--border);max-width:50%;padding-right:20px}}.entry-image{border-radius:var(--radius-md);width:100%;height:auto;display:block}.entry-description{color:var(--text-primary);flex:1;min-width:0;padding:32px;font-size:15px;line-height:1.7}.entry-description h1{color:var(--accent);margin:24px 0 16px;font-size:28px;font-weight:700}.entry-description h2{color:var(--accent);margin:20px 0 12px;font-size:22px;font-weight:600}.entry-description h3{color:var(--text-primary);margin:16px 0 10px;font-size:18px;font-weight:600}.entry-description p{margin:0 0 12px}.entry-description ul{margin:0 0 12px;padding-left:24px}.entry-description ol{margin:0 0 12px;padding-left:34px}.entry-description li{margin-bottom:6px}.entry-description code{background:var(--bg-surface);border:1px solid var(--border);font-family:var(--font-mono);border-radius:3px;padding:2px 6px;font-size:13px}.entry-description pre{background:var(--bg-surface);border:2px solid var(--border);border-radius:var(--radius-md);margin:12px 0;padding:12px;overflow-x:auto}.entry-description pre code{background:0 0;border:none;padding:0}.entry-description blockquote{border-left:3px solid var(--accent);background:var(--bg-surface);margin:12px 0;padding:12px 16px;font-style:italic}.entry-links{border-top:2px solid var(--border);background:var(--bg-surface);margin:0;padding:24px 32px 32px}.entry-links h3{color:var(--accent);margin:0 0 12px;font-size:18px;font-weight:600}.entry-links ul{margin:0;padding:0;list-style:none}.entry-links li{margin-bottom:8px}.entry-link{background:var(--bg-surface);color:var(--text-primary);border:2px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-mono);padding:8px 12px;font-size:14px;text-decoration:none;transition:all .2s;display:inline-block}.entry-link:hover{background:var(--accent);color:var(--bg-dark);border-color:var(--accent)}@media (width<=768px){.entry-hero{padding:24px 20px 20px}.entry-title-large{font-size:18px}.entry-author-large{font-size:12px}.entry-meta-footer{flex-direction:column;align-items:flex-start;gap:10px}.entry-description{padding:24px 20px;font-size:14px}.entry-description h1{font-size:22px}.entry-description h2{font-size:18px}.entry-description h3{font-size:16px}.entry-links{padding:20px}}.guide-entry-form{color:#e0e0e0;z-index:1001;background:linear-gradient(135deg,#1e1e2e 0%,#2d2d44 100%);font-family:Courier New,Courier,monospace;position:fixed;inset:0;overflow-y:auto}.guide-entry-form .form-header{z-index:10;background:#0000004d;border-bottom:2px solid #ffc107;flex-direction:row;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.guide-entry-form .form-header h2{color:#ffc107;text-shadow:0 0 10px #ffc10780;text-align:center;flex:1;margin:0;font-size:1.3rem}.guide-entry-form .back-button,.guide-entry-form .save-button{color:#ffc107;cursor:pointer;white-space:nowrap;background:#ffc10733;border:2px solid #ffc107;border-radius:5px;padding:.5rem 1rem;font-family:Courier New,Courier,monospace;font-size:.9rem;transition:all .3s}.guide-entry-form .back-button:hover,.guide-entry-form .save-button:hover{background:#ffc1074d;box-shadow:0 0 15px #ffc10780}.guide-entry-form .save-button:disabled,.guide-entry-form .back-button:disabled{opacity:.5;cursor:not-allowed}.guide-entry-form .form-error,.guide-entry-form .form-success{text-align:center;border-radius:5px;margin:.5rem 1.5rem;padding:.75rem;font-size:.9rem}.guide-entry-form .form-error{color:#ff6b6b;background:#ff6b6b33;border:2px solid #ff6b6b}.guide-entry-form .form-success{color:#4caf50;background:#4caf5033;border:2px solid #4caf50}.guide-entry-form .form-content{padding:1.5rem}.guide-entry-form .form-section{background:#ffffff0d;border:2px solid #ffc1074d;border-radius:8px;margin-bottom:1rem;padding:1rem}.guide-entry-form .form-section h3{color:#ffc107;border-bottom:1px solid #ffc1074d;margin:0 0 .75rem;padding-bottom:.4rem;font-size:1.1rem}.guide-entry-form .section-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.guide-entry-form .section-header h3{border:none;margin:0;padding:0}.guide-entry-form .form-field{grid-template-columns:150px 1fr;align-items:start;gap:1rem;margin-bottom:.75rem;display:grid}.guide-entry-form .form-field label{color:#ffc107;padding-top:.5rem;font-size:.9rem}.guide-entry-form .form-field input,.guide-entry-form .form-field textarea{color:#e0e0e0;box-sizing:border-box;background:#0000004d;border:1px solid #ffc1074d;border-radius:4px;width:100%;padding:.5rem;font-family:Courier New,Courier,monospace;font-size:.9rem}.guide-entry-form .form-field textarea{resize:vertical;min-height:80px}.guide-entry-form .form-field input:focus,.guide-entry-form .form-field textarea:focus{border-color:#ffc107;outline:none;box-shadow:0 0 5px #ffc1074d}.guide-entry-form .add-button{color:#4caf50;cursor:pointer;background:#4caf5033;border:2px solid #4caf50;border-radius:4px;padding:.4rem .8rem;font-family:Courier New,Courier,monospace;font-size:.85rem;transition:all .3s}.guide-entry-form .add-button:hover{background:#4caf504d;box-shadow:0 0 10px #4caf5066}.guide-entry-form .array-item{background:#0003;border:1px solid #ffc10733;border-radius:6px;margin-bottom:.75rem;padding:.75rem}.guide-entry-form .array-item-header{border-bottom:1px solid #ffc10733;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;display:flex}.guide-entry-form .array-item-header span{color:#ffc107;font-size:.9rem;font-weight:700}.guide-entry-form .remove-button{color:#ff6b6b;cursor:pointer;background:#ff6b6b33;border:1px solid #ff6b6b;border-radius:4px;justify-content:center;align-items:center;padding:.4rem;transition:all .3s;display:flex}.guide-entry-form .remove-button:hover{background:#ff6b6b4d;box-shadow:0 0 10px #ff6b6b66}.guide-entry-form .empty-message{color:#888;text-align:center;margin:.5rem 0;font-size:.9rem;font-style:italic}@media (width<=768px){.guide-entry-form .form-field{grid-template-columns:1fr;gap:.3rem}.guide-entry-form .form-field label{padding-top:0}.guide-entry-form .form-header{padding:.5rem 1rem}.guide-entry-form .form-header h2{font-size:1.1rem}.guide-entry-form .back-button,.guide-entry-form .save-button{padding:.4rem .8rem;font-size:.85rem}}.guide-entry-card{background:var(--bg-elevated);cursor:pointer;margin-bottom:6px;padding:16px;transition:all .2s}.guide-entry-card:hover{border-color:var(--accent);transform:translateY(-2px)}.entry-title{color:var(--accent);margin:0 0 8px;font-size:16px;font-weight:700}.entry-meta{color:var(--text-secondary);gap:16px;margin-bottom:8px;padding-left:16px;font-size:12px;display:flex}.entry-author{font-style:italic}.entry-location{color:var(--text-tertiary)}.entry-tags{flex-wrap:wrap;gap:6px;display:flex}.entry-tag{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border);font-size:10px;font-family:var(--font-mono);border-radius:10px;padding:2px 8px}.entry-tag-more{color:var(--text-tertiary);font-size:10px;font-family:var(--font-mono);padding:2px 8px}.guide-container{flex-direction:column;height:100%;display:flex;overflow:hidden}.guide-top-section{background:var(--bg-elevated);border-bottom:2px solid var(--border)}.guide-actions{justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.guide-info{align-items:center;gap:12px;display:flex}.entry-count{color:var(--text-secondary);font-size:13px;font-family:var(--font-mono);font-weight:500}.guide-clear-btn{color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);cursor:pointer;white-space:nowrap;background:0 0;padding:6px 12px;font-size:11px;transition:all .2s}.guide-clear-btn:hover{background:var(--bg-surface);color:var(--text-primary);border-color:var(--text-secondary)}.guide-create-btn{background:var(--accent);color:var(--bg-dark);border:2px solid var(--accent);border-radius:var(--radius-md);font-family:var(--font-mono);cursor:pointer;white-space:nowrap;padding:10px 18px;font-size:13px;font-weight:600;transition:all .2s}.guide-create-btn:hover{color:var(--accent);box-shadow:0 0 15px var(--accent);background:0 0}.guide-search-wrapper{padding:0 20px 16px}.guide-search{background:var(--bg-surface);width:100%;color:var(--text-primary);border:2px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-mono);box-sizing:border-box;padding:12px 16px;font-size:14px;transition:all .2s}.guide-search:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);outline:none}.guide-search::placeholder{color:var(--text-tertiary)}.guide-filters{border-bottom:2px solid var(--border);background:var(--bg-surface);max-height:200px;padding:16px 20px;overflow-y:auto}.filter-category{margin-bottom:12px}.filter-category:last-child{margin-bottom:0}.filter-category-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin:0 0 8px;font-size:11px;font-weight:700}.filter-tags{flex-wrap:wrap;gap:6px;display:flex}.filter-tag{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border);font-family:var(--font-mono);cursor:pointer;border-radius:12px;padding:4px 10px;font-size:11px;transition:all .2s}.filter-tag:hover{border-color:var(--accent)}.filter-tag.selected{background:var(--accent);color:var(--bg-dark);border-color:var(--accent);font-weight:600}.guide-list{flex:1;overflow-y:auto}.guide-empty{text-align:center;color:var(--text-secondary);padding:60px 20px}.guide-empty p:first-child{margin-bottom:8px;font-size:18px}.guide-hint{color:var(--text-tertiary);font-size:12px}@media (width<=768px){.guide-actions{flex-direction:column;align-items:stretch;gap:12px;padding:12px 16px}.guide-info{justify-content:space-between}.guide-create-btn{justify-content:center;width:100%}.guide-search-wrapper{padding:0 16px 12px}.guide-search{font-size:16px}.entry-count{font-size:12px}}.legal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;background:#000000d9;animation:.2s ease-out fadeIn;position:fixed;inset:0}.legal-tabs{flex:initial;gap:6px;padding:12px 20px 0;display:flex}.legal-tab{border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:6px 14px;font-size:12px;transition:border-color .2s,color .2s}.legal-tab.active{border-color:var(--accent);color:var(--accent)}.legal-content{min-height:0;color:var(--text-secondary);font-family:var(--font-sans);flex:1;padding:4px 20px 20px;font-size:.9rem;line-height:1.6;overflow-y:auto}.legal-content h1{color:var(--text-primary);margin:16px 0 8px;font-size:1.25rem}.legal-content h2{color:var(--accent);margin:22px 0 8px;font-size:1rem}.legal-content p{margin:10px 0}.legal-content ul{margin:10px 0;padding-left:22px}.legal-content li{margin:6px 0}.legal-content li::marker{color:var(--accent)}.legal-content strong{color:var(--text-primary)}.legal-content em{color:var(--text-secondary)}.profile-background{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.profile-tabs{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;display:flex}.profile-tab{color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:14px 12px;font-size:.9rem;transition:color .2s,border-color .2s}.profile-tab:hover{color:var(--text-primary)}.profile-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.profile-page{flex:1;width:100%;min-height:0;padding:20px;overflow-y:auto}.profile-avatar{background:var(--bg-elevated);border:3px solid var(--border);width:120px;height:120px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 24px;display:flex}.profile-avatar svg{width:60px;height:60px}.profile-welcome{text-align:center;margin-bottom:32px}.profile-welcome h2{color:var(--text-primary);font-family:var(--font-mono);margin:0 0 12px;font-size:1.5rem}.profile-welcome p{color:var(--text-secondary);font-family:var(--font-mono);margin:0;font-size:.95rem}.profile-form{flex-direction:column;gap:20px;display:flex}.profile-header{align-items:flex-start;gap:16px;display:flex}.profile-avatar-button{cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0;display:block}.profile-avatar-badge{color:#fff;border:2px solid var(--bg-surface);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute;top:14px;right:2px}.profile-avatar-badge.add{pointer-events:none;background:#4a4;font-size:22px;line-height:1}.profile-avatar-badge.remove{cursor:pointer;background:#f44;transition:background .2s}.profile-avatar-badge.remove:hover{background:#c00}.profile-header-name{flex:1;min-width:0}.profile-field{flex-direction:column;gap:8px;display:flex}.profile-field label{font-family:var(--font-mono);color:var(--text-secondary);font-size:.9rem;font-weight:500}.profile-field input{background:var(--bg-surface);border:2px solid var(--border);color:var(--text-primary);font-family:var(--font-mono);border-radius:8px;padding:12px 16px;font-size:1rem;transition:border-color .2s}.profile-field input:focus{border-color:var(--accent);outline:none}.profile-select{appearance:none;background-color:var(--bg-surface);border:2px solid var(--border);color:var(--text-primary);font-family:var(--font-mono);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a0a0a0' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:12px;border-radius:8px;padding:12px 44px 12px 16px;font-size:1rem;transition:border-color .2s}.profile-select:focus{border-color:var(--accent);outline:none}.profile-field input.error,.profile-field input.error:focus{border-color:#dc3545}.field-error{color:#dc3545;font-family:var(--font-mono);margin-top:-4px;font-size:.85rem}.profile-field input:read-only{cursor:default;opacity:.9;background:var(--bg-elevated)}.profile-field-hint{font-family:var(--font-mono);color:var(--text-muted);margin:-2px 0 4px;font-size:.8rem}.profile-bio{background:var(--bg-surface);border:2px solid var(--border);color:var(--text-primary);font-family:var(--font-mono);resize:vertical;border-radius:8px;min-height:72px;padding:12px 16px;font-size:1rem;line-height:1.5;transition:border-color .2s}.profile-bio:focus{border-color:var(--accent);outline:none}.profile-bio-count{font-family:var(--font-mono);color:var(--text-muted);align-self:flex-end;font-size:.75rem}.profile-tracks{flex-direction:column;gap:12px;margin:0 0 4px;padding:0;list-style:none;display:flex}.profile-track{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.profile-track-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.profile-track-title{font-family:var(--font-mono);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.profile-track-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;font-size:.9rem;line-height:1}.profile-track-remove:hover{color:var(--error)}.profile-track-embed{border:none;border-radius:6px;width:100%}.profile-track-link{font-family:var(--font-mono);color:var(--accent);font-size:.85rem}.profile-track-add{flex-direction:column;gap:8px;margin-top:8px;display:flex}.profile-track-add input{background:var(--bg-surface);border:2px solid var(--border);color:var(--text-primary);font-family:var(--font-mono);border-radius:8px;padding:10px 14px;font-size:.95rem;transition:border-color .2s}.profile-track-add input:focus{border-color:var(--accent);outline:none}.profile-page .btn-add-track{border:2px solid var(--border);font-family:var(--font-mono);cursor:pointer;color:var(--text-primary);background:0 0;border-radius:20px;align-self:flex-start;padding:8px 18px;font-size:13px;transition:all .2s}.profile-page .btn-add-track:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.profile-page .btn-add-track:disabled{opacity:.4;cursor:not-allowed}.profile-page .btn-save:disabled{opacity:.5;cursor:not-allowed}.profile-actions{flex-direction:column;gap:12px;margin-top:8px;display:flex}.profile-page .btn-save{border:2px solid var(--accent);width:100%;font-family:var(--font-mono);cursor:pointer;background:var(--accent);color:var(--bg-dark);border-radius:20px;padding:12px 20px;font-size:14px;transition:all .2s}.profile-page .btn-save:hover{opacity:.8}.profile-page .btn-logout{border:2px solid var(--border);width:100%;font-family:var(--font-mono);cursor:pointer;color:var(--text-primary);background:0 0;border-radius:20px;padding:12px 20px;font-size:14px;transition:all .2s}.profile-page .btn-logout:hover{border-color:var(--accent);color:var(--accent)}.profile-page .btn-delete-account{width:100%;font-family:var(--font-mono);cursor:pointer;color:#dc3545;background:0 0;border:2px solid #dc3545;border-radius:20px;padding:12px 20px;font-size:14px;transition:all .2s}.profile-page .btn-delete-account:hover{color:#fff;background:#dc3545}.profile-page .btn-delete-account:disabled{opacity:.6;cursor:default}.profile-account{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:8px;display:flex}.profile-account label{font-family:var(--font-mono);color:var(--text-secondary);font-size:.9rem;font-weight:500}.profile-account-email{font-family:var(--font-mono);color:var(--text-primary);margin:0;font-size:.95rem}.profile-account-note{font-family:var(--font-mono);color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.5}.profile-page .btn-signup{border:2px solid var(--accent);width:100%;font-family:var(--font-mono);cursor:pointer;color:var(--accent);background:0 0;border-radius:20px;margin-top:4px;padding:12px 20px;font-size:14px;transition:all .2s}.profile-page .btn-signup:hover:not(:disabled){background:var(--accent);color:var(--bg-dark)}.profile-page .btn-signup:disabled{opacity:.5;cursor:not-allowed}.profile-role-chips{flex-wrap:wrap;gap:8px;display:flex}.profile-role-chip{font-family:var(--font-mono);color:var(--accent);border:1px solid var(--accent);border-radius:12px;padding:3px 10px;font-size:.8rem}.profile-role-apps{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.profile-role-app{font-family:var(--font-mono);color:var(--text-secondary);flex-direction:column;gap:2px;font-size:.85rem;display:flex}.profile-role-app b{color:var(--text-primary)}.profile-role-app--approved b{color:var(--accent)}.profile-role-app--rejected b{color:#dc3545}.profile-role-app-note{font-size:.8rem;font-style:italic}.profile-role-request{flex-direction:column;gap:10px;display:flex}.profile-role-select,.profile-role-justification{background:var(--bg-surface);border:2px solid var(--border);color:var(--text-primary);font-family:var(--font-mono);border-radius:8px;padding:12px 16px;font-size:.95rem;transition:border-color .2s}.profile-role-select:focus,.profile-role-justification:focus{border-color:var(--accent);outline:none}.profile-role-justification{resize:vertical;min-height:72px}.profile-role-success{font-family:var(--font-mono);color:var(--accent);font-size:.85rem}.profile-action-button{color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:8px;transition:opacity .2s;display:flex}.profile-action-button:hover:not(:disabled){opacity:.7}.profile-action-button:disabled{opacity:.3;cursor:not-allowed}.profile-action-button svg{width:20px;height:20px}.settings-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);padding:20px}.settings-section+.settings-section{margin-top:16px}.settings-stack{flex-direction:column;gap:12px;display:flex}.settings-stack .settings-heading{margin-bottom:0}.role-request-page{flex-direction:column;gap:12px;display:flex}.settings-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-row-label{color:var(--text-secondary);font-size:.85rem}.settings-row-label b{color:var(--text-primary)}.settings-toggle{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.settings-toggle input{opacity:0;width:0;height:0}.settings-toggle-slider{background:var(--bg-dark);border:1px solid var(--border);cursor:pointer;border-radius:24px;transition:all .2s;position:absolute;inset:0}.settings-toggle-slider:before{content:"";background:var(--text-secondary);border-radius:50%;width:16px;height:16px;transition:transform .2s,background .2s;position:absolute;bottom:3px;left:3px}.settings-toggle input:checked+.settings-toggle-slider{background:var(--accent);border-color:var(--accent-dim)}.settings-toggle input:checked+.settings-toggle-slider:before{background:var(--bg-dark);transform:translate(20px)}.settings-toggle input:disabled+.settings-toggle-slider{opacity:.5;cursor:default}.settings-heading{color:var(--accent);margin:0 0 8px;font-size:1rem;font-weight:600}.settings-description{color:var(--text-secondary);margin:0 0 16px;font-size:.85rem;line-height:1.6}.settings-button{background:var(--accent);border:1px solid var(--accent-dim);border-radius:var(--radius);font-family:var(--font-mono);color:var(--bg-dark);cursor:pointer;padding:10px 24px;font-size:.9rem;font-weight:600;transition:all .2s}.settings-button:hover:not(:disabled){background:var(--accent-dim)}.settings-button:disabled{opacity:.6;cursor:default}.settings-legal-links{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.settings-legal-link{font-family:var(--font-mono);color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;text-decoration:underline}.settings-status{margin:14px 0 0;font-size:.85rem}.settings-status--syncing{color:var(--text-secondary)}.settings-status--done{color:var(--accent)}.settings-status--error{color:var(--error,#f44)}.settings-muted-list{flex-direction:column;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.settings-muted-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-muted-name{font-family:var(--font-mono);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.settings-muted-unmute{font-family:var(--font-mono);color:var(--accent);cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-size:.85rem;text-decoration:underline}.profile-page .profile-view-self{padding:0;overflow:visible}.profile-page .profile-view-hero{margin:-20px -20px 0}.profile-anonymous-note{flex-direction:column;gap:12px;display:flex}.auth-gate-background{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-gate{flex-direction:column;gap:24px;padding:24px 20px 20px;display:flex}.auth-gate-intro{text-align:center}.auth-gate-intro h2{color:var(--text-primary);font-family:var(--font-mono);margin:0 0 12px;font-size:1.5rem}.auth-gate-intro p{color:var(--text-secondary);font-family:var(--font-mono);margin:0;font-size:.95rem;line-height:1.5}.auth-gate-error{color:#dc3545;font-family:var(--font-mono);text-align:center;font-size:.85rem}.auth-gate-notice{color:#dc3545;font-family:var(--font-mono);text-align:center;background:#dc35451f;border:1px solid #dc3545;border-radius:10px;padding:12px 14px;font-size:.85rem;line-height:1.5}.auth-gate-actions{flex-direction:column;gap:12px;display:flex}.auth-gate-btn{width:100%;font-family:var(--font-mono);cursor:pointer;border-radius:20px;padding:14px 20px;font-size:14px;transition:all .2s}.auth-gate-btn:disabled{opacity:.5;cursor:not-allowed}.auth-gate-btn-primary{border:2px solid var(--accent);background:var(--accent);color:var(--bg-dark)}.auth-gate-btn-primary:hover:not(:disabled){opacity:.85}.auth-gate-btn-secondary{border:2px solid var(--border);color:var(--text-primary);background:0 0}.auth-gate-btn-secondary:hover:not(:disabled){border-color:var(--accent)}.auth-gate-note{color:var(--text-secondary);font-family:var(--font-mono);text-align:center;opacity:.8;margin:0;font-size:.8rem;line-height:1.5}.auth-gate-legal{color:var(--text-secondary);font-family:var(--font-mono);text-align:center;margin:4px 0 0;font-size:.75rem;line-height:1.5}.auth-gate-legal-link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.install-btn{border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:20px;align-self:center;align-items:center;gap:8px;padding:9px 16px;font-size:.8rem;transition:all .2s;display:inline-flex}.install-btn:hover{border-color:var(--accent);color:var(--text-primary)}.auth-gate-embedded{border:1px solid var(--accent);background:#ffffff0a;border-radius:10px;flex-direction:column;gap:12px;padding:14px;display:flex}.auth-gate-embedded p{color:var(--text-secondary);font-family:var(--font-mono);text-align:center;margin:0;font-size:.85rem;line-height:1.5}.auth-gate-embedded-hint{opacity:.75}.auth-gate-embedded-actions{flex-direction:column;gap:10px;display:flex}.auth-gate-embedded-actions .auth-gate-btn{box-sizing:border-box;text-align:center;text-decoration:none;display:block}.display-name-gate{box-sizing:border-box;flex-direction:column;gap:.75rem;width:100%;max-width:420px;margin:0 auto;padding:1.5rem;display:flex}.display-name-gate-intro h2{color:var(--text-primary);margin:0 0 .5rem}.display-name-gate-intro p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.5}.display-name-gate-label{color:var(--text-secondary);margin-top:.5rem;font-size:.85rem;font-weight:500}.display-name-gate-input{box-sizing:border-box;background:var(--bg-dark);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:var(--radius-sm);font-family:var(--font-mono);padding:.75rem;font-size:1rem}.display-name-gate-input:focus{border-color:var(--text-secondary);outline:none}.display-name-gate-status{min-height:1.25rem;font-size:.85rem}.dng-checking{color:var(--text-muted)}.dng-free{color:#4caf50}.dng-taken{color:#ff6b6b}.display-name-gate-error{color:#ff6b6b;font-size:.85rem}.display-name-gate-btn{border-radius:var(--radius-sm);background:var(--text-primary);color:var(--bg-dark);cursor:pointer;border:none;margin-top:.5rem;padding:.85rem;font-size:1rem;font-weight:500}.display-name-gate-btn:disabled{opacity:.45;cursor:default}.swipe-row{position:relative;overflow:hidden}.swipe-row-delete{background:var(--error);width:88px;color:var(--bg-dark);cursor:pointer;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;right:0}.swipe-row-content{background:var(--bg-elevated);touch-action:pan-y;position:relative}.event-edit-form{background:var(--bg-dark);min-height:0;color:var(--text-primary);font-family:var(--font-mono);flex-direction:column;flex:1;display:flex;overflow:hidden}.event-edit-form .wizard-nav{background:var(--bg-surface);border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;gap:1rem;padding:.75rem 1.5rem;display:flex}.event-edit-form .wizard-nav-button{font-family:var(--font-mono);cursor:pointer;border:1px solid var(--border);color:var(--text-primary);background:0 0;border-radius:20px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:700;transition:all .2s}.event-edit-form .wizard-nav-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.event-edit-form .wizard-nav-button:disabled{opacity:.4;cursor:not-allowed}.event-edit-form .wizard-nav-finish{background:var(--accent);border-color:var(--accent);color:var(--bg-dark)}.event-edit-form .wizard-nav-finish:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--bg-dark);opacity:.85}.event-edit-form .form-error{border-radius:var(--radius);text-align:center;border:1px solid var(--error);color:var(--error);background:#ff44441f;margin:.75rem 1.5rem;padding:.75rem;font-size:.9rem}.event-edit-form .required-mark{color:var(--accent);margin-left:3px}.saving-overlay{z-index:9999;-webkit-backdrop-filter:blur(2px);background:#0009;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}.saving-spinner{border:4px solid #0f83;border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite saving-spin}@keyframes saving-spin{to{transform:rotate(360deg)}}.saving-text{color:var(--accent);font-family:var(--font-mono);letter-spacing:.02em;margin:0;font-size:.95rem}.event-edit-form .form-content{--form-pad:1.5rem;padding:var(--form-pad);flex:auto;width:100%;max-width:900px;margin:0 auto;overflow-y:auto}.event-edit-form .form-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:1rem;padding:1.25rem}.event-edit-form .form-section h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.05rem}.event-edit-form .section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.event-edit-form .section-header h3{border:none;margin:0;padding:0}.event-edit-form .timetable-section-header{top:calc(var(--form-pad,1.5rem) * -1);z-index:2;background:var(--bg-surface);margin-bottom:1rem;padding-top:.5rem;padding-bottom:.5rem;position:sticky}.event-edit-form .form-field{grid-template-columns:150px minmax(0,1fr);align-items:start;gap:1rem;margin-bottom:.4rem;display:grid}.event-edit-form .form-field label{color:var(--text-secondary);text-align:right;padding-top:.75rem;font-size:.85rem;font-weight:500}.event-edit-form .form-field .form-static-value{color:var(--text-primary);font-family:var(--font-mono);margin:0;padding:.65rem 0;font-size:1.1rem}.event-edit-form .form-field input,.event-edit-form .form-field textarea,.event-edit-form .form-field select{background:var(--bg-dark);border:1px solid var(--border);width:100%;min-width:0;max-width:100%;color:var(--text-primary);border-radius:var(--radius-sm);font-family:var(--font-mono);box-sizing:border-box;padding:.65rem;font-size:.9rem;transition:border-color .2s}.event-edit-form .form-field input[type=datetime-local]{appearance:none}.event-edit-form .form-field input:focus,.event-edit-form .form-field textarea:focus,.event-edit-form .form-field select:focus{border-color:var(--accent);outline:none}.event-edit-form .form-field select{cursor:pointer}.event-edit-form .form-field select option{background:var(--bg-elevated);color:var(--text-primary)}.event-edit-form .form-field input.readonly{background:var(--bg-elevated);cursor:not-allowed;opacity:.7}.event-edit-form .form-field textarea{resize:none;min-height:60px;padding-top:.6rem;overflow-y:hidden}.event-edit-form .coordinates-input{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.event-edit-form .image-picker{flex-direction:column;gap:.6rem;min-width:0;display:flex}.event-edit-form .image-picker-placeholder{border:1px dashed var(--border);border-radius:var(--radius-sm);width:100%;min-height:140px;color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:1.5rem;font-size:.85rem;transition:all .2s;display:flex}.event-edit-form .image-picker-placeholder:hover{border-color:var(--accent);color:var(--accent)}.event-edit-form .image-picker-placeholder svg{width:32px;height:32px}.event-edit-form .image-picker-frame{position:relative}.event-edit-form .image-picker-preview{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;max-height:180px;display:block}.event-edit-form .image-picker-overlay{gap:6px;display:flex;position:absolute;top:8px;right:8px}.event-edit-form .image-icon-button{border:1px solid var(--border);width:34px;height:34px;color:var(--text-primary);cursor:pointer;background:#0009;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.event-edit-form .image-picker label.image-icon-button{padding:0}.event-edit-form .image-icon-button:hover{border-color:var(--accent);color:var(--accent)}.event-edit-form .image-icon-button svg{width:16px;height:16px}.event-edit-form .extra-item{flex-direction:column;gap:.5rem;display:flex}.event-edit-form .extra-item-main{align-items:center;gap:.5rem;display:flex}.event-edit-form .extra-icon-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-dark);cursor:pointer;flex-shrink:0;align-items:center;gap:2px;height:40px;padding:0 .5rem;display:flex;position:relative}.event-edit-form .extra-icon-select:focus-within{border-color:var(--accent)}.event-edit-form .extra-icon-face{min-width:20px;color:var(--text-primary);pointer-events:none;justify-content:center;align-items:center;font-size:18px;display:flex}.event-edit-form .extra-icon-placeholder{color:var(--text-secondary)}.event-edit-form .extra-icon-caret{color:var(--text-secondary);pointer-events:none;font-size:11px}.event-edit-form .extra-icon-select select{opacity:0;cursor:pointer;border:none;width:100%;height:100%;position:absolute;inset:0}.event-edit-form .extra-item-title,.event-edit-form .extra-item-link{background:var(--bg-dark);border:1px solid var(--border);width:100%;min-width:0;color:var(--text-primary);border-radius:var(--radius-sm);font-family:var(--font-mono);box-sizing:border-box;padding:.65rem;font-size:.9rem;transition:border-color .2s}.event-edit-form .extra-item-title{flex:1}.event-edit-form .reorder-stack{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;flex-shrink:0;width:38px;height:40px;display:flex;overflow:hidden}.event-edit-form .reorder-stack button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;padding:0;display:flex}.event-edit-form .reorder-stack button+button{border-top:1px solid var(--border)}.event-edit-form .reorder-stack button:hover:not(:disabled){color:var(--accent)}.event-edit-form .reorder-stack button:disabled{opacity:.3;cursor:not-allowed}.event-edit-form .reorder-stack svg{width:14px;height:14px}.event-edit-form .extra-item-title:focus,.event-edit-form .extra-item-link:focus{border-color:var(--accent);outline:none}.event-edit-form .toggle-switch{width:50px;height:28px;margin-top:.4rem;display:inline-block;position:relative}.event-edit-form .toggle-switch input[type=checkbox]{opacity:0;width:0;height:0;margin:0;padding:0}.event-edit-form .toggle-slider{cursor:pointer;background-color:var(--bg-dark);border:1px solid var(--border);border-radius:28px;transition:all .2s;position:absolute;inset:0}.event-edit-form .toggle-slider:before{content:"";background-color:var(--text-secondary);border-radius:50%;width:20px;height:20px;transition:all .2s;position:absolute;bottom:3px;left:3px}.event-edit-form .toggle-switch input:checked+.toggle-slider{border-color:var(--accent);background-color:#00ff8826}.event-edit-form .toggle-switch input:checked+.toggle-slider:before{background-color:var(--accent);transform:translate(22px)}.event-edit-form .toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 1px var(--accent)}.event-edit-form .toggle-slider:hover{border-color:var(--accent)}.event-edit-form .add-button,.event-edit-form .add-button-small{border:1px solid var(--accent);color:var(--accent);cursor:pointer;font-weight:700;font-family:var(--font-mono);background:0 0;border-radius:20px;padding:.4rem .9rem;font-size:.85rem;transition:all .2s}.event-edit-form .add-button:hover,.event-edit-form .add-button-small:hover{background:var(--accent);color:var(--bg-dark)}.event-edit-form .nested-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;padding:.9rem;overflow-x:auto}.event-edit-form .artist-content{align-items:flex-start;gap:1rem;display:flex}.event-edit-form .artist-image-preview{border:2px solid var(--accent);background:var(--bg-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:100px;height:100px;display:flex;overflow:hidden}.event-edit-form .artist-image-preview img{object-fit:cover;width:100%;height:100%}.event-edit-form .artist-fields{flex:1;min-width:0}.event-edit-form .nested-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.event-edit-form .nested-header h4{color:var(--text-primary);flex-shrink:0;margin:0;font-size:1rem}.event-edit-form .day-name-input{min-width:0;color:var(--text-primary);font-family:var(--font-mono);background:0 0;border:none;border-bottom:1px solid #0000;flex:1;padding:.35rem .25rem;font-size:1rem;font-weight:700;transition:border-color .2s}.event-edit-form .day-name-input:focus{border-bottom-color:var(--accent);outline:none}.event-edit-form input[type=date].day-name-input{appearance:none;min-height:28px;font-family:inherit}.event-edit-form .day-date-warning{color:var(--error,#f44);margin:6px 0 0;font-size:12px}.event-edit-form .stage-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.event-edit-form .stage-row .day-name-input{border:1px solid var(--border);border-radius:var(--radius-sm)}.event-edit-form .tt-day-stage{margin-top:.6rem}.event-edit-form .tt-day-stage select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8a8a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .65rem center;background-repeat:no-repeat;background-size:14px;padding-right:2rem}.event-edit-form .timetable-day-actions{flex-shrink:0;gap:.4rem;margin-left:auto;display:flex}.event-edit-form .timetable-day-header{align-items:center;gap:.6rem;display:flex}.event-edit-form .tt-rows{border-top:1px solid var(--border);flex-direction:column;margin:.5rem 0;display:flex}.event-edit-form .tt-row{border-bottom:1px solid var(--border);align-items:stretch;gap:.25rem;display:flex}.event-edit-form .tt-row-main{cursor:pointer;text-align:left;min-width:0;font-family:var(--font-mono);background:0 0;border:none;flex:1;align-items:baseline;gap:12px;padding:.5rem .25rem;display:flex}.event-edit-form .tt-row-time{min-width:48px;color:var(--accent);flex-shrink:0;font-size:.8rem}.event-edit-form .tt-row-info{flex-direction:column;gap:2px;min-width:0;display:flex}.event-edit-form .tt-row-artist{color:var(--text-primary);font-size:.9rem}.event-edit-form .tt-row-genre{color:var(--text-muted);font-size:.8rem}.event-edit-form .tt-row-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.event-edit-form .icon-button{border:1px solid var(--border);border-radius:var(--radius-sm);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:all .2s;display:flex}.event-edit-form .icon-button svg{width:18px;height:18px}.event-edit-form .icon-button:hover{border-color:var(--accent);color:var(--accent)}.event-edit-form .icon-button-danger:hover{border-color:var(--error);color:var(--error)}.event-edit-form .icon-button:disabled{opacity:.3;cursor:not-allowed}.event-edit-form .timetable-day>.add-button-small{width:100%;margin-top:.5rem}.tt-modal-backdrop{z-index:1100;background:#0009;justify-content:center;align-items:flex-start;padding:2.5rem 1.5rem 1.5rem;display:flex;position:fixed;inset:0}.tt-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:.75rem;width:100%;max-width:420px;max-height:90vh;padding:1.25rem;display:flex;overflow-y:auto}.tt-modal-title{color:var(--text-primary);font-family:var(--font-mono);margin:0 0 .25rem;font-size:1.05rem}.tt-modal-field{flex-direction:column;gap:.3rem;display:flex}.tt-modal-field label{color:var(--text-secondary);font-family:var(--font-mono);font-size:.85rem}.tt-modal-field input{box-sizing:border-box;background:var(--bg-dark);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:var(--radius-sm);font-family:var(--font-mono);padding:.65rem;font-size:.9rem;transition:border-color .2s}.tt-modal-field input:focus{border-color:var(--accent);outline:none}.tt-time-input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;appearance:none;min-width:0;max-width:100%;height:auto}.tt-time-input::-webkit-date-and-time-value{text-align:left;margin:0}.tt-colour-swatches{gap:.6rem;display:flex}.tt-colour-swatch{border:2px solid var(--border);background:var(--swatch);cursor:pointer;border-radius:50%;width:32px;height:32px;padding:0;transition:box-shadow .15s,border-color .15s}.tt-colour-swatch.selected{border-color:var(--bg-surface);box-shadow:0 0 0 2px var(--accent)}.tt-modal-actions{justify-content:flex-end;gap:.6rem;margin-top:.5rem;display:flex}.tt-confirm-message{color:var(--text-primary);font-family:var(--font-mono);margin:0;font-size:.95rem;line-height:1.5}.event-edit-form .tt-confirm-delete{background:var(--error);border-color:var(--error);color:var(--bg-dark)}.event-edit-form .tt-confirm-delete:hover:not(:disabled){background:var(--error);border-color:var(--error);color:var(--bg-dark);opacity:.85}@media (width<=968px){.event-edit-form .form-field{grid-template-columns:120px 1fr;gap:.75rem}.event-edit-form .form-field label{font-size:.8rem}.event-edit-form .artist-image-preview{width:80px;height:80px}}@media (width<=768px){.event-edit-form .form-field{grid-template-columns:minmax(0,1fr);gap:.3rem}.event-edit-form .form-field label{text-align:left;padding-top:0;font-size:.85rem}.event-edit-form .coordinates-input{grid-template-columns:1fr}.event-edit-form .form-content{--form-pad:.75rem}.event-edit-form .form-section{background:0 0;border:none;border-radius:0;margin-bottom:1.5rem;padding:0}.event-edit-form .artist-content{flex-direction:column;align-items:center}.event-edit-form .artist-image-preview{width:80px;height:80px}.event-edit-form .artist-fields{width:100%}}.role-review-list{flex-direction:column;flex:1;gap:1rem;min-height:0;padding:.75rem;display:flex;overflow-y:auto}.role-review-error{flex:initial;padding:.5rem}.role-review-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);font-family:var(--font-mono);flex-direction:column;gap:8px;padding:16px;display:flex}.role-review-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.role-review-role{color:var(--accent);font-size:1rem;font-weight:600}.role-review-date{color:var(--text-secondary);font-size:.8rem}.role-review-applicant{color:var(--text-primary);font-size:.9rem}.role-review-email{color:var(--text-secondary)}.role-review-justification{color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:break-word;margin:0;font-size:.85rem;line-height:1.6}.role-review-note{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-mono);padding:10px 12px;font-size:.85rem}.role-review-note:focus{border-color:var(--accent);outline:none}.role-review-actions{gap:12px;display:flex}.role-review-approve,.role-review-reject{flex:1}.report-review-list{flex-direction:column;flex:1;gap:1rem;min-height:0;padding:.75rem;display:flex;overflow-y:auto}.report-review-error{flex:initial;padding:.5rem}.report-review-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);font-family:var(--font-mono);flex-direction:column;gap:8px;padding:16px;display:flex}.report-review-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.report-review-reason{color:#ff6b6b;font-size:1rem;font-weight:600}.report-review-date{color:var(--text-secondary);font-size:.8rem}.report-review-message{border-left:3px solid var(--border);padding:6px 12px}.report-review-message--link{text-align:left;border:none;border-left:3px solid var(--border);cursor:pointer;background:0 0;width:100%;font-family:inherit;transition:border-color .2s,background .2s;display:block}.report-review-message--link:hover:not(:disabled){border-left-color:var(--accent);background:#ffffff08}.report-review-message--link:disabled{cursor:default}.report-review-open{color:var(--accent);margin-top:6px;font-size:.75rem;display:block}.report-review-author{color:var(--accent);margin-bottom:4px;font-size:.8rem;display:block}.report-review-text{color:var(--text-primary);white-space:pre-wrap;overflow-wrap:break-word;margin:0;font-size:.9rem;line-height:1.5}.report-review-detail{color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:break-word;margin:0;font-size:.85rem;font-style:italic;line-height:1.5}.report-review-meta{color:var(--text-secondary);font-size:.78rem}.report-review-actions{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.report-review-remove,.report-review-ban,.report-review-dismiss{flex:auto;min-width:0}.feedback-review-list{flex-direction:column;flex:1;gap:14px;min-height:0;padding:.75rem;display:flex;overflow-y:auto}.feedback-review-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated,#ffffff08);flex-direction:column;gap:8px;padding:12px;display:flex}.feedback-review-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.feedback-review-type{font-family:var(--font-mono);color:var(--accent);font-size:.8rem}.feedback-review-date{color:var(--text-muted,#888);font-size:.75rem}.feedback-review-text{color:var(--text-primary);white-space:pre-wrap;overflow-wrap:break-word;margin:0;font-size:.9rem;line-height:1.5}.feedback-review-meta{color:var(--text-muted,#888);font-size:.75rem}.feedback-review-existing{border-left:3px solid var(--accent);background:#ffffff08;padding:6px 10px}.feedback-review-existing-label{color:var(--accent);margin-bottom:3px;font-size:.72rem;display:block}.feedback-review-existing p{white-space:pre-wrap;overflow-wrap:break-word;margin:0;font-size:.88rem;line-height:1.5}.feedback-review-input{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);width:100%;color:var(--text-primary);font-family:var(--font-mono);resize:vertical;padding:8px 10px;font-size:.88rem}.feedback-review-send{align-self:flex-start}.hq-tabs{flex:initial;border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;display:flex}.hq-tab{color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:14px 12px;font-size:.9rem;transition:color .2s,border-color .2s}.hq-tab:hover{color:var(--text-primary)}.hq-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.hq-tab-alert{vertical-align:middle;background:#f44;border-radius:50%;width:7px;height:7px;margin-left:6px;display:inline-block}.admin-tabs{flex:initial;border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;display:flex}.admin-tab{color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:14px 12px;font-size:.9rem;transition:color .2s,border-color .2s}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.admin-tab-alert{vertical-align:middle;background:#f44;border-radius:50%;width:7px;height:7px;margin-left:6px;display:inline-block}.admin-event-list{flex:1;min-height:0;padding:1.5rem;overflow-y:auto}.admin-status{text-align:center;color:var(--text-secondary);flex:1;justify-content:center;align-items:center;padding:3rem;font-size:1rem;display:flex}.admin-status.admin-error{color:var(--error)}@media (width<=768px){.admin-event-list{padding:1.25rem}}.admin-event-card-badges{flex-wrap:wrap;gap:6px;margin-bottom:auto;display:flex}.admin-event-card-badges .event-card-badge{margin-bottom:0}.global-banter{flex-direction:column;flex:1;min-height:0;padding-top:12px;display:flex}.stall-editor{background:var(--bg-surface);-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:18px;min-height:0;padding:24px;display:flex;overflow-y:auto}.stall-editor-error{border-radius:var(--radius);font-family:var(--font-mono);color:#ff6b6b;background:#ff44441a;border:1px solid #f446;padding:10px 14px;font-size:13px}.stall-editor-field{flex-direction:column;gap:6px;display:flex}.stall-editor-field>label{color:var(--text-secondary);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.5px;font-size:12px}.stall-editor-field input[type=text],.stall-editor-field input[type=url],.stall-editor-field textarea,.stall-editor-field select{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-width:0;color:var(--text-primary);font-family:var(--font-mono);box-sizing:border-box;padding:12px 16px;font-size:14px;transition:all .3s}.stall-editor-field textarea{resize:vertical;min-height:100px}.stall-editor-field input:focus,.stall-editor-field textarea:focus,.stall-editor-field select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #00ff881a}.stall-editor-photos{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;display:grid}.stall-editor-photo{aspect-ratio:1;border-radius:var(--radius);border:1px solid var(--border);position:relative;overflow:hidden}.stall-editor-photo img{object-fit:cover;width:100%;height:100%;display:block}.stall-editor-photo-remove{border:1px solid var(--border);width:26px;height:26px;color:var(--text-primary);cursor:pointer;background:#000000a6;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:6px;right:6px}.stall-editor-photo-remove:hover{border-color:var(--error);color:var(--error)}.stall-editor-photo-add{aspect-ratio:1;background:var(--bg-elevated);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:12px;transition:all .2s;display:flex}.stall-editor-photo-add:hover{border-color:var(--accent);color:var(--accent)}.stall-editor-link-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-dark);grid-template-rows:auto auto;grid-template-columns:110px 1fr;align-items:center;gap:8px;padding:10px;display:grid}.stall-editor-link-row input,.stall-editor-link-row select{padding:8px 10px!important;font-size:13px!important}.stall-editor-link-label{grid-column:1/2}.stall-editor-link-remove{border:1px solid var(--border);border-radius:var(--radius);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;grid-column:2/3;justify-content:center;justify-self:end;align-items:center;padding:0;display:flex}.stall-editor-link-remove:hover{border-color:var(--error);color:var(--error)}.stall-editor-add-link{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:0 0;align-self:flex-start;align-items:center;gap:8px;padding:8px 14px;font-size:12px;transition:all .2s;display:inline-flex}.stall-editor-add-link:hover{border-color:var(--accent);color:var(--accent)}.stall-editor-visibility>label{color:var(--text-primary);text-transform:none;letter-spacing:normal;font-size:14px;font-family:var(--font-sans);cursor:pointer;align-items:center;gap:10px;display:flex}.stall-editor-visibility input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.stall-editor-note{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.5}.stall-editor-delete{color:#dc3545;font-family:var(--font-mono);cursor:pointer;background:0 0;border:2px solid #dc3545;border-radius:20px;align-self:stretch;margin-top:8px;padding:12px 20px;font-size:14px;transition:all .2s}.stall-editor-delete:hover:not(:disabled){color:#fff;background:#dc3545}.stall-editor-delete:disabled{opacity:.5;cursor:not-allowed}.stall-editor-banner{aspect-ratio:16/7;border:1px solid var(--border);border-radius:var(--radius);background-color:var(--bg-elevated);background-position:50%;background-size:cover;position:relative}.stall-editor-banner-add{aspect-ratio:16/7}.stall-editor-banner-change{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-mono);cursor:pointer;background:#000000a6;padding:6px 12px;font-size:12px;position:absolute;bottom:8px;left:8px}.stall-editor-banner-change:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.stall-page{background:var(--bg-surface);-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.stall-hero{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-direction:column;justify-content:flex-end;align-items:center;gap:16px;min-height:240px;padding:28px 20px 20px;display:flex;position:relative;overflow:hidden}.stall-hero-photo{cursor:zoom-in;background-position:50%;background-size:cover;border:none;padding:0;animation:.9s ease-out backwards stall-hero-settle;position:absolute;inset:0}.stall-hero-photo-hex{opacity:.5;pointer-events:none;position:absolute;inset:0;overflow:hidden}.stall-hero--photo:after{content:"";pointer-events:none;background:linear-gradient(#0000 35%,#000000d9);position:absolute;inset:0}.stall-hero-caption{z-index:1;text-align:center;pointer-events:none;flex-direction:column;align-self:stretch;align-items:center;gap:6px;display:flex;position:relative}.stall-hero--photo .stall-hero-caption{text-align:left;align-items:flex-start}.stall-hero-badge{border:1px solid var(--text-secondary);border-radius:var(--radius);color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;background:#00000073;align-items:center;gap:5px;padding:3px 9px;font-size:10px;display:inline-flex}.stall-hero-name{overflow-wrap:anywhere;max-width:100%;color:var(--text-primary);margin:0;font-size:1.6rem;line-height:2rem}.stall-hero--photo .stall-hero-name{text-shadow:0 2px 12px #0009}.stall-hero-owner{font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--accent);align-items:center;gap:6px;margin:0;font-size:12px;display:inline-flex}.stall-hero-location{max-width:100%;font-family:var(--font-mono);color:var(--text-primary);overflow-wrap:anywhere;align-items:center;gap:6px;margin:0;font-size:12px;display:inline-flex}.stall-hero--photo .stall-hero-location{text-shadow:0 1px 8px #0009}.stall-body{flex-direction:column;gap:24px;padding:24px 20px 32px;display:flex}.stall-section{animation:.4s ease-out backwards stall-section-in;animation-delay:calc(.15s + var(--i,0) * 80ms);flex-direction:column;gap:12px;display:flex}.stall-section-heading{font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--accent);margin:0;font-size:.85rem;font-weight:600}.stall-description{color:var(--text-primary);white-space:pre-wrap;overflow-wrap:break-word;margin:0;font-size:15px;line-height:1.65}.stall-note{border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-secondary);font-family:var(--font-mono);margin:0;padding:12px 14px;font-size:12px;line-height:1.5}.stall-gallery{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.stall-gallery-item{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-sm,6px);background-color:var(--bg-elevated);cursor:zoom-in;background-position:50%;background-size:cover;padding:0;transition:border-color .2s,transform .2s}.stall-gallery-item:hover{border-color:var(--accent)}.stall-gallery-item:active{transform:scale(.97)}.stall-links{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.stall-links li+li{border-top:1px solid var(--border)}.stall-link{background:var(--bg-elevated);color:var(--text-primary);align-items:center;gap:14px;padding:12px 14px;text-decoration:none;transition:background .2s;display:flex}.stall-link:hover,.stall-link:active{background:var(--bg-surface)}.stall-link-icon{width:24px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.stall-link-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.stall-link-label{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.stall-link-host{font-family:var(--font-mono);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.stall-link-arrow{color:var(--text-secondary);font-size:14px;transition:color .2s,transform .2s}.stall-link:hover .stall-link-arrow{color:var(--accent);transform:translate(2px,-2px)}@keyframes stall-hero-settle{0%{opacity:0;transform:scale(1.08)}}@keyframes stall-section-in{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.stall-hero-photo,.stall-section{animation:none}}.bazaar-container{background:var(--bg-surface);flex-direction:column;flex:1;min-height:0;padding:24px;display:flex;overflow:hidden}.bazaar-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.bazaar-search{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);min-width:0;color:var(--text-primary);font-family:var(--font-mono);box-sizing:border-box;flex:1;padding:10px 14px;font-size:13px;transition:all .3s}.bazaar-search:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #00ff881a}.bazaar-count{color:var(--text-secondary);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;font-size:12px}.bazaar-content{-webkit-overflow-scrolling:touch;flex:1;min-height:0;margin:-8px;padding:8px;overflow:hidden auto}.bazaar-status{min-height:200px;color:var(--text-secondary);font-family:var(--font-mono);text-align:center;justify-content:center;align-items:center;padding:20px;font-size:14px;display:flex}.bazaar-error{color:var(--error)}.bazaar-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;display:grid}.bazaar-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);cursor:pointer;text-align:left;flex-direction:column;padding:0;transition:all .3s;display:flex;overflow:hidden}.bazaar-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}.bazaar-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bazaar-card:active{transform:translateY(-2px)}.bazaar-card-photo{background-position:50%;background-size:cover;flex-shrink:0;height:120px}.bazaar-card-photo--empty{color:var(--text-muted);background:var(--bg-dark);justify-content:center;align-items:center;display:flex}.bazaar-card-body{flex-direction:column;gap:6px;padding:14px 16px 16px;display:flex}.bazaar-card-titles{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.bazaar-card-name{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.bazaar-card-owner{color:var(--text-secondary);font-family:var(--font-mono);white-space:nowrap;font-size:11px}.bazaar-card-badges{gap:6px;display:flex}.bazaar-badge{border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;font-size:10px}.bazaar-badge--private{border-color:var(--text-secondary);color:var(--text-secondary)}.bazaar-card-description{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.feedback{flex-direction:column;flex:1;gap:20px;min-height:0;padding:24px;display:flex;overflow-y:auto}@media (width<=768px){.feedback{padding:16px}}.feedback-intro{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.55}.feedback-form{flex-direction:column;gap:8px;display:flex}.feedback-label{font-family:var(--font-mono);color:var(--text-primary);margin-top:6px;font-size:.85rem}.feedback-select,.feedback-textarea{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);width:100%;color:var(--text-primary);font-family:var(--font-mono);padding:10px 12px;font-size:.9rem}.feedback-textarea{resize:none;line-height:1.5;overflow:hidden}.feedback-submit{background:var(--accent);color:var(--bg-dark);font-family:var(--font-mono);cursor:pointer;border:none;border-radius:20px;align-self:flex-start;margin-top:8px;padding:10px 20px;font-size:.9rem;font-weight:600}.feedback-submit:disabled{opacity:.5;cursor:default}.feedback-error{color:var(--error,#f44);font-size:.85rem}.feedback-success{color:var(--accent);font-size:.85rem}.feedback-history{border-top:1px solid var(--border);flex-direction:column;gap:12px;padding-top:16px;display:flex}.feedback-history-heading{font-family:var(--font-mono);color:var(--text-primary);margin:0;font-size:1rem}.feedback-muted{color:var(--text-muted,#888);margin:0;font-size:.9rem}.feedback-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated,#ffffff08);padding:12px}.feedback-item-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.feedback-item-type{font-family:var(--font-mono);color:var(--accent);font-size:.8rem}.feedback-badge{border:1px solid var(--border);color:var(--text-muted,#888);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.7rem}.feedback-badge.responded{border-color:var(--accent);color:var(--accent)}.feedback-item-text{color:var(--text-primary);white-space:pre-wrap;overflow-wrap:break-word;margin:0;font-size:.9rem;line-height:1.5}.feedback-response{border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;background:#ffffff08;margin-top:10px;padding:10px 12px}.feedback-response-label{color:var(--accent);margin-bottom:4px;font-size:.75rem;display:block}.feedback-response-text{color:var(--text-primary);white-space:pre-wrap;overflow-wrap:break-word;margin:0;font-size:.9rem;line-height:1.5}.world-map{border:1px solid var(--accent-dim);border-radius:var(--radius);cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%;height:auto;display:block;box-shadow:0 0 24px #00ff8826,inset 0 0 40px #00ff880f}.world-map__bg{fill:#010703}.world-map__viewport{transform-origin:0 0;will-change:transform;transition:transform .34s cubic-bezier(.22,1,.36,1)}.world-map__graticule line{stroke:#00ff881f;stroke-width:.75px}.world-map__land{fill:#00ff8814;stroke:var(--accent-dim);stroke-width:.4px;stroke-linejoin:round}.world-map__point{transition:transform .34s cubic-bezier(.22,1,.36,1)}.world-map__point-halo{fill:#fff;opacity:.28}.world-map__point-core{fill:#fff;animation:2.4s ease-in-out infinite world-map-pulse}@keyframes world-map-pulse{0%,to{opacity:.7}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.world-map__viewport,.world-map__point{transition:none}.world-map__point-core{opacity:.9;animation:none}}.statistics{flex-direction:column;flex:1;gap:20px;min-height:0;padding:24px;display:flex;overflow-y:auto}@media (width<=768px){.statistics{padding:16px}}.statistics-active{border:1px solid var(--accent-dim);border-radius:var(--radius);background:#00ff880d;flex-wrap:wrap;align-items:baseline;gap:10px;padding:14px 16px;display:flex}.statistics-active-value{font-family:var(--font-mono);color:var(--accent);text-shadow:0 0 12px #0f86;font-size:1.8rem;font-weight:700}.statistics-active-label{color:var(--text-secondary);font-size:.9rem}.statistics-tabbar{border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.statistics-tab{color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:10px 8px;font-size:14px;font-weight:500;transition:color .2s,border-color .2s}.statistics-tab:hover{color:var(--text-primary)}.statistics-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.statistics-summary{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.statistics-summary-value{font-family:var(--font-mono);color:var(--accent);text-shadow:0 0 12px #0f86;font-size:1.6rem;font-weight:700}.statistics-summary-label{color:var(--text-secondary);font-size:.9rem}.statistics-map{position:relative}.statistics-overlay{-webkit-backdrop-filter:blur(2px);border-radius:var(--radius);background:#0107038c;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.embedded-prompt .confirm-message+.confirm-message{margin-top:10px}.embedded-prompt-actions{flex-direction:column;gap:10px;margin-top:18px;display:flex}.embedded-prompt-btn{box-sizing:border-box;text-align:center;text-decoration:none;display:block}.embedded-prompt-skip{color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;padding:6px;font-size:.8rem;text-decoration:underline}@font-face{font-family:CommitMono;src:url(/assets/CommitMono-Regular-wzhe4RuD.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Exo;src:url(/assets/Exo-Regular-BnxOChvA.otf)format("truetype");font-weight:400;font-style:normal}*,:before,:after{box-sizing:border-box;margin:0;padding:0}input,textarea,select{scroll-margin-block:5px}:root{--bg-dark:#0a0a0a;--bg-surface:#141414;--bg-elevated:#1e1e1e;--text-primary:#e8e8e8;--text-secondary:#a0a0a0;--text-muted:#666;--accent:#0f8;--accent-dim:#00cc6a;--error:#f44;--success:#0f8;--border:#3a3a3a;--radius-sm:6px;--radius:8px;--radius-md:10px;--radius-lg:12px;--font-mono:"CommitMono", "JetBrains Mono", "Courier New", monospace;--font-sans:"Exo", "Inter", -apple-system, BlinkMacSystemFont, sans-serif}html,body,#root{overscroll-behavior:none;width:100%;height:100%;min-height:100vh}html{background:var(--bg-dark)}body{font-family:var(--font-sans);background:var(--bg-dark);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;overflow:hidden}input,textarea,select,[contenteditable],[contenteditable] *{-webkit-user-select:text;user-select:text}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.theme-serpent{--accent:#0f8;--accent-dim:#00cc6a}.hq-btn{border-radius:var(--radius);font-family:var(--font-mono);cursor:pointer;border:1px solid #0000;padding:10px 16px;font-size:.9rem;font-weight:600;transition:all .2s}.hq-btn:disabled{opacity:.5;cursor:default}.hq-btn--primary{background:var(--accent);border-color:var(--accent-dim);color:var(--bg-dark)}.hq-btn--primary:hover:not(:disabled){background:var(--accent-dim)}.hq-btn--accent-outline{border-color:var(--accent);color:var(--accent);background:0 0}.hq-btn--accent-outline:hover:not(:disabled){background:var(--accent);color:var(--bg-dark)}.hq-btn--danger{color:#fff;background:#dc3545;border-color:#dc3545}.hq-btn--danger:hover:not(:disabled){background:#b52a37;border-color:#b52a37}.hq-btn--danger-outline{color:#dc3545;background:0 0;border-color:#dc3545}.hq-btn--danger-outline:hover:not(:disabled){color:#fff;background:#dc3545}.hq-btn--ghost{border-color:var(--border);color:var(--text-primary);background:0 0}.hq-btn--ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
