*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--text-primary);background-color:var(--bg-canvas)}a{color:var(--accent-fg);text-decoration:none}a:hover{text-decoration:underline}button,input{font-family:inherit}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer;opacity:.6}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.experimental-badge{display:inline-flex;align-items:center;padding:2px 8px;margin-left:8px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:#ffb43226;color:#f0a020;border:1px solid rgba(255,180,50,.4);border-radius:4px;vertical-align:middle}@media(prefers-color-scheme:dark){.experimental-badge{background:#ffb4321f;color:#ffb830;border-color:#ffb4324d}}.login-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--bg-canvas);padding:var(--spacing-xl);gap:var(--spacing-xl)}.login-branding{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-md)}.logo-icon{width:64px;height:64px;color:var(--accent-fg);opacity:.9;animation:float 3s ease-in-out infinite}.logo-icon svg{width:100%;height:100%}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.login-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0;letter-spacing:-.02em}.login-tagline{font-size:var(--font-size-base);color:var(--text-secondary);margin:0;max-width:280px;line-height:1.5}.login-card{width:100%;max-width:340px;background-color:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-large)}.card-title{font-size:var(--font-size-large);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-lg) 0;text-align:center}.login-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-label{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-primary)}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-inset);border:1px solid var(--border-default);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box}.form-input::placeholder{color:var(--text-placeholder)}.form-input:focus{border-color:var(--accent-fg);box-shadow:0 0 0 3px var(--accent-muted)}.form-input:disabled{opacity:.6;cursor:not-allowed}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input{padding-right:calc(var(--spacing-md) + 32px);color:var(--text-primary);-webkit-text-fill-color:var(--text-primary)}.password-input::placeholder{color:var(--text-placeholder);-webkit-text-fill-color:var(--text-placeholder)}.password-input.masked{-webkit-text-security:disc;text-security:disc}.password-toggle{position:absolute;right:var(--spacing-sm);display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.password-toggle:hover:not(:disabled){color:var(--text-primary);background-color:var(--bg-subtle)}.password-toggle:disabled{opacity:.6;cursor:not-allowed}.password-toggle svg{width:18px;height:18px}.submit-button{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:#fff;background-color:var(--accent-emphasis);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast);margin-top:var(--spacing-sm)}.submit-button:hover:not(:disabled){background-color:var(--accent-emphasis-hover);transform:translateY(-1px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.error-message{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-small);color:var(--danger-fg);background-color:var(--danger-muted);border:1px solid var(--danger-emphasis);border-radius:var(--radius-md);text-align:center}.google-signin-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:10px 16px;border:1px solid var(--border-default);border-radius:var(--border-radius);background:var(--bg-default);color:var(--text-default);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:background-color .15s,box-shadow .15s}.google-signin-button:hover:not(:disabled){background:var(--bg-subtle);box-shadow:0 1px 3px #0000001a}.google-signin-button:disabled{opacity:.6;cursor:not-allowed}.google-icon{width:20px;height:20px;flex-shrink:0}.login-divider{display:flex;align-items:center;gap:var(--spacing-md);margin:var(--spacing-lg) 0;color:var(--text-muted);font-size:var(--font-size-small)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border-default)}.login-footer{font-size:var(--font-size-small);color:var(--text-muted);margin:0;font-style:italic}.profile-page{min-height:100vh;background-color:var(--bg-canvas)}.profile-topnav{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--bg-surface);border-bottom:1px solid var(--border-default);z-index:100}.profile-topnav h1{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.topnav-brand{font-size:var(--font-size-small);font-weight:600;color:var(--accent-fg);display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-secondary)}.topnav-titles{display:flex;flex-direction:column}.topnav-page-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.2}.topnav-actions{display:flex;gap:var(--spacing-sm)}.profile-layout{display:flex;padding-top:70px;min-height:100vh}.profile-sidebar{position:fixed;top:70px;left:0;width:320px;height:calc(100vh - 70px);padding:var(--spacing-lg);overflow-y:auto;border-right:1px solid var(--border-default);background-color:var(--bg-canvas)}.profile-card{background-color:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--spacing-xl);text-align:center}.profile-avatar{width:80px;height:80px;border-radius:50%;background:#4285f4;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-md);font-size:2rem;color:#fff;font-weight:var(--font-weight-bold);text-transform:uppercase}.profile-username{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.profile-title{font-size:var(--font-size-small);color:var(--text-secondary);margin:0 0 var(--spacing-lg) 0}.profile-stats{display:flex;justify-content:center;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-md);background:var(--bg-inset);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--accent-fg)}.stat-label{font-size:var(--font-size-small);color:var(--text-muted)}.stat-divider{width:1px;height:32px;background-color:var(--border-default)}.profile-tagline{font-size:var(--font-size-large);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-lg) 0;line-height:1.4;background:linear-gradient(90deg,#4285f4,#34a853);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.profile-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.profile-action-btn{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none}.profile-action-btn.full-width{width:100%}.profile-action-btn.primary{background:#4285f4;color:#fff}.profile-action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4285f466}.profile-action-btn.secondary{background:transparent;border:1px solid var(--border-default);color:var(--text-primary)}.profile-action-btn.secondary:hover{background:var(--bg-inset);border-color:var(--text-secondary)}.profile-content{flex:1;margin-left:320px;padding:var(--spacing-xl);min-height:calc(100vh - 52px)}.credentials-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-default)}.credentials-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.credentials-count{font-size:var(--font-size-small);color:var(--text-secondary)}.credential-card{background-color:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);display:flex;gap:var(--spacing-md);transition:all var(--transition-normal);transition:border-color var(--transition-fast)}.credential-card:hover{border-color:var(--accent-fg);transform:translate(4px);box-shadow:-4px 0 0 var(--accent-fg)}.credential-icon{width:48px;height:48px;min-width:48px;background:#34a853;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.credential-content{flex:1;min-width:0}.credential-title{font-size:var(--font-size-large);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.credential-issuer{font-size:var(--font-size-base);color:var(--text-secondary);margin:0 0 var(--spacing-xs) 0}.credential-summary{font-size:var(--font-size-small);color:var(--text-muted);margin:0 0 var(--spacing-sm) 0;font-style:italic;line-height:1.5}.credential-highlight-section{margin:var(--spacing-sm) 0}.credential-highlight-label{display:inline-block;font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--accent-fg);margin-bottom:var(--spacing-xs)}.credential-highlight{font-size:var(--font-size-small);color:var(--text-secondary);margin:0;line-height:1.6;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-inset);border-radius:var(--radius-md);border-left:3px solid var(--accent-fg);max-height:100px;overflow-y:auto}.credential-meta{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;margin-bottom:var(--spacing-sm)}.credential-date{font-size:var(--font-size-small);color:var(--text-muted)}.credential-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:2px 8px;background-color:var(--success-muted, rgba(56, 161, 105, .2));color:var(--success-fg);border-radius:var(--radius-sm);font-size:var(--font-size-small);font-weight:var(--font-weight-medium)}.credential-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-wrap:wrap}.credential-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:1px solid var(--accent-fg);color:var(--accent-fg);border-radius:var(--radius-sm);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);text-decoration:none!important;cursor:pointer;transition:all var(--transition-fast)}.credential-link:hover{background:var(--accent-fg);color:var(--bg-canvas);text-decoration:none!important}.empty-state{text-align:center;padding:var(--spacing-2xl);background-color:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.empty-state-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.empty-state-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.empty-state-message{font-size:var(--font-size-base);color:var(--text-secondary);margin:0}.loading-container,.error-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--bg-canvas);padding:var(--spacing-lg)}.loading-spinner-large{width:48px;height:48px;border:3px solid var(--border-default);border-top-color:var(--accent-fg);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}.loading-text{font-size:var(--font-size-large);color:var(--text-secondary)}.error-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.error-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.error-message{font-size:var(--font-size-base);color:var(--text-secondary);margin:0 0 var(--spacing-lg) 0}.retry-btn{padding:var(--spacing-sm) var(--spacing-xl);background:var(--accent-fg);color:var(--bg-canvas);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4285f466}.not-found-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--bg-canvas);padding:var(--spacing-lg);text-align:center}.not-found-code{font-size:6rem;font-weight:var(--font-weight-bold);color:var(--accent-fg);margin:0;line-height:1}.not-found-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:var(--spacing-md) 0 var(--spacing-sm)}.not-found-message{font-size:var(--font-size-base);color:var(--text-secondary);margin:0 0 var(--spacing-xl)}.home-link{padding:var(--spacing-sm) var(--spacing-xl);background:var(--accent-fg);color:var(--bg-canvas);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-decoration:none;transition:all var(--transition-fast)}.home-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4285f466}.tutorial-submission{height:100vh;background-color:var(--bg-canvas);color:var(--text-primary);display:flex;flex-direction:column;overflow:hidden}.tutorial-submission *::-webkit-scrollbar{width:10px;height:10px}.tutorial-submission *::-webkit-scrollbar-track{background:#0000004d;border-radius:5px}.tutorial-submission *::-webkit-scrollbar-thumb{background:#fff3;border-radius:5px;border:2px solid transparent;background-clip:padding-box}.tutorial-submission *::-webkit-scrollbar-thumb:hover{background:#ffffff4d;background-clip:padding-box}.tutorial-submission *{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) rgba(0,0,0,.3)}.submission-header{display:flex;align-items:center;gap:2rem;padding:1rem 2rem;background-color:var(--bg-surface);border-bottom:1px solid var(--border-default);flex-shrink:0;z-index:10}.submission-header h1{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.submission-header-titles{display:flex;flex-direction:column}.submission-brand{font-size:.875rem;color:var(--text-secondary);display:flex;align-items:center}.back-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#e0e0e0;padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.875rem}.back-button:hover{background:#ffffff26;border-color:#ffffff4d}.header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;margin-left:auto}.user-context-label{font-size:.75rem;color:var(--text-secondary);font-weight:500}.submission-main{flex:1;overflow:hidden;padding:1rem 1.5rem;width:100%;box-sizing:border-box}.session-viewer.two-column-layout{display:grid;grid-template-columns:300px 1fr;gap:1rem;height:100%}.session-sidebar{background:#ffffff0d;border-radius:12px;padding:1.5rem;overflow-y:auto;height:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:1.5rem}.sidebar-selector{padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.campaign-selector{background:transparent;padding:0;border-radius:0}.campaign-selector h2{font-size:1rem;margin-bottom:1rem;color:#ccc;text-transform:uppercase;letter-spacing:.05em}.selector-row{display:flex;flex-direction:column;gap:1rem}.selector-group{width:100%}.selector-group label{font-size:.8rem;color:var(--text-secondary, #8b949e);margin-bottom:.35rem;display:block;font-weight:500}.selector-group select{width:100%;padding:.6rem 2rem .6rem .75rem;font-size:.9rem;background:var(--bg-surface, #161b22);border:1px solid var(--border-color, #30363d);border-radius:6px;color:var(--text-primary, #e6edf3);cursor:pointer;transition:border-color .2s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b949e' d='M6 8.5L1 3.5h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.selector-group select:hover{border-color:var(--text-secondary, #8b949e)}.selector-group select:focus{border-color:var(--accent-color, #58a6ff);outline:none;box-shadow:0 0 0 2px #58a6ff33}.selector-group select option{background:var(--bg-surface, #161b22);color:var(--text-primary, #e6edf3);padding:.5rem}.session-info{padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.session-info h2{font-size:1.25rem;margin-bottom:.5rem;color:#fff;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.session-info .codelab-url{display:inline-flex;align-items:center;gap:.5rem;color:#4285f4;text-decoration:none;font-size:.875rem;margin:.5rem 0;padding:.5rem .75rem;background:#4285f41a;border-radius:6px;width:fit-content}.session-info .codelab-url:hover{background:#4285f433}.session-info .campaign-season{color:#888;font-size:.875rem;margin-top:.5rem}.session-info .status-badge.verified{display:inline-block;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.verified-notice{margin-top:1rem;padding:1rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px}.verified-message{margin:.5rem 0 0;color:#fffc;font-size:.85rem;line-height:1.4}.progress-section{padding:1rem;background:#0003;border-radius:8px}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.875rem;color:#ccc}.progress-bar{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#4285f4,#34a853);border-radius:4px;transition:width .3s ease}.sidebar-pagination{background:var(--bg-surface, #161b22);border:1px solid var(--border-color, #30363d);border-radius:10px;padding:.75rem 1rem;text-align:center}.pagination-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary, #8b949e);margin-bottom:.6rem;font-weight:500}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:.75rem}.pagination-btn{background:#ffffff14;border:1px solid var(--border-color, #30363d);color:var(--text-primary, #e6edf3);width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:1.1rem;font-weight:700;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000004d}.pagination-btn:hover:not(:disabled){background:var(--accent-color, #58a6ff);border-color:var(--accent-color, #58a6ff);color:#fff}.pagination-btn:disabled{opacity:.25;cursor:not-allowed}.page-info{font-size:.8rem;color:var(--text-primary, #e6edf3);min-width:5rem;text-align:center;font-weight:500;font-variant-numeric:tabular-nums}.steps-section-wrapper{display:flex;gap:1.5rem;height:100%;overflow:hidden}.steps-section{flex:1;min-width:0;padding-right:.5rem;overflow-y:auto;height:100%}.ai-validation-sticky{width:280px;flex-shrink:0;position:sticky;top:0;align-self:flex-start;max-height:100%}.ai-validation-sticky .auto-validation-info{margin-top:0}.steps-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.steps-list{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:2rem}.step-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:1.5rem;transition:all .2s ease}.step-card:hover{border-color:#4285f44d;transform:translateY(-2px);box-shadow:0 4px 20px #0003}.step-card{position:relative}.success-toast{position:fixed;top:100px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;padding:.75rem 1.5rem;border-radius:25px;font-size:1rem;font-weight:600;box-shadow:0 4px 20px #22c55e80;z-index:1000;animation:toastSlideIn .3s ease-out}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.step-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.step-number{background:#4285f4;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600;line-height:1;height:auto;box-sizing:border-box}.evidence-badge{position:absolute;top:1rem;right:1rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;padding:.35rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;line-height:1}.step-content{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.expected-result{background:#0000004d;border-radius:8px;padding:1rem}.expected-result h4{margin:0 0 .5rem;font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.expected-result p{margin:0;color:#e0e0e0;font-size:.95rem;line-height:1.5}.example-image{background:#0000004d;border-radius:8px;padding:1rem}.example-image h4{margin:0 0 .75rem;font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.example-image img{display:block;margin:0 auto;max-width:100%;max-height:280px;object-fit:contain;border-radius:4px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.example-image img:hover{transform:scale(1.02);box-shadow:0 4px 20px #4285f44d}.no-image-example{color:#666;font-style:italic;padding:2rem;display:block}.upload-section{display:flex;flex-direction:column;gap:.75rem}.upload-button{background:#4285f4;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:fit-content}.upload-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #4285f466}.upload-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.evidence-preview{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px;padding:.75rem;display:flex;align-items:center;gap:1rem;max-height:120px;overflow:hidden}.evidence-preview img{max-width:150px;max-height:100px;object-fit:contain;border-radius:4px;cursor:pointer;transition:transform .2s ease}.evidence-preview img:hover{transform:scale(1.05)}.evidence-preview span{color:#22c55e;font-size:.875rem}.upload-error{color:#ef4444;font-size:.875rem;padding:.5rem;background:#ef44441a;border-radius:6px}.finalize-section{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.finalize-button{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #22c55e4d}.finalize-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #22c55e66}.finalize-button:disabled{background:#ffffff1a;color:#fff6;cursor:not-allowed;box-shadow:none;border:1px dashed rgba(255,255,255,.2)}.finalize-hint{margin:.75rem 0 0;color:#ffffff80;font-size:.85rem;text-align:center;line-height:1.4}.success-modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.success-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(34,197,94,.3);border-radius:16px;padding:2.5rem;max-width:450px;text-align:center;box-shadow:0 20px 60px #00000080,0 0 40px #22c55e33;animation:zoomIn .3s ease}.success-icon{font-size:4rem;margin-bottom:1rem;animation:bounce 1s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.success-modal h2{margin:0 0 1rem;font-size:1.75rem;background:linear-gradient(135deg,#22c55e,#16a34a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.success-message{margin:0 0 1.5rem;color:#e0e0e0;font-size:1rem;line-height:1.5}.redirect-notice{margin:0 0 1.5rem;color:#888;font-size:.9rem}.redirect-notice strong{color:#22c55e;font-size:1.25rem}.stay-button{padding:.75rem 1.5rem;background:transparent;color:#ffffffb3;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.stay-button:hover{background:#ffffff1a;color:#fff;border-color:#fff6}.empty-selection-hint{text-align:center;color:#666;margin-top:2rem;font-style:italic}.empty-session-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:#666}.placeholder-content{text-align:center;max-width:400px;padding:2rem;border:2px dashed rgba(255,255,255,.1);border-radius:12px}.step-card.step-verified{border-color:#22c55e66;background:#22c55e0d}.evidence-badge.verified{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 2px 8px #22c55e4d}.upload-button.approved{background:linear-gradient(135deg,#22c55e,#16a34a);cursor:default;box-shadow:0 4px 12px #22c55e4d}.upload-button.approved:disabled{opacity:1;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.upload-button.validating{background:linear-gradient(135deg,#f59e0b,#d97706);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.validation-warning{background:#f59e0b26;border:1px solid rgba(245,158,11,.3);border-radius:8px;padding:.75rem 1rem;font-size:.85rem;color:#fbbf24;line-height:1.4}.validation-feedback{margin-top:.5rem;padding:1rem;border-radius:8px;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.validation-feedback.pass{background:#22c55e26;border:1px solid rgba(34,197,94,.4)}.validation-feedback.pass strong{color:#22c55e;font-size:.9rem}.validation-feedback.fail{background:#ef444426;border:1px solid rgba(239,68,68,.4)}.validation-feedback.fail strong{color:#ef4444;font-size:.9rem}.validation-feedback p{margin:.5rem 0 0;color:#fffc;font-size:.875rem;line-height:1.5}.progress-hint{margin-top:.5rem;font-size:.75rem;color:#f59e0b;font-style:italic}.auto-validation-info{display:flex;gap:.75rem;padding:1rem;background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:8px}.auto-validation-info .info-icon{font-size:1.25rem;flex-shrink:0}.auto-validation-info .info-content strong{color:#a5b4fc;font-size:.85rem;display:block;margin-bottom:.25rem}.auto-validation-info .info-content p{margin:0;color:#ffffffb3;font-size:.8rem;line-height:1.4}.steps-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.sorting-hint{font-size:.75rem;color:#888;font-style:italic}.upload-button-row{display:flex;align-items:center;gap:.75rem}.ai-tooltip-wrapper{position:relative;display:flex;align-items:center}.ai-tooltip-icon{font-size:1.25rem;cursor:help;animation:sparkle 1.5s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.ai-tooltip-content{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:.5rem;background:#1a1a2efa;border:1px solid rgba(66,133,244,.4);border-radius:8px;padding:.75rem 1rem;width:220px;opacity:0;visibility:hidden;transition:all .2s ease;z-index:100;box-shadow:0 4px 12px #0000004d}.ai-tooltip-wrapper:hover .ai-tooltip-content{opacity:1;visibility:visible}.ai-tooltip-content strong{color:#4285f4;font-size:.85rem;display:block;margin-bottom:.25rem}.ai-tooltip-content p{margin:0;color:#ffffffb3;font-size:.8rem;line-height:1.4}@media(max-width:900px){.submission-main{padding:1rem;overflow-y:auto}.session-viewer.two-column-layout{display:flex;flex-direction:column;height:auto;gap:1.5rem}.session-sidebar{height:auto;overflow:visible;position:static}.steps-section-wrapper{flex-direction:column;height:auto;overflow:visible}.steps-section{overflow:visible;height:auto}.ai-validation-sticky{width:100%;position:static;order:-1;margin-bottom:1rem}}.workspace-tabs{display:flex;gap:0;padding:0 2rem;background:var(--bg-surface, #161b22);border-bottom:1px solid var(--border-default, #30363d);flex-shrink:0}.workspace-tab{background:none;border:none;padding:.6rem 1.25rem;font-size:.9rem;cursor:pointer;color:var(--text-secondary, #8b949e);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s;font-weight:500}.workspace-tab.active{color:var(--text-primary, #e6edf3);border-bottom-color:var(--accent-color, #58a6ff)}.workspace-tab:hover{color:var(--text-primary, #e6edf3)}:root{--cert-width: 297mm}.certificate-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--bg-canvas);padding:24px}.cert-print-actions{display:flex;gap:12px;margin-bottom:24px}.cert-print-btn{display:flex;align-items:center;gap:8px;padding:.5rem 1rem;background:#ffffff1a;color:#e0e0e0;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cert-print-btn:hover{background:#ffffff26;border-color:#ffffff4d}.cert-edit-btn{display:flex;align-items:center;gap:8px;padding:.5rem 1rem;background:#ffffff1a;color:#e0e0e0;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cert-edit-btn:hover{background:#ffffff26;border-color:#ffffff4d}.cert-edit-btn:active{transform:translateY(0)}.cert-edit-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.cert-edit-modal{background:var(--bg-surface);padding:2rem;border-radius:16px;width:90%;max-width:500px;box-shadow:0 20px 40px #0006;text-align:center;animation:slideUp .3s cubic-bezier(.16,1,.3,1);border:1px solid var(--border-default)}.cert-edit-modal h3{margin-top:0;margin-bottom:.5rem;color:var(--text-primary);font-size:1.5rem}.cert-edit-info{color:var(--text-secondary);margin-bottom:1.5rem}.cert-edit-input-group{margin-bottom:1.5rem}.cert-edit-input{width:100%;padding:12px;font-size:1.2rem;text-align:center;background:var(--bg-canvas);color:var(--text-primary);border:1px solid var(--border-default);border-radius:8px;transition:border-color .2s;font-family:inherit}.cert-edit-input:focus{border-color:var(--accent-fg);outline:none}.cert-edit-input::placeholder{color:var(--text-muted)}.cert-edit-disclaimer{background:#ffb4321a;color:#ffb830;padding:12px;border-radius:8px;font-size:.9rem;line-height:1.4;margin-bottom:1rem;border:1px solid rgba(255,180,50,.3);text-align:left}.cert-edit-integrity{background:#38a1691a;color:#68d391;padding:12px;border-radius:8px;font-size:.9rem;line-height:1.4;margin-bottom:2rem;border:1px solid rgba(56,161,105,.3);text-align:left}.cert-edit-actions{display:flex;gap:12px;justify-content:flex-end}.cert-btn-primary,.cert-btn-secondary{padding:10px 20px;border-radius:6px;font-weight:500;cursor:pointer;font-size:1rem;border:none;transition:all .2s}.cert-btn-primary{background:var(--success-fg);color:var(--bg-canvas)}.cert-btn-primary:hover{background:#2ea043}.cert-btn-secondary{background:#ffffff1a;color:var(--text-primary);border:1px solid var(--border-default)}.cert-btn-secondary:hover{background:#ffffff26;border-color:#ffffff4d}.cert-back-btn{display:flex;align-items:center;gap:8px;padding:.5rem 1rem;background:#ffffff1a;color:#e0e0e0;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none;transition:all .2s ease}.cert-back-btn:hover{background:#ffffff26;border-color:#ffffff4d;text-decoration:none}.cert-builder-render{width:var(--cert-width);box-shadow:0 8px 32px #00000026;border-radius:4px}.cert-error-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#f8f9fa;padding:24px;text-align:center}.cert-error-icon{font-size:64px;margin-bottom:24px}.cert-error-title{font-family:var(--cert-font-display);font-size:24px;font-weight:600;color:var(--cert-text-primary);margin:0 0 8px}.cert-error-message{font-family:var(--cert-font-body);font-size:16px;color:var(--cert-text-secondary);margin:0 0 24px;max-width:400px}.cert-loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#f8f9fa}.cert-loading-spinner{width:48px;height:48px;border:3px solid #dadce0;border-top-color:var(--cert-accent);border-radius:50%;animation:cert-spin 1s linear infinite;margin-bottom:16px}@keyframes cert-spin{to{transform:rotate(360deg)}}.cert-loading-text{font-family:var(--cert-font-body);font-size:16px;color:var(--cert-text-secondary)}@media print{.cert-print-actions{display:none!important}.certificate-page{position:fixed;top:0;left:0;width:100vw;height:100vh;padding:0;background:none;display:flex;align-items:center;justify-content:center;z-index:9999;visibility:visible}.cert-builder-render{width:297mm;box-shadow:none;border-radius:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;margin:0;break-after:always}@page{size:A4 landscape;margin:0}body{visibility:hidden;background:none}.certificate-page *{visibility:visible}}@media screen and (max-width:1200px){.cert-builder-render{width:100%;max-width:100vw}}.admin-badge{display:inline-flex;align-items:center;gap:.35em;padding:.25em .65em;border-radius:9999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;line-height:1;vertical-align:middle;transition:transform .15s ease,box-shadow .15s ease}.admin-badge--super-admin{background:linear-gradient(135deg,#fbbf24,#f59e0b,#d97706);color:#451a03;box-shadow:0 1px 3px #d977064d,inset 0 1px #fff3}.admin-badge--organizer{background:linear-gradient(135deg,#60a5fa,#3b82f6,#2563eb);color:#fff;box-shadow:0 1px 3px #2563eb4d,inset 0 1px #ffffff26}.admin-badge--session-owner{background:linear-gradient(135deg,#a78bfa,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 1px 3px #7c3aed4d,inset 0 1px #ffffff26}.admin-badge--unknown{background:var(--color-gray-100, #30363d);color:var(--color-gray-600, #8b949e)}.admin-badge--sm{padding:.2em .55em;font-size:.6rem}.admin-badge--lg{padding:.35em .8em;font-size:.8rem}.admin-dashboard{display:flex;flex-direction:column;height:100vh;background:var(--bg-primary, #0d1117);color:var(--text-primary, #e6edf3)}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background:var(--bg-secondary, #161b22);border-bottom:1px solid var(--border-color, #30363d);flex-shrink:0}.admin-header-left{display:flex;align-items:baseline;gap:1rem}.admin-header-left h1{margin:0;font-size:1.25rem;font-weight:600}.admin-subtitle{font-size:.85rem;color:var(--text-secondary, #8b949e)}.admin-header-right{display:flex;align-items:center;gap:1rem}.admin-user{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary, #8b949e)}.admin-user strong{color:var(--text-primary, #e6edf3)}.logout-button{padding:.4rem .8rem;background:transparent;color:var(--text-secondary, #8b949e);border:1px solid var(--border-color, #30363d);border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.logout-button:hover{background:var(--bg-tertiary, #21262d);color:var(--text-primary, #e6edf3);border-color:var(--text-secondary, #8b949e)}.admin-main{display:flex;flex:1;overflow:hidden}.admin-sidebar{width:320px;flex-shrink:0;overflow:hidden}.admin-content{flex:1;overflow:hidden;background:var(--bg-primary, #0d1117)}@media(max-width:768px){.admin-main{flex-direction:column}.admin-sidebar{width:100%;max-height:40vh;border-right:none;border-bottom:1px solid var(--border-color, #30363d)}.admin-header{flex-direction:column;gap:.5rem;padding:1rem}.admin-header-left{flex-direction:column;align-items:flex-start;gap:.25rem}}.admin-hub-main{display:flex;justify-content:center;align-items:flex-start;padding:3rem 2rem;flex:1}.admin-hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;max-width:900px;width:100%}.admin-nav-card{display:flex;flex-direction:column;align-items:center;padding:2rem;background:var(--bg-secondary, #161b22);border:1px solid var(--border-color, #30363d);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:center}.admin-nav-card:hover{background:var(--bg-tertiary, #21262d);border-color:var(--accent-color, #58a6ff);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.admin-nav-card-icon{font-size:3rem;margin-bottom:1rem}.admin-nav-card-title{margin:0 0 .5rem;font-size:1.2rem;font-weight:600;color:var(--text-primary, #e6edf3)}.admin-nav-card-description{margin:0;font-size:.9rem;color:var(--text-secondary, #8b949e);line-height:1.4}.back-button{padding:.4rem .8rem;margin-right:1rem;background:transparent;color:var(--accent-color, #58a6ff);border:1px solid var(--border-color, #30363d);border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.back-button:hover{background:var(--bg-tertiary, #21262d);border-color:var(--accent-color, #58a6ff)}.credentials-main{display:flex;justify-content:center;padding:2rem}.credentials-form-container{max-width:500px;width:100%}.credentials-warning{padding:1rem;margin-bottom:1.5rem;background:#ffa6001a;border:1px solid rgba(255,166,0,.3);border-radius:8px;color:#f0a000;font-size:.9rem;line-height:1.5}.credentials-form{background:var(--bg-secondary, #161b22);border:1px solid var(--border-color, #30363d);border-radius:12px;padding:1.5rem}.credentials-form .form-group input{width:100%;padding:.75rem;background-color:#0d1117!important;border:1px solid #7d8590!important;border-radius:6px;color:var(--text-primary, #e6edf3);font-size:1rem;box-sizing:border-box;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.credentials-form .form-group input:hover{border-color:#8b949e!important}.credentials-form .form-group input:focus{outline:none;border-color:var(--accent-color, #58a6ff)!important;box-shadow:0 0 0 3px #58a6ff33;background-color:#0d1117!important}.credentials-form .form-group input:disabled{opacity:.6;cursor:not-allowed;background-color:var(--bg-secondary, #161b22)!important;border-color:var(--border-color, #30363d)!important}.form-hint{display:block;margin-top:.5rem;font-size:.8rem;color:var(--text-secondary, #8b949e)}.form-error{padding:.75rem;margin-bottom:1rem;background:#f851491a;border:1px solid rgba(248,81,73,.4);border-radius:6px;color:#f85149;font-size:.9rem}.form-info{padding:.75rem;margin-bottom:1.5rem;background:#388bfd1a;border:1px solid rgba(56,139,253,.3);border-radius:6px;color:var(--text-secondary, #8b949e);font-size:.9rem;line-height:1.5}.generate-button{width:100%;padding:.85rem;background:var(--accent-color, #238636);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.generate-button:hover:not(:disabled){background:#2ea043}.generate-button:disabled{opacity:.6;cursor:not-allowed}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;background:var(--bg-secondary, #161b22);border:1px dashed var(--border-color, #30363d);border-radius:8px;margin:1rem}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.8}.empty-state-title{font-size:1.25rem;font-weight:600;color:var(--text-primary, #e6edf3);margin:0 0 .5rem}.empty-state-description{font-size:.9rem;color:var(--text-secondary, #8b949e);margin:0 0 1.5rem;max-width:280px}.empty-state-button{background:var(--accent-color, #238636);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.empty-state-button:hover{background:var(--accent-hover, #2ea043)}.empty-state-button:focus{outline:2px solid var(--accent-color, #238636);outline-offset:2px}.edit-campaign-modal-overlay{position:fixed;inset:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.edit-campaign-modal{background:var(--bg-card);border-radius:12px;width:100%;max-width:500px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:90vh;border:1px solid var(--border-color);animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.edit-campaign-modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary);border-radius:12px 12px 0 0}.edit-campaign-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.modal-close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;line-height:1;padding:.25rem;border-radius:4px;transition:all .2s}.modal-close-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.edit-campaign-modal-body{padding:1.5rem;overflow-y:auto}.modal-error{background-color:#dc26261a;border:1px solid rgba(220,38,38,.2);color:#ef4444;padding:.75rem;border-radius:6px;margin-bottom:1.5rem;font-size:.875rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group input{width:100%;padding:.75rem;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:.95rem;transition:all .2s}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.edit-campaign-modal-footer{padding:1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:1rem;background:var(--bg-secondary);border-radius:0 0 12px 12px}.btn-secondary,.btn-primary{padding:.625rem 1.25rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;font-size:.9rem}.btn-secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--text-secondary)}.btn-primary{background:var(--primary-color);border:1px solid var(--primary-color);color:#fff}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;filter:grayscale(.5)}.campaign-owner-section{border-top:1px solid var(--border-color);padding-top:1.5rem}.campaign-owner-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.campaign-owner-name{font-weight:500;color:var(--text-primary);font-size:.9rem}.owner-unknown,.owner-unassigned{color:var(--text-secondary);font-style:italic}.btn-transfer-owner{font-size:.75rem;padding:.3rem .65rem;border-radius:6px;cursor:pointer;transition:all .2s;background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.3);font-weight:500}.btn-transfer-owner:hover{background:#fbbf2440;border-color:#fbbf24}.btn-transfer-owner:disabled{opacity:.5;cursor:not-allowed}.owner-search-dropdown{position:absolute;top:100%;right:0;margin-top:4px;width:260px;background:var(--bg-card, #21262d);border:1px solid var(--border-color, #30363d);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:1100;padding:.5rem}.owner-search-input{width:100%;padding:.5rem;border:1px solid var(--border-color, #30363d);border-radius:4px;background:var(--bg-input, #0d1117);color:var(--text-primary, #e6edf3);font-size:.85rem;margin-bottom:.5rem;box-sizing:border-box}.owner-search-results{list-style:none;margin:0 0 .25rem;padding:0;max-height:160px;overflow-y:auto;border:1px solid var(--border-color, #30363d);border-radius:4px}.owner-result-item:hover{background:var(--bg-hover, #30363d)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.season-team-modal{background:var(--surface-color, #161b22);border-radius:16px;width:480px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;border:1px solid var(--border-color, #30363d);animation:slideUp .2s ease-out}.season-team-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.season-team-modal .modal-header h2{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.season-team-modal .btn-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.season-team-modal .btn-close:hover{color:var(--text-primary)}.modal-loading{padding:2rem;text-align:center;color:var(--text-secondary)}.modal-content{flex:1;overflow-y:auto;padding:1rem 1.5rem}.error-message{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;margin:.5rem 1rem;background:#ef44441a;border:1px solid var(--error-color);border-radius:8px;color:var(--error-color);font-size:.875rem}.error-message button{background:none;border:none;font-size:1.25rem;cursor:pointer;color:inherit}.team-section{margin-bottom:1.5rem}.team-section h3{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.owner-assign-container{position:relative}.btn-assign-owner{font-size:.7rem;padding:.25rem .5rem;border-radius:4px;cursor:pointer;transition:all .2s;background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.btn-assign-owner:hover{background:#fbbf2440;border-color:#fbbf24}.btn-assign-owner:disabled{opacity:.5;cursor:not-allowed}.owner-search-dropdown{position:absolute;top:100%;right:0;margin-top:4px;width:240px;background:var(--surface-color, #21262d);border:1px solid var(--border-color, #30363d);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:1000;padding:.5rem}.owner-search-input{width:100%;padding:.5rem;border:1px solid var(--border-color, #30363d);border-radius:4px;background:var(--bg-primary, #0d1117);color:var(--text-primary, #e6edf3);font-size:.85rem;margin-bottom:.5rem}.owner-search-input:focus{outline:none;border-color:#fbbf24}.owner-search-loading,.owner-no-results{padding:.5rem;text-align:center;color:var(--text-secondary, #8b949e);font-size:.8rem}.owner-search-results{list-style:none;margin:0 0 .5rem;padding:0;max-height:150px;overflow-y:auto;border:1px solid var(--border-color, #30363d);border-radius:4px}.owner-result-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem;cursor:pointer;transition:background .15s}.owner-result-item:hover{background:var(--bg-tertiary, #30363d)}.owner-result-item:not(:last-child){border-bottom:1px solid var(--border-color, #30363d)}.owner-result-item .result-username{font-size:.85rem;font-weight:500;color:var(--text-primary, #e6edf3)}.owner-result-item .result-type{font-size:.7rem;color:var(--text-secondary, #8b949e);background:var(--bg-secondary, #161b22);padding:.15rem .4rem;border-radius:4px}.team-member{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--surface-hover);border-radius:8px;margin-bottom:.5rem}.team-member.owner{background:linear-gradient(135deg,#fbbf241a,#f59e0b1a);border:1px solid rgba(251,191,36,.3)}.member-icon{font-size:1.25rem}.member-name{flex:1;font-weight:500;color:var(--text-primary)}.member-type{font-size:.75rem;padding:.25rem .5rem;background:var(--surface-color);border-radius:4px;color:var(--text-secondary)}.btn-remove{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;font-size:1rem;opacity:.6;transition:all .15s}.btn-remove:hover{opacity:1;color:var(--error-color)}.no-owner,.no-coorganizers{padding:.75rem 1rem;background:var(--surface-hover);border-radius:8px;color:var(--text-secondary);font-style:italic}.coorganizer-list{list-style:none;margin:0;padding:0}.add-coorg-container{position:relative}.btn-add-coorg{font-size:.7rem;padding:.25rem .5rem;border-radius:4px;cursor:pointer;transition:all .2s;background:#58a6ff26;color:#58a6ff;border:1px solid rgba(88,166,255,.3)}.btn-add-coorg:hover{background:#58a6ff40;border-color:#58a6ff}.btn-add-coorg:disabled{opacity:.5;cursor:not-allowed}.coorg-search-dropdown{position:absolute;top:100%;right:0;margin-top:4px;width:240px;background:var(--surface-color, #21262d);border:1px solid var(--border-color, #30363d);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:1000;padding:.5rem}.coorg-search-input{width:100%;padding:.5rem;border:1px solid var(--border-color, #30363d);border-radius:4px;background:var(--bg-primary, #0d1117);color:var(--text-primary, #e6edf3);font-size:.85rem;margin-bottom:.5rem}.coorg-search-input:focus{outline:none;border-color:var(--accent-color, #58a6ff)}.coorg-search-loading,.coorg-no-results{padding:.5rem;text-align:center;color:var(--text-secondary, #8b949e);font-size:.8rem}.coorg-search-results{list-style:none;margin:0 0 .5rem;padding:0;max-height:150px;overflow-y:auto;border:1px solid var(--border-color, #30363d);border-radius:4px}.coorg-result-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem;cursor:pointer;transition:background .15s}.coorg-result-item:hover{background:var(--bg-tertiary, #30363d)}.coorg-result-item:not(:last-child){border-bottom:1px solid var(--border-color, #30363d)}.coorg-result-item .result-username{font-size:.85rem;font-weight:500;color:var(--text-primary, #e6edf3)}.coorg-result-item .result-type{font-size:.7rem;color:var(--text-secondary, #8b949e);background:var(--bg-secondary, #161b22);padding:.15rem .4rem;border-radius:4px}.btn-cancel-search{width:100%;padding:.5rem;background:transparent;color:var(--text-secondary, #8b949e);border:1px solid var(--border-color, #30363d);border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .15s}.btn-cancel-search:hover{color:var(--text-primary, #e6edf3);background:var(--bg-tertiary, #30363d)}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.btn-done{padding:.625rem 1.5rem;background:var(--accent-color);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:opacity .15s}.btn-done:hover{opacity:.9}.cert-gallery-modal{background:var(--surface-color, #161b22);border-radius:16px;width:800px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;border:1px solid var(--border-color, #30363d);animation:slideUp .2s ease-out}.cert-gallery-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color, #30363d)}.cert-gallery-header h3{margin:0;font-size:1.1rem;color:var(--text-primary, #e6edf3)}.cert-gallery-close{background:none;border:none;color:var(--text-secondary, #8b949e);font-size:1.5rem;cursor:pointer;padding:0 4px;line-height:1}.cert-gallery-close:hover{color:var(--text-primary, #e6edf3)}.cert-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;padding:1.5rem;overflow-y:auto}.cert-gallery-item{border:2px solid var(--border-color, #30363d);border-radius:12px;overflow:hidden;cursor:pointer;transition:border-color .2s,box-shadow .2s;position:relative}.cert-gallery-item:hover{border-color:var(--text-secondary, #8b949e)}.cert-gallery-item--selected{border-color:var(--accent-fg, #58a6ff);box-shadow:0 0 0 3px var(--accent-fg, #58a6ff)}.cert-gallery-thumbnail-wrapper{width:100%;aspect-ratio:297 / 210;overflow:hidden;position:relative;background:#f0f0f0}.cert-gallery-thumbnail{position:absolute;top:0;left:0;width:297mm;height:210mm;transform-origin:top left;pointer-events:none}.cert-gallery-item-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-top:1px solid var(--border-color, #30363d)}.cert-gallery-item-name{font-size:.875rem;font-weight:500;color:var(--text-primary, #e6edf3)}.cert-gallery-checkmark{color:var(--accent-fg, #58a6ff);font-weight:700;font-size:1rem}.cert-gallery-preview-btn{position:absolute;top:8px;right:8px;background:#000000b3;color:#fff;border:none;border-radius:6px;padding:4px 10px;font-size:.75rem;cursor:pointer;opacity:0;transition:opacity .2s}.cert-gallery-item:hover .cert-gallery-preview-btn{opacity:1}.cert-gallery-preview-btn:hover{background:#000000e6}.cert-gallery-actions{display:flex;justify-content:flex-end;gap:12px;padding:1rem 1.5rem;border-top:1px solid var(--border-color, #30363d)}.cert-gallery-preview-container{background:var(--surface-color, #161b22);border-radius:16px;max-width:95vw;max-height:95vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;border:1px solid var(--border-color, #30363d);overflow:auto}.cert-gallery-preview-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color, #30363d)}.cert-gallery-preview-header h3{margin:0;font-size:1rem;color:var(--text-primary, #e6edf3)}.cert-gallery-back-btn{background:#ffffff1a;color:var(--text-primary, #e6edf3);border:1px solid var(--border-color, #30363d);border-radius:6px;padding:6px 12px;font-size:.8rem;cursor:pointer;transition:background .2s}.cert-gallery-back-btn:hover{background:#ffffff26}.cert-gallery-preview-full{padding:1.5rem;display:flex;justify-content:center;overflow:auto;min-width:80vw;min-height:60vh}.cert-gallery-preview-full>*{width:100%;max-width:70vw}.kebab-menu-container{position:relative}.btn-kebab{background:none;border:none;color:var(--text-secondary, #8b949e);cursor:pointer;padding:.25rem .5rem;font-size:1.25rem;font-weight:700;line-height:1;border-radius:4px;transition:all .15s;letter-spacing:1px}.btn-kebab:hover{color:var(--text-primary, #e6edf3);background:var(--surface-hover, rgba(255, 255, 255, .05))}.kebab-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:180px;background:var(--surface-color, #21262d);border:1px solid var(--border-color, #30363d);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:100;padding:.25rem;animation:fadeIn .1s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.kebab-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:none;border:none;color:var(--text-primary, #e6edf3);font-size:.85rem;cursor:pointer;border-radius:6px;transition:background .15s;text-align:left}.kebab-item:hover{background:var(--surface-hover, rgba(255, 255, 255, .05))}.kebab-item-danger:hover{background:#ef44441a;color:var(--error-color, #f85149)}.kebab-icon{font-size:.9rem;width:1.25rem;text-align:center}.kebab-divider{height:1px;background:var(--border-color, #30363d);margin:.25rem .5rem}.whitelist-modal{background:var(--surface-color, #161b22);border-radius:16px;width:520px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;border:1px solid var(--border-color, #30363d);animation:slideUp .2s ease-out}.whitelist-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.whitelist-modal .modal-header h2{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.whitelist-modal .btn-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.whitelist-modal .btn-close:hover{color:var(--text-primary)}.toggle-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0}.toggle-label{font-size:.875rem;color:var(--text-secondary)}.whitelist-section{margin-bottom:1.25rem}.whitelist-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.whitelist-section h3{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0}.entry-count{font-size:.75rem;color:var(--text-secondary);background:var(--surface-color, #21262d);padding:.15rem .5rem;border-radius:4px}.whitelist-input{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color, #30363d);border-radius:8px;background:var(--bg-primary, #0d1117);color:var(--text-primary, #e6edf3);font-size:.85rem;font-family:inherit;resize:vertical;min-height:60px;box-sizing:border-box}.whitelist-input:focus{outline:none;border-color:var(--accent-color, #58a6ff)}.whitelist-input::placeholder{color:var(--text-secondary, #8b949e)}.add-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem;align-items:stretch}.whitelist-modal .btn-add,.whitelist-modal .btn-csv{padding:.4rem .9rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s;line-height:1.4;background:var(--bg-tertiary, #21262d);color:var(--text-primary, #e6edf3);border:1px solid var(--border-color, #30363d);display:inline-flex;align-items:center;justify-content:center;height:32px;box-sizing:border-box}.whitelist-modal .btn-add:hover:not(:disabled),.whitelist-modal .btn-csv:hover{border-color:var(--text-secondary, #8b949e);background:var(--bg-hover, #30363d)}.whitelist-modal .btn-add:disabled{opacity:.4;cursor:not-allowed}.whitelist-entries{list-style:none;margin:0;padding:0;max-height:250px;overflow-y:auto}.whitelist-entry{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--surface-hover, rgba(255, 255, 255, .03));border-radius:6px;margin-bottom:.25rem}.whitelist-entry.inactive{opacity:.5}.entry-username{font-size:.875rem;font-weight:500;color:var(--text-primary);font-family:monospace}.no-entries{padding:.75rem 1rem;background:var(--surface-hover);border-radius:8px;color:var(--text-secondary);font-style:italic;font-size:.875rem}.badge-pending{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .4rem;border-radius:4px;background:#eab30826;color:#eab308;margin-left:.5rem;flex-shrink:0}.whitelist-entry.pending{border-left:2px solid rgba(234,179,8,.4)}.section-note{font-size:.7rem;color:var(--text-secondary, #8b949e);font-style:italic}.success-message{display:flex;flex-direction:column;padding:.75rem 1rem;margin:.5rem 1rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px;color:#22c55e;font-size:.875rem;position:relative}.success-message>button:last-child{position:absolute;top:.5rem;right:.5rem;background:none;border:none;font-size:1.25rem;cursor:pointer;color:inherit}.success-message button{background:none;border:none;font-size:1.25rem;cursor:pointer;color:inherit}.section-header-actions{display:flex;align-items:center;gap:.5rem}.btn-clear-all{font-size:.7rem;padding:.15rem .5rem;border-radius:4px;background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3);cursor:pointer;transition:all .15s}.btn-clear-all:hover:not(:disabled){background:#ef444433}.btn-clear-all:disabled{opacity:.3;cursor:not-allowed}.clear-confirm{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;margin-bottom:.5rem;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:6px;font-size:.8rem;color:#ef4444}.clear-confirm-actions{display:flex;gap:.4rem}.btn-confirm-clear{font-size:.75rem;padding:.2rem .6rem;border-radius:4px;background:#ef4444;color:#fff;border:none;cursor:pointer}.btn-confirm-clear:disabled{opacity:.5}.btn-cancel-clear{font-size:.75rem;padding:.2rem .6rem;border-radius:4px;background:none;color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer}.whitelist-modal .modal-footer{padding:.75rem 1.5rem;border-top:1px solid var(--border-color, #30363d);display:flex;justify-content:flex-end}.whitelist-modal .btn-done{padding:.4rem .9rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;background:var(--bg-tertiary, #21262d);color:var(--text-primary, #e6edf3);border:1px solid var(--border-color, #30363d);transition:all .15s}.whitelist-modal .btn-done:hover{border-color:var(--text-secondary, #8b949e);background:var(--bg-hover, #30363d)}.campaign-manager{height:100%;display:flex;flex-direction:column;background:var(--bg-secondary, #161b22);border-right:1px solid var(--border-color, #30363d)}.campaign-manager.loading{align-items:center;justify-content:center}.loading-spinner{color:var(--text-secondary, #8b949e)}.campaign-header{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-bottom:1px solid var(--border-color, #30363d)}.campaign-label{font-weight:600;color:var(--text-secondary, #8b949e);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.campaign-controls{display:flex;gap:.5rem;width:100%}.campaign-select{flex:1;min-width:0;padding:.5rem;border:1px solid var(--border-color, #30363d);border-radius:6px;background:var(--bg-tertiary, #0d1117);color:var(--text-primary, #e6edf3);font-size:.9rem}.campaign-select:focus{outline:none;border-color:var(--accent-color, #58a6ff)}.btn-edit-campaign{padding:.5rem;background:var(--bg-tertiary, #21262d);color:var(--text-secondary, #8b949e);border:1px solid var(--border-color, #30363d);border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-edit-campaign:hover{color:var(--text-primary, #e6edf3);border-color:var(--text-secondary, #8b949e);background:var(--bg-hover, #30363d)}.btn-new-campaign,.btn-new-season{padding:.25rem .75rem;background:var(--accent-color, #238636);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;white-space:nowrap;display:flex;align-items:center;justify-content:center;height:32px}.btn-new-campaign:hover,.btn-new-season:hover{background:var(--accent-hover, #2ea043)}.error-banner{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:#f851491a;border-bottom:1px solid #f85149;color:#f85149;font-size:.85rem}.error-banner button{background:transparent;border:none;color:#f85149;font-size:1.2rem;cursor:pointer;padding:0;line-height:1}.create-form{padding:1rem;border-bottom:1px solid var(--border-color, #30363d);background:var(--bg-tertiary, #21262d)}.create-form input{width:100%;padding:.5rem;margin-bottom:.5rem;border:1px solid var(--border-color, #30363d);border-radius:4px;background:var(--bg-primary, #0d1117);color:var(--text-primary, #e6edf3);font-size:.9rem}.create-form input:focus{outline:none;border-color:var(--accent-color, #58a6ff)}.date-inputs{display:flex;gap:.5rem}.input-group{flex:1;display:flex;flex-direction:column;gap:.25rem}.input-group label{font-size:.75rem;color:var(--text-secondary, #8b949e);font-weight:500}.input-group input{width:100%}.form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.btn-cancel,.btn-save{padding:.4rem .75rem;border-radius:4px;font-size:.85rem;cursor:pointer;border:none}.btn-cancel{background:transparent;color:var(--text-secondary, #8b949e)}.btn-cancel:hover{color:var(--text-primary, #e6edf3)}.btn-save{background:var(--accent-color, #238636);color:#fff}.btn-save:hover{background:var(--accent-hover, #2ea043)}.btn-cert-template{width:100%;padding:.5rem .75rem;border-radius:6px;font-size:.8rem;cursor:pointer;border:1px solid var(--border-color, #30363d);background:#ffffff0d;color:var(--text-secondary, #8b949e);text-align:left;transition:background .2s,border-color .2s;margin-bottom:.5rem}.btn-cert-template:hover{background:#ffffff1a;border-color:var(--text-secondary, #8b949e)}.hierarchy-tree{flex:1;overflow-y:auto}.tree-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-weight:600;color:var(--text-secondary, #8b949e);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color, #30363d)}.btn-add{background:transparent;border:1px solid var(--border-color, #30363d);color:var(--text-secondary, #8b949e);width:24px;height:24px;border-radius:4px;cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center}.btn-add:hover{background:var(--bg-tertiary, #21262d);color:var(--text-primary, #e6edf3)}.season-list{list-style:none;margin:0;padding:0}.season-item{border-bottom:1px solid var(--border-color, #30363d)}.season-header{display:flex;align-items:center;padding:.75rem 1rem;cursor:pointer;transition:background .2s}.season-header:hover{background:var(--bg-tertiary, #21262d)}.expand-icon{font-size:.7rem;color:var(--text-secondary, #8b949e);margin-right:.5rem;transition:transform .2s}.expand-icon.expanded{transform:rotate(90deg)}.season-name{flex:1;font-weight:500;color:var(--text-primary, #e6edf3)}.season-info{flex:1;display:flex;flex-direction:column;gap:.15rem}.season-dates{font-size:.75rem;color:var(--text-secondary, #8b949e)}.season-actions-row{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;flex-shrink:0}.season-action-buttons{display:flex;align-items:center;gap:.15rem;opacity:0;transition:opacity .2s}.season-header:hover .season-action-buttons{opacity:1}.btn-season-action{background:transparent;border:1px solid transparent;color:var(--text-secondary, #8b949e);font-size:.95rem;cursor:pointer;padding:.3rem .4rem;border-radius:4px;transition:all .15s;line-height:1}.btn-season-action:hover{color:var(--text-primary, #e6edf3);background:var(--bg-hover, #30363d);border-color:var(--border-color, #30363d)}.btn-add-session{background:transparent;border:1px solid var(--border-color, #30363d);color:var(--text-primary, #e6edf3);font-size:.9rem;cursor:pointer;padding:0 .75rem;border-radius:4px;transition:all .2s;height:32px;display:flex;align-items:center;margin-left:0}.btn-add-session:hover{color:var(--accent-color, #58a6ff);border-color:var(--accent-color, #58a6ff);background:#58a6ff1a}.session-container{background:var(--bg-primary, #0d1117)}.session-list-footer{display:flex;padding:.6rem 1rem .6rem 2rem}.session-form{margin:0;padding:.75rem 1rem .75rem 2rem;border-bottom:none}.no-sessions{padding:1rem 1rem 1rem 2.5rem;color:var(--text-secondary, #8b949e);font-size:.85rem;font-style:italic}.session-list{list-style:none;margin:0;padding:0}.session-item{display:flex;align-items:center;padding:.6rem 1rem .6rem 2rem;cursor:pointer;transition:background .2s;border-left:2px solid transparent}.session-item:hover{background:var(--bg-tertiary, #21262d)}.session-item.selected{background:var(--bg-tertiary, #21262d);border-left-color:var(--accent-color, #58a6ff)}.session-icon{margin-right:.5rem;font-size:.9rem}.session-title{flex:1;color:var(--text-primary, #e6edf3);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-count{font-size:.75rem;color:var(--text-secondary, #8b949e);background:var(--bg-secondary, #161b22);padding:.2rem .5rem;border-radius:10px}.season-name-row{display:flex;align-items:center;gap:.5rem}.toggle-switch{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background-color:#484f58;border-radius:20px;transition:all .3s ease}.toggle-slider:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#e6edf3;border-radius:50%;transition:all .3s ease}.toggle-switch input:checked+.toggle-slider{background-color:#238636}.toggle-switch input:checked+.toggle-slider:before{transform:translate(16px)}.toggle-switch:hover .toggle-slider{background-color:#5a6370}.toggle-switch input:checked:hover+.toggle-slider{background-color:#2ea043}.status-badge{font-size:.45rem;padding:.075rem .25rem;border-radius:4px;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.status-badge.published{background:#23863633;color:#3fb950}.status-badge.draft{background:#8b949e26;color:#8b949e}.publish-row{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.toggle-label{font-size:.85rem;color:var(--text-secondary, #8b949e)}.session-meta{display:flex;align-items:center;gap:.5rem}.btn-publish-toggle{font-size:.65rem;padding:.15rem .4rem;border-radius:4px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:all .2s}.btn-publish-toggle.published{background:#23863633;color:#3fb950;border-color:#2386364d}.btn-publish-toggle.published:hover{background:#2386364d;border-color:#3fb950}.btn-publish-toggle.draft{background:#8b949e26;color:#8b949e;border-color:#8b949e33}.btn-publish-toggle.draft:hover{background:#8b949e40;border-color:#8b949e}.session-item.unpublished .session-title{color:var(--text-secondary, #8b949e)}.session-item.unpublished .session-icon{opacity:.5}.season-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color, #30363d);margin-bottom:.25rem}.season-tab{flex:1;padding:.4rem .75rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary, #8b949e);font-size:.8rem;cursor:pointer;transition:all .2s}.season-tab.active{color:var(--text-primary, #e6edf3);border-bottom-color:var(--accent-color, #58a6ff)}.season-tab:hover{color:var(--text-primary, #e6edf3)}.empty-archived{padding:2rem 1rem;text-align:center;color:var(--text-secondary, #8b949e);font-size:.85rem}.status-badge.archived{background:#8b949e26;color:#8b949e;border-color:#8b949e4d}.past-end-date-badge{font-size:.6rem;padding:.1rem .35rem;background:#d2992226;border:1px solid rgba(210,153,34,.3);color:#d29922;border-radius:3px;font-weight:500;white-space:nowrap}.season-badges{display:flex;flex-direction:column;gap:.15rem;align-items:flex-end}.status-badge.whitelist{background:#fbbf2426;color:#fbbf24}.edit-protection-notice{background:#d2992226;border:1px solid rgba(210,153,34,.4);color:#d29922;padding:.5rem .75rem;border-radius:4px;font-size:.8rem;margin-bottom:.5rem}.generate-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.generate-modal{background:#1e1e2e;border:1px solid #30363d;border-radius:12px;width:90%;max-width:500px;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.generate-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #30363d}.generate-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#e6edf3}.modal-close-btn{background:none;border:none;font-size:1.25rem;cursor:pointer;color:#8b949e;padding:.25rem;line-height:1;transition:color .2s}.modal-close-btn:hover:not(:disabled){color:#e6edf3}.modal-close-btn:disabled{opacity:.5;cursor:not-allowed}.generate-modal-body{padding:1.5rem}.modal-description{margin:0 0 1.25rem;color:#8b949e;font-size:.9rem;line-height:1.5}.generate-modal-body .form-group{margin-bottom:1rem}.generate-modal-body .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#e6edf3}.generate-modal-body .form-group input{width:100%;padding:.75rem 1rem;background:#0d1117;border:1px solid #30363d;border-radius:8px;font-size:1rem;color:#e6edf3;transition:border-color .2s,box-shadow .2s}.generate-modal-body .form-group input::placeholder{color:#6e7681}.generate-modal-body .form-group input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf633}.generate-modal-body .form-group input:disabled{background:#161b22;cursor:not-allowed;opacity:.7}.modal-error{background:#f851491a;border:1px solid rgba(248,81,73,.4);color:#f85149;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;margin-top:1rem}.loading-indicator{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#8b5cf61a;border:1px solid rgba(139,92,246,.3);border-radius:8px;margin-top:1rem;color:#a78bfa;font-size:.9rem}.spinner{width:20px;height:20px;border:2px solid #a78bfa;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.generate-modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid #30363d;background:#161b22;border-radius:0 0 12px 12px}.generate-modal-footer .btn-secondary{padding:.625rem 1.25rem;border:1px solid #30363d;background:#21262d;color:#e6edf3;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.generate-modal-footer .btn-secondary:hover:not(:disabled){background:#30363d;border-color:#484f58}.generate-modal-footer .btn-primary{padding:.625rem 1.25rem;border:none;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border-radius:8px;font-weight:500;cursor:pointer;transition:opacity .2s,transform .1s}.generate-modal-footer .btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.generate-modal-footer button:disabled{opacity:.5;cursor:not-allowed}.edit-session-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.edit-session-modal{background:var(--bg-secondary, #1a1a2e);border-radius:12px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;border:1px solid var(--border-color, #333)}.edit-session-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color, #333)}.edit-session-modal-header h3{margin:0;font-size:1.25rem;color:var(--text-primary, #fff)}.edit-session-modal-body{padding:20px;overflow-y:auto;flex:1}.edit-session-modal-body .form-group{margin-bottom:20px}.edit-session-modal-body .form-group.row{display:flex;gap:16px}.edit-session-modal-body .form-group .col{flex:1;display:flex;flex-direction:column}.edit-session-modal-body .form-group:last-of-type{margin-bottom:0}.edit-session-modal-body label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary, #fff)}.edit-session-modal-body input,.edit-session-modal-body textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border-color, #444);background:var(--bg-primary, #0f0f1a);color:var(--text-primary, #fff);font-size:.95rem}.edit-session-modal-body input:focus,.edit-session-modal-body textarea:focus{outline:none;border-color:var(--primary-color, #6366f1);box-shadow:0 0 0 3px #6366f133}.edit-session-modal-body textarea{resize:vertical;min-height:100px}.edit-session-modal-body .form-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:12px}.edit-session-modal-body .form-label-row label{margin-bottom:0}.edit-session-modal-body .btn-generate{background:linear-gradient(135deg,#9333ea,#6366f1);color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:.8rem;cursor:pointer;white-space:nowrap;transition:opacity .2s}.edit-session-modal-body .btn-generate:hover:not(:disabled){opacity:.9}.edit-session-modal-body .btn-generate:disabled{opacity:.6;cursor:not-allowed}.edit-session-modal-body .form-hint{display:block;margin-top:8px;font-size:.85rem;color:var(--text-muted, #888);line-height:1.4}.edit-session-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color, #333)}.edit-session-modal .modal-close-btn{background:none;border:none;color:var(--text-muted, #888);font-size:1.25rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s,color .2s}.edit-session-modal .modal-close-btn:hover{background:var(--bg-primary, #0f0f1a);color:var(--text-primary, #fff)}.edit-session-modal .modal-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#f87171;padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:.9rem}.edit-session-modal .modal-warning{background:#d2992226;border:1px solid rgba(210,153,34,.4);color:#d29922;padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:.85rem}.delete-session-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.delete-session-modal{background:var(--bg-secondary, #1a1a2e);border-radius:12px;width:100%;max-width:480px;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;border:1px solid var(--border-color, #333)}.delete-session-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color, #333)}.delete-session-modal-header h3{margin:0;font-size:1.25rem;color:#f85149}.delete-session-modal .modal-close-btn{background:none;border:none;color:var(--text-muted, #888);font-size:1.25rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s,color .2s}.delete-session-modal .modal-close-btn:hover{background:var(--bg-primary, #0f0f1a);color:var(--text-primary, #fff)}.delete-session-modal-body{padding:20px}.delete-session-title{font-size:1rem;font-weight:600;color:var(--text-primary, #fff);margin:0 0 16px}.delete-warning{background:#f851491a;border:1px solid rgba(248,81,73,.3);color:#f87171;padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:.85rem;line-height:1.5}.delete-session-modal .modal-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#f87171;padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:.9rem}.delete-session-modal-body .form-group{margin-bottom:0}.delete-session-modal-body label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary, #fff);font-size:.9rem}.delete-session-modal-body input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border-color, #444);background:var(--bg-primary, #0f0f1a);color:var(--text-primary, #fff);font-size:.95rem}.delete-session-modal-body input:focus{outline:none;border-color:#f85149;box-shadow:0 0 0 3px #f8514933}.delete-session-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color, #333)}.btn-delete-confirm{padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;background:#da3633;color:#fff}.btn-delete-confirm:hover:not(:disabled){background:#f85149}.btn-delete-confirm:disabled{opacity:.5;cursor:not-allowed}.delete-user-data-warning{background:#d2992226;border:1px solid rgba(210,153,34,.4);color:#d29922;padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:.85rem;line-height:1.5}.session-assign-select{position:relative}.assign-trigger{font-size:.7rem;padding:.2rem .5rem;border-radius:4px;cursor:pointer;transition:all .2s;border:1px solid transparent;display:flex;align-items:center;gap:.25rem}.assign-trigger.assigned{background:#58a6ff26;color:#58a6ff;border-color:#58a6ff4d}.assign-trigger.assigned:hover{background:#58a6ff40;border-color:#58a6ff}.assign-trigger.unassigned{background:#8b949e1a;color:#8b949e;border-color:#8b949e33}.assign-trigger.unassigned:hover{background:#8b949e33;border-color:#8b949e}.assigned-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unassigned-label{opacity:.8}.assign-dropdown{position:absolute;top:100%;left:0;margin-top:4px;width:240px;background:var(--surface-color, #21262d);border:1px solid var(--border-color, #30363d);border-radius:8px;box-shadow:0 8px 24px #0000004d;z-index:9999;padding:.5rem}.assign-error{padding:.5rem;margin-bottom:.5rem;background:#f851491a;border:1px solid #f85149;border-radius:4px;color:#f85149;font-size:.75rem}.assign-search{width:100%;padding:.5rem;border:1px solid var(--border-color, #30363d);border-radius:4px;background:var(--bg-primary, #0d1117);color:var(--text-primary, #e6edf3);font-size:.8rem;margin-bottom:.5rem}.assign-search:focus{outline:none;border-color:var(--accent-color, #58a6ff)}.assign-loading,.assign-no-results{padding:.5rem;text-align:center;color:var(--text-secondary, #8b949e);font-size:.8rem}.assign-results{list-style:none;margin:0;padding:0;max-height:150px;overflow-y:auto;border:1px solid var(--border-color, #30363d);border-radius:4px;margin-bottom:.5rem}.assign-result-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem;cursor:pointer;transition:background .15s}.assign-result-item:hover{background:var(--bg-tertiary, #30363d)}.assign-result-item:not(:last-child){border-bottom:1px solid var(--border-color, #30363d)}.result-username{font-size:.8rem;font-weight:500;color:var(--text-primary, #e6edf3)}.result-type{font-size:.65rem;color:var(--text-secondary, #8b949e);background:var(--bg-secondary, #161b22);padding:.15rem .4rem;border-radius:4px}.btn-unassign{width:100%;padding:.5rem;background:#f851491a;color:#f85149;border:1px solid rgba(248,81,73,.3);border-radius:4px;font-size:.8rem;cursor:pointer;margin-bottom:.5rem;transition:all .15s}.btn-unassign:hover{background:#f8514933;border-color:#f85149}.btn-cancel-assign{width:100%;padding:.5rem;background:transparent;color:var(--text-secondary, #8b949e);border:1px solid var(--border-color, #30363d);border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .15s}.btn-cancel-assign:hover{color:var(--text-primary, #e6edf3);background:var(--bg-tertiary, #30363d)}.cert-preview-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.cert-preview-modal{background:var(--surface-color, #161b22);border-radius:16px;max-width:95vw;max-height:95vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;border:1px solid var(--border-color, #30363d);overflow:auto}.cert-preview-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color, #30363d)}.cert-preview-header h3{margin:0;font-size:1.1rem;color:var(--text-primary, #e6edf3)}.cert-preview-close{background:none;border:none;color:var(--text-secondary, #8b949e);font-size:1.5rem;cursor:pointer;padding:0 4px;line-height:1}.cert-preview-close:hover{color:var(--text-primary, #e6edf3)}.cert-preview-body{padding:1.5rem;display:flex;justify-content:center;align-items:flex-start;overflow:auto;min-width:80vw;min-height:60vh}.cert-preview-body>*{width:100%;max-width:70vw}.cert-preview-loading,.cert-preview-error{color:var(--text-secondary, #8b949e);font-size:.9rem;padding:2rem}.cert-preview-error{color:#f85149}.session-editor{padding:1.5rem;height:100%;overflow-y:auto}.session-editor-empty{display:flex;align-items:center;justify-content:center;height:100%;padding:2rem}.session-editor-placeholder{text-align:center;color:var(--text-secondary, #8b949e)}.placeholder-icon{font-size:3rem;display:block;margin-bottom:1rem;opacity:.6}.session-editor-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem;padding:1rem 0;border-bottom:1px solid var(--border-color, #30363d);position:sticky;top:0;background:var(--bg-primary, #0d1117);z-index:20}.session-editor-header>.session-edit-form{display:flex;justify-content:space-between;align-items:flex-start;width:100%}.session-info{display:flex;flex-direction:column;gap:.5rem;width:100%}.session-title-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.session-title-container{display:flex;flex-direction:column;gap:.25rem}.session-season-label{font-size:.85rem;color:var(--text-secondary, #8b949e);font-weight:500;display:flex;align-items:center;gap:.25rem}.session-season-label .separator{color:var(--text-secondary, #8b949e);margin:0 .25rem}.session-owner-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.session-title-bar h2{margin:0;font-size:1.25rem;color:var(--text-primary, #e6edf3)}.btn-edit-inline{background:transparent;border:1px solid var(--border-color, #30363d);color:var(--text-secondary, #8b949e);font-size:.8rem;cursor:pointer;padding:.15rem .5rem;border-radius:4px;transition:all .2s}.btn-edit-inline:hover{color:var(--accent-color, #58a6ff);border-color:var(--accent-color, #58a6ff);background:#58a6ff1a}.session-title-actions{display:flex;gap:.5rem;align-items:center}.steps-title-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-top:1px solid var(--border-color, #30363d);background:var(--bg-primary, #0d1117)}.steps-header-actions{display:flex;gap:.5rem;align-items:center}.btn-generate-steps{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;padding:.15rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:opacity .2s,transform .1s}.btn-generate-steps:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-generate-steps:disabled{opacity:.5;cursor:not-allowed}.steps-title-row h3{margin:0;font-size:1rem;color:var(--text-primary, #e6edf3)}.session-info h2{margin:0;font-size:1.25rem;color:var(--text-primary, #e6edf3)}.session-title-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.session-actions{display:flex;gap:.5rem;align-items:center}.codelab-link-btn{color:var(--accent-color, #58a6ff);text-decoration:none;font-size:.8rem;padding:.15rem .5rem;border:1px solid var(--accent-color, #58a6ff);border-radius:4px;transition:all .2s ease;background:transparent;cursor:pointer;font-family:inherit}.codelab-link-btn:hover{background:#58a6ff26;text-decoration:none}.session-highlight-compact{margin-top:.5rem}.highlight-toggle-compact{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem 0;background:transparent;border:none;cursor:pointer;color:var(--text-secondary, #8b949e);font-size:.75rem;transition:color .2s ease}.highlight-toggle-compact:hover{color:var(--accent-color, #58a6ff)}.highlight-toggle-compact .toggle-icon{font-size:.6rem}.highlight-toggle-compact .highlight-label{text-transform:uppercase;letter-spacing:.03em}.session-highlight-compact .highlight-content{margin:.5rem 0 0;padding:.75rem 1rem;font-size:.85rem;color:var(--text-primary, #e6edf3);line-height:1.5;background:var(--bg-tertiary, #0d1117);border-left:3px solid var(--accent-color, #58a6ff);border-radius:0 6px 6px 0;max-height:100px;overflow-y:auto}.session-edit-form{width:100%}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary, #e6edf3)}.form-group input[type=text],.form-group input[type=url],.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color, #30363d);border-radius:6px;background:var(--bg-tertiary, #0d1117);color:var(--text-primary, #e6edf3);font-size:.9rem}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color, #58a6ff)}.form-group input[type=file]{color:var(--text-secondary, #8b949e)}.form-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.form-label-row label{margin-bottom:0}.btn-generate{padding:.35rem .75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #667eea4d}.btn-generate:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}.btn-generate:disabled{opacity:.6;cursor:not-allowed;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.4}}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.btn-primary,.btn-secondary,.btn-edit,.btn-add-step{padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-primary{background:var(--accent-color, #238636);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover, #2ea043)}.btn-secondary{background:var(--bg-tertiary, #21262d);color:var(--text-primary, #e6edf3);border:1px solid var(--border-color, #30363d)}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary, #30363d)}.btn-edit{background:transparent;color:var(--accent-color, #58a6ff);border:1px solid var(--accent-color, #58a6ff)}.btn-edit:hover{background:#58a6ff1a}.btn-add-step{background:var(--accent-color, #238636);color:#fff}.btn-add-step:hover:not(:disabled){background:var(--accent-hover, #2ea043)}.btn-small{padding:.4rem .8rem;font-size:.85rem}.btn-icon{background:transparent;border:none;font-size:1rem;cursor:pointer;padding:.25rem;opacity:.7;transition:opacity .2s}.btn-icon:hover{opacity:1}.btn-danger:hover{color:#f85149}button:disabled{opacity:.5;cursor:not-allowed}.error-message{background:#f851491a;border:1px solid #f85149;color:#f85149;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.error-message.small{padding:.5rem;font-size:.85rem;margin-bottom:.5rem}.steps-section{margin-top:1.5rem;display:flex;flex-direction:column;flex:1;min-height:0}.steps-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-primary, #0d1117);border:1px solid var(--border-color, #30363d);border-radius:8px 8px 0 0;position:sticky;top:0;z-index:10}.steps-header h3{margin:0;font-size:1.1rem;color:var(--text-primary, #e6edf3)}.add-step-form{background:var(--bg-secondary, #161b22);border:1px solid var(--border-color, #30363d);border-radius:8px;padding:1rem;margin-bottom:1rem}.file-name{display:block;margin-top:.5rem;font-size:.85rem;color:var(--text-secondary, #8b949e)}.steps-list{display:flex;flex-direction:column;gap:.25rem;padding:0;background:transparent;overflow-y:auto;flex:1}.step-card{background:var(--bg-secondary, #161b22);border:1px solid var(--border-color, #30363d);border-radius:8px;padding:1rem;position:relative}.step-header{margin-bottom:1rem}.step-badge{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600;display:inline-block}.step-content{display:flex;flex-direction:column;gap:1rem}.step-description-box{background:#0000004d;border-radius:8px;padding:1rem}.step-description-box h4{margin:0 0 .5rem;font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.step-description-box p{margin:0;color:#e0e0e0;font-size:.95rem;line-height:1.5}.step-screenshot-box{background:#0000004d;border-radius:8px;padding:1rem}.step-screenshot-box h4{margin:0 0 .75rem;font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.step-screenshot-box img{max-width:200px;max-height:150px;border-radius:4px;border:1px solid var(--border-color, #30363d);cursor:pointer;transition:transform .2s}.step-screenshot-box img:hover{transform:scale(1.02)}.no-image{color:#888;font-style:italic;font-size:.9rem}.step-actions{display:flex;gap:.5rem;position:absolute;top:1rem;right:1rem}.step-actions .btn-danger{margin-left:.75rem}.delete-step-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.delete-step-modal{background:var(--bg-primary, #0d1117);border:1px solid var(--border-color, #30363d);border-radius:8px;padding:1.5rem;max-width:400px;width:90%}.delete-step-modal h3{margin:0 0 .75rem;color:#f85149;font-size:1rem}.delete-step-modal p{margin:0 0 1.25rem;font-size:.9rem;color:var(--text-secondary, #8b949e);line-height:1.4}.delete-step-modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.btn-danger-solid{background:#da3633;color:#fff;border:1px solid #f85149;padding:.4rem 1rem;border-radius:4px;font-size:.85rem;cursor:pointer;transition:background .15s}.btn-danger-solid:hover{background:#f85149}.step-edit-form{margin-top:.5rem}.step-edit-form textarea{width:100%;padding:.5rem;border:1px solid var(--border-color, #30363d);border-radius:4px;background:var(--bg-tertiary, #0d1117);color:var(--text-primary, #e6edf3);margin-bottom:.5rem;resize:vertical}.step-edit-form input[type=file]{margin-bottom:.5rem;color:var(--text-secondary, #8b949e);font-size:.85rem}.image-modal-overlay{position:fixed;inset:0;background:#000000f2;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.image-modal-close{position:absolute;top:1.5rem;right:1.5rem;background:#ffffff26;border:2px solid rgba(255,255,255,.3);color:#fff;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem;transition:all .2s ease;z-index:1001}.image-modal-close:hover{background:#ef4444cc;border-color:#ef4444;transform:scale(1.05)}.image-modal-img{max-width:95vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px #00000080;animation:zoomIn .2s ease}@keyframes zoomIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.btn-delete-session{background:transparent;border:1px solid rgba(248,81,73,.4);color:#f85149;font-size:.8rem;cursor:pointer;padding:.15rem .5rem;border-radius:4px;transition:all .2s}.btn-delete-session:hover:not(:disabled){background:#f8514926;border-color:#f85149}.btn-delete-session:disabled{opacity:.4;cursor:not-allowed}.edit-protection-notice{background:#d2992226;border:1px solid rgba(210,153,34,.4);color:#d29922;padding:.5rem .75rem;border-radius:4px;font-size:.85rem;margin-bottom:.75rem}.insert-zone{display:flex;align-items:center;gap:0;padding:.15rem 0}.insert-zone-line{flex:1;height:2px;background:repeating-linear-gradient(90deg,rgba(88,166,255,.35) 0px,rgba(88,166,255,.35) 6px,transparent 6px,transparent 12px);border-radius:1px;transition:background .2s}.insert-zone:hover .insert-zone-line{background:repeating-linear-gradient(90deg,rgba(88,166,255,.7) 0px,rgba(88,166,255,.7) 6px,transparent 6px,transparent 12px)}.insert-zone-btn{display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary, #21262d);border:1px solid var(--border-color, #30363d);color:var(--text-secondary, #8b949e);width:24px;height:24px;border-radius:50%;cursor:pointer;padding:0;flex-shrink:0;transition:all .2s ease;overflow:hidden}.insert-zone-btn:hover{background:#58a6ff26;border-color:var(--accent-color, #58a6ff);color:var(--accent-color, #58a6ff);width:auto;border-radius:12px;padding:0 .5rem;gap:.25rem}.insert-zone-icon{font-size:.9rem;font-weight:600;line-height:1;flex-shrink:0}.insert-zone-label{display:none;font-size:.75rem;font-weight:500;white-space:nowrap}.insert-zone-btn:hover .insert-zone-label{display:inline}.inline-step-form{background:var(--bg-secondary, #161b22);border:2px solid var(--accent-color, #58a6ff);border-radius:8px;padding:1rem}.inline-step-form-header{font-size:.85rem;color:var(--accent-color, #58a6ff);margin-bottom:.75rem;font-weight:500}.wdb-container{margin:12px 0}.wdb-bar{display:flex;height:36px;border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.1);cursor:pointer}.wdb-bar.disabled{opacity:.6;cursor:default}.wdb-segment-wrapper{position:relative;display:flex;min-width:0}.wdb-segment{flex:1;display:flex;align-items:center;justify-content:center;min-width:0;transition:opacity .15s;-webkit-user-select:none;user-select:none}.wdb-segment:hover{opacity:.85}.wdb-segment.editing{opacity:1}.wdb-label{font-size:11px;font-weight:600;color:#000c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}.wdb-edit-input{width:40px;padding:2px 4px;background:#ffffffe6;border:1px solid rgba(0,0,0,.3);border-radius:3px;color:#000;font-size:12px;font-weight:600;text-align:center}.wdb-divider{position:absolute;right:-3px;top:0;bottom:0;width:6px;cursor:col-resize;z-index:2;background:transparent}.wdb-divider:after{content:"";position:absolute;left:2px;top:4px;bottom:4px;width:2px;background:#fff9;border-radius:1px}.wdb-divider:hover:after{background:#ffffffe6;width:3px;left:1.5px}.wdb-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:12px;color:#8b949e}.wdb-legend-item{display:flex;align-items:center;gap:4px}.wdb-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.bc-editor{display:flex;flex-direction:column;height:100%;padding:1.5rem;overflow:hidden;color:var(--text-primary, #e6edf3)}.bc-editor-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary, #8b949e)}.bc-editor-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color, #30363d);flex-wrap:wrap;position:sticky;top:0;background:var(--bg-primary, #0d1117);z-index:20}.bc-editor-header-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.bc-title-input{font-size:1.25rem;font-weight:600;border:1px solid transparent;border-radius:6px;padding:.35rem .5rem;flex:1;min-width:200px;background:transparent;color:var(--text-primary, #e6edf3)}.bc-title-input:focus{border-color:var(--accent-color, #58a6ff);outline:none;background:var(--bg-tertiary, #0d1117)}.bc-season-name{font-size:.85rem;color:var(--text-secondary, #8b949e);white-space:nowrap}.bc-editor-header-right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.bc-status-badge{font-size:.7rem;font-weight:700;color:#fff;padding:.2rem .6rem;border-radius:12px;letter-spacing:.05em;text-transform:uppercase}.bc-publish-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer}.bc-publish-toggle input[type=checkbox]{appearance:none;-webkit-appearance:none;width:40px;height:22px;background:var(--bg-tertiary, #21262d);border:1px solid var(--border-color, #30363d);border-radius:11px;position:relative;cursor:pointer;transition:all .2s;flex-shrink:0}.bc-publish-toggle input[type=checkbox]:after{content:"";position:absolute;width:16px;height:16px;background:var(--text-secondary, #8b949e);border-radius:50%;top:2px;left:2px;transition:all .2s}.bc-publish-toggle input[type=checkbox]:checked{background:var(--accent-color, #238636);border-color:var(--accent-color, #238636)}.bc-publish-toggle input[type=checkbox]:checked:after{background:#fff;left:20px}.bc-publish-toggle-label{font-size:.85rem;font-weight:500}.bc-publish-toggle input:checked+.bc-publish-toggle-label{color:#3fb950}.bc-publish-toggle input:not(:checked)+.bc-publish-toggle-label{color:var(--text-secondary, #8b949e)}.bc-editor .btn-save{background:var(--accent-color, #238636);color:#fff;border:none;padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:background .2s}.bc-editor .btn-save:hover{background:var(--accent-hover, #2ea043)}.bc-editor .btn-save:disabled{opacity:.5;cursor:not-allowed}.bc-editor .btn-publish{background:var(--accent-color, #238636);color:#fff;border:none;padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:background .2s}.bc-editor .btn-publish:hover{background:var(--accent-hover, #2ea043)}.bc-editor .btn-secondary{background:var(--bg-tertiary, #21262d);color:var(--text-primary, #e6edf3);border:1px solid var(--border-color, #30363d);padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.bc-editor .btn-secondary:hover{background:var(--bg-hover, #30363d);border-color:var(--text-secondary, #8b949e)}.bc-editor .btn-danger{background:#da3633;color:#fff;border:none;padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:background .2s}.bc-editor .btn-danger:hover{background:#f85149}.bc-editor .btn-danger-outline{background:transparent;color:#f85149;border:1px solid #f85149;padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.bc-editor .btn-danger-outline:hover{background:#f851491a}.bc-editor .btn-add{background:transparent;color:var(--accent-color, #58a6ff);border:1px solid var(--accent-color, #58a6ff);padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s;white-space:nowrap}.bc-editor .btn-add:hover{background:#58a6ff1a}.bc-editor .btn-upload{background:var(--bg-tertiary, #21262d);color:var(--text-primary, #e6edf3);border:1px solid var(--border-color, #30363d);padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.85rem;display:inline-block;transition:all .2s}.bc-editor .btn-upload:hover{background:var(--bg-hover, #30363d);border-color:var(--text-secondary, #8b949e)}.bc-editor .btn-copy{background:var(--bg-tertiary, #21262d);color:var(--text-secondary, #8b949e);border:1px solid var(--border-color, #30363d);padding:.2rem .5rem;border-radius:4px;cursor:pointer;font-size:.75rem;transition:all .2s}.bc-editor .btn-copy:hover{color:var(--text-primary, #e6edf3);border-color:var(--text-secondary, #8b949e)}.bc-editor .btn-delete-small{background:none;color:#f85149;border:none;cursor:pointer;font-weight:700;font-size:.85rem;padding:.2rem .4rem}.bc-editor .btn-delete-small:hover{color:#da3633}.bc-error{background:#f851491a;color:#f85149;padding:.5rem .75rem;border-radius:6px;margin-bottom:.75rem;font-size:.85rem;border:1px solid rgba(248,81,73,.3)}.bc-warning{display:flex;align-items:center;gap:.75rem;background:#d299221f;color:#d29922;padding:.5rem .75rem;border-radius:6px;margin-bottom:.75rem;font-size:.85rem;border:1px solid rgba(210,153,34,.3)}.bc-warning-dismiss{margin-left:auto;background:none;border:1px solid rgba(210,153,34,.4);color:inherit;border-radius:4px;padding:.15rem .5rem;font-size:.8rem;cursor:pointer}.bc-success{background:#23863626;color:#3fb950;padding:.5rem .75rem;border-radius:6px;margin-bottom:.75rem;font-size:.85rem;border:1px solid rgba(63,185,80,.3)}.bc-warning{background:#d299221a;color:#d29922;padding:.5rem .75rem;border-radius:6px;margin-bottom:.75rem;font-size:.85rem;border:1px solid rgba(210,153,34,.3);display:flex;justify-content:space-between;align-items:center}.bc-warning button{background:none;border:none;color:#d29922;cursor:pointer;font-weight:700}.bc-locked-notice{background:#d299221a;color:#d29922;padding:.5rem .75rem;border-radius:6px;margin-bottom:.75rem;font-size:.85rem;border:1px solid rgba(210,153,34,.3)}.bc-validation-errors{background:#f851491a;color:#f85149;padding:.5rem .75rem;border-radius:6px;margin-bottom:.75rem;font-size:.85rem;border:1px solid rgba(248,81,73,.3)}.bc-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color, #30363d);margin-bottom:1rem}.bc-tabs button{background:none;border:none;padding:.6rem 1rem;font-size:.9rem;cursor:pointer;color:var(--text-secondary, #8b949e);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s}.bc-tabs button.active{color:var(--text-primary, #e6edf3);border-bottom-color:var(--accent-color, #58a6ff);font-weight:600}.bc-tabs button:hover{color:var(--text-primary, #e6edf3)}.bc-tabs button.tab-dirty:after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--accent-color, #58a6ff);margin-left:6px;vertical-align:middle}.bc-tab-content{flex:1;display:flex;flex-direction:column;min-height:0}.bc-tab-content>div{display:flex;flex-direction:column;flex:1;min-height:0}.bc-tab-toolbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid var(--border-color, #30363d);flex-shrink:0}.bc-tab-toolbar-title{font-size:.85rem;font-weight:600;color:var(--text-secondary, #8b949e);text-transform:uppercase;letter-spacing:.03em}.bc-tab-toolbar-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.bc-tab-scroll{flex:1;overflow-y:auto}.bc-spec-toggle{display:flex;gap:0}.bc-spec-toggle button{background:var(--bg-tertiary, #21262d);border:1px solid var(--border-color, #30363d);padding:.35rem .85rem;cursor:pointer;font-size:.85rem;color:var(--text-secondary, #8b949e);transition:all .2s}.bc-spec-toggle button:first-child{border-radius:6px 0 0 6px}.bc-spec-toggle button:last-child{border-radius:0 6px 6px 0;border-left:none}.bc-spec-toggle button.active{background:var(--accent-color, #58a6ff);color:#fff;border-color:var(--accent-color, #58a6ff)}.bc-spec-toggle button:hover:not(.active){color:var(--text-primary, #e6edf3);background:var(--bg-hover, #30363d)}.bc-spec-editor{width:100%;font-family:Fira Code,Consolas,SF Mono,monospace;font-size:.9rem;border:1px solid var(--border-color, #30363d);border-radius:6px;padding:.75rem;resize:vertical;min-height:300px;background:var(--bg-tertiary, #0d1117);color:var(--text-primary, #e6edf3);line-height:1.5}.bc-spec-editor:focus{outline:none;border-color:var(--accent-color, #58a6ff)}.bc-spec-preview{border:1px solid var(--border-color, #30363d);border-radius:6px;padding:1rem;min-height:300px;background:var(--bg-secondary, #161b22);color:var(--text-primary, #e6edf3)}.bc-spec-preview{overflow-x:auto;max-width:100%}.bc-spec-preview img{max-width:80%;height:auto;border-radius:6px}.bc-spec-preview a{color:var(--accent-color, #58a6ff)}.bc-spec-preview code{background:var(--bg-tertiary, #21262d);padding:.15rem .3rem;border-radius:4px;font-size:.85em}.bc-spec-preview pre{background:var(--bg-tertiary, #0d1117);padding:.75rem;border-radius:6px;overflow-x:auto}.bc-spec-preview pre code{background:none;padding:0}.bc-spec-preview blockquote{border-left:3px solid var(--border-color, #30363d);padding-left:.75rem;color:var(--text-secondary, #8b949e)}.bc-spec-preview table{border-collapse:collapse;width:100%}.bc-spec-preview th,.bc-spec-preview td{border:1px solid var(--border-color, #30363d);padding:.4rem .6rem;text-align:left}.bc-spec-preview th{background:var(--bg-tertiary, #21262d)}.bc-spec-preview p{margin:.5rem 0}.bc-spec-preview ul,.bc-spec-preview ol{padding-left:1.5rem;margin:.5rem 0}.bc-spec-preview li{margin:.25rem 0}.bc-spec-preview li>p{margin:.15rem 0}.bc-image-gallery{margin-top:1.25rem;border-top:1px solid var(--border-color, #30363d);padding-top:1rem}.bc-image-gallery h4{margin:0 0 .5rem;font-size:.9rem;color:var(--text-primary, #e6edf3)}.bc-image-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.75rem}.bc-image-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;background:var(--bg-secondary, #161b22);border:1px solid var(--border-color, #30363d);border-radius:6px}.bc-image-thumb{width:40px;height:40px;object-fit:cover;border-radius:4px}.bc-image-name{flex:1;font-size:.8rem;color:var(--text-secondary, #8b949e);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bc-mode-toggle{display:flex;gap:0}.bc-mode-btn{padding:.45rem 1.2rem;background:var(--bg-tertiary, #21262d);border:1px solid var(--border-color, #30363d);color:var(--text-secondary, #8b949e);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.bc-mode-btn:first-child{border-radius:6px 0 0 6px}.bc-mode-btn:last-child{border-radius:0 6px 6px 0;border-left:none}.bc-mode-btn.active{background:var(--accent-color, #238636);color:#fff;border-color:var(--accent-color, #238636)}.bc-mode-btn:disabled{opacity:.5;cursor:not-allowed}.bc-mode-locked-hint{display:block;margin-top:.3rem;font-size:.75rem;color:#d29922}.bc-config-form{display:flex;flex-direction:column;gap:1.25rem;max-width:500px}.bc-form-group{display:flex;flex-direction:column;gap:.35rem}.bc-form-group>label,.bc-form-label{font-size:.85rem;font-weight:500;color:var(--text-secondary, #8b949e)}.bc-form-group input[type=text],.bc-form-group input[type=number],.bc-form-group input[type=datetime-local]{padding:.45rem .6rem;border:1px solid var(--border-color, #30363d);border-radius:6px;font-size:.9rem;background:var(--bg-tertiary, #0d1117);color:var(--text-primary, #e6edf3)}.bc-form-group input:focus{outline:none;border-color:var(--accent-color, #58a6ff)}.bc-form-group input[type=datetime-local]{color-scheme:dark}.bc-form-group input[type=checkbox]{accent-color:var(--accent-color, #58a6ff)}.bc-form-row{display:flex;gap:1rem}.bc-form-row .bc-form-group{flex:1}.bc-criteria-weight-total{font-size:.9rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bc-criteria-weight-total.valid{color:#3fb950}.bc-criteria-weight-total.invalid{color:#f85149}.bc-add-criterion-btn{width:100%;padding:.75rem;background:transparent;border:1px dashed var(--border-color, #30363d);border-radius:8px;color:var(--text-secondary, #8b949e);font-size:.9rem;cursor:pointer;transition:all .2s;margin-bottom:1rem}.bc-add-criterion-btn:hover{border-color:var(--accent-color, #58a6ff);color:var(--accent-color, #58a6ff);background:#58a6ff0d}.bc-criteria-empty{text-align:center;color:var(--text-secondary, #8b949e);padding:2.5rem 1rem;font-size:.9rem}.bc-criterion-card{border:1px solid var(--border-color, #30363d);border-radius:8px;padding:1rem;margin-bottom:1rem;background:var(--bg-secondary, #161b22);transition:border-color .2s;overflow:hidden;min-width:0}.bc-criterion-card:hover{border-color:var(--text-secondary, #484f58)}.bc-criterion-top-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;min-width:0}.bc-criterion-number{font-size:.8rem;font-weight:700;color:var(--text-secondary, #8b949e);min-width:24px}.bc-criterion-name{flex:1;min-width:0;padding:.45rem .6rem;border:1px solid var(--border-color, #30363d);border-radius:6px;font-size:.9rem;font-weight:500;background:var(--bg-tertiary, #0d1117);color:var(--text-primary, #e6edf3)}.bc-criterion-name:focus{outline:none;border-color:var(--accent-color, #58a6ff)}.bc-criterion-weight{display:flex;align-items:center;gap:.35rem;color:var(--text-secondary, #8b949e);flex-shrink:0}.bc-criterion-weight label{font-size:.8rem;color:var(--text-secondary, #8b949e)}.bc-criterion-weight input{width:65px;padding:.45rem .4rem;border:1px solid var(--border-color, #30363d);border-radius:6px;text-align:center;font-size:.9rem;font-weight:600;background:var(--bg-tertiary, #0d1117);color:var(--text-primary, #e6edf3)}.bc-criterion-weight input:focus{outline:none;border-color:var(--accent-color, #58a6ff)}.bc-criterion-weight span{font-weight:600;font-size:.9rem}.bc-criterion-desc-section{margin-bottom:.75rem}.bc-criterion-desc-label{font-size:.8rem;color:var(--text-secondary, #8b949e);display:block;margin-bottom:.35rem}.bc-criterion-desc{width:100%;box-sizing:border-box;font-family:Fira Code,Consolas,SF Mono,monospace;font-size:.85rem;border:1px solid var(--border-color, #30363d);border-radius:6px;padding:.6rem;resize:vertical;background:var(--bg-tertiary, #0d1117);color:var(--text-primary, #e6edf3);line-height:1.5}.bc-criterion-desc:focus{outline:none;border-color:var(--accent-color, #58a6ff)}.bc-criterion-preview{margin-top:.5rem;padding:.6rem .75rem;background:var(--bg-tertiary, #0d1117);border:1px solid var(--border-color, #30363d);border-left:3px solid var(--accent-color, #58a6ff);border-radius:0 6px 6px 0;font-size:.85rem;color:var(--text-primary, #e6edf3);overflow-wrap:break-word;word-break:break-word}.bc-criterion-preview p{margin:.3rem 0}.bc-criterion-preview ul,.bc-criterion-preview ol{padding-left:1.5rem;margin:.3rem 0}.bc-criterion-preview li{margin:.15rem 0}.bc-criterion-preview li>p{margin:.1rem 0}.bc-criterion-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.6rem;border-top:1px solid var(--border-color, #30363d)}.bc-criterion-move{display:flex;gap:.4rem}.bc-criterion-move button{background:var(--bg-tertiary, #21262d);border:1px solid var(--border-color, #30363d);padding:.3rem .6rem;border-radius:6px;cursor:pointer;font-size:.8rem;color:var(--text-secondary, #8b949e);transition:all .2s}.bc-criterion-move button:hover:not(:disabled){color:var(--text-primary, #e6edf3);background:var(--bg-hover, #30363d);border-color:var(--text-secondary, #8b949e)}.bc-criterion-move button:disabled{opacity:.3;cursor:not-allowed}.bc-criterion-remove{background:transparent;border:1px solid rgba(248,81,73,.4);color:#f85149;padding:.3rem .7rem;border-radius:6px;cursor:pointer;font-size:.8rem;transition:all .2s}.bc-criterion-remove:hover{background:#f851491a;border-color:#f85149}.bc-criterion-done{background:var(--accent-color, #238636);color:#fff;border:none;padding:.3rem .7rem;border-radius:6px;cursor:pointer;font-size:.8rem;transition:background .2s}.bc-criterion-done:hover{background:var(--accent-hover, #2ea043)}.bc-criterion-footer-right{display:flex;align-items:center;gap:.5rem}.bc-criterion-view{cursor:pointer;transition:background .2s;border-radius:4px;padding:.25rem;margin:-.25rem}.bc-criterion-view:hover{background:#ffffff08}.bc-criterion-view-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.bc-criterion-view-name{flex:1;font-size:.95rem;font-weight:500;color:var(--text-primary, #e6edf3)}.bc-criterion-view-weight{font-size:.9rem;font-weight:700;color:var(--accent-color, #58a6ff);flex-shrink:0}.bc-criterion-view-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;opacity:0;transition:opacity .2s}.bc-criterion-view:hover .bc-criterion-view-footer{opacity:1}.bc-criterion-edit-hint{font-size:.8rem;color:var(--accent-color, #58a6ff);font-weight:500}.bc-submission-hint{color:var(--text-secondary, #8b949e);font-size:.85rem;margin-bottom:1rem}.bc-submission-field{display:flex;justify-content:space-between;align-items:center;padding:.85rem .75rem;border:1px solid var(--border-color, #30363d);border-radius:6px;margin-bottom:.5rem;background:var(--bg-secondary, #161b22);transition:border-color .2s}.bc-submission-field:hover:not(.disabled){border-color:var(--text-secondary, #484f58)}.bc-submission-field.disabled{opacity:.6;cursor:not-allowed}.bc-submission-field-info{display:flex;flex-direction:column}.bc-submission-field-label{font-weight:500;font-size:.9rem;color:var(--text-primary, #e6edf3)}.bc-submission-field-hint{font-size:.75rem;color:var(--text-secondary, #8b949e);margin-top:.2rem}.bc-submission-field-toggles{display:flex;gap:1rem;align-items:center}.bc-submission-field.field-disabled{opacity:.5}.bc-toggle{display:flex;align-items:center;gap:.6rem;cursor:pointer}.bc-toggle input[type=checkbox]{appearance:none;-webkit-appearance:none;width:36px;height:20px;background:var(--bg-tertiary, #21262d);border:1px solid var(--border-color, #30363d);border-radius:10px;position:relative;cursor:pointer;transition:all .2s;flex-shrink:0}.bc-toggle input[type=checkbox]:after{content:"";position:absolute;width:14px;height:14px;background:var(--text-secondary, #8b949e);border-radius:50%;top:2px;left:2px;transition:all .2s}.bc-toggle input[type=checkbox]:checked{background:var(--accent-color, #238636);border-color:var(--accent-color, #238636)}.bc-toggle input[type=checkbox]:checked:after{background:#fff;left:18px}.bc-toggle-label{font-size:.8rem;font-weight:500;min-width:55px}.bc-toggle input:checked+.bc-toggle-label{color:#3fb950}.bc-toggle input:not(:checked)+.bc-toggle-label{color:var(--text-secondary, #8b949e)}.bc-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.bc-modal{background:var(--bg-secondary, #161b22);border:1px solid var(--border-color, #30363d);border-radius:8px;padding:1.5rem;max-width:400px;width:90%;color:var(--text-primary, #e6edf3)}.bc-modal h3{margin:0 0 .75rem}.bc-modal p{color:var(--text-secondary, #8b949e);margin-bottom:1.25rem;line-height:1.5}.bc-modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.bc-modal .btn-cancel{background:transparent;color:var(--text-secondary, #8b949e);border:1px solid var(--border-color, #30363d);padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.85rem}.bc-modal .btn-cancel:hover{color:var(--text-primary, #e6edf3);border-color:var(--text-secondary, #8b949e)}.bc-delete-confirm-input{width:100%;padding:.5rem .75rem;margin-bottom:.75rem;background:var(--bg-primary, #0d1117);border:1px solid var(--border-color, #30363d);border-radius:6px;color:var(--text-primary, #e6edf3);font-size:.9rem}.bc-delete-confirm-input:focus{outline:none;border-color:#f85149;box-shadow:0 0 0 2px #f8514933}.bc-delete-confirm-input::placeholder{color:var(--text-secondary, #8b949e)}.challenge-section{border-top:1px solid var(--border-color, #30363d);margin-top:.25rem}.challenge-section-header{padding:.4rem .75rem .15rem}.challenge-section-label{font-size:.7rem;font-weight:600;color:var(--text-secondary, #8b949e);text-transform:uppercase;letter-spacing:.05em}.status-badge.closed{background-color:#f8514926;color:#f85149}.status-badge.published{background-color:#3fb95026;color:#3fb950}.bc-score-scale-section{display:flex;align-items:center;gap:12px;padding:12px 16px;flex-wrap:wrap;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.06)}.bc-score-scale-section .btn-save{margin-left:auto}.bc-score-scale-label{font-weight:600;color:#e6edf3;min-width:80px}.bc-score-scale-inputs{display:flex;align-items:center;gap:8px}.bc-score-scale-inputs input{width:70px;padding:6px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#e6edf3;font-size:14px;text-align:center}.bc-score-scale-inputs span{color:#8b949e}.bc-score-scale-locked{display:flex;align-items:center;gap:12px}.bc-score-scale-value{font-weight:600;color:#e6edf3;font-size:16px}.bc-score-scale-warning{font-size:12px;color:#d29922}.bc-criterion-view-scale{font-size:11px;color:#8b949e;margin-left:8px}.bc-criterion-scale-section{display:flex;align-items:center;gap:10px;padding:8px 0;margin-top:4px}.bc-criterion-scale-label{font-size:12px;font-weight:600;color:#8b949e;min-width:70px}.bc-criterion-scale-inputs{display:flex;align-items:center;gap:8px}.bc-criterion-scale-inputs input{width:70px;padding:6px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#e6edf3;font-size:14px;text-align:center}.bc-criterion-scale-inputs input:focus{border-color:#58a6ff;outline:none}.bc-criterion-scale-inputs input:disabled{opacity:.5;cursor:not-allowed}.bc-criterion-scale-inputs span{color:#8b949e;font-size:13px}.bc-judges-loading{padding:40px;text-align:center;color:#8b949e}.bc-judges-content{display:flex;flex-direction:column;height:100%}.bc-judge-search{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.bc-judge-search input{width:100%;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#e6edf3;font-size:14px;margin-bottom:8px}.bc-judge-search-status,.bc-judge-search-empty{padding:8px 0;color:#8b949e;font-size:13px}.bc-judge-search-results{display:flex;flex-direction:column;gap:4px}.bc-judge-search-item{display:flex;align-items:center;gap:8px;padding:8px;background:#ffffff08;border-radius:4px}.bc-judge-search-name{flex:1;font-weight:500;color:#e6edf3}.bc-judge-search-type{font-size:12px;color:#8b949e}.bc-judge-card{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.bc-judge-info{display:flex;align-items:center;gap:12px}.bc-judge-name{font-weight:500;color:#e6edf3}.bc-judge-type{font-size:12px;color:#8b949e;background:#ffffff0d;padding:2px 8px;border-radius:4px}.bc-judge-confirm{display:flex;align-items:center;gap:8px;font-size:13px;color:#f85149}.btn-small{padding:4px 10px;font-size:12px}.bc-ai-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 8px}.bc-ai-column{min-width:0}.bc-ai-section-header{display:flex;align-items:center;gap:8px;margin:16px 16px 8px}.bc-ai-section-header h4{margin:0}.bc-ai-info-btn{font-size:1.1rem;color:#8b949e;cursor:pointer;background:none;border:1px solid transparent;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0}.bc-ai-info-btn:hover,.bc-ai-info-btn.active{color:#58a6ff;background:#58a6ff1a;border-color:#58a6ff4d}.bc-ai-info-panel{margin:0 16px 12px;padding:12px 16px;background:#58a6ff0f;border:1px solid rgba(88,166,255,.2);border-radius:6px;font-size:.85rem;color:#c9d1d9;line-height:1.5}.bc-ai-info-panel p{margin:0 0 8px}.bc-ai-info-panel ul{margin:0;padding-left:20px}.bc-ai-info-panel li{margin-bottom:4px}.season-analytics-card{background:var(--color-surface);border:1px solid #374151;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s ease}.season-analytics-card:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.season-analytics-header{margin-bottom:1.25rem}.season-analytics-title{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.season-analytics-title h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text)}.status-badge{font-size:.75rem;padding:.125rem .5rem;border-radius:4px;font-weight:500}.status-badge.published{background:var(--color-success-bg, #dcfce7);color:var(--color-success, #16a34a)}.status-badge.draft{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning, #d97706)}.status-badge.archived{background:var(--color-muted-bg, #f1f5f9);color:var(--color-text-muted, #64748b)}.campaign-name{font-size:.875rem;color:var(--color-text-muted)}.season-analytics-metrics{display:flex;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.metric{display:flex;align-items:center;gap:.5rem;color:var(--color-text-muted)}.metric svg{flex-shrink:0}.metric-content{display:flex;flex-direction:column}.metric-value{font-size:1.125rem;font-weight:600;color:var(--color-text);line-height:1.2}.metric-label{font-size:.75rem;color:var(--color-text-muted)}.season-analytics-chart h4{margin:0 0 .75rem;font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.season-analytics-challenges{display:flex;align-items:center;gap:.375rem;margin-top:.75rem;font-size:.8125rem;color:var(--color-text-muted)}.season-analytics-footer{display:flex;align-items:center;justify-content:flex-end;gap:.25rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border);font-size:.875rem;color:var(--color-primary);font-weight:500}.season-analytics-footer svg{transition:transform .2s}.season-analytics-card:hover .season-analytics-footer svg{transform:translate(4px)}.detail-challenges{display:flex;flex-direction:column}.detail-challenges h3{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--color-text)}.challenges-table{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow-x:auto}.challenges-table table{width:100%;border-collapse:collapse}.challenges-table th,.challenges-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.challenges-table th{background:var(--color-background);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.challenges-table td{font-size:.875rem;color:var(--color-text)}.challenges-table tr:last-child td{border-bottom:none}.challenge-row{cursor:pointer}.challenge-row:hover td{background:var(--color-background)}.challenges-table .expand-col{width:2rem;padding-right:0;color:var(--color-text-muted)}.challenge-title{font-weight:500}.challenge-status{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.challenge-status.published{background:var(--color-success-bg, #dcfce7);color:var(--color-success, #16a34a)}.challenge-status.closed{background:var(--color-background);color:var(--color-text-muted);border:1px solid var(--color-border)}.challenge-status.draft{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning, #d97706)}.coverage-cell{white-space:nowrap}.coverage-pct{font-weight:500}.coverage-na{color:var(--color-text-muted);cursor:help}.coverage-required{margin-left:.375rem;padding:.1rem .3rem;border-radius:3px;background:var(--color-background);border:1px solid var(--color-border);font-size:.65rem;text-transform:uppercase;color:var(--color-text-muted)}.challenge-detail-row td{background:var(--color-background);white-space:normal}.challenge-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}.challenge-detail-block h4{margin:0 0 .5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.challenge-detail-block ul{margin:0;padding:0;list-style:none}.challenge-detail-block li{display:flex;justify-content:space-between;gap:1rem;padding:.25rem 0;font-size:.8125rem}.detail-label{color:var(--color-text-muted)}.detail-value{font-weight:500;color:var(--color-text)}.challenge-detail-note{margin:.5rem 0 0;font-size:.75rem;line-height:1.4;color:var(--color-text-muted)}.challenges-empty{padding:2rem;text-align:center;color:var(--color-text-muted)}.analytics-dashboard{display:flex;flex-direction:column;height:100vh;background:var(--bg-canvas, #0d1117);color:var(--text-primary, #e6edf3);--color-background: var(--bg-canvas, #0d1117);--color-surface: var(--bg-surface, #161b22);--color-border: var(--border-default, #30363d);--color-text: var(--text-primary, #e6edf3);--color-text-muted: var(--text-secondary, #8b949e);--color-primary: var(--accent-fg, #58a6ff);--color-success: var(--success-fg, #3fb950);--color-success-bg: rgba(35, 134, 54, .2);--color-warning: var(--warning-fg, #d29922);--color-warning-bg: rgba(158, 106, 3, .2);--color-error: var(--danger-fg, #f85149);--color-error-bg: rgba(248, 81, 73, .1)}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header-left{display:flex;align-items:center;gap:1rem}.header-left h1{margin:0;font-size:1.75rem;font-weight:600;color:var(--color-text)}.nav-back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:all .2s}.nav-back-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.header-right{display:flex;align-items:center;gap:1rem}.refresh-info{font-size:.875rem;color:var(--color-text-muted)}.refresh-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:.875rem;transition:all .2s}.refresh-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.refresh-btn .spinning{animation:spin 1s linear infinite}.analytics-content{flex:1;padding:2rem;overflow-y:auto;max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem}.analytics-empty{text-align:center;padding:3rem;color:var(--color-text-muted)}.analytics-pagination{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:110px;height:38px;padding:0 1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.pagination-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-background);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.pagination-btn:active:not(:disabled){transform:translateY(0);box-shadow:none}.pagination-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--color-background);border-color:transparent;box-shadow:none}.pagination-info{display:inline-flex;align-items:center;justify-content:center;height:38px;font-size:.875rem;font-weight:500;color:var(--color-text-muted);background:var(--color-surface);padding:0 1.2rem;border-radius:20px;border:1px solid var(--color-border)}.analytics-loading{display:flex;justify-content:center;padding:4rem;color:var(--color-text-muted)}.analytics-error{padding:1rem;background:var(--color-error-bg, #fef2f2);color:var(--color-error, #dc2626);border-radius:8px;margin-bottom:1.5rem;font-size:.875rem}.analytics-detail{display:flex;flex-direction:column;gap:1.5rem}.detail-tables{display:flex;flex-direction:column;gap:1rem}.detail-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--color-border)}.detail-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:.875rem;font-weight:500;color:var(--color-text-muted);cursor:pointer}.detail-tab:hover{color:var(--color-text)}.detail-tab[aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.detail-tab-count{padding:.05rem .4rem;border-radius:10px;background:var(--color-background);border:1px solid var(--color-border);font-size:.7rem;font-weight:600}.detail-tables .sessions-table{max-height:500px;overflow-y:auto}.detail-empty{padding:2rem;text-align:center;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.detail-header{display:flex;flex-direction:column;gap:.5rem}.detail-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text)}.back-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 0;background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.back-btn:hover{text-decoration:underline}.campaign-label{font-size:.875rem;color:var(--color-text-muted)}.detail-summary{display:flex;gap:1.5rem;flex-wrap:wrap}.summary-card{display:flex;flex-direction:column;align-items:flex-start;padding:1.25rem 1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;min-width:150px}.summary-icon{color:var(--color-primary);margin-bottom:.5rem}.summary-value{font-size:1.75rem;font-weight:700;color:var(--color-text);line-height:1.2}.summary-label{font-size:.875rem;color:var(--color-text-muted);margin-top:.25rem}.detail-chart-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem}.detail-chart-section h3,.detail-sessions h3{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--color-text)}.sessions-table{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;max-height:400px;overflow-x:hidden;overflow-y:auto}.sessions-table table{width:100%;border-collapse:collapse}.sessions-table th,.sessions-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.sessions-table th{background:var(--color-background);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.sessions-table td{font-size:.875rem;color:var(--color-text)}.sessions-table tr:last-child td{border-bottom:none}.sessions-table tr:hover td{background:var(--color-background)}.session-title{font-weight:500}.completion-pct{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-weight:500;font-size:.75rem}.completion-pct[data-level=high]{background:var(--color-success-bg, #dcfce7);color:var(--color-success, #16a34a)}.completion-pct[data-level=medium]{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning, #d97706)}.completion-pct[data-level=low]{background:var(--color-error-bg, #fef2f2);color:var(--color-error, #dc2626)}.sessions-empty{padding:2rem;text-align:center;color:var(--color-text-muted)}@media(max-width:768px){.analytics-dashboard{padding:1rem}.analytics-header{flex-direction:column;align-items:flex-start;gap:1rem}.analytics-grid{grid-template-columns:1fr}.detail-summary{flex-direction:column}.summary-card{min-width:auto}.sessions-table{overflow-x:auto}}.template-builder-loading{display:flex;justify-content:center;align-items:center;min-height:50vh;color:var(--text-secondary, #999)}.template-builder-error{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;margin:.5rem 2rem;background:#422;border:1px solid #663333;border-radius:6px;color:#f99}.template-builder-error button{background:none;border:none;color:#f99;font-size:1.25rem;cursor:pointer}.template-builder-main{padding:2rem}.template-builder-toolbar{margin-bottom:1.5rem}.template-btn{padding:.5rem 1rem;border:1px solid var(--border-default, #2a2a4a);border-radius:6px;cursor:pointer;font-size:.875rem;background:var(--bg-surface, #16213e);color:var(--text-primary, #e0e0e0);transition:background .15s}.template-btn:hover{background:var(--bg-hover, #1a2744)}.template-btn:disabled{opacity:.5;cursor:not-allowed}.template-btn-primary{background:var(--accent-primary, #4a6cf7);border-color:var(--accent-primary, #4a6cf7);color:#fff}.template-btn-primary:hover{background:#3a5cd7}.template-btn-secondary{background:var(--bg-surface, #16213e)}.template-btn-back{background:transparent;border:none;color:var(--text-secondary, #999)}.template-btn-back:hover{color:var(--text-primary, #e0e0e0)}.template-btn-edit{color:var(--accent-primary, #4a6cf7)}.template-btn-duplicate{color:#4ae0a5}.template-btn-delete{color:#ff6b6b;border-color:#633}.template-btn-delete:hover{background:#422}.template-btn-confirm{background:var(--accent-primary, #4a6cf7);color:#fff}.template-btn-cancel{background:transparent}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.template-card{background:var(--bg-surface, #16213e);border:1px solid var(--border-default, #2a2a4a);border-radius:8px;overflow:hidden;position:relative}.template-card-preview{overflow:hidden;pointer-events:none}.template-card-no-bg{color:var(--text-secondary, #999);font-size:.875rem}.template-card-info{padding:.75rem 1rem}.template-card-name{margin:0;font-size:1rem;font-weight:600}.template-default-badge{display:inline-block;margin-left:.5rem;padding:.1rem .5rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--accent-primary, #4a6cf7);color:#fff;border-radius:4px;vertical-align:middle}.template-card-meta{font-size:.75rem;color:var(--text-secondary, #999)}.template-card-actions{display:flex;flex-wrap:wrap;gap:.35rem;padding:.5rem .75rem .75rem;border-top:1px solid var(--border-default, #2a2a4a)}.template-card-actions .template-btn{flex:1 1 auto;padding:.35rem .5rem;font-size:.7rem;text-align:center;min-width:0}.template-list-error{padding:.75rem;margin-bottom:1rem;background:#422;border:1px solid #663333;border-radius:6px;color:#f99}.template-inline-modal{position:absolute;inset:0;background:#000000d9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1rem;z-index:10}.template-inline-modal p{margin:0;font-weight:600}.template-inline-actions{display:flex;gap:.5rem}.template-input{width:100%;max-width:250px;padding:.5rem;border:1px solid var(--border-default, #2a2a4a);border-radius:4px;background:var(--bg-canvas, #1a1a2e);color:var(--text-primary, #e0e0e0);font-size:.875rem}.template-builder-editor{padding:1rem 2rem}.template-editor-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.template-name-input{padding:.5rem .75rem;border:1px solid var(--border-default, #2a2a4a);border-radius:6px;background:var(--bg-surface, #16213e);color:var(--text-primary, #e0e0e0);font-size:1rem;font-weight:600;min-width:200px}.template-editor-content{display:flex;gap:1.5rem}.template-editor-canvas-area{flex:1;min-width:0}.template-editor-sidebar{width:280px;flex-shrink:0}.template-dropdown{position:relative}.template-dropdown-menu{display:none;position:absolute;top:100%;left:0;background:var(--bg-surface, #16213e);border:1px solid var(--border-default, #2a2a4a);border-radius:6px;padding:.25rem 0;z-index:20;min-width:200px;box-shadow:0 4px 12px #0000004d}.template-dropdown:hover .template-dropdown-menu{display:block}.template-dropdown-item{display:block;width:100%;padding:.5rem 1rem;border:none;background:none;color:var(--text-primary, #e0e0e0);cursor:pointer;text-align:left;font-size:.875rem}.template-dropdown-item:hover{background:var(--bg-hover, #1a2744)}.template-canvas-wrapper{width:100%}.template-canvas{width:100%;position:relative;container-type:size;background-size:cover;background-position:center;background-repeat:no-repeat;border:2px solid var(--border-default, #2a2a4a);border-radius:4px;overflow:hidden;box-shadow:0 4px 16px #0003}.template-canvas-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #999);font-size:1rem}.draggable-element{touch-action:none;box-sizing:border-box}.draggable-element-selected{outline:2px solid var(--accent-primary, #4a6cf7);outline-offset:-1px}.draggable-element-dragging{opacity:.9}.resize-handle{position:absolute;width:10px;height:10px;background:var(--accent-primary, #4a6cf7);border:1px solid white;border-radius:2px;z-index:10;touch-action:none}.resize-handle-nw{top:-5px;left:-5px;cursor:nw-resize}.resize-handle-ne{top:-5px;right:-5px;cursor:ne-resize}.resize-handle-sw{bottom:-5px;left:-5px;cursor:sw-resize}.resize-handle-se{bottom:-5px;right:-5px;cursor:se-resize}.resize-handle-n{top:-5px;left:50%;transform:translate(-50%);cursor:n-resize}.resize-handle-s{bottom:-5px;left:50%;transform:translate(-50%);cursor:s-resize}.resize-handle-e{right:-5px;top:50%;transform:translateY(-50%);cursor:e-resize}.resize-handle-w{left:-5px;top:50%;transform:translateY(-50%);cursor:w-resize}.alignment-guide{position:absolute;z-index:100;pointer-events:none}.alignment-guide-vertical{border-left:1px dashed}.alignment-guide-horizontal{border-top:1px dashed}.alignment-guide-center{border-color:#f48}.alignment-guide-edge{border-color:#4af}.template-data-field{padding:2px 4px;line-height:1.2}.element-config{background:var(--bg-surface, #16213e);border:1px solid var(--border-default, #2a2a4a);border-radius:8px;padding:1rem}.element-config-empty{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--text-secondary, #999);font-size:.85rem;text-align:center}.element-config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-default, #2a2a4a)}.element-config-header h3{margin:0;font-size:.95rem}.element-config-delete{padding:.25rem .5rem;font-size:.75rem}.element-config-section{margin-bottom:.75rem}.element-config-section>label{display:block;font-size:.75rem;color:var(--text-secondary, #999);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.5px}.element-config-row{display:flex;gap:.5rem}.element-config-field{display:flex;align-items:center;gap:.25rem;flex:1}.element-config-field span{font-size:.75rem;color:var(--text-secondary, #999);min-width:14px}.element-config-field input[type=number]{width:100%;padding:.35rem;border:1px solid var(--border-default, #2a2a4a);border-radius:4px;background:var(--bg-canvas, #1a1a2e);color:var(--text-primary, #e0e0e0);font-size:.8rem}.element-config-z-input,.element-config-number-input{width:80px;padding:.35rem;border:1px solid var(--border-default, #2a2a4a);border-radius:4px;background:var(--bg-canvas, #1a1a2e);color:var(--text-primary, #e0e0e0);font-size:.8rem}.element-config-textarea{width:100%;padding:.35rem;border:1px solid var(--border-default, #2a2a4a);border-radius:4px;background:var(--bg-canvas, #1a1a2e);color:var(--text-primary, #e0e0e0);font-size:.8rem;resize:vertical;font-family:inherit}.element-config-select{width:100%;padding:.35rem;border:1px solid var(--border-default, #2a2a4a);border-radius:4px;background:var(--bg-canvas, #1a1a2e);color:var(--text-primary, #e0e0e0);font-size:.8rem}.element-config-color-row{display:flex;gap:.5rem;align-items:center}.element-config-color-picker{width:36px;height:30px;padding:0;border:1px solid var(--border-default, #2a2a4a);border-radius:4px;cursor:pointer;background:none}.element-config-color-text{flex:1;padding:.35rem;border:1px solid var(--border-default, #2a2a4a);border-radius:4px;background:var(--bg-canvas, #1a1a2e);color:var(--text-primary, #e0e0e0);font-size:.8rem;font-family:monospace}.element-config-alignment{display:flex;gap:.25rem}.alignment-btn{padding:.35rem .75rem;border:1px solid var(--border-default, #2a2a4a);border-radius:4px;background:var(--bg-canvas, #1a1a2e);color:var(--text-primary, #e0e0e0);cursor:pointer;font-size:.9rem}.alignment-btn-active{background:var(--accent-primary, #4a6cf7);border-color:var(--accent-primary, #4a6cf7);color:#fff}.template-preview-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.template-preview-content{position:relative;width:100%;max-width:900px}.template-preview-close{position:absolute;top:-2.5rem;right:0;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;z-index:10}.template-preview-close:hover{color:#ff6b6b}.template-preview-header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;color:#fff;font-size:1.1rem;font-weight:600}.template-btn-preview{color:#4af}@media(max-width:768px){.template-editor-content{flex-direction:column}.template-editor-sidebar{width:100%}.template-editor-toolbar{flex-wrap:wrap}.template-grid{grid-template-columns:1fr}}.template-readonly-notice{background:var(--warning-bg, #fff3cd);color:var(--warning-text, #856404);padding:4px 12px;border-radius:4px;font-size:.85rem;font-weight:500}.template-owner-select{padding:4px 8px;border:1px solid var(--border, #ddd);border-radius:4px;font-size:.85rem;background:#fff}.template-owner-readonly{font-size:.85rem;color:var(--text-secondary, #999);padding:4px 8px}.template-owner-inline{display:flex;align-items:center;gap:6px}.template-owner-select-sm{padding:2px 6px;border:1px solid var(--border-color, #30363d);border-radius:4px;font-size:.8rem;background:var(--surface-color, #161b22);color:var(--text-primary, #e6edf3);max-width:140px}.cloud-credits-gate-backdrop{filter:blur(5px);pointer-events:none;opacity:.5}.cloud-credits-gate-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000}.cloud-credits-gate-modal{background:var(--bg-tertiary, #1c2128);border:1px solid var(--border-primary, #30363d);border-radius:12px;padding:2.5rem;text-align:center;max-width:400px;width:90%;box-shadow:0 8px 32px #0006}.cloud-credits-gate-modal .gate-icon{font-size:3rem;margin-bottom:1rem}.cloud-credits-gate-modal h2{color:var(--text-primary, #c9d1d9);margin:0 0 .75rem;font-size:1.5rem}.cloud-credits-gate-modal p{color:var(--text-secondary, #8b949e);margin:0 0 1.5rem;line-height:1.5}.btn-claim-credits{background:linear-gradient(135deg,#238636,#2ea043);color:#fff;border:none;padding:.875rem 1.75rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.btn-claim-credits:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2ea04366}.btn-claim-credits:active{transform:translateY(0)}.challenge-list{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.challenge-list-empty,.challenge-list-loading{text-align:center;color:var(--text-secondary, #8b949e);padding:3rem 1rem;font-size:.9rem}.challenge-list-card{border:1px solid var(--border-color, #30363d);border-radius:8px;padding:1rem;background:var(--bg-secondary, #161b22);cursor:pointer;transition:border-color .2s,background .2s}.challenge-list-card:hover{border-color:var(--accent-color, #58a6ff);background:var(--bg-tertiary, #21262d)}.challenge-list-card.selected{border-color:var(--accent-color, #58a6ff);background:var(--bg-tertiary, #21262d);border-left:3px solid var(--accent-color, #58a6ff)}.challenge-list-title{margin:0 0 .4rem;font-size:.95rem;font-weight:600;color:var(--text-primary, #e6edf3);line-height:1.3}.challenge-list-card-row{display:flex;justify-content:space-between;align-items:center;gap:.3rem .5rem;flex-wrap:wrap}.challenge-list-badges{display:flex;gap:.3rem;flex-wrap:wrap;align-items:center}.challenge-mode-badge{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:10px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.challenge-mode-badge.team{background:#58a6ff26;color:#58a6ff}.challenge-mode-badge.solo{background:#d2992226;color:#d29922}.challenge-status-badge{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:10px;white-space:nowrap}.challenge-status-badge.published{background:#3fb95026;color:#3fb950}.challenge-status-badge.closed{background:#f8514926;color:#f85149}.challenge-list-card-meta{display:flex;gap:.5rem;font-size:.75rem;color:var(--text-secondary, #8b949e);flex-wrap:wrap;overflow:hidden;text-overflow:ellipsis}.challenge-list-card-meta span:not(:last-child):after{content:"·";margin-left:.5rem}.challenge-user-status{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:10px;white-space:nowrap}.challenge-user-status.submitted{background:#3fb95026;color:#3fb950}.challenge-user-status.draft{background:#d2992226;color:#d29922}.challenge-user-status.on-team{background:#58a6ff26;color:#58a6ff}.submit-confirm-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.submit-confirm-modal{background:var(--bg-secondary, #1a1a2e);border-radius:12px;width:100%;max-width:480px;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;border:1px solid var(--border-color, #333)}.submit-confirm-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color, #333)}.submit-confirm-header h3{margin:0;font-size:1.25rem;color:var(--text-primary, #fff)}.submit-confirm-modal .modal-close-btn{background:none;border:none;color:var(--text-muted, #888);font-size:1.25rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s,color .2s}.submit-confirm-modal .modal-close-btn:hover{background:var(--bg-primary, #0f0f1a);color:var(--text-primary, #fff)}.submit-confirm-body{padding:20px}.submit-finality-warning{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.9rem;line-height:1.5}.submit-confirm-info{background:var(--bg-primary, #0f0f1a);border:1px solid var(--border-color, #333);border-radius:8px;padding:12px 16px}.submit-info-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.submit-info-label{color:var(--text-muted, #888);font-size:.85rem}.submit-info-value{font-weight:600;font-size:.9rem;color:var(--text-primary, #fff)}.submit-confirm-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color, #333)}.btn-submit-confirm{padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;background:var(--accent-color, #6366f1);color:#fff}.btn-submit-confirm:hover:not(:disabled){filter:brightness(1.15)}.btn-submit-confirm:disabled{opacity:.5;cursor:not-allowed}.cd-container{padding:1rem;color:var(--text-primary, #e6edf3);width:100%;box-sizing:border-box}.cd-split-layout{display:flex;gap:1rem;align-items:flex-start;width:100%}.cd-split-left{flex:3;min-width:0}.cd-split-right{flex:2;min-width:0;position:sticky;top:1rem;max-height:calc(100vh - 200px);overflow-y:auto}@media(max-width:1200px){.cd-split-layout{flex-direction:column}.cd-split-right{position:static;max-height:none}}.cd-loading{text-align:center;color:var(--text-secondary, #8b949e);padding:3rem}.cd-header{margin-bottom:1.5rem}.cd-back{background:none;border:none;color:var(--accent-color, #58a6ff);cursor:pointer;font-size:.85rem;padding:0;margin-bottom:.75rem;display:block}.cd-back:hover{text-decoration:underline}.cd-title-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.cd-title-row h2{margin:0;font-size:1.5rem}.cd-badges{display:flex;gap:.4rem;flex-shrink:0}.cd-mode-badge,.cd-status-badge{font-size:.7rem;font-weight:600;padding:.2rem .6rem;border-radius:12px;text-transform:uppercase}.cd-mode-badge.team{background:#58a6ff26;color:#58a6ff}.cd-mode-badge.solo{background:#d2992226;color:#d29922}.cd-status-badge.published{background:#3fb95026;color:#3fb950}.cd-status-badge.closed{background:#f8514926;color:#f85149}.cd-deadline{margin-top:.5rem;font-size:.85rem;color:var(--text-secondary, #8b949e)}.cd-deadline.closed{color:#f85149}.cd-error{background:#f851491a;color:#f85149;padding:.5rem .75rem;border-radius:6px;margin-bottom:.75rem;font-size:.85rem;border:1px solid rgba(248,81,73,.3)}.cd-success{background:#23863626;color:#3fb950;padding:.5rem .75rem;border-radius:6px;margin-bottom:.75rem;font-size:.85rem;border:1px solid rgba(63,185,80,.3)}.cd-closed-info{display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem;text-align:center;color:var(--text-secondary, #8b949e)}.cd-closed-info-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.7}.cd-closed-info h3{color:var(--text-primary, #e6edf3);margin:0 0 .5rem;font-size:1.1rem}.cd-closed-info p{margin:0 0 .25rem;font-size:.9rem;line-height:1.5}.cd-closed-info-deadline{color:var(--text-tertiary, #6e7681);font-size:.8rem}.cd-section{margin-bottom:1rem;border:1px solid var(--border-color, #30363d);border-radius:8px;padding:.75rem 1rem;background:var(--bg-secondary, #161b22)}.cd-section h3{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--text-primary, #e6edf3);padding-bottom:.5rem;border-bottom:1px solid var(--border-color, #30363d)}.cd-section-header-row{display:flex;justify-content:space-between;align-items:center}.cd-section-header-row h3{margin-bottom:0;padding-bottom:0;border-bottom:none}.cd-spec-content{font-size:.9rem;line-height:1.6}.cd-spec-content img{max-width:80%;height:auto;border-radius:6px}.cd-spec-content a{color:var(--accent-color, #58a6ff)}.cd-spec-content code{background:var(--bg-tertiary, #21262d);padding:.15rem .3rem;border-radius:4px;font-size:.85em}.cd-spec-content pre{background:var(--bg-tertiary, #0d1117);padding:.75rem;border-radius:6px;overflow-x:auto}.cd-spec-content pre code{background:none;padding:0}.cd-spec-content blockquote{border-left:3px solid var(--border-color, #30363d);padding-left:.75rem;color:var(--text-secondary, #8b949e)}.cd-spec-content table{border-collapse:collapse;width:100%}.cd-spec-content th,.cd-spec-content td{border:1px solid var(--border-color, #30363d);padding:.4rem .6rem;text-align:left}.cd-spec-content th{background:var(--bg-tertiary, #21262d)}.cd-spec-content p{margin:.5rem 0}.cd-spec-content ul,.cd-spec-content ol{padding-left:1.5rem;margin:.5rem 0}.cd-spec-content li{margin:.25rem 0}.cd-spec-content li>p{margin:.15rem 0}.cd-criteria-list{display:flex;flex-direction:column;gap:.5rem}.cd-criterion{border:1px solid var(--border-color, #30363d);border-radius:6px;padding:.6rem .75rem;background:var(--bg-tertiary, #0d1117)}.cd-criterion-header{display:flex;justify-content:space-between;align-items:center}.cd-criterion-name{font-weight:500;font-size:.9rem}.cd-criterion-weight{font-weight:700;color:var(--accent-color, #58a6ff);font-size:.9rem}.cd-criterion-desc{margin-top:.4rem;font-size:.85rem;color:var(--text-secondary, #8b949e);border-left:3px solid var(--accent-color, #58a6ff);padding-left:.6rem}.cd-criterion-desc p{margin:.3rem 0}.cd-criterion-desc ul,.cd-criterion-desc ol{padding-left:1.5rem;margin:.3rem 0}.cd-criterion-desc li{margin:.15rem 0}.cd-criterion-desc li>p{margin:.1rem 0}.cd-team-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.cd-team-name{font-weight:600;font-size:1.05rem}.cd-team-code{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-secondary, #8b949e)}.cd-team-code code{background:var(--bg-tertiary, #0d1117);padding:.2rem .5rem;border-radius:4px;font-weight:600;color:var(--accent-color, #58a6ff);letter-spacing:.05em}.cd-roster{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem}.cd-roster-member{display:flex;justify-content:space-between;align-items:center;padding:.4rem .6rem;background:var(--bg-tertiary, #0d1117);border-radius:6px}.cd-member-name{font-size:.9rem;display:flex;align-items:center;gap:.5rem}.cd-leader-badge{font-size:.7rem;font-weight:600;background:#d2992226;color:#d29922;padding:.1rem .4rem;border-radius:8px}.cd-member-actions{display:flex;gap:.3rem}.cd-team-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.cd-rename-inline{display:flex;gap:.3rem;flex:1;min-width:200px}.cd-rename-inline input{flex:1;padding:.35rem .5rem;background:var(--bg-tertiary, #0d1117);border:1px solid var(--border-color, #30363d);border-radius:6px;color:var(--text-primary, #e6edf3);font-size:.85rem}.cd-team-hint{color:var(--text-secondary, #8b949e);font-size:.85rem;margin-bottom:.75rem}.cd-team-buttons{display:flex;gap:.5rem;margin-bottom:.75rem}.cd-team-form{display:flex;flex-direction:column;gap:.5rem;max-width:400px}.cd-team-form input{padding:.45rem .6rem;background:var(--bg-tertiary, #0d1117);border:1px solid var(--border-color, #30363d);border-radius:6px;color:var(--text-primary, #e6edf3);font-size:.9rem}.cd-team-form input:focus{outline:none;border-color:var(--accent-color, #58a6ff)}.cd-form-actions{display:flex;gap:.5rem;justify-content:flex-end}.cd-submission-status{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.cd-sub-badge{font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:10px}.cd-sub-badge.submitted{background:#3fb95026;color:#3fb950}.cd-sub-badge.draft{background:#d2992226;color:#d29922}.cd-sub-editor{font-size:.8rem;color:var(--text-secondary, #8b949e)}.cd-submission-form{display:flex;flex-direction:column;gap:.75rem}.cd-form-group{display:flex;flex-direction:column;gap:.25rem}.cd-form-group label{font-size:.85rem;font-weight:500;color:var(--text-secondary, #8b949e)}.cd-required{color:#f85149;margin-left:.2rem}.cd-field-hint{font-size:.75rem;color:var(--text-secondary, #484f58);margin-left:.3rem}.cd-field-note{font-size:.75rem;line-height:1.5;color:var(--text-secondary, #8b949e);margin:.4rem 0 0}.cd-form-group input,.cd-form-group textarea{padding:.45rem .6rem;background:var(--bg-tertiary, #0d1117);border:1px solid var(--border-color, #30363d);border-radius:6px;color:var(--text-primary, #e6edf3);font-size:.9rem;font-family:inherit}.cd-form-group input:focus,.cd-form-group textarea:focus{outline:none;border-color:var(--accent-color, #58a6ff)}.cd-form-group input:disabled,.cd-form-group textarea:disabled{opacity:.6;cursor:not-allowed}.cd-submission-actions{display:flex;gap:.5rem;justify-content:flex-end;padding-top:.5rem}.cd-submit-blocked{flex:1;margin:0;align-self:center;text-align:left;font-size:.85rem;color:var(--warning-fg, #d29922)}.cd-btn-primary{background:var(--accent-color, #238636);color:#fff;border:none;padding:.45rem 1rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:background .2s}.cd-btn-primary:hover{background:var(--accent-hover, #2ea043)}.cd-btn-primary:disabled{opacity:.5;cursor:not-allowed}.cd-btn-secondary{background:var(--bg-tertiary, #21262d);color:var(--text-primary, #e6edf3);border:1px solid var(--border-color, #30363d);padding:.45rem 1rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.cd-btn-secondary:hover{background:var(--bg-hover, #30363d);border-color:var(--text-secondary, #8b949e)}.cd-btn-small{background:var(--bg-tertiary, #21262d);color:var(--text-secondary, #8b949e);border:1px solid var(--border-color, #30363d);padding:.2rem .5rem;border-radius:4px;cursor:pointer;font-size:.75rem;transition:all .2s}.cd-btn-small:hover{color:var(--text-primary, #e6edf3)}.cd-btn-tiny{background:none;border:none;color:var(--text-secondary, #8b949e);cursor:pointer;font-size:.75rem;padding:.15rem .4rem}.cd-btn-tiny:hover{color:var(--text-primary, #e6edf3)}.cd-btn-tiny.danger{color:#f85149}.cd-btn-tiny.danger:hover{color:#da3633}.cd-team-bar{display:flex;align-items:center;gap:.75rem;padding:.5rem 0}.cd-team-bar .cd-team-name{font-weight:600;font-size:.95rem}.cd-team-count,.cd-team-size-rule{font-size:.8rem;color:var(--text-secondary, #8b949e)}.cd-team-hint-inline{font-size:.85rem;color:var(--text-secondary, #8b949e);flex:1}.cd-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.cd-modal{background:var(--bg-secondary, #161b22);border:1px solid var(--border-color, #30363d);border-radius:10px;width:min(480px,90vw);max-height:80vh;overflow-y:auto;box-shadow:0 8px 30px #00000080}.cd-modal.cd-modal-wide{width:min(640px,90vw)}.cd-modal-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-color, #30363d)}.cd-modal-header h3{margin:0;font-size:1rem;font-weight:600}.cd-modal-body{padding:1rem}.cd-file-list{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.5rem}.cd-file-item{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;background:var(--bg-tertiary, #0d1117);border-radius:6px;border:1px solid var(--border-color, #30363d)}.cd-file-name{flex:1;font-size:.85rem;color:var(--accent-color, #58a6ff);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cd-file-name:hover{text-decoration:underline}.cd-file-size{font-size:.75rem;color:var(--text-secondary, #8b949e);flex-shrink:0}.cd-file-upload-btn{cursor:pointer;display:inline-block}.cd-file-add-btn{cursor:pointer;font-size:1rem;font-weight:600;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.cd-refresh{text-align:center;padding:1rem 0}.cd-info-banner{padding:.5rem .75rem;margin:.5rem 0;background:#d299221a;border:1px solid rgba(210,153,34,.3);border-radius:6px;font-size:.85rem;color:#d29922}.cd-notice-banner{padding:.5rem .75rem;margin:.5rem 0;background:#3884f41a;border:1px solid rgba(56,132,244,.3);border-radius:6px;font-size:.85rem;color:#58a6ff}.cd-ai-review-section{margin-top:1rem;border:1px solid var(--border-color, #30363d);border-radius:6px;overflow:hidden}.cd-ai-review-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-secondary, #161b22);border:none;color:var(--text-primary, #e6edf3);cursor:pointer;font-size:.9rem;font-weight:600}.cd-ai-review-toggle:hover{background:var(--bg-tertiary, #1c2128)}.cd-ai-review-badge{font-size:.75rem;padding:2px 8px;border-radius:12px;background:#238636;color:#fff;font-weight:500}.cd-ai-review-badge-stale{background:#9e6a03}.cd-ai-review-content{padding:1rem 1.25rem;border-top:1px solid var(--border-color, #30363d);font-size:.9rem;line-height:1.7;max-height:500px;overflow-y:auto}.cd-ai-review-content h2{font-size:1.1rem;margin:1.25rem 0 .5rem;padding-bottom:.3rem;border-bottom:1px solid var(--border-color, #30363d)}.cd-ai-review-content h2:first-child{margin-top:0}.cd-ai-review-content h3{font-size:.95rem;margin:1rem 0 .4rem}.cd-ai-review-content h4{font-size:.88rem;margin:.75rem 0 .3rem;color:var(--text-secondary, #8b949e)}.cd-ai-review-content p{margin:.4rem 0}.cd-ai-review-content ul,.cd-ai-review-content ol{margin:.4rem 0;padding-left:1.5rem}.cd-ai-review-content li{margin:.25rem 0}.cd-ai-review-content strong{color:var(--text-primary, #e6edf3)}.cd-ai-review-content em{color:var(--text-secondary, #8b949e)}.cost-main{flex:1;padding:1.5rem 2rem;overflow-y:auto}.cost-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.cost-back-btn,.cost-refresh-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border-default, #30363d);border-radius:6px;background:var(--bg-surface, #161b22);color:var(--text-primary, #e6edf3);cursor:pointer;font-size:.875rem;transition:all .2s}.cost-back-btn:hover,.cost-refresh-btn:hover{border-color:var(--accent-fg, #58a6ff);color:var(--accent-fg, #58a6ff)}.cost-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cost-error{padding:1rem;margin-bottom:1rem;border-radius:8px;background:#f851491a;border:1px solid var(--danger-fg, #f85149);color:var(--danger-fg, #f85149)}.cost-loading,.cost-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:var(--text-secondary, #8b949e);gap:1rem}.cost-table-wrapper{border:1px solid var(--border-default, #30363d);border-radius:8px;overflow:hidden}.cost-table{width:100%;border-collapse:collapse;font-size:.875rem}.cost-table th{text-align:left;padding:.75rem 1rem;background:var(--bg-surface, #161b22);color:var(--text-secondary, #8b949e);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-default, #30363d)}.cost-table th.num,.cost-table td.num{text-align:right}.cost-row{cursor:pointer;transition:background .15s}.cost-row:hover{background:#58a6ff0d}.cost-row.expanded{background:#58a6ff14}.cost-row td{padding:.75rem 1rem;border-bottom:1px solid var(--border-muted, #21262d);color:var(--text-primary, #e6edf3)}.cost-row td.muted{color:var(--text-secondary, #8b949e)}.cost-value{font-family:SF Mono,Fira Code,monospace;color:var(--success-fg, #3fb950);font-weight:600}.cost-detail-row td{padding:0;background:var(--bg-surface, #161b22);border-bottom:1px solid var(--border-default, #30363d)}.cost-detail-loading,.cost-detail-empty{padding:1.5rem;text-align:center;color:var(--text-secondary, #8b949e)}.cost-breakdown-table{width:100%;border-collapse:collapse;font-size:.8125rem}.cost-breakdown-table th{text-align:left;padding:.5rem 1rem;color:var(--text-secondary, #8b949e);font-weight:500;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-muted, #21262d);background:#161b2280}.cost-breakdown-table th.num,.cost-breakdown-table td.num{text-align:right}.cost-breakdown-table td{padding:.5rem 1rem;border-bottom:1px solid var(--border-muted, #21262d);color:var(--text-primary, #e6edf3)}.cost-breakdown-table tr:last-child td{border-bottom:none}.cost-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;color:var(--text-secondary, #8b949e);font-size:.875rem}.cost-pagination button{display:flex;align-items:center;gap:.25rem;padding:.5rem 1rem;border:1px solid var(--border-default, #30363d);border-radius:6px;background:var(--bg-surface, #161b22);color:var(--text-primary, #e6edf3);cursor:pointer;font-size:.875rem;transition:all .2s}.cost-pagination button:hover:not(:disabled){border-color:var(--accent-fg, #58a6ff);color:var(--accent-fg, #58a6ff)}.cost-pagination button:disabled{opacity:.4;cursor:not-allowed}.mp-container{width:100%}.mp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.mp-header-actions{display:flex;gap:.5rem;align-items:center}.mp-add-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--accent-fg, #58a6ff);border-radius:6px;background:transparent;color:var(--accent-fg, #58a6ff);cursor:pointer;font-size:.875rem;transition:all .2s}.mp-add-btn:hover{background:#58a6ff1a}.mp-refresh-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border-default, #30363d);border-radius:6px;background:transparent;color:var(--fg-muted, #8b949e);cursor:pointer;font-size:.875rem;transition:all .2s}.mp-refresh-btn:hover{border-color:var(--accent-fg, #58a6ff);color:var(--accent-fg, #58a6ff)}.mp-refresh-btn:disabled{opacity:.6;cursor:not-allowed}@keyframes mp-spin-anim{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mp-spin{animation:mp-spin-anim 1s linear infinite}.mp-table-wrapper{border:1px solid var(--border-default, #30363d);border-radius:8px;overflow:hidden}.mp-table{width:100%;border-collapse:collapse;font-size:.875rem}.mp-table th{text-align:left;padding:.75rem 1rem;background:var(--bg-surface, #161b22);color:var(--text-secondary, #8b949e);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-default, #30363d)}.mp-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.mp-sortable:hover{color:var(--accent-fg, #58a6ff)}.mp-table th.num,.mp-table td.num{text-align:right}.mp-row{transition:background .15s}.mp-row:hover{background:#58a6ff0d}.mp-row td{padding:.75rem 1rem;border-bottom:1px solid var(--border-muted, #21262d);color:var(--text-primary, #e6edf3)}.mp-row-inactive td{opacity:.6}.mp-model-id{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:SF Mono,Fira Code,monospace;font-size:.8125rem}.mp-cost{font-family:SF Mono,Fira Code,monospace;color:var(--success-fg, #3fb950);font-weight:600}.mp-status-badge{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600}.mp-active{background:#3fb95026;color:var(--success-fg, #3fb950)}.mp-inactive{background:#8b949e26;color:var(--text-secondary, #8b949e)}.mp-actions{display:flex;gap:.5rem;align-items:center}.mp-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-default, #30363d);border-radius:6px;background:transparent;color:var(--text-secondary, #8b949e);cursor:pointer;transition:all .2s}.mp-action-btn:hover{border-color:var(--accent-fg, #58a6ff);color:var(--accent-fg, #58a6ff)}.mp-action-btn.mp-delete:hover{border-color:var(--danger-fg, #f85149);color:var(--danger-fg, #f85149)}.mp-action-btn:disabled{opacity:.4;cursor:not-allowed}.mp-loading,.mp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:var(--text-secondary, #8b949e);gap:1rem}.mp-error{padding:1rem;margin-bottom:1rem;border-radius:8px;background:#f851491a;border:1px solid var(--danger-fg, #f85149);color:var(--danger-fg, #f85149)}.mp-success{padding:.75rem 1rem;margin-bottom:1rem;border-radius:8px;background:#3fb9501a;border:1px solid var(--success-fg, #3fb950);color:var(--success-fg, #3fb950)}.mp-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.mp-modal{background:var(--bg-default, #0d1117);border:1px solid var(--border-default, #30363d);border-radius:12px;width:100%;max-width:520px;padding:1.5rem}.mp-modal h2{margin:0 0 1.5rem;font-size:1.125rem;color:var(--text-primary, #e6edf3)}.mp-form-group{margin-bottom:1rem}.mp-form-group label{display:block;margin-bottom:.375rem;font-size:.8125rem;color:var(--text-secondary, #8b949e);font-weight:500}.mp-form-group input{width:100%;padding:.5rem .75rem;border:1px solid var(--border-default, #30363d);border-radius:6px;background:var(--bg-surface, #161b22);color:var(--text-primary, #e6edf3);font-size:.875rem;box-sizing:border-box}.mp-form-group input:focus{outline:none;border-color:var(--accent-fg, #58a6ff);box-shadow:0 0 0 2px #58a6ff4d}.mp-form-group .mp-field-error{color:var(--danger-fg, #f85149);font-size:.75rem;margin-top:.25rem}.mp-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.mp-modal-cancel{padding:.5rem 1rem;border:1px solid var(--border-default, #30363d);border-radius:6px;background:transparent;color:var(--text-primary, #e6edf3);cursor:pointer;font-size:.875rem}.mp-modal-cancel:hover{border-color:var(--text-secondary, #8b949e)}.mp-modal-submit{padding:.5rem 1rem;border:1px solid var(--accent-fg, #58a6ff);border-radius:6px;background:var(--accent-fg, #58a6ff);color:#fff;cursor:pointer;font-size:.875rem;font-weight:600}.mp-modal-submit:hover{opacity:.9}.mp-modal-submit:disabled{opacity:.5;cursor:not-allowed}.mp-modal-error{padding:.75rem;margin-bottom:1rem;border-radius:6px;background:#f851491a;border:1px solid var(--danger-fg, #f85149);color:var(--danger-fg, #f85149);font-size:.8125rem}.mp-confirm-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1001}.mp-confirm{background:var(--bg-default, #0d1117);border:1px solid var(--border-default, #30363d);border-radius:12px;width:100%;max-width:400px;padding:1.5rem}.mp-confirm p{margin:0 0 1.5rem;color:var(--text-primary, #e6edf3);font-size:.9375rem}.mp-confirm-actions{display:flex;justify-content:flex-end;gap:.75rem}.mp-confirm-delete{padding:.5rem 1rem;border:1px solid var(--danger-fg, #f85149);border-radius:6px;background:var(--danger-fg, #f85149);color:#fff;cursor:pointer;font-size:.875rem;font-weight:600}.mp-confirm-delete:hover{opacity:.9}.mp-confirm-delete:disabled{opacity:.5;cursor:not-allowed}.pricing-main{flex:1;padding:1.5rem 2rem;overflow-y:auto}.pricing-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.pricing-back-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border-default, #30363d);border-radius:6px;background:var(--bg-surface, #161b22);color:var(--text-primary, #e6edf3);cursor:pointer;font-size:.875rem;transition:all .2s}.pricing-back-btn:hover{border-color:var(--accent-fg, #58a6ff);color:var(--accent-fg, #58a6ff)}.ai-report-pro{border-left:3px solid #238636;padding-left:.5rem;margin-left:-.5rem}.ai-report-con{border-left:3px solid #d29922;padding-left:.5rem;margin-left:-.5rem}.ai-report-low-conf{border-left:3px solid #8b949e;padding-left:.5rem;margin-left:-.5rem;opacity:.85}.ss-trigger-review-btn{padding:6px 12px;border:1px solid var(--border-color, #30363d);border-radius:6px;background:var(--bg-secondary, #21262d);color:var(--text-primary, #e6edf3);cursor:pointer;font-size:.85rem;margin-right:.5rem}.ss-trigger-review-btn:hover:not(:disabled){background:var(--bg-tertiary, #30363d)}.ss-trigger-review-btn:disabled{opacity:.5;cursor:not-allowed}.ss-fail-review-btn{padding:6px 12px;border:1px solid #da3633;border-radius:6px;background:transparent;color:#da3633;cursor:pointer;font-size:.85rem;margin-right:.5rem}.ss-fail-review-btn:hover{background:#da3633;color:#fff}.ss-review-badge{font-size:.75rem;padding:2px 8px;border-radius:12px;font-weight:500}.ss-review-completed{background:#238636;color:#fff}.ss-review-processing{background:#9e6a03;color:#fff}.ss-review-failed{background:#da3633;color:#fff}.ss-review-pending{background:#6e7681;color:#fff}.ss-review-hint{margin-top:.4rem;font-size:.75rem;color:var(--text-secondary, #8b949e);font-style:italic}.ss-review-error{margin-top:.5rem;padding:.5rem .75rem;border:1px solid #da3633;border-radius:6px;background:#da36331a;color:#f85149;font-size:.85rem;word-break:break-word}.ss-ai-report-details{margin-top:.5rem}.ss-ai-report-details summary{cursor:pointer;font-weight:600;font-size:.9rem}.ss-ai-report-content{margin-top:.5rem;padding:1rem 1.25rem;border:1px solid var(--border-color, #30363d);border-radius:6px;background:var(--bg-secondary, #161b22);font-size:.85rem;line-height:1.7;max-height:500px;overflow-y:auto}.ss-ai-report-content h2{font-size:1.15rem;margin:1.25rem 0 .5rem;padding-bottom:.35rem;border-bottom:1px solid var(--border-color, #30363d);color:var(--text-primary, #e6edf3)}.ss-ai-report-content h2:first-child{margin-top:0}.ss-ai-report-content h3{font-size:1rem;margin:1rem 0 .4rem;color:var(--text-primary, #e6edf3)}.ss-ai-report-content h4{font-size:.9rem;margin:.75rem 0 .3rem;color:var(--text-secondary, #8b949e)}.ss-ai-report-content p{margin:.4rem 0}.ss-ai-report-content ul,.ss-ai-report-content ol{margin:.4rem 0;padding-left:1.5rem}.ss-ai-report-content li{margin:.25rem 0}.ss-ai-report-content strong{color:var(--text-primary, #e6edf3)}.ss-ai-report-content em{color:var(--text-secondary, #8b949e)}.ss-ai-report-content code{background:#6e768133;padding:.15em .4em;border-radius:3px;font-size:.9em}.ss-ai-report-content pre{background:#6e768126;padding:.75rem;border-radius:6px;overflow-x:auto;margin:.5rem 0}.ss-ai-report-content hr{border:none;border-top:1px solid var(--border-color, #30363d);margin:.75rem 0}.ss-container{padding:0}.ss-two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.ss-left-panel,.ss-right-panel{overflow-y:auto;max-height:calc(100vh - 180px)}.ss-judges-table-wrap{overflow-x:auto}.ss-back-btn{display:inline-flex;align-items:center;gap:.25rem;background:var(--bg-surface, #161b22);border:1px solid var(--border-default, #30363d);color:var(--text-primary, #e6edf3);padding:.375rem .75rem;border-radius:6px;cursor:pointer;font-size:.8125rem;font-weight:500;margin-bottom:1rem;transition:all .15s}.ss-back-btn:hover{border-color:var(--accent-fg, #58a6ff);color:var(--accent-fg, #58a6ff)}.ss-loading{padding:3rem;text-align:center;color:var(--text-secondary, #8b949e)}.ss-error{padding:.75rem 1rem;background:#f8514914;border:1px solid rgba(248,81,73,.25);border-radius:6px;color:var(--danger-fg, #f85149);font-size:.875rem;margin-bottom:.75rem}.ss-success{padding:.75rem 1rem;background:#3fb95014;border:1px solid rgba(63,185,80,.25);border-radius:6px;color:var(--success-fg, #3fb950);font-size:.875rem;margin-bottom:.75rem}.ss-section{margin-bottom:1.25rem;background:var(--bg-surface, #161b22);border:1px solid var(--border-default, #30363d);border-radius:8px;padding:1.25rem}.ss-section h3{margin:0 0 1rem;font-size:.9375rem;font-weight:600;color:var(--text-primary, #e6edf3)}.ss-team-label{font-size:.875rem;font-weight:400;color:var(--text-secondary, #8b949e)}.ss-detail-row{padding:.5rem 0;border-bottom:1px solid var(--border-muted, #21262d)}.ss-detail-row:last-child{border-bottom:none}.ss-detail-label{display:block;font-size:.6875rem;color:var(--text-secondary, #8b949e);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-weight:600}.ss-detail-value{color:var(--text-primary, #e6edf3);font-size:.875rem}.ss-detail-description{color:var(--text-primary, #e6edf3);font-size:.875rem;line-height:1.5;margin:.25rem 0 0;white-space:pre-wrap}.ss-link{color:var(--accent-fg, #58a6ff);text-decoration:none;font-size:.875rem;word-break:break-all}.ss-link:hover{text-decoration:underline}.ss-fetch-status{font-size:.8rem;font-weight:500;margin-left:8px}.ss-fetch-success{color:#238636}.ss-fetch-failed{color:#da3633}.ss-fetch-error,.ss-fetch-detail{font-size:.8rem;color:#8b949e}.ss-url-empty{font-size:.875rem;color:var(--text-secondary, #8b949e);font-style:italic}.ss-url-edit-btn{background:none;border:none;padding:0 0 0 6px;cursor:pointer;color:var(--text-secondary, #8b949e);vertical-align:middle;line-height:1}.ss-url-edit-btn:hover:not(:disabled){color:var(--accent-fg, #58a6ff)}.ss-url-edit-btn:disabled{opacity:.35;cursor:default}.ss-url-edit{display:flex;flex-direction:column;gap:.4rem;width:100%}.ss-url-edit input{width:100%;font-size:.875rem;padding:.35rem .5rem;border:1px solid var(--border-default, #30363d);border-radius:4px;background:var(--bg-default, #0d1117);color:var(--text-primary, #c9d1d9)}.ss-url-edit-actions{display:flex;gap:.4rem}.ss-url-save,.ss-url-cancel{font-size:.75rem;padding:.25rem .7rem;border-radius:4px;cursor:pointer;border:1px solid var(--border-default, #30363d)}.ss-url-save{background:#238636;border-color:#238636;color:#fff}.ss-url-cancel{background:transparent;color:var(--text-secondary, #8b949e)}.ss-url-save:disabled,.ss-url-cancel:disabled{opacity:.6;cursor:default}.ss-url-error{font-size:.75rem;line-height:1.4;color:#da3633}.ss-files-list{display:flex;flex-direction:column;gap:.25rem}.ss-file-link{color:var(--accent-fg, #58a6ff);text-decoration:none;font-size:.8125rem;padding:.25rem .5rem;background:#ffffff08;border-radius:4px;display:inline-block;transition:background .15s}.ss-file-link:hover{background:#ffffff0f}.ss-scores-form{display:flex;flex-direction:column;gap:.5rem}.ss-score-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:#ffffff05;border:1px solid var(--border-muted, #21262d);border-radius:6px}.ss-criterion-info{display:flex;align-items:center;gap:.75rem}.ss-criterion-name{font-weight:500;color:var(--text-primary, #e6edf3);font-size:.875rem}.ss-criterion-weight{font-size:.75rem;color:var(--text-secondary, #8b949e)}.ss-score-input{width:5rem;padding:.375rem .5rem;background:#ffffff0a;border:1px solid var(--border-default, #30363d);border-radius:4px;color:var(--text-primary, #e6edf3);font-size:.875rem;text-align:center;transition:border-color .15s}.ss-score-input:focus{outline:none;border-color:var(--accent-fg, #58a6ff)}.ss-score-input:disabled{opacity:.5;cursor:not-allowed}.ss-save-btn{align-self:flex-end;padding:.5rem 1.25rem;background:var(--accent-emphasis, #238636);border:1px solid var(--accent-emphasis, #238636);color:#fff;border-radius:6px;cursor:pointer;font-size:.8125rem;font-weight:500;margin-top:.5rem;transition:background .15s}.ss-save-btn:hover:not(:disabled){background:var(--accent-emphasis-hover, #2ea043)}.ss-save-btn:disabled{opacity:.5;cursor:not-allowed}.ss-judges-table{width:100%;border-collapse:separate;border-spacing:0}.ss-judges-table th{text-align:left;padding:.5rem .625rem;font-weight:600;color:var(--text-secondary, #8b949e);font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-default, #30363d)}.ss-judges-table td{padding:.5rem .625rem;border-bottom:1px solid var(--border-muted, #21262d);font-size:.875rem}.ss-judges-table tbody tr:last-child td{border-bottom:none}.ss-status-label{display:inline-block;margin-left:.5rem;font-size:.625rem;padding:.0625rem .375rem;border-radius:3px}.ss-not-started{color:var(--text-secondary, #8b949e);background:#8b949e1f}.ss-incomplete{color:var(--warning-fg, #d29922);background:#d299221f}.ss-complete{color:var(--success-fg, #3fb950);background:#3fb9501f}.ss-removed-judge{opacity:.5}.ss-removed-judge td{text-decoration:line-through}.ss-removed-label{display:inline-block;margin-left:.5rem;font-size:.625rem;color:var(--danger-fg, #f85149);background:#f851491f;padding:.0625rem .375rem;border-radius:3px;text-decoration:none}.ss-averages-row{background:#ffffff08}.ss-delete-confirm{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--danger-fg, #f85149)}.ss-score-input-group{display:flex;align-items:center;gap:8px}.ss-ai-score-wrap{position:relative}.ss-ai-score-ref{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:#8884d8;background:#8884d81a;border:1px solid rgba(136,132,216,.25);padding:3px 8px;border-radius:4px;white-space:nowrap;cursor:pointer;transition:all .15s ease}.ss-ai-score-ref:hover{background:#8884d833;border-color:#8884d880;transform:translateY(-1px)}.ss-ai-score-ref.active{background:#8884d840;border-color:#8884d899}.ss-ai-expand-icon{flex-shrink:0}.ss-ai-note-popover{position:absolute;top:calc(100% + 6px);right:0;width:280px;background:#1c2028;border:1px solid rgba(136,132,216,.3);border-radius:6px;padding:10px 12px;z-index:10;box-shadow:0 4px 12px #0006}.ss-ai-note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.75rem;color:#8884d8;font-weight:600}.ss-ai-note-close{background:none;border:none;color:#8b949e;cursor:pointer;font-size:1rem;padding:0;line-height:1}.ss-ai-note-close:hover{color:#c9d1d9}.ss-ai-note-popover p{margin:0;font-size:.8rem;color:#c9d1d9;line-height:1.4}.ss-shortlist-btn{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;padding:4px 10px;margin-bottom:10px;background:transparent;color:var(--text-secondary, #8b949e);border:1px solid var(--border-default, #30363d);border-radius:6px;cursor:pointer}.ss-shortlist-btn:hover:not(:disabled):not([aria-disabled=true]){color:var(--warning-fg, #d29922);border-color:var(--warning-fg, #d29922)}.ss-shortlist-btn.active{color:var(--warning-fg, #d29922);border-color:#d2992280;background:#d299221a}.ss-shortlist-btn:disabled,.ss-shortlist-btn[aria-disabled=true]{opacity:.7;cursor:default}.ssum-loading{padding:3rem;text-align:center;color:var(--text-secondary, #8b949e)}.ssum-error{padding:3rem;text-align:center;color:var(--danger-fg, #f85149)}.ssum-header{margin-bottom:1rem}.ssum-header h3{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--text-primary, #e6edf3)}.ssum-meta{font-size:.8125rem;color:var(--text-secondary, #8b949e)}.ssum-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border-default, #30363d);border-radius:6px;overflow:hidden}.ssum-table th{text-align:left;padding:.5rem .625rem;font-weight:600;color:var(--text-secondary, #8b949e);font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;background:var(--bg-surface, #161b22);border-bottom:1px solid var(--border-default, #30363d)}.ssum-table th small{font-weight:400;text-transform:none}.ssum-table td{padding:.625rem;border-bottom:1px solid var(--border-muted, #21262d);font-size:.875rem}.ssum-row{transition:background .15s}.ssum-row-clickable{cursor:pointer}.ssum-row-clickable:hover{background:#ffffff0a}.ssum-total{font-size:.9375rem}.ssum-detail-row td{padding:.75rem 1rem;background:#ffffff04;border-bottom:1px solid var(--border-default, #30363d)}.ssum-judge-breakdown{padding:.5rem 0}.ssum-judge-breakdown>strong{display:block;margin-bottom:.5rem;color:var(--text-secondary, #8b949e);font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em}.ssum-judge-table{width:100%;border-collapse:separate;border-spacing:0}.ssum-judge-table th{text-align:left;padding:.375rem .5rem;font-weight:600;color:var(--text-secondary, #8b949e);font-size:.625rem;border-bottom:1px solid var(--border-muted, #21262d)}.ssum-judge-table td{padding:.375rem .5rem;border-bottom:1px solid var(--border-muted, #21262d);font-size:.8125rem}.ssum-judge-table tbody tr:last-child td{border-bottom:none}.ssum-mode-badge{display:inline-block;margin-left:.5rem;font-size:.625rem;font-weight:600;padding:.0625rem .375rem;border-radius:3px;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle}.ssum-mode-badge.team{color:var(--accent-fg, #58a6ff);background:#388bfd1f}.ssum-mode-badge.solo{color:var(--success-fg, #3fb950);background:#3fb9501f}.ssum-status-label{display:inline-block;margin-left:.5rem;font-size:.625rem;padding:.0625rem .375rem;border-radius:3px}.ssum-not-started{color:var(--text-secondary, #8b949e);background:#8b949e1f}.ssum-incomplete{color:var(--warning-fg, #d29922);background:#d299221f}.ssum-complete{color:var(--success-fg, #3fb950);background:#3fb9501f}.ssum-removed{opacity:.5}.ssum-removed td{text-decoration:line-through}.ssum-members-btn{display:inline-block;margin-left:.5rem;padding:.0625rem .375rem;font-size:.625rem;font-weight:500;color:var(--accent-fg, #58a6ff);background:#388bfd14;border:1px solid rgba(56,139,253,.2);border-radius:3px;cursor:pointer;transition:all .15s;vertical-align:middle}.ssum-members-btn:hover{background:#388bfd26;border-color:var(--accent-fg, #58a6ff)}.ssum-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.ssum-modal{background:var(--bg-surface, #161b22);border:1px solid var(--border-default, #30363d);border-radius:8px;width:400px;max-width:90vw;box-shadow:0 8px 32px #0006}.ssum-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid var(--border-default, #30363d)}.ssum-modal-header h3{margin:0;font-size:.9375rem;font-weight:600;color:var(--text-primary, #e6edf3)}.ssum-modal-close{background:none;border:none;color:var(--text-secondary, #8b949e);font-size:1.25rem;cursor:pointer;padding:0 .25rem;line-height:1}.ssum-modal-close:hover{color:var(--text-primary, #e6edf3)}.ssum-modal-body{padding:1rem}.ssum-modal-project{margin:0 0 .75rem;font-size:.8125rem;color:var(--text-secondary, #8b949e)}.ssum-members-list{display:flex;flex-direction:column;gap:.25rem}.ssum-member-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem .625rem;background:#ffffff05;border:1px solid var(--border-muted, #21262d);border-radius:6px}.ssum-member-name{font-weight:500;font-size:.875rem;color:var(--text-primary, #e6edf3)}.ssum-member-role{font-size:.6875rem;font-weight:600;text-transform:uppercase;padding:.0625rem .375rem;border-radius:3px}.ssum-member-role.leader{color:var(--warning-fg, #d29922);background:#d299221f}.ssum-member-role.member{color:var(--text-secondary, #8b949e);background:#8b949e1f}.ssum-removed-label{display:inline-block;margin-left:.375rem;font-size:.625rem;color:var(--danger-fg, #f85149);background:#f851491f;padding:.0625rem .3125rem;border-radius:3px;text-decoration:none}.ssum-ai-header{background:#8884d81a;color:#8884d8;font-size:.75rem;border-left:2px solid rgba(136,132,216,.3)}.ssum-ai-cell{background:#8884d80d;color:#8884d8;font-size:.85rem;border-left:2px solid rgba(136,132,216,.15);cursor:help}.ssum-shortlist-badge{color:var(--warning-fg, #d29922);margin-right:6px;display:inline-flex;align-items:center;vertical-align:middle}.ssum-ai-total{font-size:.9375rem;color:#8884d8}.ssum-ai-score-cell{color:#8884d8;font-size:.85rem}.sd-dashboard{--sd-surface: var(--bg-surface, #161b22);--sd-border: var(--border-default, #30363d);--sd-text: var(--text-primary, #e6edf3);--sd-text-muted: var(--text-secondary, #8b949e);--sd-accent: var(--accent-fg, #58a6ff);--sd-success: var(--success-fg, #3fb950);--sd-warning: var(--warning-fg, #d29922);--sd-danger: var(--danger-fg, #f85149)}.sd-content{flex:1;overflow-y:auto;padding:1.5rem 2rem}.sd-pickers{display:flex;gap:1rem;margin-bottom:1.5rem}.sd-picker-group{display:flex;flex-direction:column;gap:.375rem;flex:1}.sd-picker-header{display:flex;align-items:center;justify-content:space-between}.sd-picker-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--sd-text-muted);letter-spacing:.05em}.sd-archive-toggle{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--sd-text-muted);cursor:pointer}.sd-archive-toggle input{cursor:pointer}.sd-select{padding:.5rem .75rem;background:var(--sd-surface);border:1px solid var(--sd-border);border-radius:6px;color:var(--sd-text);font-size:.875rem;cursor:pointer;transition:border-color .2s}.sd-select:hover:not(:disabled){border-color:var(--sd-accent)}.sd-select:disabled{opacity:.5;cursor:not-allowed}.sd-select option{background:var(--sd-surface)}.sd-notice{padding:.75rem 1rem;background:#d2992214;border:1px solid rgba(210,153,34,.25);border-radius:6px;color:var(--sd-warning);font-size:.875rem;margin-bottom:1rem}.sd-error{padding:.75rem 1rem;background:#f8514914;border:1px solid rgba(248,81,73,.25);border-radius:6px;color:var(--sd-danger);font-size:.875rem;margin-bottom:1rem}.sd-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.sd-empty-state p{margin:0 0 .25rem;font-size:1rem;color:var(--sd-text)}.sd-empty-state span{font-size:.875rem;color:var(--sd-text-muted)}.sd-loading{padding:3rem;text-align:center;color:var(--sd-text-muted)}.sd-toolbar-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.sd-toolbar-nav{margin-bottom:.5rem;justify-content:space-between}.sd-toolbar-left{display:flex;align-items:center;gap:.75rem}.sd-count{font-size:.8125rem;color:var(--sd-text-muted)}.sd-toolbar-actions{margin-bottom:1rem;padding:.5rem .75rem;background:var(--sd-surface);border:1px solid var(--sd-border);border-radius:6px;gap:0}.sd-action-group{display:flex;align-items:center;gap:.375rem;padding:0 .75rem;border-right:1px solid var(--sd-border)}.sd-action-group:last-child{border-right:none}.sd-action-group-danger{margin-left:auto;border-right:none}.sd-action-group-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--sd-text-muted);margin-right:.25rem;white-space:nowrap}.sd-action-btn{padding:5px 10px;border:1px solid var(--sd-border);border-radius:4px;background:transparent;color:var(--sd-text);cursor:pointer;font-size:.8rem;white-space:nowrap;transition:all .15s}.sd-action-btn:hover:not(:disabled){background:#ffffff0f;border-color:var(--sd-text-muted)}.sd-action-btn:disabled{opacity:.4;cursor:not-allowed}.sd-close-challenge-btn{border-color:#f8514966;color:var(--sd-danger)}.sd-close-challenge-btn:hover:not(:disabled){background:#f851491a;border-color:var(--sd-danger)}.sd-apply-ai-btn{border-color:#3fb95066;color:var(--sd-success)}.sd-review-filter{font-size:.75rem;padding:2px 6px;background:var(--sd-surface);color:var(--sd-text);border:1px solid var(--sd-border);border-radius:4px;cursor:pointer;margin-left:8px}.sd-review-summary{font-size:.75rem;color:var(--sd-text-muted);padding:2px 8px;white-space:nowrap}.sd-review-gap{color:var(--sd-warning)}.sd-cancel-btn{border-color:#f8514966;color:var(--sd-danger);font-size:.75rem;padding:4px 10px}.sd-cancel-btn:hover:not(:disabled){background:#f851491a;border-color:var(--sd-danger)}.sd-retrigger-btn{border-color:#d2992266;color:var(--sd-warning)}.sd-retrigger-btn:hover:not(:disabled){background:#d299221a;border-color:var(--sd-warning)}.sd-apply-ai-btn:hover:not(:disabled){background:#3fb9501a;border-color:var(--sd-success)}.sd-view-toggle{display:flex;border:1px solid var(--sd-border);border-radius:6px;overflow:hidden}.sd-view-toggle button{padding:.5rem 1.25rem;background:transparent;border:none;border-right:1px solid var(--sd-border);color:var(--sd-text-muted);cursor:pointer;font-size:.8125rem;font-weight:500;transition:all .15s}.sd-view-toggle button:last-child{border-right:none}.sd-view-toggle button:hover{color:var(--sd-text);background:#ffffff0a}.sd-view-toggle button.active{background:var(--sd-surface);color:var(--sd-text)}.sd-pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.5rem 0}.sd-pagination button{padding:4px 10px;border:1px solid var(--sd-border);border-radius:4px;background:transparent;color:var(--sd-text);cursor:pointer;font-size:.8rem;transition:all .15s}.sd-pagination button:hover:not(:disabled){background:#ffffff0f}.sd-pagination button:disabled{opacity:.3;cursor:not-allowed}.sd-pagination span{color:var(--sd-text-muted);font-size:.8rem}.sd-pagination-compact{margin:0;padding:0;gap:.5rem}.sd-pagination-compact button{padding:3px 8px;font-size:.75rem}.sd-pagination-compact span{font-size:.75rem}.sd-pagination-bottom{margin-top:.75rem}.sd-ai-summary{padding:.5rem .75rem;border-radius:6px;font-size:.8125rem;margin-bottom:.5rem}.sd-ai-summary-ok{background:#3fb95014;border:1px solid rgba(63,185,80,.25);color:var(--sd-success)}.sd-ai-summary-warn{background:#d2992214;border:1px solid rgba(210,153,34,.25);color:var(--sd-warning)}.sd-ai-summary strong{font-weight:700}.sd-completeness-badge{font-size:.75rem;font-weight:600;padding:2px 6px;border-radius:10px}.sd-completeness-complete{background:#3fb95026;color:var(--sd-success)}.sd-completeness-partial{background:#d2992226;color:var(--sd-warning)}.sd-completeness-none{background:#8b949e26;color:var(--sd-text-muted)}.sd-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--sd-border);border-radius:6px;overflow:hidden}.sd-table th{text-align:left;padding:.625rem 1rem;font-weight:600;color:var(--sd-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;background:var(--sd-surface);border-bottom:1px solid var(--sd-border)}.sd-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-muted, #21262d);font-size:.875rem}.sd-table tbody tr{cursor:pointer;transition:background .15s}.sd-table tbody tr:hover{background:#ffffff0a}.sd-table tbody tr:last-child td{border-bottom:none}.sd-action-cell{text-align:right}.sd-scoring-badge{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.sd-mode-badge{display:inline-block;margin-left:.5rem;font-size:.625rem;font-weight:600;padding:.0625rem .375rem;border-radius:3px;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle}.sd-mode-badge.team{color:var(--sd-accent);background:#388bfd1f}.sd-mode-badge.solo{color:var(--sd-success);background:#3fb9501f}.sd-review-badge{font-size:.7rem;padding:2px 6px;border-radius:10px;font-weight:500;text-transform:capitalize}.sd-review-completed{background:#238636;color:#fff}.sd-review-processing{background:#9e6a03;color:#fff}.sd-review-failed{background:#da3633;color:#fff}.sd-review-pending{background:#6e7681;color:#fff}.sd-review-none{color:#6e7681}.sd-trigger-review-icon{display:inline-block;margin-left:4px;padding:1px 4px;border:none;background:none;cursor:pointer;font-size:.8rem;opacity:.6;vertical-align:middle}.sd-trigger-review-icon:hover{opacity:1}.sd-fail-review-icon{display:inline-block;margin-left:4px;padding:1px 4px;border:none;background:none;cursor:pointer;font-size:.8rem;opacity:.6;vertical-align:middle}.sd-fail-review-icon:hover{opacity:1}.sd-delete-btn{display:inline-block;margin-left:4px;padding:1px 4px;border:none;background:none;cursor:pointer;font-size:.8rem;opacity:.6;vertical-align:middle;color:#d32f2f}.sd-delete-btn:hover{opacity:1}.sd-delete-btn:disabled{opacity:.3;cursor:not-allowed}.sd-view-btn{padding:.375rem .875rem;background:transparent;border:1px solid var(--sd-border);color:var(--sd-accent);border-radius:4px;cursor:pointer;font-size:.8125rem;font-weight:500;transition:all .15s}.sd-view-btn:hover{background:#388bfd1a;border-color:var(--sd-accent)}.sd-ai-scoring-group{display:flex;align-items:center;gap:6px}.sd-ai-donut-wrap{width:32px;height:32px;flex-shrink:0}.sd-ai-donut{width:100%;height:100%;animation:sd-donut-pulse 2s ease-in-out infinite}@keyframes sd-donut-pulse{0%,to{opacity:1}50%{opacity:.7}}.sd-ai-scoring-btn{padding:5px 10px;font-size:.8rem;border:1px solid rgba(136,132,216,.4);background:transparent;color:#8884d8;border-radius:4px;cursor:pointer;white-space:nowrap;transition:all .15s}.sd-ai-scoring-btn:hover:not(:disabled){background:#8884d81a}.sd-ai-scoring-btn:disabled{opacity:.4;cursor:not-allowed}.sd-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.sd-modal{background:var(--sd-card, #1c2333);border:1px solid var(--sd-border, #30363d);border-radius:8px;padding:24px;max-width:420px;width:90%}.sd-modal h3{margin:0 0 8px;font-size:1rem}.sd-modal p{margin:0 0 16px;color:var(--sd-muted, #8b949e);font-size:.9rem}.sd-modal-actions{display:flex;gap:8px;margin-bottom:12px}.sd-modal-actions .sd-action-btn{flex:1}.sd-modal-close{width:100%;padding:6px;background:transparent;border:1px solid var(--sd-border, #30363d);color:var(--sd-muted, #8b949e);border-radius:4px;cursor:pointer;font-size:.85rem}.sd-modal-close:hover{border-color:var(--sd-accent, #388bfd)}.sd-search-wrapper{position:relative;display:inline-flex;align-items:center}.sd-search-input{padding:6px 28px 6px 10px;background:var(--sd-surface, #161b22);border:1px solid var(--sd-border, #30363d);color:var(--sd-text, #e6edf3);border-radius:6px;font-size:.85rem;width:240px}.sd-search-input::placeholder{color:var(--sd-muted, #8b949e)}.sd-search-input:focus{border-color:var(--sd-accent, #388bfd);outline:none}.sd-search-clear{position:absolute;right:6px;background:none;border:none;color:var(--sd-muted, #8b949e);cursor:pointer;font-size:1.1rem;line-height:1;padding:2px 4px}.sd-search-clear:hover{color:var(--sd-text, #e6edf3)}.sd-match-badge{display:inline-block;margin-left:6px;padding:1px 6px;font-size:.7rem;border-radius:4px;background:var(--sd-accent, #388bfd);color:#fff;vertical-align:middle}.sd-article-link{color:var(--sd-accent, #388bfd);text-decoration:none;font-size:.85rem}.sd-article-link:hover{text-decoration:underline}.sd-fetch-badge{display:inline-block;margin-left:4px;font-size:.7rem;font-weight:700;vertical-align:middle}.sd-fetch-success{color:#238636}.sd-fetch-failed{color:#da3633}.sd-shortlist-col{width:32px;text-align:center;padding-left:4px;padding-right:4px;color:var(--sd-text-muted)}.sd-shortlist-star{background:none;border:none;padding:2px;cursor:pointer;color:var(--sd-text-muted);display:inline-flex;align-items:center;border-radius:4px}.sd-shortlist-star:hover:not(:disabled){color:var(--sd-warning);background:#d299221f}.sd-shortlist-star.active{color:var(--sd-warning)}.sd-shortlist-star:disabled{opacity:.5;cursor:default}.sd-shortlist-filter{font-size:.75rem;padding:2px 8px;background:var(--sd-surface);color:var(--sd-text);border:1px solid var(--sd-border);border-radius:4px;cursor:pointer;margin-left:8px;display:inline-flex;align-items:center;gap:4px}.sd-shortlist-filter.active{color:var(--sd-warning);border-color:var(--sd-warning);background:#d299221a}.sd-shortlist-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8rem;color:var(--sd-text-muted);background:var(--sd-surface);border:1px solid var(--sd-border);border-radius:6px;padding:8px 12px;margin-bottom:10px}.sd-shortlist-notice.active{color:var(--sd-warning);border-color:#d2992266}.sd-shortlist-notice span{display:inline-flex;align-items:center;gap:6px}.sd-shortlist-showall{background:none;border:1px solid currentColor;color:inherit;font-size:.75rem;padding:2px 8px;border-radius:4px;cursor:pointer;white-space:nowrap}.bug-report-fab{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(135deg,var(--accent-emphasis),var(--accent-muted));color:var(--text-on-accent, #fff);box-shadow:0 4px 12px #0000004d;transition:transform .2s ease,box-shadow .2s ease}.bug-report-fab:hover{transform:scale(1.08);box-shadow:0 6px 16px #0006}.bug-report-fab:active{transform:scale(.96)}@media(max-width:768px){.bug-report-fab{width:48px;height:48px;bottom:80px;right:16px}}.version-indicator{position:fixed;bottom:24px;left:24px;z-index:1000;display:flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:16px;border:1px solid var(--border-subtle, rgba(255, 255, 255, .1));cursor:pointer;background:var(--bg-surface, rgba(30, 30, 30, .85));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-secondary, #888);font-family:SF Mono,Monaco,Consolas,monospace;font-size:.7rem;font-weight:500;letter-spacing:.02em;transition:all .2s ease;opacity:.7}.version-indicator:hover{opacity:1;background:var(--bg-emphasis, rgba(50, 50, 50, .95));color:var(--text-primary, #fff);border-color:var(--border-default, rgba(255, 255, 255, .2))}.version-indicator:active{transform:scale(.96)}@media(max-width:768px){.version-indicator{bottom:80px;left:16px;font-size:.65rem;padding:4px 10px}}:root{--bg-canvas: #0d1117;--bg-surface: #161b22;--bg-inset: #010409;--bg-overlay: rgba(22, 27, 34, .85);--border-default: #30363d;--border-muted: #21262d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #6e7681;--text-placeholder: #484f58;--accent-emphasis: #238636;--accent-emphasis-hover: #2ea043;--accent-fg: #58a6ff;--accent-muted: #388bfd66;--danger-emphasis: #da3633;--danger-fg: #f85149;--danger-muted: #f8514926;--success-emphasis: #238636;--success-fg: #3fb950;--warning-emphasis: #9e6a03;--warning-fg: #d29922;--shadow-small: 0 1px 0 rgba(27, 31, 36, .04);--shadow-medium: 0 3px 6px rgba(1, 4, 9, .4);--shadow-large: 0 8px 24px rgba(1, 4, 9, .6);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-family-mono: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, "Liberation Mono", monospace;--font-size-small: .875rem;--font-size-base: 1rem;--font-size-large: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 12px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease}.instruction-step{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-md)}.instruction-step .step-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.instruction-step .step-type-label{font-size:var(--font-size-small);color:var(--accent-fg);font-weight:var(--font-weight-medium)}.instruction-content.markdown-body{color:var(--text-primary);line-height:1.6}.instruction-content.markdown-body h1,.instruction-content.markdown-body h2,.instruction-content.markdown-body h3,.instruction-content.markdown-body h4{color:var(--text-primary);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm)}.instruction-content.markdown-body p{margin-bottom:var(--spacing-md)}.instruction-content.markdown-body code{font-family:var(--font-family-mono);font-size:.9em;background:#6e768133;padding:.15em .4em;border-radius:3px}.empty-instruction{color:var(--text-muted);font-style:italic}.code-block{position:relative;background:#1a1f2b;border:1px solid var(--border-default);border-radius:var(--radius-md);margin:var(--spacing-md) 0;overflow:hidden}.code-block pre{margin:0;padding:var(--spacing-md);padding-right:5rem;overflow-x:auto}.code-block pre.overflow-hidden{max-height:calc(75em + 2rem);overflow-y:hidden}.code-block code{font-family:var(--font-family-mono);font-size:var(--font-size-small);color:var(--text-primary);background:none!important;padding:0!important;white-space:pre}.code-block .copy-button{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-secondary);padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer;transition:var(--transition-fast);z-index:1}.code-block .copy-button:hover{color:var(--text-primary);border-color:var(--text-secondary)}.code-block .expand-button{display:block;width:100%;background:linear-gradient(transparent,#1a1f2b 40%);border:none;color:var(--accent-fg);padding:var(--spacing-md);cursor:pointer;font-size:var(--font-size-small);margin-top:-2rem;position:relative}.code-block .expand-button:hover{text-decoration:underline}.code-block.console-block{background:#0d1117;border-color:#21262d}.code-block.console-block pre{padding-right:var(--spacing-md)}.code-block.console-block code{color:var(--text-secondary)}.empty-block{display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:#6e76811a}.empty-block-text{color:var(--text-muted);font-style:italic;font-size:var(--font-size-small)}.instruction-content.markdown-body img{max-width:100%;max-height:400px;object-fit:contain;border:1px solid var(--border-default);border-radius:var(--radius-md);margin:var(--spacing-sm) 0}.markdown-error-banner{background:var(--danger-muted);border:1px solid var(--danger-emphasis);color:var(--danger-fg);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md);font-size:var(--font-size-small)}.raw-markdown{font-family:var(--font-family-mono);font-size:var(--font-size-small);white-space:pre-wrap;color:var(--text-secondary)}.step-type-badge{font-size:.7rem;padding:.15rem .4rem;border-radius:var(--radius-sm);font-weight:var(--font-weight-medium)}.step-type-badge.instruction{background:#58a6ff26;color:var(--accent-fg)}.step-type-badge.checkpoint{background:#3fb95026;color:var(--success-fg)}.step-header-text{display:flex;align-items:center;gap:var(--spacing-sm)}.step-subtitle{display:block;font-size:.8rem;color:var(--text-muted);margin-top:.15rem}.step-subtitle.verified{color:var(--success-fg)}.validation-label{font-size:var(--font-size-small);color:var(--success-fg);font-weight:var(--font-weight-medium)}.instruction-preview{font-family:var(--font-family-mono);font-size:var(--font-size-small);color:var(--text-secondary);white-space:pre-wrap;background:var(--bg-inset);padding:var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--border-muted);max-height:200px;overflow-y:auto}.image-gallery{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-inset);border:1px solid var(--border-muted);border-radius:var(--radius-md)}.image-gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.image-gallery-header h4{margin:0;font-size:var(--font-size-small);color:var(--text-secondary)}.image-gallery .upload-btn{font-size:.75rem;padding:.2rem .5rem;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--accent-fg);cursor:pointer}.image-gallery .upload-btn:hover{border-color:var(--accent-fg)}.image-gallery-empty{font-size:var(--font-size-small);color:var(--text-muted);font-style:italic;margin:0}.image-gallery-hint{font-size:var(--font-size-small);color:var(--text-muted);font-style:italic;margin:0 0 .5rem}.image-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--spacing-sm)}.image-gallery-item{display:flex;flex-direction:column;gap:.25rem;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:var(--radius-sm);padding:var(--spacing-xs);overflow:hidden}.image-gallery-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px}.image-gallery-actions{display:flex;gap:.25rem}.image-gallery-actions button{flex:1;font-size:.65rem;padding:.15rem;border:1px solid var(--border-muted);border-radius:2px;background:var(--bg-inset);color:var(--text-secondary);cursor:pointer}.image-gallery-actions button:hover{border-color:var(--text-secondary)}.btn-delete-img:hover{color:var(--danger-fg)!important;border-color:var(--danger-fg)!important}.image-filename{font-size:.6rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
