.admin-head{margin-bottom:1.25rem}.admin-head h1{margin:0 0 .2rem}.admin-head-desc{margin:0;color:var(--ink-soft);font-size:.925rem}.admin-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.admin-section-head h2{margin:0 0 .15rem;font-size:1.05rem}.admin-section-desc{margin:0;color:var(--ink-soft);font-size:.85rem}.admin-section-action{flex-shrink:0}.admin-empty{margin-bottom:0}.admin-inline-msg{margin:.6rem 0 0;font-size:.85rem}.admin-inline-msg.ok{color:var(--accent-ink)}.admin-inline-msg.err{color:var(--danger)}.invite-code-cell{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.invite-copied{font-size:.78rem;color:var(--accent-ink);white-space:nowrap}.admin-limit-cell{display:flex;align-items:center;gap:.5rem}.admin-limit-input{width:96px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.admin-limit-status{font-size:.78rem;white-space:nowrap}.admin-limit-status.ok{color:var(--accent-ink)}.admin-limit-status.err{color:var(--danger)}.admin-form-row{display:flex;align-items:flex-end;gap:.9rem;flex-wrap:wrap}.admin-form-field{display:flex;flex-direction:column;gap:.3rem}.admin-model-input{min-width:220px;font-family:var(--font-mono)}.admin-warn-banner{margin:.9rem 0 0;padding:.6rem .85rem;background:var(--warn-soft);border-left:3px solid var(--warn);border-radius:6px;color:var(--ink);font-size:.875rem;line-height:1.5}.live-page-head{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.live-page-head h1{margin:0}.live-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1.25rem;align-items:start}.live-panel{position:sticky;top:72px;margin-bottom:0}@media (max-width: 760px){.live-grid{grid-template-columns:1fr}.live-panel{position:static;order:-1}}.live-stream{min-height:340px}.live-stream-empty{min-height:340px;display:flex;flex-direction:column;justify-content:center}.live-partial-ko{margin:.2rem 0 0;font-size:16px;font-style:italic;color:var(--ink-soft);line-height:1.5}.live-partial-ko-tag{margin-left:.5em;font-size:.72rem;font-style:normal;font-weight:600;color:var(--accent);opacity:.8;vertical-align:.08em}.live-panel-section{margin-bottom:1.1rem}.live-panel-section:last-child{margin-bottom:0}.live-panel-label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--ink-soft);margin-bottom:.45rem}.live-source{display:flex;gap:.55rem;align-items:flex-start;padding:.5rem .6rem;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;margin-bottom:.4rem;transition:border-color .15s ease,background-color .15s ease}.live-source.checked{border-color:var(--accent);background:var(--accent-soft)}.live-source.disabled{cursor:default;opacity:.65}.live-source input[type=radio]{margin:.2rem 0 0;accent-color:var(--accent);flex-shrink:0}.live-source-name{display:block;font-size:.9rem;font-weight:600;color:var(--ink);line-height:1.35}.live-source-desc{display:block;font-size:.78rem;color:var(--ink-soft);line-height:1.45;margin-top:.1rem}.live-controls{display:flex;flex-direction:column;gap:.5rem}.live-controls .btn{width:100%}.btn.live-stop-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;background:var(--live);border-color:var(--live);color:#fff}.btn.live-stop-btn:hover:not(:disabled){background:#b92c40;border-color:#b92c40}.rec-dot{width:8px;height:8px;border-radius:50%;background:#fff;flex-shrink:0;animation:live-rec-blink 1.2s ease-in-out infinite}@keyframes live-rec-blink{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion: reduce){.rec-dot{animation:none}}.live-meter-track{height:8px;border-radius:4px;background:var(--line);overflow:hidden}.live-meter-fill{height:100%;background:var(--accent);transition:width .1s linear}.live-meter-fill.silent{background:var(--warn)}.live-warn-banner{margin:.55rem 0 0;padding:.5rem .65rem;border-radius:var(--radius);background:var(--warn-soft);color:var(--warn);font-size:.82rem;line-height:1.5}.live-status{margin:0 0 .4rem;font-size:.84rem;line-height:1.5;color:var(--ink-soft)}.live-status.is-error{color:var(--danger)}.live-hint{margin:0 0 .3rem;font-size:.78rem;color:var(--ink-soft);line-height:1.5}.live-hint:last-child{margin-bottom:0}.live-done{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.live-done-link{text-decoration:none}.auth-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1rem 3rem;background:var(--bg)}.auth-hero{text-align:center;margin-bottom:1.5rem}.auth-brand{display:inline-flex;align-items:center;font-weight:800;font-size:1.7rem;letter-spacing:-.02em;color:var(--ink);line-height:1.2}.auth-brand .auth-brand-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--line);margin:0 4px}.auth-tagline{margin:.4rem 0 0;font-size:.925rem;color:var(--ink-soft)}.auth-card{width:100%;max-width:400px;margin-bottom:0}.auth-title{margin:0 0 1.1rem;font-size:1.2rem;font-weight:700;letter-spacing:-.01em}.auth-hint{margin:-.55rem 0 .9rem;font-size:.8125rem;line-height:1.5;color:var(--ink-soft)}.auth-error{border:1px solid var(--danger);border-radius:var(--radius);background:#fdf1ef;padding:.65rem .85rem;margin:0 0 .9rem}.auth-error-cause{margin:0;font-size:.875rem;font-weight:600;color:var(--danger)}.auth-error-help{margin:.2rem 0 0;font-size:.8125rem;line-height:1.5;color:var(--ink-soft)}.auth-submit{width:100%;justify-content:center}.auth-alt{margin:1rem 0 0;text-align:center;font-size:.875rem;color:var(--ink-soft)}.auth-guide{margin-top:1.1rem;border-top:1px solid var(--line);padding-top:.9rem}.auth-guide summary{cursor:pointer;font-size:.875rem;font-weight:600;color:var(--ink-soft);list-style:none;display:flex;align-items:center;gap:.4rem;border-radius:6px}.auth-guide summary::-webkit-details-marker{display:none}.auth-guide summary:before{content:"";width:0;height:0;border-left:5px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .15s ease}.auth-guide[open] summary:before{transform:rotate(90deg)}@media (prefers-reduced-motion: reduce){.auth-guide summary:before{transition:none}}.auth-guide-steps{margin:.7rem 0 0;padding:0;list-style:none;counter-reset:auth-step;display:flex;flex-direction:column;gap:.55rem}.auth-guide-steps li{counter-increment:auth-step;display:flex;align-items:baseline;gap:.6rem;font-size:.8125rem;line-height:1.55;color:var(--ink-soft)}.auth-guide-steps li:before{content:counter(auth-step);flex:none;width:1.25rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);font-size:.72rem;font-weight:700;font-family:var(--font-mono);transform:translateY(.2em)}.auth-guide-steps strong{color:var(--ink);font-weight:600}.detail-back{margin:0 0 .9rem;font-size:.9rem}.detail-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.detail-title{margin:0;min-width:0}.detail-title-edit{font:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;color:inherit;background:none;border:none;padding:0;margin:0;text-align:left;cursor:text;border-bottom:1px dashed transparent;overflow-wrap:anywhere;transition:border-color .15s ease}.detail-title-edit:hover{border-bottom-color:var(--ink-soft)}.detail-title-form{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.detail-title-input{max-width:360px}a.detail-export:hover{text-decoration:none}.detail-meta{margin:.6rem 0 0;font-size:.875rem;color:var(--ink-soft)}.detail-loading{display:flex;align-items:center;gap:.6rem;color:var(--ink-soft);font-size:.925rem;padding:.4rem 0}.summary-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.summary-heading{margin:0}.summary-controls{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.75rem}.summary-select{max-width:260px}.summary-hint{margin:.5rem 0 0;font-size:.85rem;color:var(--ink-soft)}.summary-error{margin:.5rem 0 0}.summary-result{margin-top:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--accent-soft);padding:.85rem 1rem}.summary-result-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem}.summary-result-name{font-weight:700;font-size:.925rem}.summary-result-time{font-size:.8rem;color:var(--ink-soft);margin-right:auto}.summary-content{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.925rem;line-height:1.65}.summary-history{margin-top:1rem}.summary-history-toggle{background:none;border:none;padding:0;font:inherit;font-size:.875rem;color:var(--accent-ink);cursor:pointer}.summary-history-toggle:hover{text-decoration:underline}.summary-history-item{margin-top:.6rem;border:1px solid var(--line);border-radius:var(--radius);padding:.6rem .85rem;background:var(--surface)}.summary-history-item summary{cursor:pointer;font-size:.875rem}.summary-history-item .summary-content{margin-top:.5rem}.prompt-manager{margin-top:.9rem;border:1px solid var(--line);border-radius:var(--radius);padding:.85rem 1rem;background:var(--bg);display:flex;flex-direction:column;gap:.75rem}.prompt-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.prompt-row-text{min-width:0;display:flex;flex-direction:column;gap:.15rem}.prompt-row-name{font-weight:700;font-size:.9rem}.prompt-row-content{font-size:.825rem;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.prompt-row-actions{display:flex;gap:.4rem;flex-shrink:0}.prompt-edit-form{display:flex;flex-direction:column;gap:.5rem}.prompt-add-form{border-top:1px dashed var(--line);padding-top:.75rem}.prompt-textarea{width:100%;resize:vertical;font:inherit;font-size:.9rem;margin-top:.3rem}.sessions-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.sessions-head h1{margin:0}.sessions-loading{display:flex;align-items:center;gap:.6rem;color:var(--ink-soft);font-size:.925rem;padding:.4rem 0}.session-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.session-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:.9rem 1.25rem;cursor:pointer;transition:border-color .15s ease}.session-card:hover,.session-card:focus-within{border-color:var(--accent)}.session-card-main{min-width:0}.session-title{display:inline-block;font-weight:600;font-size:1rem;color:var(--ink);overflow-wrap:anywhere}.session-card:hover .session-title{color:var(--accent-ink)}.session-meta{margin:.15rem 0 0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.8rem;color:var(--ink-soft)}.session-card-side{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.session-delete{opacity:0;transition:opacity .15s ease}.session-card:hover .session-delete,.session-card:focus-within .session-delete{opacity:1}.session-live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;animation:session-live-blink 1.4s ease-in-out infinite}@keyframes session-live-blink{0%,to{opacity:1}50%{opacity:.35}}.onboarding-steps{list-style:none;margin:0 auto 1.5rem;padding:0;display:flex;gap:1.25rem;justify-content:center;text-align:left;max-width:40em}.onboarding-steps li{flex:1 1 0;min-width:0}.step-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700;margin-bottom:.4rem}.step-title{display:block;font-weight:600;font-size:.9rem;color:var(--ink)}.step-desc{display:block;font-size:.82rem;color:var(--ink-soft)}@media (max-width: 640px){.onboarding-steps{flex-direction:column;gap:.9rem}}:root{color-scheme:light;--bg: #f7f6f2;--surface: #ffffff;--ink: #20242b;--ink-soft: #5e6773;--line: #e5e2da;--accent: #0e7a63;--accent-soft: #e4f1eb;--accent-ink: #0a5a4a;--live: #d9364c;--warn: #b7791f;--warn-soft: #fbf3e4;--danger: #c0392b;--radius: 10px;--radius-card: 14px;--shadow: 0 1px 2px rgba(32, 36, 43, .06), 0 8px 24px rgba(32, 36, 43, .05);--font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:15px;line-height:1.6;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg,video{max-width:100%;display:block}h1,h2,h3,h4{font-weight:700;letter-spacing:-.01em;line-height:1.3;color:var(--ink)}h1{font-size:1.45rem;font-weight:800;margin:0 0 1rem}h2{font-size:1.1rem;margin:0 0 .75rem}h3{font-size:1rem;margin:0 0 .5rem}p{margin:0 0 .75rem}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}code,pre,kbd{font-family:var(--font-mono);font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed}.btn,button:not([class]),button.secondary,button.danger{display:inline-flex;align-items:center;justify-content:center;gap:.45em;font:inherit;font-weight:600;font-size:.925rem;line-height:1.2;padding:.5em 1.1em;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.btn-primary,button:not([class]){background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled),button:not([class]):hover:not(:disabled){background:var(--accent-ink);border-color:var(--accent-ink)}.btn-ghost,button.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn-ghost:hover:not(:disabled),button.secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.btn-danger,button.danger{background:var(--surface);border-color:var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled),button.danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn:disabled,button:disabled{opacity:.45}.btn-sm{font-size:.85rem;padding:.35em .85em}.input,input:not([type=checkbox]):not([type=radio]):not([class]),select,textarea{font:inherit;width:100%;padding:.5em .75em;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.input:focus,input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.input::placeholder,input::placeholder{color:var(--ink-soft);opacity:.7}.input-invalid{border-color:var(--danger)}.label,label{display:block;font-size:.85rem;font-weight:600;color:var(--ink-soft);margin-bottom:.3rem}.field{margin-bottom:.9rem}.field-control{position:relative}.field-control .input{padding-right:3.4em}.field-toggle{position:absolute;top:50%;right:.5em;transform:translateY(-50%);font-size:.78rem;font-weight:600;color:var(--ink-soft);background:none;border:none;padding:.2em .45em;border-radius:6px}.field-toggle:hover{color:var(--accent-ink);background:var(--accent-soft)}.field-error{margin:.35rem 0 0;font-size:.85rem;color:var(--danger)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:1.25rem 1.5rem;margin-bottom:1.25rem}.badge{display:inline-flex;align-items:center;gap:.35em;font-size:.75rem;font-weight:600;line-height:1.4;padding:.1em .65em;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);white-space:nowrap}.badge-default{background:#efede7;color:var(--ink-soft)}.badge-accent{background:var(--accent-soft);color:var(--accent-ink)}.badge-live{background:#fbe9ec;color:var(--live)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-danger{background:#f9ebe8;color:var(--danger)}.table,table{width:100%;border-collapse:collapse;font-size:.92rem}.table th,.table td,th,td{text-align:left;padding:.6em .65em;border-bottom:1px solid var(--line)}.table th,th{color:var(--ink-soft);font-weight:600;font-size:.8rem;letter-spacing:.02em}.table .num,td.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.spinner{display:inline-block;width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;opacity:.8;animation:spinner-rotate .7s linear infinite;vertical-align:-.2em}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--ink-soft)}.empty-state-symbol{font-size:2.2rem;font-weight:800;letter-spacing:-.02em;color:var(--line);line-height:1;margin-bottom:.9rem;font-family:var(--font-mono)}.empty-state-title{font-size:1.05rem;color:var(--ink);margin:0 0 .35rem}.empty-state-desc{margin:0 auto 1.1rem;max-width:34em;font-size:.925rem}.empty-state-action{margin-top:.5rem}.app-nav{position:sticky;top:0;z-index:50;height:56px;background:var(--surface);border-bottom:1px solid var(--line)}.app-nav-inner{max-width:960px;height:100%;margin:0 auto;padding:0 1.25rem;display:flex;align-items:center;gap:1.5rem}.brand{display:inline-flex;align-items:center;font-weight:800;font-size:1.15rem;letter-spacing:-.02em;color:var(--ink)}.brand:hover{text-decoration:none}.brand .brand-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--line);margin:0 3px;transition:background-color .2s ease}.brand .brand-dot.on{background:var(--live);animation:brand-dot-blink 1.4s ease-in-out infinite}@keyframes brand-dot-blink{0%,to{opacity:1}50%{opacity:.35}}.nav-links{display:flex;align-items:center;gap:1.1rem}.nav-link{color:var(--ink-soft);font-weight:500;font-size:.925rem;padding:.25em .1em;border-bottom:2px solid transparent;border-radius:0}.nav-link:hover{color:var(--ink);text-decoration:none}.nav-link.active{color:var(--accent-ink);font-weight:700;border-bottom-color:var(--accent)}.nav-user{margin-left:auto;display:flex;align-items:center;gap:.75rem}.nav-email{color:var(--ink-soft);font-size:.85rem}.app-main{max-width:960px;margin:0 auto;padding:1.75rem 1.25rem 3rem}.caption-entry{position:relative;padding:.6rem 0 .6rem .9rem;border-left:2px solid var(--accent);margin-bottom:.35rem}.caption-entry .en{margin:0;font-size:13px;color:var(--ink-soft)}.caption-entry .ko{margin:.15rem 0 0;font-size:17px;font-weight:500;color:var(--ink)}.caption-entry .ko.pending{color:var(--ink-soft);font-style:italic;font-weight:400}.caption-entry .ts{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.78rem;color:var(--ink-soft);margin-right:.5rem}.muted{color:var(--ink-soft);font-size:.875rem}.error{color:var(--danger);font-size:.9rem;margin:.5rem 0 0}.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.container{max-width:960px;margin:1.5rem auto;padding:0 1.25rem}.app-main .container{max-width:none;margin:0;padding:0}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.live-partial{color:var(--ink-soft);font-style:italic;min-height:1.6em}code.invite{font-size:1rem;background:var(--accent-soft);color:var(--accent-ink);padding:.15em .5em;border-radius:6px}
