@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Nunito+Sans:ital,wght@0,400;0,500;0,600;0,700&display=swap";:root{--font-display: "Outfit", system-ui, sans-serif;--font-body: "Nunito Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.65;--color-bg: #f4f6fb;--color-bg-secondary: #eceef6;--color-bg-tertiary: #e3e6f0;--color-surface: #ffffff;--color-surface-hover: #f8f9fc;--color-surface-active: #f2f4f9;--color-glass: rgba(255, 255, 255, .72);--color-glass-border: rgba(255, 255, 255, .5);--glass-blur: blur(20px) saturate(1.4);--color-primary: #5b6cf0;--color-primary-hover: #4a5ae0;--color-primary-light: #6e7df5;--color-primary-50: #eef0fe;--color-primary-100: #d8dcfc;--color-accent: #38caf1;--color-accent-hover: #20b8e0;--color-accent-light: #e0f7fc;--color-text: #1c1c38;--color-text-secondary: #6b7194;--color-text-muted: #9ea3be;--color-text-inverse: #ffffff;--color-border: #e2e5f0;--color-border-hover: #c8cce0;--color-border-light: #eef0f6;--color-success: #3cc68a;--color-success-bg: #e8faf1;--color-success-text: #1a7a4e;--color-success-border: #a4e8c8;--color-warning: #f0a030;--color-warning-bg: #fef7e8;--color-warning-text: #8a5a10;--color-warning-border: #fad68a;--color-danger: #f05060;--color-danger-bg: #fef0f1;--color-danger-text: #a02030;--color-danger-border: #f8b0b8;--color-danger-hover: #e04050;--space-2xs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--shadow-sm: 0 1px 4px rgba(91, 108, 240, .04), 0 1px 2px rgba(28, 28, 56, .03);--shadow-md: 0 4px 16px rgba(91, 108, 240, .07), 0 2px 4px rgba(28, 28, 56, .03);--shadow-lg: 0 12px 40px rgba(91, 108, 240, .1), 0 4px 12px rgba(28, 28, 56, .04);--shadow-xl: 0 24px 56px rgba(91, 108, 240, .14), 0 8px 20px rgba(28, 28, 56, .06);--shadow-glow: 0 0 20px rgba(91, 108, 240, .15);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--transition-fast: .15s var(--ease-out);--transition-base: .25s var(--ease-out);--transition-slow: .4s var(--ease-out);--focus-ring: 0 0 0 3px rgba(91, 108, 240, .2);--z-dropdown: 100;--z-sticky: 200;--z-modal: 500;--z-toast: 600;--header-height: 64px;--content-max-width: 1400px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);min-height:100vh}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:var(--leading-tight);color:var(--color-text)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{line-height:var(--leading-relaxed);color:var(--color-text-secondary)}img,svg{display:block;max-width:100%}ul,ol{list-style:none}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}::selection{background:#5b6cf026;color:var(--color-text)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);height:40px;padding:0 var(--space-lg);font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;line-height:1;border-radius:var(--radius-md);border:1.5px solid transparent;cursor:pointer;white-space:nowrap;box-shadow:0 2px #0000000f;transition:background .18s var(--ease-spring),color .18s var(--ease-spring),box-shadow .18s var(--ease-spring),transform .18s var(--ease-spring),border-color .18s var(--ease-spring),opacity .18s var(--ease-spring)}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 0 #0000;transition-duration:60ms}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:0 2px #474eb480}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 3px #474eb466,0 4px 14px #5b6cf040;transform:translateY(-1px)}.btn-primary:active:not(:disabled){box-shadow:0 0 #474eb400}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);box-shadow:0 2px #0000000a}.btn-secondary:hover:not(:disabled){border-color:var(--color-border-hover);background:var(--color-surface-hover);box-shadow:0 3px #0000000a,var(--shadow-sm);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){box-shadow:0 0 #0000}.btn-ghost{background:transparent;color:var(--color-text-secondary);box-shadow:none}.btn-ghost:hover:not(:disabled){background:var(--color-bg-secondary);color:var(--color-text);box-shadow:0 2px #00000008}.btn-danger{background:var(--color-danger);color:var(--color-text-inverse);box-shadow:0 2px #b4323c80}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover);box-shadow:0 3px #b4323c66,0 4px 14px #f0506040;transform:translateY(-1px)}.btn-danger:active:not(:disabled){box-shadow:0 0 #b4323c00}.btn-warning{background:var(--color-warning);color:var(--color-text-inverse);box-shadow:0 2px #b4781e80}.btn-warning:hover:not(:disabled){background:#d89028;box-shadow:0 3px #b4781e66;transform:translateY(-1px)}.btn-warning:active:not(:disabled){box-shadow:0 0 #b4781e00}.btn-sm{height:32px;padding:0 var(--space-md);font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-lg{height:48px;padding:0 var(--space-xl);font-size:var(--text-md);border-radius:var(--radius-lg)}.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--radius-md);flex-shrink:0;margin:var(--space-2xs)}.input,.textarea,.select{width:100%;height:42px;padding:0 var(--space-md);font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.input:hover,.textarea:hover,.select:hover{border-color:var(--color-border-hover)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #5b6cf014}.input::placeholder,.textarea::placeholder{color:var(--color-text-muted)}.textarea{height:auto;min-height:80px;padding:var(--space-sm) var(--space-md);resize:vertical;line-height:var(--leading-relaxed)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:var(--space-xl);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' fill='none' stroke='%239ea3be' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.label{display:block;font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;color:var(--color-text);margin-bottom:6px}.auth-form{width:100%;max-width:420px;display:flex;flex-direction:column;gap:var(--space-lg)}.form-field-lg{min-width:200px}.form-field-md{min-width:150px}.form-field-sm{min-width:140px}.file-upload{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);margin-top:6px;background:var(--color-bg-secondary);border:2px dashed var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.file-upload:hover{border-color:var(--color-primary);background:var(--color-primary-50)}.file-upload-icon{font-size:var(--text-xl)}.file-upload-text{font-size:var(--text-sm);font-weight:400;color:var(--color-text-muted)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card-hover:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-hover);transform:translateY(-2px)}.card-compact{padding:var(--space-md)}.badge{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:4px 12px;font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);white-space:nowrap}.badge-draft{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-published{background:var(--color-success-bg);color:var(--color-success-text)}.badge-archived{background:var(--color-bg-secondary);color:var(--color-text-muted)}.badge-pending{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-in-progress{background:var(--color-primary-50);color:var(--color-primary)}.badge-completed{background:var(--color-success-bg);color:var(--color-success-text)}.badge-error{background:var(--color-danger-bg);color:var(--color-danger-text)}.badge-warn{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.suspicion-tooltip-wrapper{position:relative;display:inline-flex;margin-left:4px;cursor:pointer}.suspicion-icon{font-size:var(--text-sm)}.suspicion-tooltip{position:fixed;transform:none;z-index:9999;min-width:220px;padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-warning-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:var(--text-xs)}.suspicion-tooltip-title{font-weight:600;color:var(--color-warning-text);margin-bottom:var(--space-xs)}.suspicion-tooltip-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2xs)}.suspicion-tooltip-list li{color:var(--color-text);line-height:1.4}.suspicion-tooltip-list li:before{content:"•";color:var(--color-warning);font-weight:700}.list-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);font-size:var(--text-xs);font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--color-border);background:transparent}.list-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-xs) var(--space-md);font-size:var(--text-base);border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast)}.list-row:last-child{border-bottom:none}.list-row:hover{background:var(--color-surface-hover)}.list-col{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-col-name{flex:3;min-width:0;overflow:visible}.list-col-half{flex:2;min-width:0}.list-col-third{flex:2;min-width:0;display:flex;align-items:center;justify-content:center}.list-col-status{flex:2;min-width:0}.list-col-score{flex:1.5;min-width:0}.list-col-count{flex:1;min-width:0}.list-col-actions{flex:1;display:flex;align-items:center;gap:var(--space-xs);justify-content:center}.score-high{color:var(--color-success);font-variant-numeric:tabular-nums}.score-high-bold{color:var(--color-success);font-weight:700;font-variant-numeric:tabular-nums}.score-medium{color:var(--color-warning);font-variant-numeric:tabular-nums}.score-medium-bold{color:var(--color-warning);font-weight:700;font-variant-numeric:tabular-nums}.score-low{color:var(--color-danger);font-variant-numeric:tabular-nums}.score-low-bold{color:var(--color-danger);font-weight:700;font-variant-numeric:tabular-nums}.container{max-width:var(--content-max-width);margin:0 auto;padding:0 var(--space-2xl);width:100%}.flex{display:flex}.flex-1{flex:1}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.grid{display:grid}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg)}.grid-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-lg)}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.ml-sm{margin-left:var(--space-sm)}.p-md{padding:var(--space-md)}.w-full{width:100%}.min-h-screen{min-height:100vh}.text-center{text-align:center}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-2xl{font-size:var(--text-2xl);font-family:var(--font-display);font-weight:700}.text-muted{color:var(--color-text-muted)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.text-primary{color:var(--color-primary)}.font-semibold{font-weight:600}.text-success{color:var(--color-success)}.font-mono{font-family:var(--font-mono)}.rounded-md{border-radius:var(--radius-md)}.bg-muted{background:var(--color-bg-secondary)}.bg-primary-light{background:var(--color-primary-50)}.bg-danger-light{background:var(--color-danger-bg)}.app-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-layout>.container{flex:1;display:flex;flex-direction:column;min-height:0}.app-header{position:sticky;top:0;z-index:var(--z-sticky);height:var(--header-height);background:var(--color-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--color-glass-border)}.app-header-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--content-max-width);margin:0 auto;padding:0 var(--space-2xl);height:100%;width:100%}.app-logo{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;color:var(--color-text);text-decoration:none;transition:color var(--transition-fast)}.app-logo:hover{color:var(--color-primary)}.user-menu{display:flex;align-items:center;gap:var(--space-md)}.user-email{font-size:var(--text-sm);color:var(--color-text-secondary)}.app-main{flex:1;padding:var(--space-lg) 0;animation:fadeInUp .4s var(--ease-out);display:flex;flex-direction:column;min-height:0;overflow-y:auto}.app-main>*{flex-shrink:0}.app-main>.interview-page,.app-main>.result-detail-page{flex:1;flex-shrink:1}.app-main:has(>.interview-page),.app-main:has(>.result-detail-page){overflow-y:hidden}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap}.page-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--color-text)}.admin-nav{display:flex;gap:var(--space-2xs);padding:var(--space-xs) 0;margin-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.admin-nav a{padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-full);transition:all var(--transition-fast)}.admin-nav a:hover{color:var(--color-text);background:var(--color-bg-secondary)}.admin-nav a.active{color:var(--color-primary);font-weight:600;background:var(--color-primary-50)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-xs);transition:all var(--transition-base)}.stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-hover)}.stat-label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums}.result-detail-page{flex:1;display:flex;flex-direction:column;min-height:0;max-width:var(--content-max-width);margin:0 auto;width:100%;padding:0 var(--space-2xl)}.result-detail-header{flex-shrink:0;padding-bottom:var(--space-md)}.result-detail-header .page-header{margin-bottom:0}.result-detail-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:var(--space-xl)}.loading{display:flex;align-items:center;justify-content:center;min-height:200px}.interview-page{display:flex;flex-direction:column;gap:var(--space-md);height:calc(100vh - var(--header-height) - var(--space-xl) * 2)}.interview-page-nav{display:flex;align-items:center;gap:var(--space-sm)}.interview-title-bar{display:flex;align-items:baseline;gap:var(--space-md);flex-wrap:wrap}.interview-title-bar h2{font-size:var(--text-xl);margin:0}.interview-toolbar{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.toolbar-separator{width:1px;height:24px;background:var(--color-border);margin:0 var(--space-2xs)}.interview-workspace{background:var(--color-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;width:100%;flex:1;display:flex;flex-direction:column;min-height:0}.tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);background:var(--color-surface-hover);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.interview-workspace .tabs{display:flex;padding:0 var(--space-md);background:var(--color-surface-hover);border-bottom:1px solid var(--color-border);margin-bottom:0;gap:0}.tab{padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);cursor:pointer;border:none;background:transparent;position:relative;transition:all .15s var(--ease-spring);white-space:nowrap}.tab:hover{color:var(--color-text)}.tab:active{transform:scale(.97);transition-duration:60ms}.tab.active{color:var(--color-primary);font-weight:600}.tab.active:after{content:"";position:absolute;bottom:-1px;left:var(--space-sm);right:var(--space-sm);height:2px;background:var(--color-primary);border-radius:1px;animation:tabLine .25s var(--ease-spring)}@keyframes tabLine{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tab-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.tab-fixed{padding:var(--space-md);padding-right:calc(var(--space-md) + 6px);border-bottom:1px solid var(--color-border-light);background:var(--color-surface)}.tab-scroll-area{padding:var(--space-md);overflow-y:auto;flex:1;min-height:0}.interview-card{display:flex;flex-direction:column;gap:var(--space-sm);cursor:pointer}.interview-card-meta{display:flex;gap:var(--space-sm);font-size:var(--text-xs);color:var(--color-text-muted)}.interview-card-stats{display:flex;gap:var(--space-md);font-size:var(--text-xs);color:var(--color-text-muted);padding-top:var(--space-2xs);border-top:1px solid var(--color-border-light)}.interview-card-stats span{display:flex;align-items:center;gap:var(--space-2xs)}.interview-card-stats .stat-accent{font-weight:600;color:var(--color-text-secondary)}.interview-card-completed{border-color:var(--color-success-border);background:linear-gradient(135deg,var(--color-surface) 85%,var(--color-success-bg))}.interview-card-completed:hover{border-color:var(--color-success)}.question-item{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border-light);background:var(--color-surface);transition:all var(--transition-fast)}.question-item:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.question-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-primary-50);color:var(--color-primary);font-size:var(--text-sm);font-weight:700;flex-shrink:0}.question-actions{display:flex;gap:var(--space-2xs);opacity:0;transition:opacity var(--transition-fast);margin-left:auto}.question-item:hover .question-actions{opacity:1}.session-page{height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--color-bg);background-image:radial-gradient(ellipse at 20% 80%,rgba(91,108,240,.04) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(56,202,241,.04) 0%,transparent 50%)}.session-header{padding:var(--space-md) var(--space-lg);text-align:center;border-bottom:1px solid var(--color-glass-border);background:var(--color-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500}.session-body{flex:1;overflow-y:auto;padding:var(--space-lg);display:flex;flex-direction:column}.session-body-centered{justify-content:center;align-items:center;overflow:hidden}.session-footer{padding:var(--space-sm) var(--space-lg);padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-glass-border);background:var(--color-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);display:flex;flex-direction:column;align-items:center;gap:var(--space-2xs)}.session-footer-content{width:100%;max-width:680px}.session-tips{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;margin-top:var(--space-2xs);line-height:1.4;padding:var(--space-xs)}.chat-container{display:flex;flex-direction:column;gap:var(--space-sm);max-width:680px;margin:0 auto;width:100%}.chat-pair{display:flex;flex-direction:column;gap:var(--space-sm)}.chat-message{display:flex;flex-direction:column;gap:var(--space-2xs);animation:chatIn .3s var(--ease-out)}@keyframes chatIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.chat-bubble{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);max-width:85%;box-shadow:var(--shadow-sm)}.chat-bubble-question{background:var(--color-surface);border:1px solid var(--color-border);align-self:flex-start;border-bottom-left-radius:var(--radius-sm)}.chat-bubble-answer{background:var(--color-primary-50);border:1px solid var(--color-primary-100);align-self:flex-end;border-bottom-right-radius:var(--radius-sm)}.chat-label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.waveform-player{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs)}.waveform-btn{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;flex-shrink:0;transition:all var(--transition-fast)}.waveform-btn:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-glow);transform:scale(1.06)}.waveform-track{flex:1;display:flex;align-items:center;gap:2px;height:36px;cursor:pointer}.waveform-bars{display:flex;align-items:center;gap:2px;flex:1;height:100%;cursor:pointer;user-select:none;-webkit-user-select:none}.wf-bar{flex:1;background:var(--color-border);border-radius:2px;min-width:2px;transition:background var(--transition-fast)}.wf-bar.active{background:var(--color-primary)}.waveform-time{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;min-width:40px;text-align:right}.audio-player{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.recording-content{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-lg);animation:fadeIn .2s var(--ease-out)}.recording-dot{width:10px;height:10px;border-radius:var(--radius-full);background:var(--color-danger);animation:pulse 1.2s ease-in-out infinite}.recording-bars{display:flex;align-items:center;gap:3px;height:24px}.rec-bar{width:3px;background:var(--color-danger);border-radius:2px;animation:recBounce .8s ease-in-out infinite}.rec-bar:nth-child(2){animation-delay:.1s}.rec-bar:nth-child(3){animation-delay:.2s}.rec-bar:nth-child(4){animation-delay:.3s}.rec-bar:nth-child(5){animation-delay:.4s}@keyframes recBounce{0%,to{height:6px}50%{height:20px}}.recording-time{font-size:var(--text-sm);font-weight:600;color:var(--color-danger);font-variant-numeric:tabular-nums}.recording-urgent .recording-content{animation:urgentBlink .6s ease-in-out infinite}.recording-urgent .recording-time{font-weight:700}@keyframes urgentBlink{0%,to{opacity:1}50%{opacity:.3}}.welcome-card{max-width:520px;width:100%;text-align:center}.welcome-icon{font-size:3rem;margin-bottom:var(--space-md)}.complete-card{max-width:440px;width:100%;text-align:center}.complete-icon{width:64px;height:64px;border-radius:var(--radius-full);background:var(--color-success-bg);border:2px solid var(--color-success-border);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-md);font-size:1.5rem}.complete-icon svg{width:28px;height:28px;color:var(--color-success)}.deadline-badge{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-sm);font-size:var(--text-xs);font-weight:600;background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border);border-radius:var(--radius-full)}.question-card{width:100%;max-width:520px;min-height:320px;max-height:500px;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden}.question-card-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-xl) var(--space-lg);text-align:center}.question-card-label{font-size:var(--text-xs);font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em}.question-card-text{font-size:var(--text-md);line-height:1.6;color:var(--color-text)}.question-card-audio{width:100%}.question-card-divider{height:1px;background:var(--color-border-light);margin:0 var(--space-lg)}.question-card-footer{padding:var(--space-md) var(--space-lg)}.question-card-enter{animation:cardSlideIn .3s var(--ease-out) both}.question-card-exit{animation:cardSlideOut .3s var(--ease-in) both}@keyframes cardSlideIn{0%{opacity:0;transform:translate(60px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes cardSlideOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-60px) scale(.95)}}.countdown-badge{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-md);font-size:var(--text-sm);font-weight:600;color:var(--color-warning-text);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-full);font-variant-numeric:tabular-nums}.modal-overlay,.confirm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:#1c1c384d;backdrop-filter:blur(8px) saturate(1.2);-webkit-backdrop-filter:blur(8px) saturate(1.2);animation:fadeIn .2s var(--ease-out)}.modal,.confirm-modal{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-xl);width:90%;max-width:480px;max-height:85vh;overflow-y:auto;animation:modalIn .3s var(--ease-spring);border:1px solid var(--color-glass-border)}.modal-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--color-text);margin-bottom:var(--space-lg)}.confirm-modal-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;margin-top:var(--space-lg)}.toast-container{position:fixed;top:var(--space-lg);right:var(--space-lg);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-sm);pointer-events:none}.toast{pointer-events:auto;background:var(--color-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-md);box-shadow:var(--shadow-lg);font-size:var(--text-sm);color:var(--color-text);animation:slideInRight .35s var(--ease-spring);max-width:380px;display:flex;align-items:center;gap:var(--space-sm)}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-danger)}.toast-warning{border-left:3px solid var(--color-warning)}.toast-info{border-left:3px solid var(--color-primary)}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.empty-state{text-align:center;padding:var(--space-3xl) var(--space-xl);color:var(--color-text-muted);font-size:var(--text-base)}.empty-state p{color:var(--color-text-muted);max-width:360px;margin:0 auto}.error-banner{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);color:var(--color-danger-text);font-size:var(--text-sm);animation:fadeIn .2s var(--ease-out)}.offline-banner{position:fixed;bottom:var(--space-lg);left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--color-text);color:var(--color-text-inverse);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;box-shadow:var(--shadow-xl);animation:slideUp .35s var(--ease-spring)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(100%)}to{opacity:1;transform:translate(-50%) translateY(0)}}.spinner{width:28px;height:28px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin .7s linear infinite}.spinner-sm{width:14px;height:14px;border:2px solid var(--color-border);border-top-color:currentColor;border-radius:var(--radius-full);animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding:var(--space-md) 0}.pagination button{min-width:34px;height:34px;padding:0 var(--space-xs);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);transition:all var(--transition-fast)}.pagination button:hover:not(:disabled){background:var(--color-bg-secondary);color:var(--color-text)}.pagination button.active{background:var(--color-primary);color:var(--color-text-inverse)}.pagination button:disabled{opacity:.4;cursor:not-allowed}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite;border-radius:var(--radius-md)}.skeleton-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.skeleton-badge{width:80px;height:22px}.skeleton-table{border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden}.skeleton-table-header{display:flex;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:transparent;border-bottom:1px solid var(--color-border)}.skeleton-table-row{display:flex;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border-light)}.skeleton-table-row:last-child{border-bottom:none}.skeleton-cell{height:16px;border-radius:var(--radius-md)}.skeleton-stat-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.skeleton-question-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border-light);border-radius:var(--radius-md)}.skeleton-num{width:32px;height:32px;border-radius:var(--radius-full)}.skeleton-text,.skeleton-line{height:14px;border-radius:var(--radius-md)}.skeleton-line-short{width:40%}.skeleton-line-medium{width:65%}.skeleton-line-long{width:90%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes keycapPress{0%{transform:translateY(0)}40%{transform:translateY(2px)}70%{transform:translateY(-1px)}to{transform:translateY(0)}}@keyframes switchSnap{0%{transform:scale(1)}30%{transform:scale(.96)}60%{transform:scale(1.02)}to{transform:scale(1)}}.animate-in>*{animation:fadeInUp .4s var(--ease-out) both}.animate-in>*:nth-child(1){animation-delay:0ms}.animate-in>*:nth-child(2){animation-delay:60ms}.animate-in>*:nth-child(3){animation-delay:.12s}.animate-in>*:nth-child(4){animation-delay:.18s}.animate-in>*:nth-child(5){animation-delay:.24s}.animate-in>*:nth-child(6){animation-delay:.3s}@media (max-width: 768px){.grid-auto{grid-template-columns:1fr}.grid-stats{grid-template-columns:repeat(2,1fr)}.container,.app-header-inner{padding:0 var(--space-md)}.app-main{padding:var(--space-md) 0}.page-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.page-title{font-size:var(--text-xl)}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab-fixed,.tab-scroll-area{padding:var(--space-sm)}.admin-nav{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.admin-nav::-webkit-scrollbar{display:none}.list-header{display:none}.list-row{flex-wrap:wrap;gap:var(--space-xs);padding:var(--space-md)}.list-col-name{flex:1 0 100%}.list-col-actions{flex:1 0 100%;justify-content:flex-end}.session-body{padding:var(--space-md)}.chat-bubble{max-width:95%}.modal,.confirm-modal{width:95%;padding:var(--space-lg);border-radius:var(--radius-lg)}.question-actions{opacity:1}.user-email{display:none}.stat-value{font-size:var(--text-xl)}}@media (max-width: 480px){.grid-stats{grid-template-columns:1fr}.session-footer{padding:var(--space-sm)}.btn-lg{width:100%}.interview-card{padding:var(--space-md)}}@media (min-width: 1440px){.container{max-width:1320px}}
