:root{--imi-blue: #042847;--imi-blue-hover: #063a5f;--imi-yellow: #ffd502;--imi-dark-gray: #231f20;--white: #ffffff;--light-gray: #f5f5f5;--medium-gray: #e0e0e0;--text-gray: #666666;--text-muted: #888888;--bg-light: #fafafa;--imi-blue-light: rgba(4, 40, 71, .1);--success-green: #16a34a;--error-red: #dc2626;--warning-orange: #f59e0b;--info-blue: #0284c7;--success-green-bg: #f0fdf4;--error-red-bg: #fef2f2;--warning-orange-bg: #fffbeb;--info-blue-bg: #f0f9ff;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 22px;--font-size-xxl: 28px;--shadow-sm: 0 1px 2px rgba(4, 40, 71, .08);--shadow-md: 0 4px 8px rgba(4, 40, 71, .12);--shadow-lg: 0 8px 16px rgba(4, 40, 71, .18);--transition-fast: .15s ease;--transition-normal: .25s ease;--bg-page: var(--light-gray);--bg-surface: var(--white);--bg-surface-2: var(--bg-light);--text-primary: var(--imi-dark-gray);--text-secondary: var(--text-gray);--border-default: var(--medium-gray)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-primary);font-size:var(--font-size-base);line-height:1.5;color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{color:var(--imi-blue);line-height:1.25;margin:0 0 var(--spacing-sm)}h1{font-size:var(--font-size-xxl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}a{color:var(--imi-blue)}p{margin:0 0 var(--spacing-md)}.muted{color:var(--text-secondary)}.small{font-size:var(--font-size-sm)}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);background:var(--bg-surface);border-bottom:3px solid var(--imi-yellow);box-shadow:var(--shadow-sm)}.app-header .brand{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.app-header .brand img{height:34px;width:auto}.app-header .brand .title{font-weight:600;color:var(--imi-blue)}.app-header .user{display:flex;align-items:center;gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-secondary)}.container{max-width:760px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-md) var(--spacing-xxl)}.container.wide{max-width:980px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.card{background:var(--bg-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal)}.card.clickable{cursor:pointer}.card.clickable:hover{box-shadow:var(--shadow-md)}.card.accent{border-left:4px solid var(--imi-yellow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:10px 18px;border:2px solid transparent;border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-base);font-weight:500;line-height:1.4;cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn:disabled{background:#d1d5db!important;color:#9ca3af!important;border-color:#d1d5db!important;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{background:var(--imi-yellow);color:var(--imi-blue);border-color:var(--imi-yellow)}.btn-secondary{background:var(--white);color:var(--imi-blue);border-color:var(--imi-blue)}.btn-danger{background:var(--white);color:var(--error-red);border-color:var(--error-red)}.btn-link{background:none;border:none;color:var(--imi-blue);padding:var(--spacing-xs) var(--spacing-sm)}@media(hover:hover){.btn-primary:hover:not(:disabled){background:var(--imi-blue);color:var(--imi-yellow);border-color:var(--imi-blue);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary:hover:not(:disabled){background:var(--imi-blue);color:var(--white);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-danger:hover:not(:disabled){background:var(--error-red);color:var(--white)}.btn-link:hover{color:var(--imi-blue-hover);text-decoration:underline}}.btn-sm{padding:6px 12px;font-size:var(--font-size-sm)}.btn-lg{padding:14px 28px;font-size:var(--font-size-lg)}.btn-block{width:100%}.choice-row{display:flex;gap:var(--spacing-sm)}.choice{flex:1;padding:14px;border-radius:var(--radius-md);border:2px solid var(--imi-blue);background:var(--white);color:var(--imi-blue);font-size:var(--font-size-lg);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.choice.selected{background:var(--imi-yellow);border-color:var(--imi-yellow);color:var(--imi-blue)}label.field{display:block;margin-bottom:var(--spacing-lg)}label.field>span{display:block;font-weight:600;color:var(--imi-blue);margin-bottom:var(--spacing-sm)}input[type=text],input[type=number],select,textarea{width:100%;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-base);line-height:1.4}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--imi-blue);box-shadow:0 0 0 3px var(--imi-blue-light)}textarea.script{min-height:280px;line-height:1.8;resize:vertical}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;white-space:nowrap}.pill.gray{background:var(--light-gray);color:var(--text-gray)}.pill.blue{background:var(--info-blue-bg);color:var(--info-blue)}.pill.amber{background:var(--warning-orange-bg);color:var(--warning-orange)}.pill.green{background:var(--success-green-bg);color:var(--success-green)}.pill.red{background:var(--error-red-bg);color:var(--error-red)}.chip{display:inline-flex;padding:2px 10px;border-radius:var(--radius-full);background:var(--imi-blue-light);color:var(--imi-blue);font-size:var(--font-size-xs);font-weight:600}.ep-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.ep-row .meta{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm)}.ep-actions{display:flex;align-items:center;gap:var(--spacing-md)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.icon-btn.danger{color:var(--error-red)}.icon-btn:hover:not(:disabled){color:var(--white);background:var(--error-red);border-color:var(--error-red)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.panels{display:grid;grid-template-columns:1fr 1.3fr;gap:var(--spacing-lg)}@media(max-width:760px){.panels{grid-template-columns:1fr}}.panel-label{font-weight:600;color:var(--imi-blue);margin-bottom:var(--spacing-sm)}.raw-transcript{background:var(--bg-surface-2);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-md);max-height:360px;overflow-y:auto;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.7;white-space:pre-wrap}.counter{text-align:right;font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--spacing-xs)}.title-input{flex:1;min-width:0;padding:4px 8px;font-size:var(--font-size-xxl);font-weight:600;color:var(--imi-blue);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm)}.title-input:hover:not(:disabled){border-color:var(--border-default)}.title-input:focus{outline:none;background:var(--bg-surface);border-color:var(--imi-blue);box-shadow:0 0 0 3px var(--imi-blue-light)}.actions.divided{align-items:center;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-default)}.actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.save-state{align-self:center;font-size:var(--font-size-sm);color:var(--text-muted)}.model-config{background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg);overflow:hidden}.mc-toggle{display:flex;align-items:center;gap:var(--spacing-md);width:100%;padding:12px var(--spacing-lg);border:none;background:none;cursor:pointer;font-family:inherit;font-size:var(--font-size-base);color:var(--imi-blue)}.mc-toggle:hover{background:var(--bg-surface-2)}.mc-title{font-weight:600}.mc-title i{margin-right:var(--spacing-xs);color:var(--text-secondary)}.mc-summary{margin-left:auto;display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary)}.mc-badge{padding:2px 8px;border-radius:var(--radius-full);background:var(--imi-blue-light);color:var(--imi-blue);font-size:var(--font-size-xs);font-weight:600}.mc-chevron{color:var(--text-muted);font-size:var(--font-size-sm)}.mc-body{padding:0 var(--spacing-lg) var(--spacing-lg);border-top:1px solid var(--border-default)}.mc-section-label{font-weight:600;color:var(--imi-blue);font-size:var(--font-size-sm);margin:var(--spacing-lg) 0 var(--spacing-sm)}.mc-prompt-label{display:flex;align-items:baseline;justify-content:space-between}.mc-reset{font-size:var(--font-size-sm);font-weight:500}.mc-reset:disabled{background:none!important;border-color:transparent!important;color:var(--text-muted)!important;cursor:default;text-decoration:none}.mc-reset i{margin-right:4px}.mc-models{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}@media(max-width:760px){.mc-models{grid-template-columns:1fr}}.mc-model{display:flex;flex-direction:column;gap:4px;padding:var(--spacing-md);text-align:left;border:2px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);cursor:pointer;font-family:inherit;transition:all var(--transition-fast)}.mc-model:hover{border-color:var(--imi-blue)}.mc-model.selected{border-color:var(--imi-yellow);background:var(--imi-blue-light)}.mc-model-head{display:flex;align-items:center;justify-content:space-between}.mc-model-label{font-weight:600;color:var(--imi-blue)}.mc-model-head i{color:var(--imi-blue)}.mc-model-sub{font-size:var(--font-size-sm);color:var(--text-secondary)}.mc-model-price{font-size:var(--font-size-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.mc-model-blurb{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5;margin-top:2px}.mc-instructions{min-height:180px;line-height:1.6;resize:vertical}.mc-dynamic{margin:0;padding:var(--spacing-md);background:var(--bg-surface-2);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-family:inherit;font-size:var(--font-size-sm);line-height:1.6;white-space:pre-wrap}.mc-note{margin:var(--spacing-sm) 0 0;font-size:var(--font-size-sm);color:var(--text-muted)}.mc-foot{display:flex;justify-content:flex-end;margin-top:var(--spacing-md);min-height:18px}.stepper{display:flex;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-lg) 0}.step{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--text-muted);font-weight:500}.step.active{color:var(--imi-blue)}.step.done{color:var(--success-green)}.step-sep{flex:1;height:2px;background:var(--border-default);min-width:16px}.dropzone{border:2px dashed var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-xl);text-align:center;color:var(--text-secondary);background:var(--bg-surface-2);cursor:pointer;transition:all var(--transition-fast)}.dropzone.dragover{border-color:var(--imi-blue);background:var(--imi-blue-light)}.dropzone i{font-size:28px;color:var(--imi-blue);display:block;margin-bottom:var(--spacing-sm)}.recorder{text-align:center;padding:var(--spacing-lg)}.mic-btn{width:84px;height:84px;border-radius:var(--radius-full);border:none;background:var(--imi-yellow);color:var(--imi-blue);font-size:30px;cursor:pointer;transition:all var(--transition-fast)}.mic-btn.recording{background:var(--error-red);color:var(--white);animation:pulse 1.2s infinite}.rec-timer{font-variant-numeric:tabular-nums;font-size:var(--font-size-xl);color:var(--imi-blue);margin-top:var(--spacing-sm)}.tabs{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.tab{flex:1;padding:10px;border:1px solid var(--border-default);background:var(--white);color:var(--text-secondary);cursor:pointer;font-weight:500}.tab:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.tab:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.tab.active{background:var(--imi-blue);color:var(--white);border-color:var(--imi-blue)}.progress{height:8px;border-radius:var(--radius-full);background:var(--medium-gray);overflow:hidden;margin-top:var(--spacing-md)}.progress>div{height:100%;background:var(--imi-yellow);transition:width .2s ease}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:linear-gradient(135deg,var(--imi-blue) 0%,var(--imi-blue-hover) 100%)}.login-card{width:100%;max-width:400px;background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-xxl);text-align:center;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s ease}.login-card img{max-width:200px;height:auto;margin-bottom:var(--spacing-lg)}.login-card .sub{color:var(--text-secondary);margin-bottom:var(--spacing-xl)}.alert{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-top:var(--spacing-md)}.alert.error{background:var(--error-red-bg);color:var(--error-red)}.center-screen{min-height:60vh;display:flex;align-items:center;justify-content:center}.spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--imi-blue-light);border-top-color:var(--imi-blue);border-radius:50%;animation:spin .7s linear infinite}.empty{text-align:center;color:var(--text-muted);padding:var(--spacing-xxl) var(--spacing-md)}.empty i{font-size:40px;color:var(--medium-gray);display:block;margin-bottom:var(--spacing-md)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{box-shadow:0 0 #dc262680}50%{box-shadow:0 0 0 12px #dc262600}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
