.layout{display:flex;min-height:100vh;background:#f8fafc}.sidebar{width:280px;background:#111;color:#fff;display:flex;flex-direction:column;box-shadow:4px 0 24px #0000004d;position:sticky;top:0;height:100vh;z-index:50;border-right:1px solid rgba(255,255,255,.05)}.sidebar-header{padding:32px 24px 24px;display:flex;align-items:center;gap:16px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.05)}.sidebar-logo{color:#3b82f6;filter:drop-shadow(0 0 8px rgba(59,130,246,.4))}.sidebar-title h1{font-size:18px;font-weight:800;color:#fff;letter-spacing:-.04em;margin:0}.sidebar-title p{font-size:10px;color:#fff6;text-transform:uppercase;letter-spacing:.15em;margin-top:2px;font-weight:700}.sidebar-nav{flex:1;overflow-y:auto;padding:24px 12px}.nav-section{margin-bottom:32px}.nav-section-label{font-size:10px;font-weight:800;color:#ffffff4d;text-transform:uppercase;letter-spacing:.12em;padding:0 12px 12px}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;color:#fff9;text-decoration:none;border-radius:10px;transition:all .2s cubic-bezier(.4,0,.2,1);font-weight:600;font-size:13px;margin-bottom:4px;position:relative}.nav-link svg{transition:transform .2s}.nav-link:hover{color:#fff;background:#ffffff0d}.nav-link.active{background:#3b82f61a;color:#3b82f6;font-weight:700}.nav-link.active svg{filter:drop-shadow(0 0 5px rgba(59,130,246,.5))}.active-indicator{margin-left:auto;color:#3b82f6;opacity:.8}.sidebar-footer{padding:16px;border-top:1px solid rgba(255,255,255,.06);background:#00000080}.user-profile{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.user-info{flex:1;min-width:0}.avatar{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#2563eb);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff;box-shadow:0 4px 12px #3b82f64d}.user-info .name{display:block;font-size:13px;font-weight:700;color:#fff}.user-info .role{display:block;font-size:10px;font-weight:600;color:#fff6}.logout-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;border-radius:10px;background:transparent;color:#ffffff73;cursor:pointer;transition:background .18s ease,color .18s ease,transform .1s ease}.logout-btn:hover{background:#ef444424;color:#f87171}.logout-btn:active{transform:scale(.92)}.logout-btn:focus-visible{outline:2px solid rgba(239,68,68,.5);outline-offset:2px}.sidebar-module-selector{margin-bottom:16px;padding:0 4px}.module-selector{display:flex;align-items:center;gap:12px;background:#ffffff08;border-radius:12px;padding:12px;border:1px solid rgba(255,255,255,.05);cursor:pointer;transition:all .2s}.portal-dropdown{background:#1a1a1a!important;border:1px solid #3d3d3d;border-radius:10px;padding:6px;box-shadow:0 15px 35px #000000e6;animation:dropdownSlideIn .2s cubic-bezier(.4,0,.2,1);transform-origin:top center;z-index:10000!important;max-height:300px;overflow-y:auto}.portal-dropdown::-webkit-scrollbar{width:6px}.portal-dropdown::-webkit-scrollbar-track{background:#0003;border-radius:10px}.portal-dropdown::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px;border:1px solid rgba(0,0,0,.1)}.portal-dropdown::-webkit-scrollbar-thumb:hover{background:#fff6}.portal-dropdown{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) rgba(0,0,0,.2)}.module-selector:hover{background:#ffffff0f;border-color:#ffffff1a}.selector-current-value{font-size:13px;font-weight:700;color:#fff}.custom-dropdown-menu{display:flex;flex-direction:column;min-width:200px}.dropdown-header{font-size:11px;font-weight:800;color:#ffffff4d;padding:12px 16px 8px;text-transform:uppercase;letter-spacing:.12em}.custom-dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;color:#fffc!important;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;border-radius:8px;margin:2px 6px}.custom-dropdown-item:hover{background:#ffffff0d;color:#fff!important}.custom-dropdown-item.selected{background:#3b82f61a;color:#3b82f6!important}.check-icon{color:#3b82f6}.custom-dropdown-item.empty{color:#ffffff4d;font-style:italic;justify-content:center;cursor:default}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;overflow:hidden}.header{height:60px;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:2px solid #e2e8f0;padding:0 40px;display:flex;align-items:center;flex-shrink:0;z-index:40}.header h2{font-size:18px;font-weight:800;color:#0f172a;letter-spacing:-.03em;margin:0;line-height:1}.content{flex:1;padding:20px 40px;display:flex;flex-direction:column;overflow:hidden}.btn-more-tools{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;color:#fff6;background:transparent;border:1px dashed rgba(255,255,255,.1);border-radius:8px;cursor:pointer;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-top:8px;transition:all .2s}.btn-more-tools:hover{color:#fff;background:#ffffff0d;border-color:#fff3}.tools-expand-section{max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1)}.tools-expand-section.expanded{max-height:500px;margin-top:8px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}@media (max-width: 1024px){.sidebar{width:80px}.sidebar-title,.nav-link span,.nav-section-label,.user-info,.active-indicator{display:none}.sidebar-header,.nav-link{justify-content:center}.user-profile{justify-content:center;padding:6px;gap:0}.avatar{display:none}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f5f5f5}.login-box{background:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 8px #0000001a;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:30px}.login-header h1{font-size:20px;color:#333;margin-bottom:8px;font-weight:600}.login-header p{color:#666;font-size:12px}.login-form,.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#333;font-size:12px;font-weight:500}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:12px;transition:border-color .3s ease}.form-group input:focus{outline:none;border-color:#666;box-shadow:0 0 0 3px #33333314}.form-group input.input-error{border-color:#f04438}.form-group input.input-error:focus{border-color:#f04438;box-shadow:0 0 0 3px #f044381f}.login-error{display:flex;align-items:center;gap:8px;background-color:#fef2f2;color:#b42318;border:1px solid #fecdca;border-left:3px solid #f04438;padding:10px 12px;border-radius:6px;margin-bottom:20px;font-size:12.5px;line-height:1.35;text-align:left;animation:login-error-in .18s ease-out}.login-error__icon{flex-shrink:0;width:16px;height:16px;color:#f04438}@keyframes login-error-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.login-error{animation:none}}.login-button{width:100%;padding:12px;background-color:#333;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .3s ease}.login-button:hover{background-color:#555}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-info{margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0;text-align:center;font-size:12px;color:#666}.login-info p{margin:4px 0}.login-info strong{color:#333}.dashboard{max-width:1400px;margin:0 auto;width:100%}.dashboard-header{margin-bottom:40px}.dashboard-header h1{font-size:2rem;color:#1a1a1a;margin-bottom:.5rem;font-weight:600;letter-spacing:-.5px}.dashboard-header p{color:#6c757d;font-size:13px;font-weight:400}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:40px}.stat-card{background:#fff;padding:24px;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:20px;transition:all .2s ease;border:1px solid #e0e0e0}.stat-card:hover{box-shadow:0 2px 6px #0000001a}.stat-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:8px;color:#666;flex-shrink:0}.stat-icon svg{width:24px;height:24px}.stat-content{flex:1;min-width:0}.stat-content h4{font-size:12px;color:#6c757d;margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:.8px}.stat-value{font-size:22px;font-weight:700;color:#1a1a1a;margin:0;line-height:1.2;letter-spacing:-.5px}.dashboard-section{background:#fff;padding:24px;border-radius:8px;box-shadow:0 1px 3px #0000001a;border:1px solid #e0e0e0}.dashboard-section h4{font-size:16px;color:#1a1a1a;margin-bottom:20px;font-weight:700;letter-spacing:-.3px}.activity-list{color:#6c757d;font-size:12px}.format-spec{margin-top:24px;padding:26px;background:#fff;border:1px solid #e2e8f0;border-radius:14px}.format-spec-header{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}.format-spec-header h4{margin:0 0 5px;font-size:19px;color:#0f172a}.format-spec-sub{margin:0;font-size:14px;color:#64748b;max-width:760px}.format-spec-toggle{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#475569;flex-shrink:0}.format-spec-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding:10px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.fs-source{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px}.fs-source.backend{background:#dcfce7;color:#166534}.fs-source.seed{background:#fef3c7;color:#92400e}.fs-meta{font-size:12px;color:#64748b}.fs-toolbar-actions{margin-left:auto;display:flex;gap:8px}.fs-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:8px 13px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#334155;cursor:pointer;transition:.12s}.fs-btn:hover{background:#f1f5f9}.fs-btn:disabled{opacity:.5;cursor:not-allowed}.fs-btn.primary{background:#2563eb;border-color:#2563eb;color:#fff}.fs-btn.primary:hover{background:#1d4ed8}.fs-btn.danger{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.fs-btn.danger:hover{background:#fee2e2}.fs-msg{margin-top:12px;padding:9px 14px;border-radius:8px;font-size:12px}.fs-msg.ok{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.fs-msg.err{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.format-spec-editnote{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 14px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;font-size:12px;color:#1e3a8a;line-height:1.5}.format-spec-editnote svg{flex-shrink:0;margin-top:1px}.spec-code{font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px;background:#1e293b;color:#fff;letter-spacing:.5px;flex-shrink:0}.code-ntf{background:#ef4444}.code-2vd{background:#f59e0b}.code-svs{background:#8b5cf6}.code-e2s{background:#0ea5e9}.code-s2e{background:#06b6d4}.code-s2s{background:#0284c7}.code-spw{background:#ec4899}.code-wul{background:#16a34a}.code-prnl{background:#0d9488}.code-mcwa{background:#f97316}.code-mcwa2{background:#c2410c}.code-swg{background:#6366f1}.fs-badge{font-size:10px;font-weight:800;padding:3px 8px;border-radius:999px;display:inline-flex;align-items:center;gap:3px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.fs-badge.warn{background:#fef3c7;color:#b45309}.fs-badge.ok{background:#dcfce7;color:#15803d}.fs-badge.edit{background:#dbeafe;color:#1d4ed8}.fs-list{margin-top:14px;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.fs-row{border-bottom:1px solid #e2e8f0}.fs-row:last-child{border-bottom:none}.fs-row.open{background:#f8fafc}.fs-row.editing{box-shadow:inset 3px 0 #2563eb}.fs-row.editing .fs-row-head{background:#eff6ff}.fs-row-actions{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #eef2f7}.fs-row-remove{margin-left:auto}.fs-row-head{width:100%;display:flex;align-items:center;gap:14px;padding:17px 20px;background:transparent;border:none;cursor:pointer;text-align:left;font:inherit}.fs-row-head:hover{background:#f1f5f9}.fs-row.open .fs-row-head{background:#eef4ff}.fs-row-name{font-size:15px;font-weight:700;color:#0f172a;flex-shrink:0}.fs-row-layman{font-size:13px;color:#64748b;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.fs-row-chev{color:#64748b;flex-shrink:0}.fs-row-body{padding:16px;border-top:1px dashed #cbd5e1;background:#fff}.spec-note{background:#fef3c7;border-left:3px solid #f59e0b;padding:8px 12px;border-radius:6px;font-size:12px;color:#78350f;margin-bottom:12px}.fs-fields{margin-bottom:14px}.fs-fields strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#16a34a;margin-bottom:6px}.fs-chips{display:flex;flex-wrap:wrap;gap:6px}.fs-chip{font-size:11px;background:#f1f5f9;border:1px solid #e2e8f0;color:#334155;padding:3px 8px;border-radius:6px}.spec-qa-table{width:100%;border-collapse:collapse;font-size:12px}.spec-qa-table th,.spec-qa-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #eef2f7;vertical-align:top}.spec-qa-table th{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#64748b;background:#f8fafc}.spec-qa-table tbody tr:hover{background:#f8fafc}.spec-qa-table td:first-child{color:#0f172a;font-weight:600;width:24%;cursor:help}.spec-qa-table td:nth-child(2){color:#1e293b;width:28%}.spec-qa-table td:last-child{color:#64748b}.spec-qa-table tr.tbd td:nth-child(2){color:#b45309;font-weight:700}.fs-edit-meta{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.fs-edit-row{display:grid;grid-template-columns:1fr 2fr;gap:12px}.fs-edit-meta label,.fs-modal label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#64748b}.fs-input,.fs-textarea{width:100%;font-size:13px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:7px;color:#0f172a;font-family:inherit}.fs-input:focus,.fs-textarea:focus{outline:none;border-color:#2563eb}.fs-textarea{resize:vertical}.fs-input.code{text-transform:uppercase}.spec-qa-table input.fs-input{padding:6px 8px;font-size:12px}.fs-detail-remove{margin-top:16px}.fs-detail-close{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:7px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#475569}.fs-detail-close:hover{background:#e2e8f0}.fs-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.fs-modal{background:#fff;border-radius:14px;padding:22px;width:100%;max-width:440px;display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 40px #00000040}.fs-modal-head{display:flex;align-items:center;justify-content:space-between}.fs-modal-head h5{margin:0;font-size:16px;color:#0f172a}.fs-req{color:#dc2626}.fs-modal-hint{margin:0;font-size:12px;color:#64748b}.fs-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}@media (max-width: 720px){.fs-row-layman{display:none}.fs-edit-row{grid-template-columns:1fr}}.settings-page{max-width:100%;margin:0;width:100%;height:100%;display:flex;flex-direction:column;padding:0}.settings-container{display:flex;flex-direction:column;gap:24px;flex:1;overflow-y:auto;padding:1rem}.settings-section{background:#fff;padding:32px;border-radius:8px;box-shadow:0 1px 3px #0000001a;border:1px solid #e0e0e0}.settings-section h4{font-size:18px;color:#1a1a1a;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f0f0f0;font-weight:700;letter-spacing:-.3px}.settings-form{display:flex;flex-direction:column;gap:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-row:last-child{margin-bottom:0}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:12px;font-weight:500;color:#333}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;padding-top:28px;font-size:12px;font-weight:500;color:#333}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;margin:0}.form-group input[type=text],.form-group input[type=number]{padding:14px 16px;border:2px solid #e9ecef;border-radius:10px;font-size:13px;transition:all .3s ease;background:#fff}.form-group input[type=text]:focus,.form-group input[type=number]:focus{outline:none;border-color:#888;box-shadow:0 0 0 3px #8888881a}.form-group input[type=checkbox]{margin-right:8px;cursor:pointer}.form-group select{padding:14px 16px;border:2px solid #e9ecef;border-radius:10px;font-size:13px;background-color:#fff;color:#1a1a1a;transition:all .3s ease;cursor:pointer}.form-group select:focus{outline:none;border-color:#888;box-shadow:0 0 0 3px #8888881a}.form-group textarea{padding:14px 16px;border:2px solid #e9ecef;border-radius:10px;font-size:13px;font-family:inherit;resize:vertical;transition:all .3s ease;background:#fff}.form-group textarea:focus{outline:none;border-color:#888;box-shadow:0 0 0 3px #8888881a}.settings-actions{display:flex;gap:15px;margin-top:10px}.btn-primary{background-color:#4a9eff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;letter-spacing:.3px}.btn-primary:hover{background-color:#3b82f6;transform:translateY(-1px);box-shadow:0 4px 6px #3b82f640}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#6c757d;color:#fff;border:none;padding:14px 28px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.3px}.btn-secondary:hover{background:#5a6268}.btn-secondary:active{transform:translateY(0)}button:disabled{opacity:.6;cursor:not-allowed}button:disabled:hover{transform:none!important;box-shadow:none!important}.loading,.error-message{padding:20px;text-align:center;color:#666}.error-message{color:#666;background-color:#f5f5f5;border:1px solid #ddd;border-radius:6px;padding:15px}.empty-state{text-align:center;color:#666;padding:40px}.prompt-templates{display:flex;flex-direction:column;gap:15px}.template-item{padding:20px;background:#fafafa;border-radius:8px;border:1px solid #e9ecef;transition:all .2s ease}.template-item:hover{box-shadow:0 2px 6px #0000001a}.template-item strong{color:#333;display:block;margin-bottom:8px}.template-item p{color:#666;margin:0;white-space:pre-wrap}.page-header{margin-bottom:32px}.page-header h1{font-size:2rem;font-weight:600;color:#1a1a1a;letter-spacing:-.5px;margin:0}.admin-settings-form{margin-top:30px}.admin-settings-form .settings-form{gap:0}@media (max-width: 768px){.form-row{grid-template-columns:1fr;gap:15px}.settings-section{padding:20px}.checkbox-label{padding-top:0}}.app-settings-page{width:100%;height:100%;display:flex;flex-direction:column;padding:1rem;gap:20px;overflow-y:auto}.app-settings-page .page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.app-settings-page .page-header h1{font-size:22px;font-weight:700;color:#1a1a1a;letter-spacing:-.3px;margin:0}.app-settings-page .page-subtitle{margin:6px 0 0;font-size:13px;color:#666;max-width:62ch;line-height:1.5}.as-refresh{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;color:#333;background:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;flex-shrink:0}.as-refresh:hover:not(:disabled){background:#f7f7f7}.as-refresh:disabled{opacity:.6;cursor:not-allowed}.as-refresh .spin{animation:as-spin .9s linear infinite}@keyframes as-spin{to{transform:rotate(360deg)}}.as-banner{padding:12px 16px;border-radius:6px;font-size:13px;line-height:1.5}.as-banner.err{background:#fdf2f2;border:1px solid #f5c6c6;color:#a12622}.as-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;align-items:start}.as-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 1px 3px #0000000f;padding:24px;display:flex;flex-direction:column;gap:18px}.as-card-header{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:2px solid #f0f0f0}.as-card-header h2{font-size:16px;font-weight:700;color:#1a1a1a;margin:0;line-height:1.2}.as-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:#f2f4f7;color:#444;flex-shrink:0}.as-blurb{font-size:12px;color:#777}.as-field{display:flex;flex-direction:column;gap:8px}.as-field label{font-size:12px;font-weight:500;color:#333}.as-input{width:100%;padding:10px 12px;font-size:14px;color:#1a1a1a;background:#fff;border:1px solid #d8d8d8;border-radius:6px;outline:none;font-family:inherit}.as-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.as-input:disabled{background:#f7f7f7;color:#999;cursor:not-allowed}.as-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px}.as-meta{font-size:12px;color:#888}.as-save{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:600;color:#fff;background:#6366f1;border:none;border-radius:6px;cursor:pointer;flex-shrink:0}.as-save:hover:not(:disabled){background:#4f46e5}.as-save:disabled{background:#c7c7d1;cursor:not-allowed}.as-status{padding:10px 12px;border-radius:6px;font-size:12.5px;line-height:1.45}.as-status.ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.as-status.err{background:#fdf2f2;border:1px solid #f5c6c6;color:#a12622}.modules-manager{padding:0;max-width:100%;margin:0;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.modules-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-shrink:0;padding:1.5rem 2rem 0}.modules-title-section h1{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin:0}.modules-title-section p{color:#6c757d;margin:2px 0 0;font-size:.85rem}.btn-create{background-color:#4a9eff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background-color .2s}.btn-create:hover{background-color:#3b82f6}.modules-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000000d;overflow:hidden;flex:1;display:flex;flex-direction:column;margin:0 2rem 2rem;border:1px solid #edf2f7}.loading,.empty-state{padding:3rem;text-align:center;color:#6c757d}.table-container{overflow-y:auto;flex:1}.modules-table{width:100%;border-collapse:collapse}.modules-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.modules-table th{padding:1.25rem 1rem;text-align:left;font-weight:700;color:#64748b;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.name-header{padding-left:1rem!important}.modules-table td{padding:1.25rem 1rem;border-bottom:1px solid #f1f5f9;vertical-align:middle;color:#334155;transition:background-color .2s ease}.modules-table tbody tr:hover{background:#f8fafc}.module-name-cell{padding-left:1rem;min-height:auto}.module-name{font-weight:600;color:#0f172a;font-size:.95rem}.name-wrapper{display:flex;flex-direction:column;gap:.25rem}.module-slug{font-family:monospace;font-size:.85rem;color:#868e96;background:#f1f3f5;padding:2px 6px;border-radius:4px}.module-description{font-size:.9rem;color:#64748b;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-badge{background:#f1f5f9;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#64748b;font-size:.85rem;border:1px solid #e2e8f0}.status-badge{padding:.35rem .85rem;border-radius:8px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.025em}.status-badge.active{background:#ecfdf5;color:#059669;border:1px solid #d1fae5}.status-badge.inactive{background:#fff1f2;color:#e11d48;border:1px solid #ffe4e6}.inactive-warning{position:relative;display:flex;align-items:center;justify-content:center;cursor:help;color:#fa5252;margin-top:4px;transition:transform .2s}.inactive-warning:hover{transform:scale(1.1)}.tooltip-text{visibility:hidden;width:160px;background-color:#333;color:#fff;text-align:center;border-radius:6px;padding:8px 12px;position:absolute;z-index:100;bottom:125%;left:50%;margin-left:-80px;opacity:0;transition:opacity .3s,visibility .3s;font-size:.75rem;font-weight:400;line-height:1.4;box-shadow:0 4px 12px #00000026;pointer-events:none}.tooltip-text:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#333 transparent transparent transparent}.inactive-warning:hover .tooltip-text{visibility:visible;opacity:1}.status-cell-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.schedule-badge{display:flex;align-items:center;gap:6px;background:#eff6ff;color:#2563eb;font-size:.7rem;padding:6px 10px;border-radius:8px;border:1px solid #dbeafe;font-weight:600;white-space:nowrap;width:fit-content}.ios-datetime-input{font-family:inherit;color:#495057;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:2px;cursor:pointer}.native-datetime-picker{width:100%;padding:.75rem;border:none;background:transparent;font-family:inherit;font-size:.95rem;color:#495057;cursor:pointer}.native-datetime-picker:focus{outline:none}.ios-datetime-input:focus{border-color:#ff66b5;background-color:#fff}.field-help{font-size:.75rem;color:#868e96;margin-top:4px}.actions-col{text-align:right}.btn-more-tools{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;color:#fff6;background:transparent;border:none;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;margin-top:4px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.btn-more-tools:hover{color:#fff;background:#ffffff0d}.expand-indicator{margin-left:auto;opacity:.5}.tools-expand-section{max-height:0;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);padding-left:12px;border-left:1px solid rgba(255,255,255,.05);margin-left:20px}.action-buttons{display:flex;justify-content:flex-end;gap:.5rem}.btn-icon{padding:.5rem;border:none;background:transparent;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.btn-icon.view-custom{background:#f5f3ff;border:1px solid #ddd6fe;color:#7c3aed;margin-right:4px}.btn-icon.view-custom:hover{background:#ede9fe;transform:translateY(-1px)}.btn-icon.edit{color:#2563eb;border:1px solid #f1f5f9}.btn-icon.edit:hover{background:#eff6ff;border-color:#dbeafe}.btn-icon.delete{color:#dc2626;border:1px solid #f1f5f9}.btn-icon.delete:hover{background:#fef2f2;border-color:#fee2e2}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;z-index:1000;overflow-y:auto;padding:2rem 1rem}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:550px;box-shadow:0 20px 50px #00000026;display:flex;flex-direction:column;margin-bottom:2rem;border:1px solid #f1f5f9}.modal-header{padding:1.5rem;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.25rem;color:#1a1a1a}.btn-close{background:transparent;border:none;color:#adb5bd;cursor:pointer;padding:.5rem;border-radius:4px}.btn-close:hover{background:#f8f9fa;color:#495057}.modal-body{padding:1.5rem}.required-star{color:#f5222d;margin-left:2px}.char-counter-container{display:flex;justify-content:flex-start;margin-top:4px}.char-counter{font-size:.8rem;color:#868e96}.char-counter.at-limit{color:#fa5252;font-weight:600}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#495057;font-size:.9rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid #dee2e6;border-radius:6px;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#ff66b5;box-shadow:0 0 0 3px #ff66b51a}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.checkbox-group{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef;cursor:pointer}.checkbox-group input[type=checkbox]{width:1.2rem;height:1.2rem;cursor:pointer}.checkbox-group label{margin:0;cursor:pointer}.modal-footer{padding:1.25rem 1.5rem;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;gap:.75rem;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.btn-cancel{padding:.6rem 1.25rem;border:1px solid #dee2e6;background:#fff;color:#495057;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#f1f3f5}.btn-submit{padding:.75rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #3b82f633}.btn-submit:hover{background:#2563eb;box-shadow:0 6px 16px #3b82f64d;transform:translateY(-1px)}.modules-table tr.is-dragging{opacity:.2;background:#f1f5f9}tr.is-dragging-overlay{background-color:#fff!important;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;opacity:.98;cursor:grabbing;border:2px solid #3b82f6;border-radius:8px;z-index:9999}tr.is-dragging-overlay td{padding:1.25rem 1rem;background-color:#fff;border-bottom:none}.drag-handle{cursor:grab;display:flex;align-items:center;justify-content:center;padding:8px;color:#94a3b8;transition:all .2s;border-radius:6px}.drag-handle:hover{color:#3b82f6;background:#eff6ff}.drag-handle:active{cursor:grabbing;transform:scale(.95)}.order-col{display:flex;align-items:center;gap:.5rem}.order-badge{cursor:default}.table-pager{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.25rem;border-top:1px solid #e2e8f0;background:#f8fafc}.pager-summary{font-size:.875rem;color:#64748b}.pager-summary strong{color:#334155;font-weight:600}.pager-controls{display:flex;align-items:center;gap:.5rem}.pager-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:.5rem;background:#fff;color:#334155;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.pager-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.pager-btn:disabled{opacity:.45;cursor:not-allowed}.pager-pages{display:flex;align-items:center;gap:.25rem;margin:0 .25rem}.pager-page{min-width:2rem;height:2rem;padding:0 .4rem;border:1px solid transparent;border-radius:.5rem;background:transparent;color:#475569;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.pager-page:hover:not(.is-current){background:#e2e8f0}.pager-page.is-current{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:600;cursor:default}.pager-gap{padding:0 .25rem;color:#94a3b8;font-size:.875rem;-webkit-user-select:none;user-select:none}@media (max-width: 640px){.table-pager{justify-content:center}.pager-pages{display:none}}.user-history-page{padding:24px;width:100%;max-width:100%;margin:0 auto;height:100%;display:flex;flex-direction:column}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-shrink:0}.page-header h1{font-size:24px;font-weight:600;color:#111827;margin:0}.history-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow-y:auto;margin-bottom:24px;flex:1}.history-table{width:100%;border-collapse:collapse;text-align:left}.history-table th{position:sticky;top:0;z-index:10;background:#f9fafb;padding:16px 24px;font-size:13px;font-weight:600;text-transform:uppercase;color:#6b7280;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.history-table td{padding:16px 24px;font-size:14px;color:#374151;border-bottom:1px solid #e5e7eb}.history-table tr:last-child td{border-bottom:none}.history-table tr:hover{background:#f9fafb}.empty-state{text-align:center;padding:48px;color:#6b7280;font-style:italic}.loading-state,.error-state{text-align:center;padding:48px;color:#6b7280;font-size:16px}.score-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:9999px;font-weight:600;font-size:13px;background-color:#ecfdf5;color:#059669}.date-text{color:#6b7280;font-size:13px}.module-badge{background:#f3f4f6;color:#4b5563;padding:4px 10px;border-radius:6px;font-weight:500;font-size:13px}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;flex-shrink:0}.btn-paginate{padding:8px 16px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.btn-paginate:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db}.btn-paginate:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:14px;color:#6b7280}.history-filters{display:flex;gap:16px;margin-bottom:24px;background:#fff;padding:16px;border-radius:12px;box-shadow:0 1px 3px #0000001a;flex-shrink:0}.filter-group{display:flex;flex-direction:column;gap:6px;flex:1}.filter-group label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.025em}.filter-input,.filter-select{padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#374151;outline:none;transition:border-color .2s}.filter-input:focus,.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.sortable-header:hover{background-color:#f3f4f6!important}.header-content{display:flex;align-items:center;gap:8px}.sort-icon{display:flex;flex-direction:column;opacity:.3;transition:opacity .2s}.sortable-header.active .sort-icon{opacity:1;color:#3b82f6}.loading-overlay{opacity:.6;pointer-events:none}.timer-stepper{display:flex;align-items:center;gap:8px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:4px;width:fit-content}.stepper-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;transition:all .2s}.stepper-btn:hover{border-color:#8a2be2;color:#8a2be2;background:#8a2be20d}.stepper-input{width:60px!important;text-align:center;border:none!important;background:transparent!important;font-size:1.1rem!important;font-weight:700!important;color:#1a1a1a!important;padding:0!important;margin:0!important;cursor:default;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.stepper-input::-webkit-inner-spin-button,.stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.timer-zones-container{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #eee}.timer-zones-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.timer-zones-header label{font-size:.9rem;font-weight:600;color:#495057}.btn-reset-thirds{background:none;border:none;color:#8a2be2;font-size:.8rem;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}.btn-reset-thirds:hover{color:#7b1fa2}.timer-zones-slider{position:relative;height:48px;background:#f1f3f5;border-radius:24px;display:flex;overflow:visible;padding:4px;box-shadow:inset 0 2px 4px #0000000d}.zone{height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.85rem;transition:width .1s ease-out;position:relative;min-width:20px}.zone.red{background:linear-gradient(135deg,#ff6b6b,#ee5253);border-radius:20px 0 0 20px}.zone.amber{background:linear-gradient(135deg,#ffd93d,#ffae00)}.zone.green{background:linear-gradient(135deg,#51cf66,#2ecc71);border-radius:0 20px 20px 0}.zone span{text-shadow:0 1px 2px rgba(0,0,0,.2);white-space:nowrap}.slider-handle{position:absolute;top:0;width:12px;height:100%;background:#fff;border:2px solid #dee2e6;border-radius:6px;cursor:ew-resize;z-index:10;transform:translate(-50%);box-shadow:0 2px 4px #0000001a;transition:border-color .2s,box-shadow .2s}.slider-handle:hover{border-color:#8a2be2;box-shadow:0 0 0 4px #8a2be21a}.slider-handle:active{background:#f8f9fa;border-color:#8a2be2}.duolingo-questions-manager{padding:0;max-width:100%;margin:0;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;animation:fadeIn .5s ease-out}.tiktok-hub>.question-list{flex:1 1 auto;overflow-y:auto;min-height:0;padding-right:4px}.duolingo-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-shrink:0;padding:1.5rem 2rem 0}.duolingo-title-section h1{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin:0}.duolingo-title-section p{color:#6c757d;margin:2px 0 0;font-size:.85rem}.duolingo-content{margin:0 2rem 2rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 2rem;background:#fff;border-radius:24px;box-shadow:0 10px 30px #0000000d;border:2px dashed #e5e5e5}.empty-icon{font-size:5rem;margin-bottom:1.5rem;animation:bounce 2s infinite ease-in-out}.empty-state h3{font-size:1.8rem;font-weight:700;color:#111;margin-bottom:1rem}.empty-state p{color:#666;font-size:1.1rem;text-align:center;max-width:400px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-content{overflow:hidden}.modal-content>form{display:flex;flex-direction:column;flex:1;min-height:0}.modal-content>form>.modal-body{flex:1;min-height:0;overflow-y:auto}.question-focus-banner{display:flex;align-items:flex-start;gap:.75rem;margin:0 2rem 1rem;padding:.85rem 1rem;border-radius:12px;border:1px solid #c7d2fe;background:#eef2ff;color:#3730a3;font-size:.85rem}.question-focus-banner.focus-snapshot{border-color:#fcd34d;background:#fffbeb;color:#92400e}.question-focus-banner.focus-missing{border-color:#fecaca;background:#fef2f2;color:#991b1b}.question-focus-banner>svg{flex-shrink:0;margin-top:2px}.question-focus-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.question-focus-text strong{font-size:.9rem}.question-focus-text span{opacity:.9;line-height:1.45}.question-focus-text code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;background:#0000000f;border-radius:4px;padding:1px 5px}.question-focus-banner .btn-secondary{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:.4rem .7rem;font-size:.8rem}.question-focused>.question-item{border-color:#6366f1;box-shadow:0 0 0 3px #6366f138;animation:focusSettle 1.2s ease-out}@keyframes focusSettle{0%{box-shadow:0 0 0 9px #6366f100}to{box-shadow:0 0 0 3px #6366f138}}.question-snapshot-list{margin-bottom:0}.question-snapshot>.question-item{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b2e;background:#fffdf5;animation:none}.question-snapshot-json,.question-snapshot-prompt pre{max-height:420px;overflow:auto;margin:0 0 1rem;padding:1rem;border-radius:10px;border:1px solid #e2e8f0;background:#0f172a;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.question-snapshot-prompt{margin-bottom:1rem}.question-snapshot-prompt summary{cursor:pointer;font-size:.85rem;color:#64748b;padding:.35rem 0}.tiktok-hub{padding:1.5rem 2rem;max-width:100%;margin:0;height:100vh;display:flex;flex-direction:column;overflow:hidden}.hub-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-shrink:0}.header-actions{display:flex;gap:1rem;align-items:center}.header-info h1{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin-bottom:.25rem}.header-info p{color:#64748b;font-size:.85rem}.btn-primary{display:flex;align-items:center;gap:.5rem;background-color:var(--primary-color, #4f46e5);color:#fff;padding:.75rem 1.5rem;border-radius:.75rem;font-weight:600;border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px -1px #4f46e533}.btn-primary:hover{background-color:var(--primary-hover, #4338ca);transform:translateY(-2px);box-shadow:0 10px 15px -3px #4f46e54d}.filters-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-shrink:0}.search-wrapper{position:relative;width:400px}.search-wrapper svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8}.search-wrapper input{width:100%;padding:.75rem 1rem .75rem 3rem;border:1px solid #e2e8f0;border-radius:.75rem;font-size:1rem;transition:all .2s ease}.search-wrapper input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e51a}.table-container{background:#fff;border-radius:1rem;border:1px solid #e2e8f0;overflow-y:auto;flex:1;box-shadow:0 1px 3px #0000001a}.hub-table{width:100%;border-collapse:collapse}.hub-table th{background-color:#f8fafc;padding:.75rem 1rem;text-align:left;font-size:.8rem;font-weight:700;color:#64748b;border-bottom:1px solid #e2e8f0;text-transform:none}.hub-table td{padding:1rem;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:top}.table-loader,.empty-state{text-align:center;padding:6rem 1.5rem!important;color:#64748b;font-size:1.1rem}.empty-state{font-style:italic;background:#f8fafc;width:100%}.loader-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}.loader-content span{font-weight:600;color:#4f46e5;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.empty-state-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;border:2px dashed #e2e8f0;border-radius:1rem;padding:3rem;max-width:600px;margin:0 auto;background:#fff}.id-cell{font-family:JetBrains Mono,monospace;font-weight:600;color:#4f46e5}.video-thumb{width:60px;height:60px;background:#f1f5f9;border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:#94a3b8;position:relative;border:1px solid #e2e8f0}.overlay-link{position:absolute;bottom:-4px;right:-4px;background:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a;color:#4f46e5;border:1px solid #e2e8f0}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:2rem;font-size:.75rem;font-weight:600}.status-badge.success{background:#ecfdf5;color:#059669}.status-badge.processing{background:#eff6ff;color:#2563eb}.status-badge.error{background:#fef2f2;color:#dc2626}.status-badge.idle{background:#f8fafc;color:#64748b}.translation-preview{max-width:400px;font-size:.9375rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.5rem}.status-dot.active{background:#10b981}.status-dot.inactive{background:#cbd5e1}.wrap-cell{white-space:normal;word-break:break-word;line-height:1.5;font-size:.85rem;color:#475569;min-width:200px;max-width:350px}.action-buttons{display:flex;gap:.5rem}.visibility-cell{display:flex;align-items:center;white-space:nowrap}.btn-icon{padding:.5rem;border-radius:.5rem;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer;transition:all .2s ease}.btn-icon:hover{background:#f1f5f9;color:#4f46e5;border-color:#4f46e5}.btn-icon.delete:hover{background:#fef2f2;color:#dc2626;border-color:#dc2626}.pagination{margin-top:1.5rem;display:flex;justify-content:center;align-items:center;gap:1.5rem;flex-shrink:0}.page-btn{padding:.5rem;border-radius:.5rem;border:1px solid #e2e8f0;background:#fff;cursor:pointer}.page-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:1.25rem;width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040}.modal-content.large{width:800px}.modal-header{padding:1.5rem;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:1.25rem;font-weight:700;color:#1e293b}.modal-header .close-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:#f1f5f9;color:#475569;cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease}.modal-header .close-btn:hover{background:#e2e8f0;color:#0f172a}.modal-header .close-btn:active{transform:scale(.95)}.modal-body{padding:1.5rem;overflow-y:auto}.upload-zone{border:2px dashed #e2e8f0;border-radius:1rem;padding:3rem;text-align:center;transition:all .2s ease}.upload-zone:hover{border-color:#4f46e5;background:#f8fafc}.file-label{display:flex;flex-direction:column;align-items:center;gap:1rem;cursor:pointer;color:#64748b}.video-player-preview video{width:100%;border-radius:1rem;margin-bottom:1.5rem;background:#000}.form-group{margin-bottom:2rem}.form-group label{display:flex;align-items:center;gap:.75rem;font-weight:700;margin-bottom:.75rem;color:#334155;font-size:.9rem}.form-group textarea{width:100%;padding:1rem;border:1px solid #e2e8f0;border-radius:.85rem;font-family:inherit;font-size:.9375rem;line-height:1.6;background:#fdfdfd;transition:all .2s ease;resize:vertical}.form-group textarea:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e51a;background:#fff}.subtitles-readonly{background:#f8fafc;border-radius:1rem;padding:1.25rem;max-height:250px;overflow-y:auto;border:1px solid #e2e8f0}.sub-row{display:flex;gap:.75rem;margin-bottom:.75rem;align-items:center}.sub-row input{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:.4rem .6rem;font-size:.85rem;color:#1e293b}.form-control,.form-select{width:100%;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:.75rem;font-size:.9375rem;transition:all .2s ease;background:#fff}.form-control:focus,.form-select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e51a}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.5em;padding-right:2.5rem}.checkbox-row{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:600;color:#1e293b;padding:.5rem 0;margin-top:1rem}.checkbox-row input{width:18px;height:18px;cursor:pointer}.modal-footer{padding:1.5rem 2rem;border-top:1px solid #f1f5f9;background:#f8fafc;border-bottom-left-radius:1.25rem;border-bottom-right-radius:1.25rem;display:flex;justify-content:flex-end;gap:1rem}.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.75rem;border:1px solid #cbd5e1;background:#fff;color:#475569;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#f8fafc;border-color:#94a3b8;color:#1e293b}.custom-game-builder{padding:0;max-width:100%;margin:0;height:100%;display:flex;flex-direction:column}.builder-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-shrink:0;padding:1rem 2rem 0}.title-section h1{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin:0}.title-section p{color:#6c757d;margin:2px 0 0;font-size:.85rem}.btn-back{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;margin-bottom:1rem;transition:all .2s}.btn-back:hover{background:#f8f9fa}.btn-add{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:#8a2be2;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-add:hover{background-color:#7b1fa2}.btn-clear-cache{background-color:#fff;color:#475569;border:1px solid #e2e8f0;padding:.7rem 1.25rem;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.6rem;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000d}.btn-clear-cache:hover:not(:disabled){background-color:#f8fafc;border-color:#cbd5e1;color:#0f172a;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn-clear-cache:active:not(:disabled){transform:translateY(0)}.btn-clear-cache:disabled{opacity:.5;cursor:not-allowed;background-color:#f1f5f9}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.questions-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;flex:1;overflow-y:auto;margin:0 2rem 2rem}.question-item{display:flex;align-items:center;gap:1.5rem;padding:1.25rem;background:#fff;border-radius:12px;border:1px solid #e9ecef;margin-bottom:1rem;transition:all .2s;box-shadow:0 1px 3px #0000000d}.question-video-preview{width:100px;height:70px;border-radius:8px;overflow:hidden;background:#000;flex-shrink:0}.question-video-preview video{width:100%;height:100%;object-fit:cover}.question-content{flex:1;display:flex;justify-content:space-between;align-items:center}.question-main-info{display:flex;flex-direction:column;gap:.5rem}.question-metadata{display:flex;align-items:center;gap:1rem;font-size:.85rem;color:#6c757d}.question-metadata span{display:flex;align-items:center;gap:.25rem}.video-upload-section{border:2px dashed #dee2e6;border-radius:8px;padding:1rem;text-align:center;background:#f8f9fa;cursor:pointer;transition:all .2s}.video-upload-section:hover{border-color:#8a2be2;background:#8a2be20d}.video-upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#6c757d;font-size:.9rem}.question-details{display:flex;flex-direction:column;gap:.25rem}.question-type-badge{align-self:flex-start;font-size:.75rem;padding:2px 8px;background:#e9ecef;border-radius:4px;color:#495057;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.subtitle-badge{font-size:.65rem;padding:1px 6px;border-radius:4px;font-weight:700;display:inline-flex;align-items:center;gap:3px;text-transform:uppercase;letter-spacing:.3px}.subtitle-badge.available{background-color:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.subtitle-badge.missing{background-color:#fef2f2;color:#991b1b;border:1px solid #fecaca}.question-type-badge.type-ntf{background-color:#e3f2fd;color:#1976d2;border:1px solid #bbdefb}.question-type-badge.type-2ad{background-color:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}.question-type-badge.type-2vd{background-color:#f3e5f5;color:#7b1fa2;border:1px solid #e1bee7}.question-type-badge.type-fuq{background-color:#fff3e0;color:#e65100;border:1px solid #ffe0b2}.question-type-badge.type-nwu{background-color:#fce4ec;color:#c2185b;border:1px solid #f8bbd0}.question-type-badge.type-svs{background-color:#e0f2f1;color:#00796b;border:1px solid #b2dfdb}.follow-up-toggle-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #dee2e6}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:500;color:#495057}.checkbox-label input{width:18px;height:18px;cursor:pointer}.nested-follow-up-box{margin-top:1rem;padding:1.25rem;background-color:#f8f9fa;border:1px dashed #adb5bd;border-radius:8px}.nested-follow-up-box h4{margin:0 0 1rem;font-size:.9rem;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.question-statement{font-size:1rem;color:#1a1a1a;font-weight:500}.question-answer{font-size:.85rem;color:#2b8a3e;font-weight:600}.nested-question-wrapper{position:relative;margin-left:3rem;margin-top:-.5rem;margin-bottom:1.5rem}.nested-connector{position:absolute;left:-1.75rem;top:-1.25rem;bottom:50%;width:2px;background-color:#00bfa5}.nested-connector:after{content:"";position:absolute;left:-3px;bottom:-4px;width:8px;height:8px;border-radius:50%;background-color:#00bfa5}.nested-follow-up-item{background-color:#e0f2f1;border:1px solid #b2dfdb;border-radius:12px;padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center}.follow-up-badge{background-color:#00bfa5;color:#fff;font-size:.75rem;font-weight:700;padding:2px 10px;border-radius:20px;text-transform:uppercase;margin-right:1rem}.follow-up-info{flex:1}.follow-up-statement{font-weight:500;color:#00695c;margin-bottom:.5rem}.follow-up-options-display{display:flex;gap:1.5rem;font-size:.85rem}.option-pill{display:flex;align-items:center;gap:.5rem;color:#495057}.option-letter{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#b2dfdb;border-radius:50%;font-weight:700;font-size:.7rem;color:#fff}.option-pill.correct .option-letter{background:#00bfa5}.option-pill.correct{font-weight:600;color:#004d40}.dual-video-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.video-slot{display:flex;flex-direction:column;gap:.5rem}.video-slot label{font-size:.85rem;font-weight:600;color:#495057}.btn-icon.edit:hover{background:#e7f5ff;color:#1971c2}.btn-icon.delete:hover{background:#fff5f5;color:#e03131}.btn-icon.add-followup{color:#00bfa5}.btn-icon.add-followup:hover{background:#e0f2f1}.question-actions{display:flex;gap:.5rem}.custom-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;z-index:1000;overflow-y:auto;padding:2rem 1rem}.custom-modal-content{background:#fff;border-radius:8px;width:100%;max-width:600px;box-shadow:0 10px 25px #0003;display:flex;flex-direction:column;margin-bottom:2rem}.video-upload-area{border:2px dashed #dee2e6;border-radius:8px;padding:2rem;text-align:center;background:#f8f9fa;margin-bottom:1rem;cursor:pointer;transition:all .2s}.video-upload-area:hover{border-color:#4dabf7;background:#e7f5ff}.upload-icon{display:flex;justify-content:center;color:#adb5bd;margin-bottom:1rem}.video-preview{margin-top:1rem;width:100%;border-radius:4px;background:#000}.question-type-select{width:100%;padding:.75rem;border:1px solid #dee2e6;border-radius:6px;margin-bottom:1rem;font-size:.95rem}.nwu-card .question-item{background:linear-gradient(135deg,#fffdf0,#fff8e1 60%,#fffbf0);border:1.5px solid #f9a825;border-radius:14px;box-shadow:0 2px 12px #f9a8252e,0 1px 3px #0000000f;position:relative;overflow:hidden}.nwu-card .question-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 40%,rgba(255,215,0,.08) 60%,transparent 100%);pointer-events:none}.nwu-card .question-type-badge.type-nwu{background:linear-gradient(135deg,#f9a825,#f57f17);color:#fff;border:none;border-radius:6px;font-size:.72rem;font-weight:800;letter-spacing:1px;box-shadow:0 2px 6px #f57f1766;animation:nwu-shimmer 3s ease-in-out infinite}@keyframes nwu-shimmer{0%,to{box-shadow:0 2px 6px #f57f1766}50%{box-shadow:0 2px 14px #f57f17bf}}.nwu-card .question-statement{color:#5d4037;font-weight:700;font-size:1.05rem;letter-spacing:.2px}.nwu-card .question-answer{color:#e65100;font-weight:700;font-size:.9rem}.nwu-card .audio-pill{background:linear-gradient(135deg,#e65100,#bf360c)!important;color:#fff!important;border-radius:999px!important;padding:3px 12px!important;font-size:.78rem!important;font-weight:700!important;box-shadow:0 2px 8px #e6510059;transition:box-shadow .2s,transform .2s}.nwu-card .audio-pill:hover{box-shadow:0 4px 14px #e651008c;transform:scale(1.05)}.nwu-card .question-video-preview{border:2px solid #f9a825;border-radius:10px;box-shadow:0 0 0 3px #f9a82526}.nwu-buttons-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}.nwu-word-badge{display:inline-flex;align-items:center;gap:5px;background:#f9a82526;border:1px solid #f9a825;color:#5d4037;font-weight:700;font-size:.88rem;padding:3px 10px;border-radius:20px}.nwu-audio-btn{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#e65100,#bf360c);color:#fff;border:none;border-radius:999px;padding:4px 13px;font-size:.78rem;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #e6510059;transition:transform .15s,box-shadow .15s}.nwu-audio-btn:hover:not(:disabled){transform:scale(1.07);box-shadow:0 4px 14px #e651008c}.nwu-audio-btn:disabled{opacity:.45;cursor:not-allowed;background:#aaa;box-shadow:none}.nwu-translation-badge{display:inline-flex;align-items:center;gap:4px;background:#0096881a;border:1px solid #00897b;color:#005f55;font-size:.8rem;font-weight:600;padding:3px 10px;border-radius:20px}.answer-pills-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.answer-pill{display:inline-flex;align-items:center;padding:3px 11px;border-radius:999px;font-size:.78rem;font-weight:600;border:1.5px solid #ced4da;color:#868e96;background:#f8f9fa;transition:all .15s;letter-spacing:.2px}.answer-pill.correct{background:#ebfbee;border-color:#40c057;color:#2b8a3e;font-weight:700}.timer-badge{display:inline-flex;align-items:center;gap:3px;margin-left:4px;font-size:.78rem;color:#adb5bd}.add-btn-wrapper{position:relative;display:flex;gap:1rem;align-items:center}.custom-tooltip{visibility:hidden;background-color:#343a40;color:#fff;text-align:center;border-radius:6px;padding:8px 12px;position:absolute;z-index:10;top:-10px;right:110%;width:max-content;max-width:220px;opacity:0;transition:opacity .2s,visibility .2s;font-size:.85rem;pointer-events:none;box-shadow:0 4px 6px #00000026}.custom-tooltip:after{content:"";position:absolute;top:50%;left:100%;margin-top:-5px;border-width:5px;border-style:solid;border-color:transparent transparent transparent #343a40}.add-btn-wrapper:hover .custom-tooltip{visibility:visible;opacity:1}.modules-manager .form-group select{width:100%;padding:.75rem;border:1px solid #dee2e6;border-radius:6px;font-size:.95rem;background:#fff;color:#212529;transition:border-color .2s}.modules-manager .form-group select:focus{outline:none;border-color:#ff66b5;box-shadow:0 0 0 3px #ff66b51a}.books-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;padding:.85rem 1rem;background:#fff;border:1px solid #e9ecef;border-radius:10px}.books-filter-bar select,.books-filter-bar input[type=search]{padding:.5rem .7rem;border:1px solid #dee2e6;border-radius:6px;font-size:.875rem;background:#fff;color:#212529;min-width:9rem}.books-filter-bar input[type=search]{min-width:12rem;flex:1}.books-filter-bar select:focus,.books-filter-bar input[type=search]:focus{outline:none;border-color:#ff66b5}.btn-clear-filters{padding:.5rem .85rem;border:1px solid #dee2e6;border-radius:6px;background:#f8f9fa;color:#495057;font-size:.85rem;cursor:pointer}.btn-clear-filters:hover{background:#f1f3f5}.books-count{margin-left:auto;font-size:.85rem;color:#868e96;white-space:nowrap}.books-table td{font-size:.9rem}.books-table .muted{color:#adb5bd}.module-location{margin-top:2px;font-size:.78rem;color:#868e96}.book-cell{display:flex;flex-direction:column;gap:1px;min-width:0}.book-cell-title{font-size:.875rem;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-cell-meta{font-size:.75rem;color:#868e96}.unlinked-warning{font-size:.8rem;color:#92400e;background:#fef3c7;padding:.35rem .6rem;border-radius:6px}.option-add-row{display:flex;align-items:center;gap:.4rem}.option-add-row input{flex:1;min-width:0}.option-add-row.standalone{margin-bottom:1rem}.option-add-row.standalone input{padding:.6rem .75rem;border:1px solid #dee2e6;border-radius:6px;font-size:.9rem}.btn-inline{display:inline-flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;flex-shrink:0;border:1px solid #dee2e6;border-radius:6px;background:#fff;color:#495057;cursor:pointer}.btn-inline:hover:not(:disabled){background:#f8f9fa}.btn-inline.confirm{border-color:#ff66b5;background:#ff66b5;color:#fff}.btn-inline:disabled{opacity:.5;cursor:not-allowed}.btn-submit.compact{display:inline-flex;align-items:center;gap:.35rem;padding:.6rem .9rem;font-size:.875rem;white-space:nowrap}.options-manager{max-width:34rem}.option-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.1rem;padding-bottom:.9rem;border-bottom:1px solid #e9ecef}.option-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border:1px solid #dee2e6;border-radius:999px;background:#fff;color:#495057;font-size:.85rem;cursor:pointer}.option-tab.active{border-color:#ff66b5;background:#ff66b514;color:#d6337f;font-weight:600}.option-tab-count{font-size:.75rem;color:#868e96}.option-tab.active .option-tab-count{color:#d6337f}.option-list{list-style:none;margin:0;padding:0;max-height:20rem;overflow-y:auto}.option-list li{display:flex;align-items:center;gap:.5rem;padding:.55rem .25rem;border-bottom:1px solid #f1f3f5}.option-list li.retired .option-value{color:#adb5bd;text-decoration:line-through}.option-list li.option-empty{justify-content:center;padding:1.5rem 0;color:#868e96;font-size:.875rem;border-bottom:none}.option-value{flex:1;font-size:.925rem;color:#212529}.option-retired-tag{margin-left:.5rem;padding:.1rem .4rem;border-radius:4px;background:#f1f3f5;color:#868e96;font-size:.7rem;text-decoration:none;display:inline-block}.option-actions{display:flex;align-items:center;gap:.15rem}.option-actions button{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border:none;border-radius:5px;background:transparent;color:#868e96;font-size:.9rem;cursor:pointer}.option-actions button:hover:not(:disabled){background:#f1f3f5;color:#495057}.option-actions button.danger:hover:not(:disabled){background:#fff5f5;color:#fa5252}.option-actions button:disabled{opacity:.3;cursor:not-allowed}.prompt-section-page{width:100%;height:100%;overflow-y:auto;background:#f8fafc}.prompt-section-container{max-width:1100px;margin:0 auto;padding:32px}.prompt-section-heading h1{font-size:2rem;font-weight:700;color:#0f172a;letter-spacing:-.5px;margin:0 0 6px}.prompt-section-heading p{color:#64748b;font-size:1rem;margin:0 0 28px}.prompt-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0f172a0f;padding:28px 32px 24px}.prompt-card-header{display:flex;align-items:center;gap:10px;margin-bottom:24px}.prompt-card-header-icon{color:#6366f1}.prompt-card-header h2{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0}.prompt-field{margin-bottom:24px}.prompt-field label{display:block;font-size:.95rem;font-weight:500;color:#334155;margin-bottom:8px}.prompt-select-wrap{position:relative}.prompt-select-wrap select{width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:14px 44px 14px 16px;border:1px solid #e2e8f0;border-radius:10px;font-size:1rem;color:#0f172a;background:#fff;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.prompt-select-wrap select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.prompt-select-chevron{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.prompt-active-badge{display:inline-block;padding:6px 12px;background:#eef2ff;color:#4f46e5;border-radius:8px;font-size:.85rem;font-weight:600}.prompt-field textarea{width:100%;min-height:200px;box-sizing:border-box;padding:16px;border:1px solid #e2e8f0;border-radius:10px;font-size:1rem;font-family:inherit;color:#0f172a;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.prompt-field textarea::placeholder{color:#94a3b8}.prompt-field textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.prompt-char-count{text-align:right;color:#94a3b8;font-size:.9rem;margin-top:8px}.prompt-char-count-warn{color:#d97706;font-weight:600}.prompt-status{padding:10px 14px;border-radius:8px;font-size:.9rem;margin-bottom:16px}.prompt-status-ok{background:#dcfce7;color:#15803d}.prompt-status-error{background:#fef2f2;color:#b91c1c}.prompt-actions{display:flex;align-items:center;justify-content:space-between}.prompt-actions-left{display:flex;gap:12px}.prompt-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#334155;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.prompt-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.prompt-btn:disabled{opacity:.5;cursor:not-allowed}.prompt-btn-primary{background:#6366f1;border-color:#6366f1;color:#fff}.prompt-btn-primary:hover:not(:disabled){background:#4f46e5;border-color:#4f46e5}.prompt-btn-ghost{background:#f8fafc;color:#4f46e5;border-style:dashed;border-color:#c7d2fe}.prompt-spin{animation:prompt-spin .8s linear infinite}@keyframes prompt-spin{to{transform:rotate(360deg)}}.prompt-section-container .prompt-card+.prompt-card{margin-top:20px}.prompt-card-sub{color:#64748b;font-size:.92rem;margin:-8px 0 18px;line-height:1.5}.prompt-optional-tag{display:inline-block;margin-left:8px;padding:2px 8px;background:#f1f5f9;color:#64748b;border-radius:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.prompt-text-input{width:100%;box-sizing:border-box;padding:14px 16px;border:1px solid #e2e8f0;border-radius:10px;font-size:1rem;font-family:inherit;color:#0f172a;transition:border-color .2s ease,box-shadow .2s ease}.prompt-text-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.prompt-help-text{color:#94a3b8;font-size:.85rem;margin-top:8px}.prompt-requirements{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px 18px}.prompt-requirements-title{font-size:.9rem;font-weight:700;color:#334155;margin-bottom:12px}.prompt-requirements-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-bottom:10px}.prompt-requirements-label{font-size:.8rem;font-weight:600;color:#64748b;min-width:170px}.prompt-chips{display:flex;flex-wrap:wrap;gap:6px}.prompt-chip{background:#eef2ff;color:#4338ca;border-radius:6px;padding:3px 8px;font-size:.8rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.prompt-chip-muted{background:#f1f5f9;color:#475569}.prompt-requirements-hint{font-size:.82rem;color:#64748b;margin-top:4px}.prompt-samples{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.prompt-samples-empty{color:#94a3b8;font-size:.9rem;padding:14px;border:1px dashed #e2e8f0;border-radius:10px;text-align:center}.prompt-sample-row{display:flex;gap:12px;align-items:stretch}.prompt-sample-text{flex:1;min-height:64px;box-sizing:border-box;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:.95rem;font-family:inherit;color:#0f172a;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.prompt-sample-text:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.prompt-sample-controls{display:flex;align-items:flex-start;gap:8px}.prompt-select-wrap-sm select{padding:10px 34px 10px 12px;font-size:.9rem;border-radius:8px}.prompt-select-wrap-sm .prompt-select-chevron{right:12px}.prompt-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#94a3b8;cursor:pointer;transition:all .2s ease}.prompt-icon-btn:hover:not(:disabled){background:#fef2f2;border-color:#fecaca;color:#dc2626}.prompt-samples-warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:8px;padding:10px 14px;font-size:.85rem;margin-top:14px}.prompt-results{margin-top:20px;border-top:1px solid #e2e8f0;padding-top:20px}.prompt-verdict{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;font-weight:700;font-size:.95rem;margin-bottom:18px}.prompt-verdict-ok{background:#dcfce7;color:#15803d}.prompt-verdict-bad{background:#fef2f2;color:#b91c1c}.prompt-results-block{margin-bottom:18px}.prompt-results-title{display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:10px}.prompt-skip-badge{text-transform:none;letter-spacing:0;font-weight:500;font-size:.78rem;color:#94a3b8;background:#f1f5f9;padding:2px 8px;border-radius:6px}.prompt-check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.prompt-check-list li{display:flex;align-items:flex-start;gap:8px;font-size:.9rem}.prompt-check-list li.ok{color:#15803d}.prompt-check-list li.bad{color:#b91c1c}.prompt-check-list li span{color:#334155}.prompt-cases{display:flex;flex-direction:column;gap:10px}.prompt-case{border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px}.prompt-case.ok{border-color:#bbf7d0;background:#f0fdf4}.prompt-case.bad{border-color:#fecaca;background:#fef2f2}.prompt-case-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.prompt-case.ok .prompt-case-head>svg{color:#16a34a}.prompt-case.bad .prompt-case-head>svg{color:#dc2626}.prompt-band{font-size:.72rem;font-weight:700;padding:2px 7px;border-radius:6px}.prompt-band-high{background:#dcfce7;color:#15803d}.prompt-band-low{background:#fee2e2;color:#b91c1c}.prompt-band-medium{background:#fef9c3;color:#a16207}.prompt-case-answer{flex:1;min-width:120px;font-size:.88rem;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prompt-case-score{font-size:.82rem;font-weight:600;color:#475569;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.prompt-case-msg{font-size:.84rem;color:#64748b;margin-top:6px}.prompt-case-checks{margin-top:8px;padding-left:2px}.prompt-case-checks li{font-size:.8rem}.prompt-case-improved{margin-top:8px;padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:3px}.prompt-case-improved-label{font-size:.7rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#94a3b8}.prompt-case-improved-text{font-size:.86rem;color:#334155}.prompt-raw{margin-top:8px}.prompt-raw-toggle{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer;color:#6366f1;font-size:.8rem;font-weight:600}.prompt-raw-chevron{transition:transform .15s ease}.prompt-raw-chevron.open{transform:rotate(90deg)}.prompt-raw-body{margin:8px 0 0;padding:12px;background:#0f172a;color:#e2e8f0;border-radius:8px;font-size:.78rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:auto}.prompt-discrimination{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;border-radius:8px;font-size:.88rem;font-weight:600}.prompt-discrimination.ok{background:#dcfce7;color:#15803d}.prompt-discrimination.bad{background:#fef2f2;color:#b91c1c}@media (max-width: 768px){.prompt-section-container,.prompt-card{padding:20px}.prompt-sample-row{flex-direction:column}.prompt-requirements-label{min-width:0}}.prompt-header-action{margin-left:auto}.prompt-btn-sm{padding:6px 12px;font-size:.85rem;gap:6px}.prompt-badge-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px}.prompt-draft-badge{display:inline-block;padding:6px 12px;background:#fffbeb;color:#b45309;border-radius:8px;font-size:.85rem;font-weight:600}.prompt-link-btn{background:none;border:none;padding:0;color:#64748b;font-size:.85rem;text-decoration:underline;cursor:pointer}.prompt-link-btn:hover{color:#dc2626}.prompt-new-format{margin-bottom:24px;padding:18px 20px;border:1px solid #e0e7ff;border-radius:12px;background:#f8faff}.prompt-new-format-title{font-size:.95rem;font-weight:600;color:#0f172a}.prompt-new-format-sub{margin:4px 0 14px;font-size:.85rem;color:#64748b}.prompt-new-format label{display:block;font-size:.85rem;font-weight:500;color:#334155;margin-bottom:6px}.prompt-new-format-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.prompt-code-input{width:160px;box-sizing:border-box;padding:10px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;letter-spacing:.04em;color:#0f172a}.prompt-code-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.prompt-code-input.invalid{border-color:#f87171}.prompt-new-format-hint{margin-top:8px;font-size:.8rem;color:#94a3b8}.prompt-new-format-hint.error{color:#dc2626}.amt{width:100%;height:100%;overflow-y:auto}.amt-inner{max-width:900px;padding-bottom:48px}.amt h2{font-size:15px;margin:28px 0 0}.amt .amt-sub{color:#666;font-size:13px;margin:6px 0 0}.amt label{font-size:12px;color:#555;display:block;margin:10px 0 4px}.amt input,.amt textarea,.amt select{width:100%;box-sizing:border-box;padding:8px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff;color:#1a1a1a}.amt select{font-family:inherit}.amt textarea{resize:vertical}.amt-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.amt-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}@media (max-width: 700px){.amt-grid2{grid-template-columns:1fr}}.amt-btn{background:#4f46e5;color:#fff;border:0;border-radius:8px;padding:10px 16px;font-size:14px;cursor:pointer}.amt-btn.secondary{background:#e5e7eb;color:#111}.amt-btn:disabled{opacity:.5;cursor:default}.amt-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;background:#eef2ff;color:#4f46e5}.amt-pill.ok{background:#dcfce7;color:#15803d}.amt-pill.warn{background:#fef3c7;color:#a16207}.amt-pill.bad{background:#fee2e2;color:#b91c1c}.amt-card{border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px;margin-top:12px}.amt-score{font-size:30px;font-weight:700}.amt-muted{color:#666;font-size:12px}.amt ul{margin:6px 0;padding-left:18px;font-size:13px}.amt .c1{color:#15803d}.amt .w1{color:#b91c1c}.amt .m1{color:#a16207}.amt-word{display:inline-block;padding:2px 6px;margin:2px;border-radius:6px;font-family:ui-monospace,monospace;font-size:12px}.amt-cat1{background:#dcfce7;color:#15803d}.amt-cat2{background:#fef3c7;color:#a16207}.amt-cat3,.amt-cat4,.amt-cat5{background:#fee2e2;color:#b91c1c}.amt-log{background:#0b1021;color:#b9f18d;padding:12px;border-radius:8px;font-family:ui-monospace,monospace;font-size:12px;white-space:pre-wrap;min-height:60px;max-height:340px;overflow:auto}.amt details{margin-top:10px}.amt summary{cursor:pointer;font-size:13px;color:#4f46e5}.amt-why{border-left:3px solid #4f46e5;background:#fafafa;padding:10px 14px;border-radius:0 8px 8px 0;margin-top:14px}.amt-why.trusted{border-left-color:#9ca3af}.amt-why.skipped{border-left-color:#15803d}.amt-why h3{font-size:13px;margin:0 0 4px}.amt-qa{font-size:13px;margin:4px 0}.amt-qa b{color:#555}.amt-json{background:#0b1021;color:#b9f18d;padding:8px 10px;border-radius:6px;font-size:11px;white-space:pre-wrap;overflow:auto;margin:6px 0}.amt-ex{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}@media (max-width: 700px){.amt-ex{grid-template-columns:1fr}}.amt-ex>div{padding:8px 10px;border-radius:8px;font-size:12px}.amt-exbad{background:#fee2e2}.amt-exgood{background:#dcfce7}.amt-ex .n{font-size:20px;font-weight:700;display:block}.ro-page{width:100%;height:100%;overflow-y:auto;background:#f6f7fb}.ro-container{max-width:1520px;margin:0 auto;padding:30px 32px 48px}.ro-loading{display:flex;align-items:center;justify-content:center;gap:10px;color:#64748b;padding-top:90px}.spin{animation:ro-spin 1s linear infinite}@keyframes ro-spin{to{transform:rotate(360deg)}}.ro-header{margin-bottom:20px}.ro-header h1{font-size:1.85rem;font-weight:700;color:#0f172a;letter-spacing:-.6px;margin:0 0 6px}.ro-header p{color:#64748b;font-size:.93rem;margin:0;max-width:680px;line-height:1.55}.ro-banner{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:10px;font-size:.88rem;margin-bottom:14px}.ro-banner-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.ro-banner-ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.ro-layout{display:grid;grid-template-columns:258px minmax(0,1fr) 268px;gap:18px;align-items:start}@media (max-width: 1360px){.ro-layout{grid-template-columns:244px minmax(0,1fr)}.ro-preview{grid-column:1 / -1;max-width:340px}}@media (max-width: 860px){.ro-layout{grid-template-columns:1fr}}.ro-rail{background:#fff;border:1px solid #e6e9f0;border-radius:14px;padding:12px;position:sticky;top:20px;display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 60px)}.ro-search{display:flex;align-items:center;gap:7px;background:#f6f7fb;border:1px solid #e6e9f0;border-radius:9px;padding:0 10px;color:#94a3b8}.ro-search input{border:none;background:transparent;padding:8px 0;font-size:.85rem;width:100%;color:#0f172a;outline:none}.ro-rail-list{overflow-y:auto;display:flex;flex-direction:column;gap:1px;margin:0 -4px;padding:0 4px}.ro-rail-empty{color:#94a3b8;font-size:.82rem;padding:16px 8px;text-align:center;line-height:1.5}.ro-rail-group{font-size:.64rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#b4bdcc;padding:12px 10px 5px}.ro-rail-group:first-child{padding-top:2px}.ro-rail-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:7px 10px;border:none;background:transparent;border-radius:8px;cursor:pointer;text-align:left}.ro-rail-row:hover{background:#f6f7fb}.ro-rail-row.active{background:#eef0ff}.ro-rail-text{display:flex;flex-direction:column;gap:1px;min-width:0}.ro-rail-code{display:flex;align-items:center;gap:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.79rem;font-weight:700;letter-spacing:-.2px;color:#334155}.ro-rail-row.active .ro-rail-code{color:#4338ca}.ro-rail-name{font-size:.73rem;color:#94a3b8;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ro-rail-row.active .ro-rail-name{color:#7c83c9}.ro-rail-count{font-size:.72rem;font-weight:600;color:#b4bdcc;flex-shrink:0;background:#f4f6fa;border-radius:6px;padding:2px 7px}.ro-rail-row.active .ro-rail-count{background:#dfe2ff;color:#4338ca}.ro-main{background:#fff;border:1px solid #e6e9f0;border-radius:16px;box-shadow:0 1px 2px #0f172a0a;padding:20px 22px 18px;min-width:0}.ro-main-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.ro-main-title{display:flex;align-items:baseline;gap:9px}.ro-main-title svg{color:#6366f1;align-self:center}.ro-main-title h2{font-size:1.15rem;font-weight:700;color:#0f172a;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ro-main-name{font-size:.86rem;color:#475569;font-weight:500}.ro-count{font-size:.8rem;color:#b4bdcc}.ro-count:before{content:"·";margin-right:7px;color:#dbe0ea}.ro-main-actions{display:flex;align-items:center;gap:8px}.ro-unsaved{font-size:.72rem;font-weight:700;color:#b45309;background:#fffbeb;border:1px solid #fde68a;padding:4px 9px;border-radius:999px}.ro-btn{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;font-weight:600;padding:8px 15px;border-radius:8px;border:1px solid transparent;cursor:pointer}.ro-btn:disabled{opacity:.45;cursor:not-allowed}.ro-btn-primary{background:#4f46e5;color:#fff}.ro-btn-primary:not(:disabled):hover{background:#4338ca}.ro-btn-quiet{background:transparent;color:#94a3b8;font-weight:500}.ro-btn-quiet:not(:disabled):hover{color:#475569;background:#f6f7fb}.ro-note{font-size:.85rem;line-height:1.55;padding:11px 14px;border-radius:10px;margin-bottom:16px;background:#f8fafc;border:1px solid #eef1f6;color:#64748b}.ro-note.changed{background:#eef0ff;border-color:#dcdffb;color:#4338ca}.ro-inline-btn{display:inline-flex;align-items:center;gap:4px;background:#fff;border:1px solid #c7cbf5;color:#4338ca;font-size:.78rem;font-weight:600;padding:3px 9px;border-radius:7px;cursor:pointer;margin-left:4px}.ro-inline-btn:hover{background:#f5f6ff}.ro-list{display:flex;flex-direction:column;gap:8px}.ro-list-empty{padding:28px;text-align:center;color:#94a3b8;font-size:.88rem;background:#fafbfd;border:1px dashed #e0e4ec;border-radius:12px}.ro-item{border:1px solid #e6e9f0;border-radius:12px;background:#fff;padding:9px 11px 8px}.ro-item:hover{border-color:#d7dce6}.ro-item.off{background:#fafafa;border-style:dashed}.ro-item.off .ro-item-input{color:#94a3b8}.ro-item-top{display:flex;align-items:center;gap:8px}.ro-grip{color:#cbd5e1;cursor:grab;display:flex;flex-shrink:0}.ro-grip:active{cursor:grabbing}.ro-num{width:20px;height:20px;border-radius:6px;background:#f1f3f9;color:#94a3b8;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ro-item-input{flex:1;min-width:0;border:1px solid transparent;border-radius:8px;padding:8px 10px;font-size:.9rem;color:#0f172a;background:transparent}.ro-item-input::placeholder{color:#cbd5e1}.ro-item-input:hover{border-color:#e6e9f0}.ro-item-input:focus{outline:none;border-color:#a5b4fc;background:#fff;box-shadow:0 0 0 3px #6366f11f}.ro-onoff{display:flex;align-items:center;gap:6px;flex-shrink:0}.ro-onoff em{font-style:normal;font-size:.72rem;font-weight:600;color:#94a3b8;width:38px}.ro-switch{width:34px;height:19px;border-radius:999px;border:none;cursor:pointer;padding:2px;display:flex;transition:background .15s;flex-shrink:0}.ro-switch.on{background:#4f46e5;justify-content:flex-end}.ro-switch.off{background:#cbd5e1;justify-content:flex-start}.ro-switch span{width:15px;height:15px;border-radius:50%;background:#fff;display:block}.ro-del{border:none;background:transparent;color:#cbd5e1;cursor:pointer;padding:5px;border-radius:7px;display:flex;flex-shrink:0}.ro-del:hover{color:#dc2626;background:#fef2f2}.ro-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 0 36px}.ro-explain{display:flex;align-items:center;gap:7px;font-size:.78rem;color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none}.ro-explain input{width:14px;height:14px;accent-color:#ea580c;cursor:pointer}.ro-id{font-size:.68rem;color:#cbd5e1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ro-list-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px}.ro-add{display:inline-flex;align-items:center;gap:6px;padding:10px 15px;border:1px dashed #c7cbf5;background:#f8f9ff;color:#4f46e5;font-size:.85rem;font-weight:600;border-radius:10px;cursor:pointer}.ro-add:hover{background:#eef0ff}.ro-select{font-size:.8rem;padding:9px 10px;border:1px solid #e6e9f0;border-radius:9px;color:#64748b;background:#fff;cursor:pointer;margin-left:auto}.ro-help{font-size:.8rem;color:#94a3b8;margin:14px 2px 0;line-height:1.6}.ro-linkish{background:none;border:none;padding:0;color:#4f46e5;font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}.ro-preview{position:sticky;top:20px}.ro-preview-label{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;margin-bottom:9px;padding-left:2px}.ro-sheet{background:#eef0f4;border:1px solid #e0e4ec;border-radius:14px;padding:6px;box-shadow:0 4px 16px #0f172a12}.ro-sheet-title{font-size:.75rem;font-weight:700;color:#94a3b8;text-align:center;padding:10px 8px}.ro-sheet-row{background:#fff;border-radius:9px;margin-bottom:3px;padding:11px 12px;font-size:.82rem;color:#2563eb;text-align:center;line-height:1.35;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.ro-sheet-note{color:#ea580c;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;font-size:.6rem;font-weight:700;padding:1px 6px;white-space:nowrap}.ro-sheet-placeholder{color:#cbd5e1;font-style:italic}.ro-sheet-empty{background:#fff;border-radius:9px;padding:20px 14px;font-size:.8rem;color:#b91c1c;text-align:center;line-height:1.5}.ro-sheet-box{background:#fff;border-radius:9px;margin:6px 0 3px;padding:14px 12px;font-size:.8rem;color:#cbd5e1;display:flex;align-items:center;justify-content:space-between;gap:8px}.ro-sheet-box span{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;flex-shrink:0}.ro-sheet-cancel{background:#fff;border-radius:9px;margin-top:6px;padding:12px;font-size:.85rem;font-weight:700;color:#2563eb;text-align:center}.ro-preview-help{font-size:.76rem;color:#94a3b8;line-height:1.65;margin:11px 2px 0}.ro-preview-help strong{color:#ea580c;font-weight:700}.student-reports-page{width:100%;height:100%;overflow-y:auto;background:#f8fafc}.student-reports-container{max-width:1440px;margin:0 auto;padding:32px}.student-reports-heading h1{font-size:2rem;font-weight:700;color:#0f172a;letter-spacing:-.5px;margin:0 0 6px}.student-reports-heading p{color:#64748b;font-size:.95rem;margin:0 0 22px;max-width:780px}.sr-banner{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:10px;font-size:.88rem;margin-bottom:16px}.sr-banner-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.sr-counts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.sr-count{display:flex;align-items:baseline;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 14px;cursor:pointer;text-align:left}.sr-count:hover{border-color:#c7d2fe}.sr-count.active{border-color:#6366f1;background:#eef2ff}.sr-count-n{font-size:1.3rem;font-weight:700;color:#4f46e5}.sr-count-label{font-size:.82rem;color:#475569;max-width:240px}.sr-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px;margin-bottom:16px}.sr-filter{display:flex;flex-direction:column;gap:5px}.sr-filter label{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#94a3b8}.sr-filter select,.sr-filter input{font-size:.85rem;padding:7px 10px;border:1px solid #e2e8f0;border-radius:8px;color:#334155;background:#fff;min-width:150px}.sr-filter-check{display:flex;align-items:center;gap:7px;font-size:.85rem;color:#475569;padding-bottom:8px;cursor:pointer}.sr-filter-actions{display:flex;gap:8px;margin-left:auto}.sr-btn{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;font-weight:600;padding:8px 14px;border-radius:8px;border:1px solid transparent;cursor:pointer}.sr-btn:disabled{opacity:.5;cursor:not-allowed}.sr-btn-primary{background:#4f46e5;color:#fff}.sr-btn-primary:not(:disabled):hover{background:#4338ca}.sr-btn-ghost{background:#fff;border-color:#e2e8f0;color:#475569}.sr-btn-ghost:not(:disabled):hover{background:#f8fafc}.sr-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow-x:auto}.sr-table{width:100%;border-collapse:collapse;font-size:.85rem}.sr-table th{text-align:left;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#94a3b8;background:#f8fafc;padding:11px 12px;border-bottom:1px solid #e2e8f0;white-space:nowrap}.sr-table td{padding:11px 12px;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:top}.sr-table tr:hover td{background:#fcfcfd}.sr-when{white-space:nowrap;color:#64748b;font-size:.8rem}.sr-sub{display:block;font-size:.72rem;color:#94a3b8;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sr-question{max-width:260px}.sr-question-text{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sr-question-id{word-break:break-all}.sr-snapshot-tag{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:4px;background:#eef2ff;color:#4f46e5;font-family:inherit;font-size:.68rem;letter-spacing:.02em;vertical-align:1px}.sr-table code{font-size:.74rem;background:#f1f5f9;color:#475569;padding:2px 6px;border-radius:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sr-reason{color:#b45309;font-weight:500}.sr-comment{max-width:280px;color:#0f172a}.sr-comment span{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.sr-muted{color:#cbd5e1}.sr-outcome{font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:999px;white-space:nowrap}.sr-outcome.right{background:#f0fdf4;color:#15803d}.sr-outcome.wrong{background:#fef2f2;color:#b91c1c}.sr-outcome.unanswered{background:#f1f5f9;color:#64748b;font-style:italic}.sr-outcome.timeout{background:#fffbeb;color:#b45309}.sr-link{color:#94a3b8;display:inline-flex;padding:4px;border-radius:6px}.sr-link:hover{color:#4f46e5;background:#eef2ff}.sr-link-btn{border:0;background:none;cursor:pointer;font:inherit}.sr-row-actions{display:inline-flex;align-items:center;gap:2px}.sr-json-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73}.sr-json-panel{display:flex;flex-direction:column;width:min(860px,100%);max-height:100%;background:#fff;border-radius:12px;box-shadow:0 20px 45px #0f172a40;overflow:hidden}.sr-json-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid #e2e8f0}.sr-json-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.9rem;color:#0f172a}.sr-json-title strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sr-json-actions{display:flex;gap:8px}.sr-json-source{font-size:.7rem;padding:2px 7px;border-radius:999px;background:#f1f5f9;color:#475569}.sr-json-source.snapshot{background:#eef2ff;color:#4f46e5}.sr-json-source.missing{background:#fef2f2;color:#b91c1c}.sr-json-note{margin:0;padding:10px 18px;background:#eef2ff;border-bottom:1px solid #e0e7ff;color:#3730a3;font-size:.78rem;line-height:1.5}.sr-json-note code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem}.sr-json-body{flex:1;min-height:0;overflow:auto;padding:4px 18px 18px}.sr-json-body pre,.sr-json-prompt pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;line-height:1.6;color:#334155}.sr-json-empty{display:flex;align-items:center;gap:8px;padding:28px 0;color:#64748b;font-size:.85rem}.sr-json-prompt{border-top:1px solid #e2e8f0;padding:12px 18px;max-height:30%;overflow:auto}.sr-json-prompt summary{cursor:pointer;font-size:.8rem;color:#475569}.sr-json-prompt pre{margin-top:10px}.sr-loading,.sr-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:60px 20px;color:#94a3b8;font-size:.9rem}.sr-loading{flex-direction:row}.sr-pager{display:flex;align-items:center;justify-content:center;gap:16px;padding:18px 0 4px;font-size:.85rem;color:#64748b}.sr-btn-quiet{color:#94a3b8;font-weight:500}.sr-btn-quiet:not(:disabled):hover{color:#475569}.sr-device{white-space:nowrap}.sr-plat{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 7px;border-radius:999px;background:#f1f5f9;color:#64748b}.sr-plat-ios{background:#eef2ff;color:#4338ca}.sr-plat-android{background:#f0fdf4;color:#15803d}.sr-plat-web{background:#fff7ed;color:#b45309}.sr-conds{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}.sr-cond{display:inline-flex;align-items:center;gap:3px;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:999px;background:#fef3c7;color:#92400e}.sr-cond-offline{background:#fef2f2;color:#b91c1c}.sr-cond-net{background:#f1f5f9;color:#64748b;font-weight:600;text-transform:none;letter-spacing:0}.sr-sources{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.sr-source{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 14px;cursor:pointer;text-align:left;color:#475569}.sr-source:hover{border-color:#c7d2fe}.sr-source.active{border-color:#6366f1;box-shadow:0 0 0 1px #6366f1 inset}.sr-source.student.active{border-color:#0284c7;box-shadow:0 0 0 1px #0284c7 inset}.sr-source.system.active{border-color:#b45309;box-shadow:0 0 0 1px #b45309 inset}.sr-src-pill{display:inline-flex;align-items:center;gap:4px;font-size:.65rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:2px 7px;border-radius:999px;white-space:nowrap;margin-right:8px;vertical-align:middle}.sr-src-student{background:#f0f9ff;color:#0369a1}.sr-src-system{background:#fff7ed;color:#b45309}.sr-row-system td{background:#fffcf7}.sr-row-system td:first-child{box-shadow:inset 3px 0 #f59e0b}.sr-comment-system span{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;color:#92400e}.sr-unmarked-flag{margin-left:4px;font-weight:800}.as-stat{display:flex;flex-direction:column;gap:5px;min-width:120px}.as-stat label{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#94a3b8}.as-stat span{font-size:1.15rem;font-weight:700;color:#0f172a;padding:4px 0}.as-stat span.as-mono{font-size:.85rem;font-weight:600}.as-mono{font-variant-numeric:tabular-nums}.as-log{margin-bottom:16px}.as-mode{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:999px}.as-mode-full{background:#f1f5f9;color:#475569}.as-mode-incremental{background:#eef2ff;color:#4338ca}.as-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;padding:2px 7px;border-radius:6px}.as-badge-added{background:#dcfce7;color:#15803d}.as-badge-updated{background:#fef3c7;color:#b45309}.as-row-added td{background:#f0fdf4}.as-row-updated td{background:#fffbeb}.as-foot{color:#64748b;font-size:.82rem;margin:10px 2px 0}.as-url{font-size:.75rem;color:#475569;word-break:break-all}.dm{width:100%;height:100%;overflow-y:auto;background:#f8fafc;padding:32px}.dm>*{max-width:1440px;margin-left:auto;margin-right:auto}.dm-head{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.dm-head h1{font-size:2rem;font-weight:700;color:#0f172a;letter-spacing:-.5px;margin:0 0 6px}.dm-sub{color:#64748b;font-size:.95rem;margin:0;max-width:780px}.dm-sub code,.dm-meta code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;background:#eef2f7;padding:1px 5px;border-radius:4px}.dm-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;margin-bottom:18px}.dm-fld{display:flex;flex-direction:column;gap:6px}.dm-fld>span{font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;color:#94a3b8;font-weight:600}.dm-fld input{font-size:.88rem;padding:7px 10px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#0f172a}.dm-tz{display:inline-flex;border:1px solid #cbd5e1;border-radius:8px;overflow:hidden}.dm-tz button{font-size:.8rem;padding:8px 14px;border:0;background:#fff;color:#475569;cursor:pointer}.dm-tz button+button{border-left:1px solid #cbd5e1}.dm-tz button[aria-pressed=true]{background:#2563eb;color:#fff;font-weight:600}.dm-tz button:disabled{opacity:.55;cursor:default}.dm-spacer{flex:1 1 auto}.dm-ghost,.dm-copy{display:inline-flex;align-items:center;gap:7px;font-size:.86rem;font-weight:500;padding:9px 16px;border-radius:9px;cursor:pointer;white-space:nowrap}.dm-ghost{border:1px solid #cbd5e1;background:#fff;color:#475569}.dm-ghost:hover:not(:disabled){border-color:#2563eb;color:#2563eb}.dm-copy{border:1px solid #2563eb;background:#2563eb;color:#fff}.dm-copy:hover:not(:disabled){filter:brightness(1.08)}.dm-ghost:disabled,.dm-copy:disabled{opacity:.55;cursor:default}.dm-spin{animation:dm-rotate 1s linear infinite}@keyframes dm-rotate{to{transform:rotate(360deg)}}.dm-asof{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 16px;font-size:.76rem;color:#64748b}.dm-badge{padding:3px 9px;border-radius:5px;background:#eef2f7;font-weight:600;color:#334155}.dm-dim{color:#94a3b8}.dm-error{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:10px;font-size:.88rem;margin-bottom:16px;background:#fef2f2;color:#b91c1c}.dm-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1px;background:#e2e8f0;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;margin-bottom:20px}.dm-kpi{background:#fff;padding:16px 18px}.dm-kpi b{display:block;font-size:1.8rem;font-weight:700;line-height:1.1;color:#0f172a;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.dm-kpi span{display:block;font-size:.8rem;color:#64748b;margin-top:5px}.dm-kpi.zero b{color:#16a34a}.dm-kpi.alert b{color:#dc2626}.dm-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px 20px;margin-bottom:18px}.dm-panel h2{display:flex;align-items:center;gap:10px;font-size:.98rem;font-weight:700;color:#0f172a;margin:0 0 4px}.dm-owner{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:4px;background:#fef3c7;color:#92400e;font-weight:700}.dm-hint{font-size:.82rem;color:#94a3b8;margin:0 0 14px}.dm-empty{display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:.88rem;padding:10px 0}.dm-daylist{display:grid;gap:1px;background:#e2e8f0;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-top:12px}.dm-dayrow{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;background:#fff;padding:9px 12px;font-size:.85rem;color:#334155}.dm-dayrow span:first-child{font-weight:600;color:#475569}.dm-item{border-left:4px solid #cbd5e1;padding:9px 0 9px 12px;margin-bottom:10px}.dm-item.content{border-color:#f59e0b}.dm-item.prompt{border-color:#7c3aed}.dm-item.tech{border-color:#2563eb}.dm-item.system{border-color:#dc2626}.dm-meta{font-size:.72rem;color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.dm-label{font-size:.9rem;font-weight:500;color:#0f172a;margin:3px 0}.dm-rerouted{color:#92400e;font-weight:400;font-size:.82rem}.dm-said{font-size:.86rem;color:#475569;font-style:italic}.dm-hbar{display:grid;grid-template-columns:11rem 1fr 13rem;align-items:center;gap:12px;margin-bottom:9px;font-size:.84rem}.dm-lbl{color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-trk{height:15px;background:#eef2f7;border-radius:4px;overflow:hidden}.dm-fil{height:100%;border-radius:4px;background:#16a34a;min-width:2px}.dm-fil.warn{background:#f59e0b}.dm-fil.bad{background:#dc2626}.dm-v{font-size:.78rem;color:#475569;text-align:right;font-variant-numeric:tabular-nums}.dm-note{font-size:.8rem;color:#78350f;background:#fffbeb;border-radius:8px;padding:11px 13px;margin:14px 0 0}@media (max-width: 720px){.dm{padding:20px 16px}.dm-hbar{grid-template-columns:7rem 1fr}.dm-hbar .dm-v{grid-column:2;text-align:left}}.dm-error.dm-warn{background:#fffbeb;color:#92400e}.cr-page{width:100%;height:100%;min-height:0;overflow-y:auto;padding:0 0 48px}.cr-page>*{max-width:1480px}.cr-gate{max-width:440px;margin:72px auto;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:32px 28px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;color:#475569}.cr-gate svg{color:#64748b}.cr-gate h2{margin:0;font-size:1.1rem;font-weight:700;color:#0f172a}.cr-gate p{margin:0;font-size:.88rem;line-height:1.6}.cr-gate-error svg,.cr-gate-error p{color:#b91c1c}.cr-unlock input{width:100%;padding:10px 12px;font-size:.92rem;border:1px solid #cbd5e1;border-radius:8px;outline:none}.cr-unlock input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f124}.cr-unlock button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:600;color:#fff;background:#4f46e5;border:0;border-radius:8px;cursor:pointer}.cr-unlock button:disabled{background:#a5b4fc;cursor:not-allowed}.cr-gate-msg{font-size:.82rem;font-weight:600;color:#b91c1c}.cr-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:18px}.cr-head h1{margin:0 0 4px;font-size:1.35rem;font-weight:700;color:#0f172a}.cr-sub{margin:0;font-size:.82rem;color:#64748b}.cr-actions{display:flex;gap:8px}.cr-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;font-size:.85rem;font-weight:600;border-radius:8px;border:1px solid transparent;cursor:pointer}.cr-btn-primary{background:#4f46e5;color:#fff}.cr-btn-primary:disabled{background:#a5b4fc;cursor:not-allowed}.cr-btn-ghost{background:#fff;border-color:#cbd5e1;color:#475569}.cr-note{display:flex;align-items:flex-start;gap:9px;padding:10px 14px;margin-bottom:10px;font-size:.83rem;line-height:1.5;background:#fffbeb;border:1px solid #fde68a;border-radius:9px;color:#92400e}.cr-note-stop{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.cr-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:14px 0 12px}.cr-filters{display:flex;gap:6px;flex-wrap:wrap}.cr-filter{padding:6px 12px;font-size:.8rem;font-weight:600;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:999px;cursor:pointer}.cr-filter.active{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}.cr-toolbar-right{display:flex;gap:8px}.cr-toolbar-right select,.cr-toolbar-right input{padding:7px 10px;font-size:.83rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;outline:none;max-width:260px}.cr-tablewrap{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 260px);min-height:240px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.cr-tablewrap::-webkit-scrollbar{width:7px;height:7px}.cr-tablewrap::-webkit-scrollbar-track{background:transparent}.cr-tablewrap::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.cr-tablewrap::-webkit-scrollbar-thumb:hover{background:#94a3b8}.cr-page::-webkit-scrollbar{width:14px}.cr-page::-webkit-scrollbar-track{background:#f1f5f9}.cr-page::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:999px;border:3px solid #f1f5f9}.cr-table{width:100%;border-collapse:collapse;min-width:900px}.cr-table th{text-align:left;padding:11px 16px;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;border-bottom:1px solid #e2e8f0;box-shadow:inset 0 -1px #e2e8f0;white-space:nowrap;position:sticky;top:0;z-index:3;background:#fff}.cr-table td{padding:12px 16px;font-size:.85rem;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:top}.cr-col-unit{min-width:300px}.cr-row{cursor:pointer}.cr-row:hover,.cr-row.open{background:#f8fafc}.cr-unit{display:flex;align-items:flex-start;gap:8px}.cr-unit svg{margin-top:3px;color:#94a3b8;flex-shrink:0}.cr-code{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;font-weight:700;color:#0f172a}.cr-name{display:block;font-size:.86rem;color:#334155}.cr-book{display:block;font-size:.73rem;color:#94a3b8;margin-top:2px}.cr-blocker{display:block;margin-top:7px;padding:5px 9px;font-size:.75rem;line-height:1.45;color:#b91c1c;background:#fef2f2;border-radius:6px}.cr-blocker.warn{color:#92400e;background:#fffbeb}.cr-blocker strong{font-weight:700}.cr-cell b{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;font-weight:600;color:#0f172a;font-variant-numeric:tabular-nums;white-space:nowrap}.cr-cell b.cr-muted{color:#94a3b8;font-weight:500}.cr-fp{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;color:#94a3b8}.cr-cell-diff .cr-fp{color:#4338ca;font-weight:700}.cr-cell-absent{color:#cbd5e1}.cr-game{display:block;margin-top:4px;font-size:.7rem;font-weight:600}.cr-game.ok{color:#94a3b8}.cr-game.warn{color:#b45309}.cr-game.stop{color:#b91c1c}.cr-chip{display:inline-block;padding:3px 10px;font-size:.74rem;font-weight:700;border-radius:999px;white-space:nowrap}.cr-chip.ok{background:#ecfdf5;color:#047857}.cr-chip.warn{background:#fffbeb;color:#b45309}.cr-chip.stop{background:#fef2f2;color:#b91c1c}.cr-drillrow td{background:#f8fafc;padding:0 16px 16px}.cr-drill{border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:14px 16px}.cr-drill-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #f1f5f9;font-size:.8rem;color:#64748b}.cr-drill-head strong{font-size:.9rem;color:#0f172a}.cr-drill-head select{padding:4px 8px;font-size:.8rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff}.cr-drill-msg{display:flex;align-items:center;gap:8px;margin:0;font-size:.84rem;color:#64748b}.cr-drill-msg.stop{color:#b91c1c}.cr-drill-note{margin:0 0 10px;padding:8px 12px;font-size:.81rem;line-height:1.55;color:#4338ca;background:#eef2ff;border-radius:7px}.cr-drill-count{margin:0 0 8px;font-size:.78rem;font-weight:600;color:#64748b}.cr-changes{display:flex;flex-direction:column}.cr-change{display:grid;grid-template-columns:190px 90px 1fr;gap:12px;align-items:baseline;padding:7px 0;font-size:.82rem;border-bottom:1px solid #f1f5f9}.cr-change:last-child{border-bottom:0}.cr-where{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;color:#64748b}.cr-kind{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.cr-kind.changed{color:#b45309}.cr-kind.added{color:#047857}.cr-kind.removed{color:#b91c1c}.cr-more{color:#94a3b8;font-style:italic}.cr-empty{text-align:center;padding:48px 16px!important;color:#64748b}.cr-empty span{display:inline-block;margin-left:8px;font-size:.85rem}.cr-foot{margin:16px 2px 0;font-size:.76rem;line-height:1.6;color:#94a3b8;max-width:780px}.cr-spin{animation:cr-spin 1s linear infinite}@keyframes cr-spin{to{transform:rotate(360deg)}}@media (max-width: 860px){.cr-page{padding:0 0 32px}.cr-change{grid-template-columns:1fr;gap:3px}}.cr-envpick{padding:7px 10px;font-size:.83rem;font-weight:600;color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none}.cr-pass-text{color:#047857;font-weight:600}.cr-fail-text{color:#b91c1c;font-weight:700}.cr-verdict{display:flex;align-items:center;gap:4px;margin-top:6px;font-size:.72rem;font-weight:600;white-space:nowrap}.cr-verdict.ok{color:#047857}.cr-verdict.stop{color:#b91c1c}.cr-checkbtn{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:4px 9px;font-size:.72rem;font-weight:600;color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;white-space:nowrap}.cr-checkbtn:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.cr-checkbtn:disabled{opacity:.55;cursor:not-allowed}.cr-subnote{margin-top:2px;font-size:.78rem;color:#94a3b8}.cr-readbtn{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:4px 9px;font-size:.72rem;font-weight:600;color:#64748b;background:transparent;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;white-space:nowrap}.cr-readbtn:hover:not(:disabled){color:#334155;background:#f8fafc;border-color:#cbd5e1}.cr-readbtn:disabled{opacity:.55;cursor:not-allowed}.cr-row.reading>td{opacity:.62;transition:opacity .12s ease}.cr-checkpanel{border:1px solid #e2e8f0;border-left-width:3px;border-radius:9px;padding:12px 14px;margin-bottom:14px;background:#f8fafc}.cr-checkpanel.ok{border-left-color:#047857}.cr-checkpanel.stop{border-left-color:#b91c1c;background:#fef7f7}.cr-checkpanel-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.cr-checkpanel.ok .cr-checkpanel-head svg{color:#047857}.cr-checkpanel.stop .cr-checkpanel-head svg{color:#b91c1c}.cr-checkpanel-head strong{font-size:.88rem;color:#0f172a}.cr-checkpanel-head span{font-size:.76rem;color:#64748b;font-variant-numeric:tabular-nums}.cr-checkline{margin:0 0 6px;font-size:.81rem;line-height:1.55;color:#334155}.cr-checkline.muted{color:#64748b}.cr-checkline b{font-weight:700;color:#0f172a}.cr-checkaudio{margin-top:8px;padding-top:6px;border-top:1px solid #e2e8f0}.cr-field{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;color:#4338ca;background:#eef2ff;padding:1px 5px;border-radius:4px}.cr-hint{position:fixed;z-index:60;width:330px;padding:12px 14px;background:#0f172a;color:#e2e8f0;border-radius:10px;box-shadow:0 12px 32px #0f172a47;font-size:.78rem;line-height:1.5;max-height:min(320px,calc(100vh - 32px));overflow-y:auto;pointer-events:auto}.cr-hint-head{padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid #1e293b;color:#94a3b8}.cr-hint-head strong{color:#fff;font-weight:600}.cr-hint-head span{display:block;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;color:#64748b}.cr-hint-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cr-hint-list li{padding-left:15px;position:relative}.cr-hint-list li:before{content:"";position:absolute;left:0;top:6px;width:6px;height:6px;border-radius:50%;background:#4ade80}.cr-hint-soft:before{background:#64748b!important}.cr-hint-list b{display:block;color:#f1f5f9;font-weight:600}.cr-hint-list span{color:#94a3b8}.cr-hint-soft b{color:#cbd5e1!important}.cr-hint-foot{margin:10px 0 0;padding-top:8px;border-top:1px solid #1e293b;font-size:.72rem;color:#64748b}.cr-col-pick{width:36px;padding-right:0!important}.cr-col-pick input{width:15px;height:15px;cursor:pointer;accent-color:#4f46e5}.cr-releasebar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 16px;margin-bottom:12px;background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px}.cr-releasebar strong{display:block;font-size:.9rem;color:#312e81}.cr-releasebar span{font-size:.79rem;color:#4338ca}.cr-releasebar-actions{display:flex;gap:8px;flex-wrap:wrap}.cr-run{border:1px solid #e2e8f0;border-left-width:3px;border-radius:11px;background:#fff;padding:14px 16px;margin-bottom:14px}.cr-run-running{border-left-color:#b45309}.cr-run-succeeded{border-left-color:#047857}.cr-run-failed{border-left-color:#b91c1c}.cr-run-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #f1f5f9}.cr-run-head strong{font-size:.92rem;color:#0f172a}.cr-run-head>span:not(.cr-chip){font-size:.78rem;color:#64748b}.cr-runclose{margin-left:auto;background:none;border:0;font-size:1.2rem;line-height:1;color:#94a3b8;cursor:pointer;padding:0 4px}.cr-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.cr-step{display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:start;font-size:.83rem}.cr-step-mark{display:flex;align-items:center;justify-content:center;height:17px}.cr-step-pending .cr-step-mark:before,.cr-step-skipped .cr-step-mark:before{content:"";width:7px;height:7px;border-radius:50%;border:1.5px solid #cbd5e1}.cr-step b{display:block;color:#0f172a;font-weight:600}.cr-step span{display:block;color:#64748b;line-height:1.5}.cr-step-pending b,.cr-step-skipped b{color:#94a3b8;font-weight:500}.cr-step-done .cr-step-mark svg{color:#047857}.cr-step-failed .cr-step-mark svg{color:#b91c1c}.cr-step-failed span{color:#b91c1c}.cr-step-running .cr-step-mark svg{color:#b45309}.cr-stepcounts{display:flex;flex-direction:column;gap:2px;margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.73rem;color:#64748b}.cr-stepcounts code{color:#4338ca}.cr-run-error{margin:10px 0 0;padding:8px 12px;font-size:.82rem;line-height:1.55;color:#b91c1c;background:#fef2f2;border-radius:7px}.cr-verify{margin-top:10px;padding-top:10px;border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:5px}.cr-verify>div{display:flex;align-items:baseline;gap:7px;font-size:.8rem}.cr-verify .ok svg,.cr-verify>div.ok svg{color:#047857}.cr-verify>div.stop{color:#b91c1c}.cr-verify b{color:#0f172a;font-weight:600}.cr-verify span{color:#64748b}.cr-play{margin-top:12px;padding-top:10px;border-top:1px solid #f1f5f9}.cr-play-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px;font-size:.8rem}.cr-play-head b{color:#0f172a}.cr-play-head span{color:#64748b}.cr-play-head code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.73rem;color:#4338ca;background:#eef2ff;padding:1px 5px;border-radius:4px}.cr-playunit{border-left:2px solid #e2e8f0;padding:6px 0 6px 10px;margin-bottom:6px}.cr-playunit.ok{border-left-color:#047857}.cr-playunit.stop{border-left-color:#b91c1c}.cr-playunit-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:.82rem}.cr-playunit.ok .cr-playunit-head svg{color:#047857}.cr-playunit.stop .cr-playunit-head svg{color:#b91c1c}.cr-playunit-head b{color:#0f172a}.cr-playunit-head span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;color:#64748b}.cr-playunit p{margin:3px 0 4px;font-size:.78rem;color:#64748b}.cr-armbtn{display:inline-flex;align-items:center;gap:5px;margin-top:6px;margin-right:5px;padding:4px 9px;font-size:.72rem;font-weight:600;color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;white-space:nowrap}.cr-armbtn:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.cr-armbtn.on{color:#047857;background:#ecfdf5;border-color:#6ee7b7}.cr-armbtn:disabled{opacity:.55;cursor:not-allowed}.cr-protect{margin-top:12px;padding-top:10px;border-top:1px solid #f1f5f9}.cr-protectline{display:flex;flex-direction:column;gap:1px;padding:5px 0 5px 10px;margin-top:5px;border-left:2px solid #e2e8f0;font-size:.79rem}.cr-protectline b{color:#0f172a;font-weight:600}.cr-protectline span{color:#64748b;line-height:1.5}.cr-protectline.ok{border-left-color:#6ee7b7}.cr-protectline.stop{border-left-color:#b91c1c}.cr-protectline.stop b,.cr-protectline.stop span{color:#b91c1c}.cr-protectline.observation{border-left-style:dashed;border-left-color:#cbd5e1}.cr-protectline.observation b{color:#475569;font-weight:500}.cr-orphans{display:block;font-size:.7rem;font-weight:600;color:#b45309}.cr-bar-stop{display:block;margin-top:3px;color:#b91c1c}.cr-bar-note{display:block;margin-top:3px;color:#b45309}.cr-ready{display:inline-flex;align-items:center;gap:4px;margin-bottom:5px;padding:2px 8px;font-size:.7rem;font-weight:700;color:#047857;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:999px}.cr-btn-prod{background:#0f766e;border-color:#0f766e;color:#fff}.cr-btn-prod:disabled{background:#99cfca;border-color:#99cfca;cursor:not-allowed}.cr-rowactions{display:flex;align-items:center;gap:5px;flex-wrap:nowrap}.cr-rowactions .cr-armbtn,.cr-rowactions .cr-checkbtn{margin-right:0}.cr-scanning{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;background:#0f172a52;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cr-scanning-card{display:flex;flex-direction:column;align-items:center;gap:9px;padding:30px 34px;background:#fff;border-radius:14px;box-shadow:0 20px 48px #0f172a42;width:min(400px,100%);text-align:center}.cr-scanning-card strong{font-size:1.05rem;color:#0f172a}.cr-scanning-card span{font-size:.82rem;color:#475569}.cr-scanning-bar{width:100%;height:5px;border-radius:999px;background:#e2e8f0;overflow:hidden}.cr-scanning-bar-fill{height:100%;border-radius:999px;background:#4f46e5;transition:width .25s ease}.cr-scanning-note{color:#94a3b8!important;font-size:.75rem!important}.cr-empty-diag{display:flex;flex-direction:column;gap:8px;align-items:flex-start;text-align:left;max-width:680px;margin:0 auto}.cr-empty-diag strong{color:#0f172a}.cr-empty-diag ul{margin:2px 0 0;padding-left:18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;color:#475569}.cr-empty-diag li{margin-bottom:3px}.cr-next{display:block;margin-top:3px;font-size:.72rem;line-height:1.35;font-weight:600}.cr-next.do{color:#4f46e5}.cr-next.wait{color:#64748b}.cr-next.stop{color:#b91c1c}.cr-next.done{color:#15803d}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root{min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}html{overflow-y:scroll}textarea{overflow-x:hidden}@supports (scrollbar-color: auto) and (not selector(::-webkit-scrollbar)){*{scrollbar-color:#cbd5e1 transparent;scrollbar-width:auto}}::-webkit-scrollbar{-webkit-appearance:none;width:14px;height:14px}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:999px;border:3px solid transparent;background-clip:padding-box;min-height:48px}::-webkit-scrollbar-thumb:hover{background-color:#aab6c6;background-clip:padding-box}::-webkit-scrollbar-thumb:active{background-color:#8e9cb0;background-clip:padding-box}::-webkit-scrollbar-corner{background-color:transparent}
