@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_246ccd{font-family:Geist,Geist Fallback;font-style:normal}.__variable_246ccd{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_c29908{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_c29908{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}:root{--sidebar-width:450px;--bg-left:#1a1c23;--bg-right:#111218;--text-main:#ffffff;--text-dim:#9ca3af;--accent:#3b82f6;--accent-hover:#2563eb;--border:#2d2f39;--panel-bg:#22252e;--kg-blue-light:#60a5fa;--kg-blue-dark:#1e40af;--kg-auth-bg:#0f2744;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{height:100%}body,html{background:var(--bg-right)}body{font-family:var(--font-geist-sans),"Inter",-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-main);min-height:100%;height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:#93c5fd}a:hover{text-decoration:underline}.main-layout{display:flex;height:100vh;width:100vw}.left-segment{width:var(--sidebar-width);background:var(--bg-left);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.5rem;gap:1.5rem;flex-shrink:0}.segment-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:.75rem}.file-section{flex-shrink:0}.upload-box{background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;padding:1rem;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:border-color .2s}.upload-box.drag-over,.upload-box:hover{border-color:var(--accent)}.upload-box.drag-over{background:rgba(59,130,246,.08);box-shadow:inset 0 0 0 1px rgba(59,130,246,.35)}.preview-section{flex-grow:1;display:flex;flex-direction:column;min-height:0}.preview-container{background:#000;border-radius:8px;flex-grow:1;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--border)}.preview-container img{max-width:100%;max-height:100%;object-fit:contain}.edit-section{flex-shrink:0}.edit-controls{background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:1rem}.fingering-input-group{display:flex;flex-direction:column;gap:.5rem}.fingering-input-group label{font-size:.75rem;color:var(--text-dim)}.fingering-row{display:flex;gap:.5rem}.input-field{background:#111218;border:1px solid var(--border);color:white;padding:.5rem;border-radius:4px;width:100%;font-size:.9rem}.input-field:focus{outline:none;border-color:var(--accent)}.action-btn{background:var(--accent);color:white;border:none;padding:1rem;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.action-btn:hover{background:var(--accent-hover)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.right-segment{flex-grow:1;background:var(--bg-right);display:flex;flex-direction:column;position:relative;overflow:hidden}.score-view{flex-grow:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:2rem;cursor:crosshair}.score-view.score-view-empty{align-items:center;justify-content:center;cursor:default}.score-view.score-view-readonly{cursor:default}.score-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;width:100%;height:100%;min-height:100%;color:#6b7280;text-align:center}.score-empty-state p{font-size:1.1rem;font-weight:600;margin:0;max-width:20rem}.coming-soon-hint{font-size:.9rem;color:#9ca3af;text-align:center;padding:1.25rem 1rem;margin:0}.score-container{position:relative;background:white;box-shadow:0 10px 30px rgba(0,0,0,.5);max-width:100%}.score-image-wrap{position:relative;display:inline-block;max-width:100%;line-height:0}.score-image-wrap img{display:block;max-width:100%;height:auto}.score-actions{position:absolute;top:.75rem;right:.75rem;z-index:20;display:flex;gap:.5rem;opacity:0;pointer-events:none;transition:opacity .15s ease}.score-actions.visible{opacity:1;pointer-events:auto}.score-action-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .65rem;border:none;border-radius:6px;background:rgba(17,18,24,.85);color:#e5e7eb;font-size:.75rem;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.score-action-btn:hover{background:rgba(59,130,246,.9);color:white}.score-container img{display:block;max-width:100%;height:auto}.note-marker{position:absolute;width:20px;height:20px;margin-left:-10px;margin-top:-10px;border-radius:50%;border:2px solid transparent;pointer-events:none}.note-marker.active{border-color:var(--accent);background:rgba(59,130,246,.2);box-shadow:0 0 10px var(--accent)}.note-marker.removed{border-color:rgba(248,113,113,.7);background:rgba(248,113,113,.12)}.note-marker.chord{border-color:rgba(59,130,246,.6);background:rgba(59,130,246,.1)}.score-debug-layer,.score-debug-overlay-layer{position:absolute;inset:0;pointer-events:none}.score-debug-overlay-layer{opacity:.5}.note-marker-debug{width:auto;height:auto;min-width:22px;min-height:22px;margin-left:-11px;margin-top:-11px;border-color:rgba(59,130,246,.95);background:rgba(59,130,246,.25);display:flex;align-items:center;justify-content:center}.note-marker-debug.active{border-color:#fbbf24;background:rgba(251,191,36,.35);box-shadow:0 0 12px rgba(251,191,36,.8)}.note-marker-head-only{min-width:10px;min-height:10px;margin-left:-5px;margin-top:-5px;border-color:rgba(148,163,184,.7);background:rgba(148,163,184,.15);opacity:.55}.note-marker-head-only .note-marker-label{display:none}.note-marker-overlay{border-color:rgba(96,165,250,.9)}.note-marker-label{font-size:.65rem;font-weight:700;color:#fff;line-height:1;padding:2px 4px;text-shadow:0 1px 2px rgba(0,0,0,.8)}.note-marker-head{position:absolute;width:8px;height:8px;margin-left:-4px;margin-top:-4px;border-radius:50%;background:#f87171;border:1px solid #fff;box-shadow:0 0 4px rgba(248,113,113,.9);pointer-events:none}.note-marker-debug.updated,.note-marker-selection.updated{border-color:#22c55e;background:rgba(34,197,94,.35);box-shadow:0 0 14px rgba(34,197,94,.9);animation:debug-pulse 1.2s ease-in-out 3}.note-marker-selection{z-index:5;width:24px;height:24px;margin-left:-12px;margin-top:-12px;border-width:3px}@keyframes debug-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.note-marker-click{position:absolute;width:14px;height:14px;margin-left:-7px;margin-top:-7px;border-radius:50%;border:2px solid #a855f7;background:rgba(168,85,247,.35);box-shadow:0 0 8px rgba(168,85,247,.8);pointer-events:none;z-index:3}.score-omr-bounds-layer{position:absolute;inset:0;pointer-events:none;z-index:2}.score-omr-bounds-layer.overlay{opacity:.65}.omr-bounds-box{position:absolute;box-sizing:border-box;border:1px solid rgba(148,163,184,.85);background:rgba(148,163,184,.08);pointer-events:none}.omr-bounds-fingering{border-color:rgba(249,115,22,.95);background:rgba(249,115,22,.12)}.omr-bounds-head{border-color:rgba(34,197,94,.95);background:rgba(34,197,94,.1)}.omr-bounds-rest{border-color:rgba(148,163,184,.7);background:rgba(148,163,184,.06)}.edit-debug-select{display:flex;flex-direction:column;gap:.25rem;margin-top:.35rem;font-size:.75rem;color:#cbd5e1}.edit-debug-select select{background:#1f2937;color:#e2e8f0;border:1px solid rgba(255,255,255,.12);border-radius:4px;padding:.25rem .4rem;font-size:.75rem}.edit-debug-panel{margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.08)}.edit-debug-title{font-size:.75rem;font-weight:600;color:#93c5fd;margin:0 0 .5rem}.edit-debug-toggle{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#d1d5db;margin-bottom:.4rem;cursor:pointer}.edit-debug-toggle input:disabled+span{opacity:.45}.edit-debug-hint{font-size:.72rem;color:#9ca3af;margin:.35rem 0 0;line-height:1.4}.loading-overlay{position:absolute;inset:0;background:rgba(0,0,0,.7);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top:3px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.spinning{animation:spin 1s linear infinite}.auth-section{flex-shrink:0}.auth-panel{background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.auth-tabs{display:flex;gap:.5rem}.auth-tabs button{flex:1 1;background:#111218;border:1px solid var(--border);color:var(--text-dim);padding:.5rem;border-radius:6px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;gap:.35rem}.auth-tabs button.active{border-color:var(--accent);color:white;background:rgba(59,130,246,.15)}.auth-form{display:flex;flex-direction:column;gap:.5rem}.auth-error{color:#f87171;font-size:.8rem}.auth-info{color:#93c5fd;font-size:.8rem}.auth-hint{font-size:.75rem;color:var(--text-dim);margin-top:.5rem}.auth-hint.warn{color:#fbbf24}.score-warning-banner{position:absolute;top:1rem;left:1rem;right:1rem;z-index:90;display:flex;align-items:flex-start;gap:.5rem;background:rgba(26,29,35,.95);border:1px solid #d97706;padding:.75rem 1rem;border-radius:.5rem;color:#fbbf24;font-size:.85rem;line-height:1.4;box-shadow:0 10px 15px -3px rgba(0,0,0,.5)}.score-warning-banner>span{flex:1 1;min-width:0}.score-warning-dismiss{background:transparent;border:none;cursor:pointer;color:#fbbf24;padding:.15rem;border-radius:.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,color .2s}.score-warning-dismiss:hover{background:rgba(217,119,6,.2);color:#fde68a}.score-warning-banner svg{flex-shrink:0;margin-top:.1rem}.execution-error-banner{position:absolute;top:1rem;left:1rem;right:1rem;z-index:100;background:#1a1d23;border:1px solid #ef4444;padding:1rem;border-radius:.5rem;color:#f87171;display:flex;justify-content:space-between;align-items:center;gap:.75rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.5)}.execution-error-content{flex:1 1;min-width:0}.execution-error-title{font-weight:700;display:flex;align-items:center;gap:.5rem;color:#fca5a5}.execution-error-message{font-size:.9rem;margin-top:.4rem;color:#fecaca}.execution-error-hint{font-size:.85rem;margin-top:.5rem;color:#fcd34d;line-height:1.4}.execution-error-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.execution-error-dismiss,.execution-error-support{background:#2d333b;border:none;cursor:pointer;color:#f87171;padding:.5rem;border-radius:.25rem;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.execution-error-support:hover{background:#3b82f6;color:#fff}.execution-error-dismiss:hover{background:#374151}.support-modal-backdrop{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:1rem}.support-modal{background:var(--panel-bg);border:1px solid var(--border);border-radius:10px;width:100%;max-width:420px;padding:1.25rem;box-shadow:0 20px 40px rgba(0,0,0,.5)}.support-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.support-modal-header h2{display:flex;align-items:center;gap:.5rem;font-size:1.1rem}.support-modal-close{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:.25rem;border-radius:4px}.support-modal-close:hover{color:var(--text-main);background:rgba(255,255,255,.05)}.support-modal-hint{font-size:.85rem;color:var(--text-dim);margin-bottom:.75rem}.support-modal-textarea{width:100%;resize:vertical;min-height:120px;margin-bottom:.75rem}.support-modal-form .action-btn{width:100%}.support-modal-success{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:.5rem 0;color:#86efac}.support-modal-success .action-btn{margin-top:.5rem;width:auto;min-width:120px}.auth-user-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.auth-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-quota{font-size:.8rem;color:#93c5fd}.auth-notice{font-size:.8rem;padding:.5rem;border-radius:4px}.auth-notice-warn{background:rgba(251,191,36,.1);color:#fbbf24;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.auth-link-btn{background:none;border:none;color:#93c5fd;cursor:pointer;text-decoration:underline;font-size:.8rem}.privacy-toggle{display:flex;align-items:center;gap:.5rem;font-size:.85rem;cursor:pointer}.privacy-hint{font-size:.7rem;color:var(--text-dim);line-height:1.4}.auth-logout-btn{background:#2d333b;border:1px solid var(--border);color:var(--text-dim);padding:.5rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.35rem;font-size:.85rem}.auth-logout-btn:hover{color:white;border-color:#ef4444}.upload-box.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.pdf-preview{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-dim);text-align:center;padding:1rem}.pdf-preview p{color:white;font-size:.9rem;word-break:break-all}.pdf-preview span{font-size:.75rem}.auth-loading,.verify-page{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--bg-right);color:var(--text-main)}.auth-loading p,.verify-page p{color:var(--text-dim)}.auth-page-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(circle at center,var(--kg-auth-bg) 0,#09090b 100%)}.auth-page-card{width:100%;max-width:420px;background:rgba(24,24,27,.85);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:1.25rem;padding:2rem 2.25rem;box-shadow:0 20px 40px rgba(0,0,0,.5)}.auth-page-brand{text-align:center;margin-bottom:1.75rem}.auth-page-logo{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--kg-blue-light) 0,var(--kg-blue-dark) 100%);border-radius:1rem;padding:.85rem;margin-bottom:1rem;box-shadow:0 8px 16px rgba(59,130,246,.25)}.auth-page-brand h1{font-size:1.5rem;font-weight:700;letter-spacing:-.025em}.auth-page-brand p{margin-top:.5rem;font-size:.875rem;color:var(--text-dim)}.auth-form-page{gap:.75rem}.auth-form-page .action-btn{margin-top:.25rem}.auth-page-footer{margin-top:1.5rem;text-align:center;font-size:.85rem;color:var(--text-dim)}.auth-page-footer a{color:#93c5fd;text-decoration:none}.auth-page-footer a:hover{text-decoration:underline}.auth-success-block{text-align:center}.auth-success-block .auth-hint{margin-top:.75rem;font-size:.85rem}.app-toolbar{display:flex;align-items:center;gap:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border);margin-bottom:.25rem;flex-shrink:0}.app-toolbar-quota{font-size:.75rem;color:#93c5fd;flex:1 1}.app-toolbar-warn{font-size:.7rem;color:#fbbf24}.app-toolbar-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.app-toolbar-auth-btn{padding:.35rem .65rem;font-size:.8rem;text-decoration:none;white-space:nowrap}.app-toolbar-settings{display:flex;align-items:center;justify-content:center;color:var(--text-dim);padding:.35rem;border-radius:6px;opacity:.1;transition:color .2s,background .2s,opacity .2s}.app-toolbar-settings:hover{opacity:1;color:var(--accent);background:rgba(59,130,246,.1)}.settings-page{min-height:100vh;overflow-y:auto;padding:2rem;max-width:640px;margin:0 auto;background:var(--bg-right)}.settings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.settings-header h1{display:flex;align-items:center;gap:.5rem;font-size:1.5rem}.settings-header p{color:var(--text-dim);font-size:.85rem;margin-top:.25rem}.settings-section{margin-bottom:1.75rem}.settings-section h2{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:.5rem}.settings-card{background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.settings-banner{margin-bottom:1rem;padding:.75rem 1rem;border-radius:6px}.settings-admin-links{display:flex;flex-direction:column;gap:.75rem}.settings-admin-links a{display:flex;gap:.5rem;font-size:.9rem}.settings-admin-links a,.settings-admin-promote-link{align-items:center;color:#93c5fd;text-decoration:none}.settings-admin-promote-link{display:inline-flex;gap:.35rem;margin-top:.75rem;font-size:.85rem}.settings-admin-promote-link:hover{text-decoration:underline}.settings-logout{width:100%;justify-content:center;padding:.75rem}.settings-more-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;padding:.85rem 1.25rem;color:var(--text-main);font-size:.85rem;cursor:pointer;transition:border-color .2s,background .2s}.settings-more-toggle:hover{border-color:var(--accent);background:rgba(59,130,246,.08)}.settings-more-panel{margin-top:.75rem}.settings-more-panel h2{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:.5rem}.render-mode-tabs{display:flex;gap:.5rem;margin-bottom:.75rem}.render-mode-tabs button{flex:1 1;background:#111218;border:1px solid var(--border);color:var(--text-dim);padding:.5rem;border-radius:6px;cursor:pointer;font-size:.8rem}.render-mode-tabs button.active{border-color:var(--accent);color:white;background:rgba(59,130,246,.15)}.render-mode-tabs button:disabled{opacity:.45;cursor:not-allowed}.verify-page h1{font-size:1.5rem}.verify-page p{color:var(--text-dim);max-width:400px;text-align:center}.admin-dashboard,.admin-page{min-height:100vh;background:var(--bg-right);color:var(--text-main)}.admin-page{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;height:100vh;height:100dvh;overflow-y:auto;box-sizing:border-box}.admin-sub{color:var(--text-dim);font-size:.9rem}.admin-bootstrap-form{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:360px}.admin-dashboard{padding:1.5rem 2rem;height:100vh;height:100dvh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box}.admin-dashboard-content{max-width:1400px;margin:0 auto;padding-bottom:2rem}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.admin-header h1{display:flex;align-items:center;gap:.5rem;font-size:1.5rem}.admin-header p{color:var(--text-dim);font-size:.85rem;margin-top:.25rem}.admin-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.admin-btn{background:var(--panel-bg);border:1px solid var(--border);color:var(--text-main);padding:.5rem .75rem;border-radius:6px;font-size:.85rem;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;text-decoration:none}.admin-btn:hover{border-color:var(--accent)}.admin-btn.danger{border-color:rgba(248,113,113,.45);color:#fca5a5}.admin-btn.danger:hover{border-color:#f87171;background:rgba(248,113,113,.12)}.admin-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.admin-tabs button{background:transparent;border:none;color:var(--text-dim);padding:.5rem 1rem;cursor:pointer;display:flex;align-items:center;gap:.35rem;font-size:.9rem;border-radius:6px 6px 0 0}.admin-tabs button.active{color:var(--accent);background:rgba(59,130,246,.1)}.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.admin-card{background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.admin-card h3{font-size:.8rem;text-transform:uppercase;color:var(--text-dim);margin-bottom:.5rem}.admin-status{font-size:1.25rem;font-weight:700;text-transform:capitalize}.admin-status-ok{color:#22c55e}.admin-status-degraded{color:#fbbf24}.admin-status-error,.admin-status-misconfigured,.admin-status-unknown{color:#f87171}.admin-stat{font-size:2rem;font-weight:700;color:var(--accent)}.admin-meta{display:block;font-size:.75rem;color:var(--text-dim);margin-top:.35rem}.admin-error{background:rgba(239,68,68,.1);border:1px solid #ef4444;color:#fca5a5;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.admin-error button{margin-left:auto;background:none;border:none;color:inherit;cursor:pointer;font-size:1.2rem}.admin-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table td,.admin-table th{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.admin-table th{background:var(--panel-bg);color:var(--text-dim);font-size:.75rem;text-transform:uppercase}.admin-expand-row td{background:#111218;padding:0}.admin-expand-panel{padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.admin-expand-panel label{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.admin-quota-edit{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end}.admin-quota-edit label{width:100%;font-size:.75rem;color:var(--text-dim)}.admin-link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.85rem;display:inline-flex;align-items:center;gap:.25rem}.admin-analytics{display:flex;flex-direction:column;gap:1rem}.fp-analytics-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between}.fp-view-tabs{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.fp-view-tabs button{background:transparent;border:none;color:var(--text-dim);padding:.45rem .9rem;font-size:.8rem;cursor:pointer}.fp-view-tabs button.active{background:rgba(59,130,246,.15);color:#93c5fd}.fp-live-panel{border:1px solid var(--border);border-radius:8px;padding:1rem;background:rgba(255,255,255,.02)}.fp-live-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:.75rem}.fp-summary{display:flex;flex-direction:column;gap:1rem}.fp-summary-section{border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;background:#0a0a0c}.fp-summary-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#93c5fd;margin:0 0 .6rem}.fp-summary-grid{display:grid;grid-template-columns:minmax(140px,34%) 1fr;gap:.35rem .75rem;margin:0;font-size:.8rem}.fp-summary-grid dt{color:var(--text-dim);margin:0}.fp-summary-grid dd{margin:0;color:#e2e8f0;word-break:break-word}.fp-summary-notes{margin-top:.5rem;font-size:.72rem;color:var(--text-dim)}.fp-summary-compact .fp-summary-section{padding:.6rem .75rem}.fp-log-entries{display:flex;flex-direction:column;gap:1rem}.fp-log-entry{border:1px solid var(--border);border-radius:8px;overflow:hidden}.fp-log-entry-header{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;padding:.6rem .9rem;background:rgba(255,255,255,.03);font-size:.8rem;color:var(--text-dim)}.fp-log-tag{background:rgba(59,130,246,.15);color:#93c5fd;padding:.1rem .45rem;border-radius:4px;font-size:.72rem}.fp-log-time{margin-left:auto;font-size:.72rem}.fp-log-entry .fp-summary{padding:.75rem}.fp-log-fallback{max-height:240px;margin:.75rem}.fp-log-section-title{font-size:.85rem;color:var(--text-dim);margin:.5rem 0 0;text-transform:uppercase;letter-spacing:.05em}.analytics-stat-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.analytics-stat-card{background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;min-width:140px;display:flex;flex-direction:column;gap:.25rem}.analytics-stat-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim)}.analytics-stat-value{font-size:1.5rem;font-weight:700;color:#e2e8f0}.analytics-stat-value-sm{font-size:.95rem;font-weight:600}.analytics-mono{font-family:var(--font-geist-mono),monospace;font-size:.78rem}.analytics-visit-table td,.analytics-visit-table th{font-size:.82rem}.analytics-advanced-toolbar{flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.analytics-advanced-toolbar,.analytics-collapse-btn{display:flex;align-items:center;justify-content:space-between}.analytics-collapse-btn{width:100%;background:none;border:none;color:inherit;cursor:pointer;padding:0;margin-bottom:.5rem}.analytics-flat-grid{max-height:420px;overflow-y:auto}.analytics-raw-block{max-height:320px;margin-top:.5rem}.analytics-by-user{display:flex;flex-direction:column;gap:.75rem}.analytics-user-card{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:rgba(255,255,255,.02)}.analytics-user-card-header{gap:.75rem;padding:.6rem .9rem;background:rgba(255,255,255,.03)}.analytics-user-card-header,.analytics-user-card-toggle{display:flex;align-items:center;justify-content:space-between}.analytics-user-card-toggle{flex:1 1;flex-wrap:wrap;gap:.5rem;background:none;border:none;color:inherit;cursor:pointer;text-align:left;padding:0}.analytics-user-id{display:block;font-size:.72rem;margin-top:.15rem}.analytics-user-card-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.78rem;color:var(--text-dim)}.analytics-user-card-body{padding:.75rem;display:flex;flex-direction:column;gap:1rem}.analytics-device-block{border:1px solid var(--border);border-radius:8px;padding:.75rem;background:#0a0a0c}.analytics-device-entry{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}.analytics-user-visits{margin-top:.5rem}.admin-log-view{background:#0a0a0c;border:1px solid var(--border);border-radius:8px;padding:1rem;max-height:70vh;overflow:auto;font-size:.75rem;line-height:1.5;color:#a0aec0;white-space:pre-wrap;word-break:break-all}.admin-support-message{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-support-full-message{font-size:.9rem;line-height:1.5;margin-bottom:.75rem;white-space:pre-wrap}.admin-support-context{max-height:200px;margin-bottom:.75rem}.admin-support-status{font-size:.8rem;text-transform:capitalize;padding:.15rem .5rem;border-radius:4px;background:rgba(255,255,255,.05)}.admin-support-status-open{color:#fbbf24}.admin-support-status-in_progress{color:#60a5fa}.admin-support-status-resolved{color:#86efac}.admin-support-status-closed{color:#9ca3af}.admin-support-status-row{display:flex;align-items:center;gap:.75rem}.admin-support-status-row label{font-size:.85rem;color:var(--text-dim)}.admin-support-status-row select{max-width:180px}.container{min-height:100vh;background:var(--bg-right);color:var(--text-main);display:flex;flex-direction:column}.header{flex-shrink:0}.card{border:1px solid var(--border);border-radius:8px}.btn,.card{background:var(--panel-bg)}.btn{border:1px solid var(--border);color:var(--text-main);padding:.5rem 1rem;border-radius:6px;font-size:.85rem;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;text-decoration:none;transition:border-color .2s,background .2s}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#111218;color:var(--text-dim)}.btn-primary{background:var(--accent);border-color:var(--accent);color:white}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}