@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600&display=swap");:root{color-scheme:light;--bg-gradient-start:#f3f5ff;--bg-gradient-end:#fff7fb;--surface:hsla(0,0%,100%,.88);--surface-strong:#fff;--surface-muted:hsla(0,0%,100%,.7);--border-soft:rgba(58,61,118,.14);--border-strong:rgba(58,61,118,.24);--shadow-elevated:0 20px 40px rgba(31,41,88,.12);--text-strong:#1f2233;--text-muted:#5b5f7d;--text-subtle:#7a7e99;--accent:#3a4bff;--accent-strong:#2437e6;--accent-soft:rgba(58,75,255,.08);--success-bg:rgba(34,197,94,.14);--success-fg:#178451;--danger-bg:rgba(239,68,68,.16);--danger-fg:#d43e3e;--warning-bg:rgba(249,115,22,.16);--warning-fg:#b75a0b;--radius-lg:28px;--radius-md:20px;--radius-sm:14px}*,:after,:before{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Inter,Noto Sans JP,system-ui,sans-serif;color:var(--text-strong);background:radial-gradient(120% 120% at 20% 0,var(--bg-gradient-start) 0,#fff 45%,var(--bg-gradient-end) 100%);line-height:1.6;letter-spacing:.01em;-webkit-font-smoothing:antialiased}button{font-family:inherit}#app{min-height:100vh}.hidden{display:none!important}.app-shell{min-height:100vh;padding:2.5rem 3rem 3rem;display:flex;justify-content:center;align-items:stretch;width:100%}.app-main{width:min(1220px,100%);display:flex;flex-direction:column;gap:1.75rem;flex:1 1;min-height:0}.app-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:1.5rem;gap:1.5rem;padding:1.75rem 2rem;border-radius:var(--radius-lg);background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-soft);box-shadow:0 12px 30px rgba(88,99,148,.12)}.brand-cluster{display:flex;align-items:flex-start;gap:1.25rem;min-width:0}.brand-mark{display:grid;place-items:center;width:3.25rem;height:3.25rem;border-radius:20px;background:linear-gradient(135deg,#2f41ff,#6173ff);color:#fff;font-size:1.35rem;font-weight:600;box-shadow:0 16px 25px rgba(47,65,255,.25)}.brand-eyebrow{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:var(--text-subtle)}.brand-title{margin:.25rem 0 0;font-size:1.8rem;font-weight:600;letter-spacing:-.01em}.session-cluster{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;justify-content:flex-end;justify-self:end}.api-key-container{display:flex;flex-direction:column;gap:.25rem;flex-shrink:0}.api-key-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.api-key-input{padding:.5rem .75rem;border-radius:6px;border:1px solid rgba(58,61,118,.16);background:var(--surface-strong);color:var(--text-primary);font-size:.85rem;font-family:Monaco,Menlo,Courier New,monospace;min-width:280px;transition:border-color .2s ease,box-shadow .2s ease}.api-key-input:focus{outline:none;border-color:var(--accent-strong);box-shadow:0 0 0 3px rgba(58,75,255,.1)}.api-key-input:disabled{opacity:.5;cursor:not-allowed}.api-key-input::placeholder{color:var(--text-muted);opacity:.6}.modality-toggle{gap:.35rem;padding:.25rem;border-radius:999px;background:rgba(58,75,255,.12);border:1px solid rgba(58,61,118,.16);flex-shrink:0}.modality-option,.modality-toggle{display:inline-flex;align-items:center}.modality-option{gap:.4rem;padding:.45rem 1rem;border-radius:999px;border:none;background:transparent;color:var(--text-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.modality-option span[aria-hidden=true]{font-size:1rem}.modality-option:hover{background:hsla(0,0%,100%,.55);color:var(--accent-strong);transform:translateY(-1px)}.modality-option.is-selected{background:var(--surface-strong);color:var(--accent-strong);box-shadow:0 12px 24px rgba(49,78,255,.22)}.modality-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.select-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.select-field label{font-size:.78rem;font-weight:600;color:var(--text-subtle)}.select-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-soft);border-radius:12px;padding:.55rem .75rem;font-size:.95rem;font-weight:500;background:hsla(0,0%,100%,.9);color:var(--text-strong);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.4);transition:border-color .15s ease,box-shadow .15s ease}.select-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(58,75,255,.12)}.preset-description{margin:0;font-size:.78rem;color:var(--text-muted);line-height:1.4}.coach-calibrator{display:flex;flex-direction:column;gap:.9rem;padding:.75rem .9rem .85rem;border:1px solid var(--border-soft);border-radius:16px;background:hsla(0,0%,100%,.85);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.5)}.coach-calibrator-header{display:flex;flex-direction:column;gap:.35rem}.coach-calibrator-eyebrow{margin:0;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-subtle);font-weight:600}.coach-calibrator-intro{margin:0;font-size:.82rem;color:var(--text-muted);line-height:1.5}.coach-calibrator-form{display:flex;flex-direction:column;gap:.8rem}.coach-question{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.coach-question legend{font-size:.85rem;font-weight:600;color:var(--text-strong);margin-bottom:.15rem}.coach-options{display:grid;grid-gap:.45rem;gap:.45rem}.coach-option{display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;border:1px solid transparent;border-radius:12px;background:rgba(248,249,255,.6);transition:border-color .15s ease,background .15s ease}.coach-option input[type=radio]{accent-color:var(--accent);width:16px;height:16px}.coach-option-label{font-size:.82rem;color:var(--text-strong);line-height:1.45}.coach-option.is-selected{border-color:var(--accent);background:rgba(58,75,255,.12)}.coach-option:focus-within{border-color:var(--accent);background:rgba(58,75,255,.1)}.coach-option input[type=radio]:disabled+.coach-option-label{color:var(--text-muted)}.coach-recommendation{display:flex;flex-direction:column;gap:.35rem;padding:.6rem .75rem;border-radius:12px;background:rgba(58,75,255,.08)}.coach-recommendation-label{margin:0;font-size:.85rem;font-weight:600;color:var(--accent-strong)}.coach-recommendation-description{margin:0;font-size:.78rem;color:var(--text-muted)}.coach-recommendation-rationale{margin:0;font-size:.76rem;color:var(--text-subtle);line-height:1.5}.conversation-purpose select{width:100%}body.config-sidebar-open{overflow:hidden}.hamburger-button{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px;border:1px solid var(--border-soft);background:hsla(0,0%,100%,.75);color:var(--accent-strong);cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease;font-size:1.25rem;flex-shrink:0}.hamburger-button:hover{transform:translateY(-1px);border-color:rgba(58,75,255,.35);background:rgba(58,75,255,.12)}.hamburger-button[aria-disabled=true]{cursor:not-allowed;opacity:.45;pointer-events:none;transform:none}.hamburger-icon{line-height:1}.config-sidebar-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:998}.config-sidebar-backdrop.is-open{opacity:1;pointer-events:auto}.config-sidebar{position:fixed;inset:0;display:flex;justify-content:flex-start;align-items:stretch;pointer-events:none;z-index:999}.config-sidebar.is-open{pointer-events:auto}.config-sidebar:not(.is-open){visibility:hidden}.config-sidebar-surface{width:min(420px,100vw);height:100vh;background:var(--surface-strong);box-shadow:0 40px 80px rgba(31,41,88,.24);border-right:1px solid var(--border-soft);transform:translateX(-100%);transition:transform .24s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;overflow:hidden;pointer-events:auto}.config-sidebar.is-open .config-sidebar-surface{transform:translateX(0)}.config-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 1.75rem .75rem}.config-sidebar-headline{display:flex;flex-direction:column;gap:.35rem}.config-sidebar-close{border:1px solid var(--border-soft);border-radius:999px;width:2.4rem;height:2.4rem;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;background:rgba(248,249,255,.8);color:var(--text-muted);cursor:pointer;transition:transform .15s ease,border-color .15s ease}.config-sidebar-close:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(58,75,255,.35);color:var(--accent-strong)}.config-sidebar-close:disabled{cursor:not-allowed;opacity:.5}.config-sidebar-body{flex:1 1;overflow-y:auto;padding:0 1.75rem 1.75rem;display:flex;flex-direction:column;gap:1.2rem}@media (max-width:960px){.app-header{grid-template-columns:1fr;gap:1rem;align-items:stretch}.brand-cluster{align-items:center}.session-cluster{justify-self:stretch;justify-content:flex-start}.modality-toggle{width:100%;justify-content:space-between}.modality-option{flex:1 1;justify-content:center}.content-grid{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.config-sidebar-surface{width:100%;max-width:none}.config-sidebar-body{padding:0 1.25rem 1.5rem}}.status-indicator{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border-soft);background:hsla(0,0%,100%,.72);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.4);font-weight:500;color:var(--text-muted);min-width:10rem;justify-content:center;flex-wrap:wrap}.status-indicator #status{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:999px;font-size:.85rem;background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.status-indicator #status:before{content:"●";font-size:.7rem}.status-indicator.connected #status{background:var(--success-bg);color:var(--success-fg)}.status-indicator.disconnected #status{background:var(--danger-bg);color:var(--danger-fg)}.status-indicator.connecting #status{background:var(--warning-bg);color:var(--warning-fg);animation:pulse 1.4s ease-in-out infinite alternate}.session-timer{font-size:.85rem;font-weight:500;color:var(--text-subtle)}.session-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.session-actions button{border:none;border-radius:999px;font-size:.95rem;font-weight:600;padding:.75rem 1.4rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease,background .2s ease,color .2s ease}.session-actions button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.primary-action{background:linear-gradient(135deg,#2f41ff,#6173ff);color:#fff;box-shadow:0 16px 30px rgba(47,65,255,.28)}.primary-action:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 20px 36px rgba(47,65,255,.32)}.neutral-action{background:rgba(49,78,255,.08);color:var(--accent-strong);border:1px solid rgba(49,78,255,.16)}.neutral-action:hover:not(:disabled){background:rgba(49,78,255,.12);transform:translateY(-1px)}.ghost-action{background:hsla(0,0%,100%,.7);color:var(--text-muted);border:1px solid var(--border-soft)}.ghost-action:hover:not(:disabled){color:var(--accent-strong);border-color:rgba(49,78,255,.2);transform:translateY(-1px)}.content-grid{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:minmax(0,1fr);grid-gap:1.5rem;gap:1.5rem;align-items:stretch;height:calc(100dvh - 260px);max-height:calc(100dvh - 160px)}.support-rail{display:flex;flex-direction:column;gap:1.5rem;min-height:0;max-height:100%;overflow-y:auto}.progress-panel{flex:1 1;display:flex;flex-direction:column}.progress-panel .summary-progress{overflow-y:auto;max-height:100%}.panel{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-soft);box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:1.75rem}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.panel-headline{display:flex;flex-direction:column;gap:.35rem}.panel-actions{display:flex;align-items:center;gap:.6rem}.panel-eyebrow{margin:0;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-subtle)}.panel-title{margin:.3rem 0 0;font-size:1.4rem;font-weight:600;letter-spacing:-.01em}.panel-toggle{align-self:center;font-size:.82rem;font-weight:600;padding:.45rem .85rem;border-radius:999px;border:1px solid var(--border-soft);background:rgba(58,75,255,.08);color:var(--accent-strong);cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.panel-toggle:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(58,75,255,.35);background:rgba(58,75,255,.14)}.panel-toggle:disabled{cursor:not-allowed;opacity:.5}.panel-body{margin-top:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.conversation-panel{display:flex;flex-direction:column;height:100%;min-height:0;max-height:100%;overflow:hidden}.conversation-panel .panel-body{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:1.25rem;overflow:hidden}.text-chat-form{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.15rem 1.15rem;border-radius:var(--radius-md);border:1px solid var(--border-soft);background:hsla(0,0%,100%,.72);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.6);flex-shrink:0}.text-chat-label{font-size:.85rem;font-weight:600;color:var(--text-subtle)}.text-chat-controls{display:flex;align-items:flex-end;gap:.9rem}.text-chat-input{flex:1 1;min-height:3.25rem;padding:.75rem .9rem;border-radius:16px;border:1px solid rgba(58,61,118,.18);font-size:.95rem;font-family:inherit;color:var(--text-strong);background:hsla(0,0%,100%,.92);resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.text-chat-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(58,75,255,.18)}.text-chat-input:disabled{background:rgba(245,247,255,.6);color:var(--text-subtle);cursor:not-allowed}.text-chat-send{border:none;border-radius:999px;padding:.65rem 1.4rem;font-size:.9rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#2f41ff,#6173ff);box-shadow:0 12px 22px rgba(47,65,255,.28);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.text-chat-send:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 26px rgba(47,65,255,.32)}.text-chat-send:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.text-chat-hint{margin:0;font-size:.8rem;color:var(--text-subtle)}.summary-controls{display:flex;align-items:center;justify-content:flex-end}.icon-pill{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;border:1px solid rgba(58,75,255,.18);background:rgba(58,75,255,.12);color:var(--accent-strong);padding:.55rem 1rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.icon-pill:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(49,78,255,.18)}.icon-pill.copied{background:rgba(34,197,94,.18);border-color:rgba(34,197,94,.24);color:var(--success-fg)}.pill-button{border:none;border-radius:999px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;color:var(--accent-strong);background:rgba(58,75,255,.12);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.pill-button:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(49,78,255,.15)}#conversation-log,#copy-transcript-btn,#summary-controls,#text-chat-form{display:none}.instructions-card{background:linear-gradient(135deg,rgba(97,115,255,.09),hsla(0,0%,100%,.85) 70%);border:1px solid rgba(97,115,255,.2);border-radius:var(--radius-md);padding:1.5rem;color:var(--text-strong);box-shadow:0 14px 32px rgba(88,99,148,.15);flex-shrink:0}.instructions-toggle{display:none}.instructions-toggle-button{border:1px solid var(--border-soft);border-radius:999px;background:rgba(58,75,255,.08);color:var(--accent-strong);font-size:.85rem;font-weight:600;padding:.55rem 1.15rem;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease}.instructions-toggle-button:hover{transform:translateY(-1px);border-color:rgba(58,75,255,.2);background:rgba(58,75,255,.14)}.instructions-toggle-button:focus-visible{outline:3px solid rgba(58,75,255,.2);outline-offset:2px}.instructions-card h3{margin:0 0 .75rem;font-size:1.2rem;font-weight:600}.instructions-card p{margin:0 0 1rem;color:var(--text-muted)}.instructions-list{display:grid;grid-gap:.75rem;gap:.75rem;margin:0 0 1.25rem}.instruction-step{display:flex;align-items:center;justify-content:space-between;background:hsla(0,0%,100%,.75);border:1px solid rgba(97,115,255,.14);border-radius:16px;padding:.75rem 1rem;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.6)}.step-label{font-weight:600;color:var(--accent-strong)}.step-copy{font-size:.9rem;color:var(--text-muted)}.instructions-footer{margin:0;font-size:.85rem;color:var(--text-subtle)}.conversation-log{background:hsla(0,0%,100%,.76);border-radius:var(--radius-md);border:1px solid var(--border-soft);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.4);flex-direction:column;overflow:hidden}.conversation-log,.log-container{display:flex;flex:1 1;min-height:0;max-height:100%}.log-container{height:100%;overflow-y:auto;padding:1.5rem;flex-direction:column;gap:1rem;scroll-behavior:smooth}.log-container::-webkit-scrollbar{width:8px}.log-container::-webkit-scrollbar-track{background:transparent}.log-container::-webkit-scrollbar-thumb{background:rgba(47,65,255,.2);border-radius:999px}.message{max-width:90%;border-radius:22px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;background:hsla(0,0%,100%,.88);border:1px solid rgba(58,61,118,.12);box-shadow:0 10px 24px rgba(88,99,148,.15)}.message.assistant{margin-right:auto}.message.user{margin-left:auto;background:linear-gradient(135deg,#2f41ff,#6173ff);color:#fff;border:none;box-shadow:0 16px 30px rgba(47,65,255,.28)}.message-header{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle)}.message.user .message-header{color:hsla(0,0%,100%,.7)}.message-role{font-weight:600}.message-content{font-size:.95rem;white-space:pre-wrap;line-height:1.7;color:inherit}.message.assistant .message-content{color:var(--text-strong)}.message.speaking{position:relative;box-shadow:0 18px 36px rgba(47,65,255,.28)}.message.speaking:after{content:"";position:absolute;inset:-3px;border-radius:inherit;background:linear-gradient(135deg,rgba(47,65,255,.25),transparent);z-index:-1}.recording-indicator{width:-moz-fit-content;width:fit-content;margin:.5rem auto 0;padding:.6rem 1rem;border-radius:18px;background:rgba(47,65,255,.12);color:var(--accent-strong);font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:.5rem}.recording-indicator .coach-icon{font-size:1rem}.recording-indicator .dots{display:inline-flex;gap:.15rem}.recording-indicator .dots span{font-weight:700;line-height:1;animation:bounce 1.1s ease-in-out infinite alternate}.recording-indicator .dots span:nth-child(2){animation-delay:.2s}.recording-indicator .dots span:nth-child(3){animation-delay:.4s}.summary-progress{gap:1rem;margin-top:1.5rem}.phase-row,.summary-progress{display:flex;flex-direction:column}.phase-row{gap:.4rem}.phase-top{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--text-muted)}.phase-label{font-weight:600;color:var(--text-strong)}.phase-track{position:relative;height:8px;border-radius:999px;background:rgba(97,115,255,.16);overflow:hidden}.phase-fill{height:100%;width:0;border-radius:inherit;background:linear-gradient(135deg,#2f41ff,#6173ff);transition:width .4s ease}.current-phase{margin-top:1.75rem;font-size:.95rem;font-weight:600;color:var(--accent-strong)}.progress-notes{margin-top:1rem;padding:1rem 1.1rem;background:rgba(58,75,255,.1);border-radius:var(--radius-sm);color:var(--text-strong);font-size:.9rem;line-height:1.6}.progress-notes p{margin:0 0 .75rem}.progress-notes p:last-child{margin-bottom:0}.closure-suggestion{margin-top:1.25rem;padding:1.25rem;border-radius:var(--radius-sm);background:rgba(47,65,255,.12);border:1px solid rgba(47,65,255,.25)}.closure-actions{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.75rem}.closure-btn{border-radius:999px;padding:.65rem 1.3rem;font-size:.9rem;font-weight:600;border:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.closure-btn.primary{background:linear-gradient(135deg,#2f41ff,#6173ff);color:#fff;box-shadow:0 12px 24px rgba(47,65,255,.25)}.closure-btn.primary:hover{transform:translateY(-1px)}.closure-btn.secondary{background:hsla(0,0%,100%,.7);color:var(--accent-strong);border:1px solid rgba(47,65,255,.2)}.closure-btn.secondary:hover{transform:translateY(-1px);background:hsla(0,0%,100%,.85)}.auto-summary-toggle{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;color:var(--text-muted);cursor:pointer}.auto-summary-toggle input{width:1.1rem;height:1.1rem;accent-color:var(--accent-strong);border-radius:4px}.conversation-end-marker{align-self:center;padding:.4rem .8rem;border-radius:999px;background:rgba(58,75,255,.12);color:var(--text-muted);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}@keyframes pulse{0%{opacity:.7}to{opacity:1}}@keyframes bounce{0%{transform:translateY(0);opacity:.5}to{transform:translateY(-3px);opacity:1}}@media (max-width:1120px){.content-grid{grid-template-columns:1fr}.support-rail{flex-direction:column}}@media (max-width:840px){.app-shell{padding:2rem}.app-header{flex-direction:column;align-items:flex-start}.session-cluster{width:100%;justify-content:space-between}.modality-toggle{width:100%}.modality-option{flex:1 1;justify-content:center}.session-actions{justify-content:flex-start}}@media (max-width:720px){.conversation-panel .panel-body{gap:1rem}.conversation-panel .instructions-toggle{order:0}.conversation-panel .text-chat-form{order:2}.conversation-panel .conversation-log{order:1}.conversation-panel .instructions-card{order:3}.instructions-toggle{display:flex;justify-content:flex-end}.instructions-toggle-button{width:100%}.conversation-log{max-height:50vh}.log-container{max-height:44vh}}@media (max-width:600px){.app-shell{padding:1rem}.app-main{gap:1.25rem}.app-header{padding:1.25rem;gap:1.25rem}.brand-title{font-size:1.5rem}.session-cluster{width:100%;flex-direction:column;align-items:stretch;gap:1rem}.api-key-container{width:100%}.api-key-input{width:100%;min-width:unset}.modality-toggle{width:100%}.session-actions{width:100%;flex-direction:column;gap:.6rem}.session-actions button{width:100%}.panel{padding:1.25rem}.content-grid{display:flex;flex-direction:column;gap:1.25rem}.content-grid,.conversation-panel{height:auto;max-height:none}.conversation-panel .panel-body{overflow:visible}.conversation-log{min-height:320px;max-height:none}.log-container{max-height:65vh;padding:1.25rem}.message{max-width:100%}.text-chat-controls{flex-direction:column;align-items:stretch;gap:.65rem}.text-chat-send{width:100%}}