.app-container{background:var(--bg-page);min-height:100vh;color:var(--text-primary);font-family:Google Sans,Poppins,sans-serif;display:flex}.sidebar{background:var(--glass-bg);width:260px;min-width:260px;-webkit-backdrop-filter:blur(var(--glass-blur));border-right:1px solid var(--glass-border);z-index:40;flex-direction:column;gap:0;height:100vh;padding:20px;transition:width .3s,min-width .3s,padding .3s,opacity .3s;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar.closed{opacity:0;pointer-events:none;border-right:none;width:0;min-width:0;padding:0;overflow:hidden}.sidebar-toggle{z-index:100;border:1px solid var(--border);background:var(--bg-elevated);width:44px;height:44px;box-shadow:var(--shadow-md);cursor:pointer;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:all .3s;display:flex;position:fixed;top:24px}.sidebar-toggle.open{left:284px}.sidebar-toggle.closed{left:24px}.sidebar-toggle:hover{background:var(--bg-hover);transform:scale(1.05)}.sidebar-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border-light);margin-bottom:4px;padding-bottom:14px;font-size:12px;font-weight:600}.sidebar-section{flex-direction:column;gap:8px;padding:14px 0;display:flex}.sidebar-section+.sidebar-section{border-top:1px solid var(--border-light)}.sidebar-label{color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:4px;font-size:12px;font-weight:500;display:flex}.sidebar-select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast);box-sizing:border-box;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 10px center;background-repeat:no-repeat;background-size:14px;outline:none;padding:8px 32px 8px 12px;font-family:inherit;font-size:13px;font-weight:500}.sidebar-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-light)}.custom-select-container.disabled{opacity:.6;cursor:not-allowed}.custom-select-options{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;max-height:200px;box-shadow:var(--shadow-md);z-index:100;box-sizing:border-box;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.custom-select-option{color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);border-radius:4px;padding:8px 12px;font-size:13px;font-weight:500}.custom-select-option:hover{background:var(--bg-hover)}.custom-select-option.selected{background:var(--accent-light);color:var(--accent);font-weight:600}.custom-select-option.placeholder{color:var(--text-muted)}.sidebar-input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text-primary);cursor:text;transition:border-color var(--transition-fast);box-sizing:border-box;outline:none;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:500}.sidebar-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-light)}.sidebar-textarea{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text-primary);resize:vertical;transition:border-color var(--transition-fast);box-sizing:border-box;outline:none;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:500}.sidebar-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-light)}.sidebar-info{color:var(--text-muted);font-size:12px}.seat-toggle-grid{grid-template-rows:repeat(10,1fr);grid-template-columns:repeat(5,1fr);grid-auto-flow:column;gap:3px;display:grid}.seat-toggle{aspect-ratio:1;border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:10px;font-weight:600;transition:all .15s;display:flex}.seat-toggle:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.seat-toggle.disabled{background:var(--danger-surface);border-color:var(--danger-surface);color:var(--danger);text-decoration:line-through}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.btn:active{transform:scale(.97)}.btn-secondary{background:var(--bg-hover);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-active)}.theme-toggle:active{transform:scale(.95)}.projector-bar{background:var(--accent-surface);-webkit-backdrop-filter:blur(var(--glass-blur));box-sizing:border-box;border-radius:var(--radius-sm);border:1px solid var(--accent-light);align-items:center;gap:16px;height:42px;padding:0 16px;display:flex}.projector-bar-label{color:var(--text-primary);font-size:13px;font-weight:600}.projector-bar label{cursor:pointer;color:var(--text-primary);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.projector-bar input[type=checkbox]{appearance:none;border:1.5px solid var(--accent);background-color:var(--bg-input);cursor:pointer;width:16px;height:16px;transition:all var(--transition-fast);border-radius:4px;justify-content:center;align-items:center;margin:0;display:inline-flex;position:relative}.projector-bar input[type=checkbox]:checked{background-color:var(--accent);border-color:var(--accent)}.projector-bar input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.projector-bar input[type=checkbox]:focus{box-shadow:0 0 0 3px var(--accent-light);outline:none}.btn-primary{background:var(--accent);color:var(--text-on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-active);border-color:var(--border)}.btn-timer{flex:1;padding:6px 12px;font-size:12px}.btn-start{background:var(--success);color:#fff}.btn-start:hover{filter:brightness(1.1)}.btn-pause{background:var(--warning);color:#1f1f1f}.btn-pause:hover{filter:brightness(1.1)}.btn-reset{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border)}.btn-reset:hover{background:var(--bg-active)}.timer-input-row{align-items:center;gap:6px;display:flex}.timer-input-row .sidebar-input{text-align:center;width:64px;font-weight:600}.timer-unit{color:var(--text-muted);font-size:12px}.timer-controls{gap:4px;display:flex}.badge{border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700}.badge-danger{background:var(--danger-surface);color:var(--danger)}.main-content{background:var(--bg-page);flex:1;min-height:100vh;padding:24px 24px 16px;overflow-y:auto}.main-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px;display:flex}.header-top-row,.header-bottom-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.main-title{color:var(--text-primary);margin:0;font-family:Google Sans,Poppins,sans-serif;font-size:22px;font-weight:700}.main-subtitle{color:var(--text-muted);background:var(--bg-hover);border-radius:20px;padding:4px 12px;font-size:13px;font-weight:400}.tab-bar{background:var(--bg-hover);border-radius:var(--radius);border:1px solid var(--border-light);box-sizing:border-box;gap:2px;height:42px;padding:4px;display:inline-flex}.tab{border-radius:var(--radius-sm);height:100%;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0 18px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.tab:hover:not(.active){color:var(--text-primary);background:var(--bg-active)}.tab.active{background:var(--bg-elevated);color:var(--accent);box-shadow:var(--shadow-sm);font-weight:600}.seat-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.seat-column{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow-xs);transition:all var(--transition-fast);overflow:hidden}.seat-column:hover{box-shadow:var(--shadow-sm)}.seat-column-header{background:var(--bg-header);color:var(--text-header);text-transform:uppercase;letter-spacing:.06em;grid-template-columns:36px 1fr 84px;font-size:12px;font-weight:600;display:grid}.seat-column-header>span{padding:8px}.col-no,.col-asprak{text-align:center}.seat-row{border-bottom:1px solid var(--border-light);transition:background var(--transition-fast);box-sizing:border-box;cursor:default;grid-template-columns:36px 1fr 84px;align-items:center;min-height:56px;font-size:14px;display:grid}.seat-row:last-child{border-bottom:none}.seat-row:nth-child(2n){background:var(--bg-row-even)}.seat-row:nth-child(odd){background:var(--bg-row-odd)}.seat-row.occupied{cursor:grab}.seat-row.occupied:active{cursor:grabbing}.seat-row:hover:not(.disabled):not(.skeleton){background:var(--bg-hover)}.seat-row.dragging{opacity:.3}.seat-row.drag-over{box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-light)!important}.seat-row.disabled{opacity:.4;background:repeating-linear-gradient(-45deg, var(--bg-page), var(--bg-page) 3px, var(--bg-row-even) 3px, var(--bg-row-even) 6px)!important}.cell-no{text-align:center;color:var(--text-muted);padding:8px 4px;font-size:15px;font-weight:700}.seat-row.occupied .cell-no{color:var(--accent)}.cell-nim{color:var(--text-primary);white-space:normal;word-break:break-word;padding:8px;font-size:13px;font-weight:500;line-height:1.3}.cell-asprak{text-align:center;justify-content:center;align-items:center;padding:8px 6px;font-size:11px;font-weight:600;display:inline-flex}.asprak-badge{letter-spacing:.03em;border-radius:12px;justify-content:center;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.4;display:inline-flex}.disabled-label{color:var(--text-muted)}.seat-row.skeleton .cell-nim,.seat-row.skeleton .cell-asprak{color:#0000}.skeleton-bar{background:linear-gradient(90deg, var(--border-light) 25%, var(--bg-hover) 50%, var(--border-light) 75%);background-size:200% 100%;border-radius:6px;width:80%;height:14px;animation:1.5s ease-in-out infinite skeleton-pulse;display:inline-block}.skeleton-bar.short{width:40px}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.name-small{display:none}.name-default{display:inline}.notes-tab{width:100%}.countdown-tab{flex-direction:column;gap:24px;width:100%;display:flex}.countdown-config-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--glass-border);justify-content:center;align-items:flex-end;gap:20px;max-width:100%;margin:0;padding:24px 28px;display:flex}.countdown-field{flex-direction:column;gap:8px;display:flex}.countdown-field label{color:var(--text-secondary);font-size:13px;font-weight:600}.countdown-field input{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);background:var(--bg-input);cursor:text;padding:10px 14px;font-family:inherit;font-size:16px;font-weight:600;transition:all .2s}.countdown-field input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-light);outline:none}.racer-setup{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--glass-border);width:100%;margin-bottom:0;padding:24px}.racer-list{flex-direction:column;gap:10px;display:flex}.racer-list-item{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border-light);transition:all var(--transition-fast);align-items:center;gap:12px;padding:10px 14px;display:flex}.racer-list-item:hover{background:var(--bg-hover);border-color:var(--border)}.racer-avatar-preview{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:11px;font-weight:700;display:flex;overflow:hidden}.racer-avatar-preview img{object-fit:cover;width:100%;height:100%}.racer-name{color:var(--text-primary);flex:1;font-size:14px;font-weight:700}.race-track-container{background:var(--glass-bg);width:100%;-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--glass-border);margin:0;padding:28px}.countdown-time{font-variant-numeric:tabular-nums;color:var(--accent);letter-spacing:-.02em;margin:0;font-family:Google Sans,Poppins,sans-serif;font-size:64px;font-weight:700;line-height:1.2}.race-track{border:4px solid var(--border);border-radius:var(--radius-lg);background:var(--success-surface);width:100%;padding:0;position:relative;overflow:hidden}.race-lane{border-bottom:2px dashed var(--border);align-items:center;height:64px;display:flex;position:relative}.race-lane:last-child{border-bottom:none}.racer-vehicle{z-index:2;filter:drop-shadow(0 4px 8px #0003);width:50px;height:50px;margin-left:10px;position:absolute;top:50%;transform:translateY(-50%)}.racer-avatar{background:var(--accent);border:3px solid var(--bg-elevated);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:14px;font-weight:800;display:flex;overflow:hidden}.racer-avatar img{object-fit:cover;width:100%;height:100%}.finish-line{background:repeating-linear-gradient(45deg, var(--danger) 0, var(--danger) 12px, var(--bg-elevated) 12px, var(--bg-elevated) 24px);z-index:1;opacity:.8;border-left:3px solid var(--bg-elevated);width:24px;height:100%;position:absolute;top:0;right:16px}@keyframes finished-pulse{0%{opacity:1}to{opacity:.4}}.theme-toggle{background:var(--bg-hover);border:1px solid var(--border);cursor:pointer;width:40px;height:40px;transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.theme-toggle:hover{background:var(--bg-active);transform:scale(1.05)}@media (width<=1100px){.name-default{display:none}.name-small{display:inline}}@media (width<=900px){.sidebar{width:260px;height:100vh;position:fixed;top:0;left:0}.sidebar.closed{width:0;padding:0}.main-content{padding:16px}.main-header{flex-direction:column;align-items:flex-start;gap:8px}}@media (width<=600px){.tab{padding:8px 12px;font-size:12px}}[data-theme=light] body.time-warning,body.time-warning{--shadow-xs:none!important;--shadow-sm:none!important;--shadow-md:none!important;--shadow-lg:none!important}body.time-warning{--bg-page:#fa0!important;--bg-card:#f59e0b!important;--bg-header:#d97706!important;--bg-row-even:#ffffff1a!important;--text-primary:#fff!important;--text-secondary:#fffc!important;--text-muted:#fff9!important}[data-theme=light] body.time-warning{--bg-page:#fc0!important;--bg-card:#ffb300!important;--bg-header:#ff9800!important;--bg-row-even:#0000000d!important;--text-primary:#fff!important;--text-secondary:#ffffffe6!important;--text-muted:#ffffffb3!important;--glass-bg:#00000026!important}.countdown-time{transition:font-size .3s,color .3s}.countdown-time.warning{color:#fff!important;font-size:84px!important}body.time-warning .leaderboard-natural,body.time-danger .leaderboard-natural,body.time-finished .leaderboard-natural{--bg-header:#ffffff12!important;--bg-card:#ffffff0a!important;--bg-row-even:#ffffff08!important;--glass-bg:#1e1e22!important}[data-theme=light] body.time-warning .leaderboard-natural,[data-theme=light] body.time-danger .leaderboard-natural,[data-theme=light] body.time-finished .leaderboard-natural{--bg-header:#1f1f1f!important;--bg-card:#fff!important;--bg-row-even:#f1f3f4!important;--text-header:#fff!important;--glass-bg:#fff!important;--text-primary:#1f1f1f!important;--text-secondary:#5f6368!important;--text-muted:#9aa0a6!important}[data-theme=light] body.time-danger,body.time-danger{--shadow-xs:none!important;--shadow-sm:none!important;--shadow-md:none!important;--shadow-lg:none!important}body.time-danger{--bg-page:#ef4444!important;--bg-card:#dc2626!important;--bg-header:#b91c1c!important;--bg-row-even:#ffffff1a!important}[data-theme=light] body.time-danger{--bg-page:#ff1a1a!important;--bg-card:#ff4d4d!important;--bg-header:#f66!important;--bg-row-even:#0000000d!important;--text-primary:#fff!important;--text-secondary:#ffffffe6!important;--text-muted:#ffffffb3!important;--glass-bg:#00000026!important}.countdown-time.danger{color:#fff!important;font-size:110px!important}[data-theme=light] body.time-finished,body.time-finished{--shadow-xs:none!important;--shadow-sm:none!important;--shadow-md:none!important;--shadow-lg:none!important}body.time-finished{--bg-page:#0c4!important;--bg-card:#00b33c!important;--bg-header:#093!important;--bg-row-even:#ffffff1a!important}[data-theme=light] body.time-finished{--bg-page:#00e64d!important;--bg-card:#3f7!important;--bg-header:#6f9!important;--bg-row-even:#0000000d!important;--text-primary:#fff!important;--text-secondary:#ffffffe6!important;--text-muted:#ffffffb3!important;--glass-bg:#00000026!important}.countdown-time.finished{color:#fff!important;font-size:110px!important}.tiptap-wrapper{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);overflow:hidden}.tiptap-toolbar{border-bottom:1px solid var(--border-light);background:var(--bg-elevated);flex-wrap:wrap;align-items:center;gap:4px;padding:8px 12px;display:flex}.tiptap-toolbar button{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 10px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.3}.tiptap-toolbar button:hover{background:var(--bg-hover);color:var(--text-primary)}.tiptap-toolbar button.active{background:var(--accent-light);border-color:var(--border);color:var(--accent);box-shadow:var(--shadow-xs)}.toolbar-divider{background:var(--border);width:1px;height:20px;margin:0 6px;display:inline-block}.tiptap{min-height:340px;color:var(--text-primary);outline:none;padding:20px 24px;font-size:15px;line-height:1.7}.tiptap:focus{outline:none}.tiptap>:first-child{margin-top:0}.tiptap h1{color:var(--text-primary);margin:24px 0 8px;font-size:22px;font-weight:700;line-height:1.3}.tiptap h2{color:var(--text-primary);margin:20px 0 8px;font-size:18px;font-weight:700;line-height:1.3}.tiptap h3{color:var(--text-primary);margin:16px 0 6px;font-size:15px;font-weight:600}.tiptap p{margin:0 0 8px}.tiptap ul,.tiptap ol{margin:4px 0 12px;padding-left:22px}.tiptap li{margin-bottom:4px}.tiptap li p{margin:0}.tiptap code{background:var(--bg-hover);border:1px solid var(--border-light);border-radius:4px;padding:1px 5px;font-family:Cascadia Code,Source Code Pro,Fira Code,monospace;font-size:13px}.tiptap pre{color:#e3e3e8;border-radius:var(--radius-sm);background:#1e1e22;margin:8px 0;padding:14px 16px;font-family:Cascadia Code,Source Code Pro,Fira Code,monospace;font-size:13px;line-height:1.5;overflow-x:auto}.tiptap pre code{color:inherit;font-size:inherit;background:0 0;border:none;padding:0}.tiptap hr{border:none;border-top:1px solid var(--border);margin:20px 0}.tiptap blockquote{border-left:3px solid var(--accent);color:var(--text-secondary);margin:8px 0;padding-left:14px}.tiptap strong{font-weight:600}.tiptap p.is-editor-empty:first-child:before{content:"Tulis catatan di sini...";color:var(--text-muted);float:left;pointer-events:none;height:0}
