:root{--bg-top: #f8f2e7;--bg-bottom: #eee2cf;--panel: rgba(255, 252, 246, .8);--line: rgba(31, 26, 20, .1);--text: #221d18;--muted: #6d665f;--accent: #c96f3b;--active: #fff0d0;--shadow: 0 16px 42px rgba(75, 55, 29, .1)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:IBM Plex Sans,sans-serif;color:var(--text);overflow:hidden;background:radial-gradient(circle at top left,#f4e2bc 0%,transparent 32%),linear-gradient(180deg,var(--bg-top) 0%,var(--bg-bottom) 100%)}button,input,select{font:inherit}.page-shell{height:100dvh;display:flex;flex-direction:column;overflow:hidden;position:relative}.header-bar{padding:16px 20px 12px;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-top-row{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.header-title{font-size:18px;font-weight:700;line-height:1}.header-title-wrap{display:inline-flex;align-items:flex-end;gap:8px;max-width:100%}.header-title-image{height:2.25em;width:auto;object-fit:contain;flex:0 0 auto;transform:translateY(4px)}.auth-controls{display:flex;align-items:center;gap:10px;min-width:0}.auth-login-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.auth-user-copy{display:flex;flex-direction:column;min-width:0}.auth-user-copy strong,.auth-user-copy span{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-user-copy span{color:var(--muted);font-size:12px}.auth-avatar{width:36px;height:36px;border-radius:999px;object-fit:cover;border:1px solid var(--line)}.url-input-row{display:grid;grid-template-columns:1fr 88px;gap:12px}.url-input-row input{height:44px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#ffffffbf}.url-input-row button{border:0;border-radius:12px;color:#fff;background:var(--accent)}.secondary-button{height:38px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#ffffffd1;color:var(--text)}.auth-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:20px;background:#221d1847;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-modal{width:min(520px,100%);border:1px solid rgba(75,55,29,.16);border-radius:24px;background:radial-gradient(circle at top left,rgba(255,238,205,.9) 0%,transparent 38%),#fffcf6fa;box-shadow:0 28px 70px #3a2b152e}.auth-modal-header,.auth-modal-body{padding:22px 24px}.auth-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line)}.auth-modal-header h2{margin:0;font-size:24px;line-height:1.1}.auth-modal-header p{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.55}.auth-modal-close{flex:0 0 auto}.auth-modal-body{display:flex;flex-direction:column;gap:14px}.auth-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.auth-method-button,.auth-secondary-action{justify-content:center}.auth-field{display:flex;flex-direction:column;gap:8px}.auth-field span{font-size:13px;color:var(--muted)}.auth-field input{height:46px;min-width:0;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:#ffffffeb}.auth-modal-actions{display:flex;gap:10px}.auth-modal-link-state{padding:14px 16px;border:1px solid rgba(201,111,59,.22);border-radius:16px;background:#fff0d0b8}.auth-modal-link-state strong{display:block;margin-bottom:6px}.auth-modal-link-state p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.auth-primary-button{min-height:44px;padding:0 16px;border:0;border-radius:14px;background:linear-gradient(135deg,#cf7741,#a8572f);color:#fff;box-shadow:0 12px 24px #a9572f2e}.auth-primary-button:disabled,.secondary-button:disabled{opacity:.7}.auth-modal-hint{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.app-toast{position:fixed;top:20px;right:20px;z-index:45;max-width:min(420px,calc(100vw - 32px));padding:12px 16px;border-radius:14px;background:#221d18eb;color:#fff;box-shadow:var(--shadow)}.app-toast.is-success{background:#2a6e46f5}.app-toast.is-error{background:#a43d25f5}.status-row{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.history-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.history-row-label{font-size:12px;color:var(--muted)}.history-chip{min-height:30px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#ffffffc7;color:var(--text);display:inline-flex;align-items:center;gap:8px;text-align:left}.language-switch{display:inline-flex;align-items:center;gap:8px}.language-switch select{height:32px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:#ffffffbf;color:var(--text)}.content-shell{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:20px;position:relative}.content-shell.has-history-detail{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:20px}.content-main{flex:1;height:100%;min-height:0;min-width:0;overflow:hidden}.content-primary{min-height:0;min-width:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(360px,.95fr);gap:20px;align-items:stretch;height:100%}.content-secondary{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(360px,.95fr);gap:20px;min-width:0}.player-pane,.transcript-column{min-height:0;min-width:0}.player-pane{display:flex;flex-direction:column;gap:14px;height:100%;overflow:visible;position:relative;z-index:1}.transcript-column{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;z-index:2}.player-sticky{min-width:0;flex:0 0 auto}.player-repeat-dock{min-width:0;flex:0 0 auto;position:relative;z-index:1}.floating-status-layer{min-width:0;pointer-events:none;flex:0 0 auto;margin-top:auto;position:relative;z-index:1}.repeated-sidebar{min-width:0;min-height:0;position:relative}.repeated-sidebar-card{height:100%;border:1px solid var(--line);border-radius:22px;background:#fffbf5db;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:16px;display:flex;flex-direction:column;gap:16px;overflow:hidden;position:sticky;top:0}.repeated-sidebar.is-collapsed{width:38px;min-width:38px}.sidebar-toggle{width:38px;height:38px;border:1px solid var(--line);border-radius:999px;background:#ffffffe0;color:var(--text);box-shadow:var(--shadow)}.repeated-sidebar:not(.is-collapsed) .sidebar-toggle{position:absolute;top:12px;right:12px;z-index:2}.repeated-sidebar.is-collapsed .sidebar-toggle{position:sticky;top:0}.repeated-sidebar-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-right:48px}.repeated-sidebar-header-copy{min-width:0}.repeated-sidebar-overline{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.repeated-sidebar-subtitle{margin-top:4px;color:var(--muted);font-size:13px}.repeated-sidebar-list{border:1px solid rgba(31,26,20,.08);border-radius:16px;background:#ffffff94;padding:12px}.repeated-sidebar-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px}.repeated-sidebar-list-header{align-items:baseline}.repeated-sidebar-toolbar{position:sticky;top:0;z-index:2;display:flex;flex-direction:column;gap:10px;margin-inline:-12px;padding:0 12px 10px;background:linear-gradient(180deg,#fff8f1f5,#fff8f1eb 70%,#fff8f100);border-bottom:1px solid rgba(31,26,20,.06)}.repeated-sidebar-toolbar-status{display:flex;flex-direction:column;gap:8px}.repeated-sidebar-scroll{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px;padding-right:2px}.sidebar-section-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.sidebar-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:600}.sidebar-section-meta,.sidebar-range-copy,.sidebar-empty-copy{color:var(--muted);font-size:12px}.sidebar-range-copy,.sidebar-empty-copy{margin-top:8px}.saved-section-editor input,.repeat-dock-panel-pending input{width:100%;height:38px;margin-top:10px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#ffffffe6}.sidebar-inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.dock-button-accent{background:var(--accent);border-color:transparent;color:#fff}.saved-section-item{display:flex;flex-direction:column;gap:8px;border:1px solid rgba(31,26,20,.08);border-radius:14px;padding:10px;background:#ffffffb8}.saved-section-item.is-active{border-color:#c96f3b73;background:var(--active);box-shadow:inset 3px 0 0 var(--accent)}.saved-section-item.is-selected{border-color:#c96f3b52;background:#fff5ebeb;box-shadow:0 0 0 1px #c96f3b29}.saved-section-item.is-dragging{opacity:.86;background:#fff1e2f5}.saved-section-item.is-drag-source{border-color:#c96f3b99;box-shadow:0 14px 24px #1f1a141f}.saved-section-item.is-drop-before{box-shadow:inset 0 6px #4da260e6,0 0 0 1px #4da26038}.saved-section-item.is-drop-after{box-shadow:inset 0 -6px #4da260e6,0 0 0 1px #4da26038}.saved-section-row{display:flex;align-items:flex-start;gap:10px}.saved-section-drag-handle{width:20px;min-width:20px;padding-top:2px;color:#221d1866;text-align:center;cursor:grab;-webkit-user-select:none;user-select:none}.saved-section-drag-handle.is-dragging{color:#206136}.saved-section-name-row{display:flex;align-items:center;gap:8px}.saved-section-main{border:0;background:transparent;padding:0;text-align:left;color:inherit;display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.saved-section-main:focus-visible{outline:2px solid rgba(201,111,59,.55);outline-offset:4px;border-radius:8px}.saved-section-name{font-weight:600}.saved-section-time{color:var(--muted);font-size:12px}.saved-section-editor{display:flex;flex-direction:column}.saved-section-drag-feedback{align-self:flex-start;padding:4px 8px;border-radius:999px;background:#4da26024;color:#206136;font-size:11px;font-weight:600}.sidebar-mode-chip{align-self:flex-start;padding:6px 10px;border-radius:10px;background:#1f1a140f;color:var(--text);font-size:12px;line-height:1.4}.repeat-dock-panel-pending{border-top:1px solid rgba(31,26,20,.08);padding-top:12px}.player-card,.transcript-card{border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.player-card{padding:18px;display:flex;flex-direction:column;gap:12px}.player-status-panel{width:min(100%,640px);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;max-height:none;overflow:visible;pointer-events:auto}.player-status-panel-section+.player-status-panel-section{margin-top:6px}.player-status-panel .status-row,.player-status-panel .history-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-start;line-height:1.35;width:100%}.player-status-panel .status-row span,.player-status-panel .history-row-label{min-width:0;flex:0 0 auto;white-space:nowrap}.player-status-panel .status-row span{display:inline-flex}.player-status-panel .history-chip{white-space:nowrap}.floating-status-layer .player-status-panel{width:100%}.floating-status-layer .history-row-label{font-weight:600}.player-frame-shell{width:100%;margin-inline:auto}.repeat-dock{border:1px solid var(--line);border-radius:18px;background:#fffbf5d1;box-shadow:var(--shadow);padding:14px 16px;overflow:hidden;display:grid;gap:12px;container-type:inline-size;container-name:repeat-dock}.repeat-dock-panel{min-width:0}.repeat-dock-panel-primary{display:flex;justify-content:space-between;gap:12px;align-items:center}.repeat-dock-title{min-width:0;flex:1}.repeat-mode-text{display:block;margin-top:4px;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.repeat-dock-actions{display:flex;gap:8px;flex-wrap:nowrap;flex-shrink:0}.dock-button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 10px;color:var(--text)}.section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.section-chip-card{display:flex;flex-direction:column;gap:8px}.section-chip-shell{position:relative}.section-chip{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:8px;width:100%;border:1px solid var(--line);border-radius:14px;background:#ffffffb3;padding:8px 10px;text-align:left;color:var(--text);min-width:0}.section-chip:disabled{opacity:.48;cursor:default}.section-chip-card.is-active .section-chip,.section-chip.is-active{border-color:#c96f3b73;background:var(--active);box-shadow:inset 3px 0 0 var(--accent)}.section-chip-head{display:flex;justify-content:space-between;align-items:flex-start;min-height:22px;padding-right:30px}.section-chip-index{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#221d180f;font-weight:600;margin-bottom:0;font-size:12px;line-height:1;flex-shrink:0}.section-chip-index.is-saved{background:#4da26038;color:#206136}.section-chip-card.is-active .section-chip-index.is-saved{background:#4da26042;box-shadow:0 0 0 1px #20613629}.section-chip-collect{position:absolute;top:8px;right:8px;width:24px;height:24px;border:1px solid rgba(31,26,20,.12);border-radius:999px;background:#ffffffe0;color:#221d188f;font-size:12px;line-height:1}.section-chip-collect.is-saved{background:#4da26024;color:#206136;border-color:#4da26052}.section-chip-time{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 6px;font-size:12px;color:var(--muted);line-height:1.2;min-width:0}.section-chip-time-label,.section-chip-time-separator{color:#221d1885}.section-chip-time-value,.section-chip-time-empty{min-width:0;overflow-wrap:anywhere}.section-chip-time-separator{grid-column:1 / -1}.section-chip-save-editor{padding-inline:4px}.section-chip-save-button{padding:4px 8px;font-size:12px}.section-chip-save-editor{display:flex;flex-direction:column;gap:8px}.section-chip-save-editor input{width:100%;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#ffffffe6}.section-chip-save-hint{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px}.repeat-dock-footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.repeat-dock-footer span{min-width:0}@container repeat-dock (min-width: 900px){.repeat-dock{grid-template-columns:minmax(220px,1.15fr) minmax(0,1.8fr) minmax(220px,1fr);align-items:center}.repeat-dock-panel-sections{min-width:0}.section-grid{grid-template-columns:repeat(9,minmax(0,1fr))}.repeat-dock-footer{flex-direction:column;justify-content:center;gap:6px}}@container repeat-dock (min-width: 620px) and (max-width: 899px){.repeat-dock{grid-template-columns:minmax(0,1fr);align-items:start}.repeat-dock-panel-primary,.repeat-dock-panel-sections,.repeat-dock-panel-footer{grid-column:auto}.section-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.repeat-mode-text{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.repeat-dock-footer{flex-direction:column;gap:6px}}@container repeat-dock (max-width: 619px){.repeat-dock{grid-template-columns:1fr}.repeat-dock-panel-primary,.repeat-dock-footer{align-items:stretch}.repeat-dock-panel-primary,.repeat-dock-actions,.repeat-dock-footer{flex-direction:column}.repeat-dock-actions,.dock-button{width:100%}.section-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.repeat-mode-text{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.player-frame{width:100%;aspect-ratio:16 / 9;border-radius:18px;overflow:hidden;background:#111;position:relative}.player-video{display:block}.player-frame iframe,.player-frame .player-video{width:100%;height:100%;border:0}.player-placeholder{display:grid;place-items:center;padding:24px;color:#ffffffc7;text-align:center}.player-help{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.transcript-pane{flex:1;height:100%;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;scrollbar-gutter:stable;padding:22px}.transcript-card{display:flex;flex-direction:column;flex:1;height:100%;min-height:0;overflow:hidden;--mobile-transcript-height: 360px}.transcript-toolbar{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 18px;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.follow-toggle{margin-left:auto;border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:#ffffffb8;color:var(--text)}.transcript-resize-handle{display:none;align-items:center;justify-content:center;min-height:22px;padding:4px 18px 0;border:0;border-bottom:1px solid var(--line);background:#fffaf3e0;color:var(--muted);cursor:ns-resize;touch-action:none}.transcript-resize-grip{width:54px;height:6px;border-radius:999px;background:#221d182e}.transcript-paragraph{margin:0 0 18px;line-height:1.95;font-size:17px}.transcript-line{margin:0 0 12px;line-height:1.75;font-size:17px}.transcript-stanza{margin:0 0 18px}.transcript-block+.transcript-block{margin-top:18px}.sentence-anchor{display:inline}.sentence{border:0;padding:1px 4px;border-radius:8px;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit;touch-action:pan-y}.sentence:hover{background:#c96f3b14}.sentence.is-active{background:var(--active);box-shadow:inset 3px 0 0 var(--accent)}.hud-toast{position:fixed;right:22px;bottom:22px;padding:10px 14px;border-radius:12px;background:#221d18eb;color:#fff;font-size:14px;box-shadow:var(--shadow)}@media (max-width: 980px){html,body,#root{height:auto;min-height:100%}body{overflow-x:hidden;overflow-y:auto;touch-action:pan-y}.page-shell{min-height:100dvh;height:auto;overflow:visible}.content-shell,.content-shell.has-history-detail{display:block;padding:12px;overflow:visible}.repeated-sidebar{margin-bottom:12px}.repeated-sidebar-card{position:static;height:auto;max-height:min(48dvh,560px)}.repeat-dock-footer{flex-direction:column}.content-main,.content-primary,.content-secondary{display:flex;flex-direction:column;gap:12px;overflow:visible;height:auto;min-height:0}.content-main{display:block;overflow:visible}.player-pane{height:auto;gap:12px}.transcript-column{display:flex;min-height:0;height:auto;max-height:none;overflow:hidden;z-index:auto}.transcript-card{min-height:0;height:clamp(240px,40dvh,520px);max-height:clamp(240px,40dvh,520px)}.transcript-pane{overflow-x:hidden;overflow-y:auto;scrollbar-width:thin}.player-repeat-dock,.floating-status-layer{z-index:auto}.player-sticky{position:static}.floating-status-layer,.floating-status-layer.has-history-detail{padding-bottom:12px;margin-top:0}}@media (max-width: 640px){.header-bar{padding:12px}.header-top-row{flex-direction:column;align-items:flex-start}.header-title-image{height:2.25em}.auth-controls{width:100%;flex-wrap:wrap}.auth-login-actions{justify-content:flex-start}.auth-user-copy strong,.auth-user-copy span{max-width:min(100vw - 96px,280px)}.url-input-row{grid-template-columns:1fr}.url-input-row button{height:42px}.status-row{gap:8px 12px;font-size:12px}.player-card{padding:12px}.player-status-panel{width:100%;max-height:none;overflow:visible}.player-status-panel .status-row,.player-status-panel .history-row{gap:8px}.content-primary{gap:10px}.player-pane{display:contents}.player-sticky{order:1}.transcript-column{order:2;display:flex;min-height:0;height:auto;max-height:none;margin-top:0}.transcript-card{flex:1;min-height:0;height:var(--mobile-transcript-height, 360px);max-height:clamp(240px,var(--mobile-transcript-height, 360px),520px)}.transcript-resize-handle{display:flex}.player-repeat-dock{order:3}.floating-status-layer{order:4;padding-bottom:0}.player-help{gap:8px;font-size:12px}.repeat-dock{padding:12px}.sidebar-inline-actions,.section-chip-save-hint{flex-direction:column}.sidebar-inline-actions .dock-button,.section-chip-save-hint .dock-button{width:100%}.transcript-toolbar{padding:10px 14px;min-height:auto;flex-wrap:wrap}.follow-toggle{margin-left:0}.transcript-pane{padding:16px 14px 18px;overscroll-behavior-y:contain}.transcript-paragraph{font-size:16px;line-height:1.8}.auth-modal-backdrop{align-items:flex-end;padding:12px}.auth-modal{max-height:calc(100dvh - 24px);overflow:auto}.auth-modal-header,.auth-modal-body{padding:18px}.auth-modal-header,.auth-modal-actions{flex-direction:column}.auth-method-grid{grid-template-columns:1fr}.auth-primary-button{width:100%}.app-toast{left:12px;right:12px;top:12px;max-width:none}.hud-toast{left:12px;right:12px;bottom:12px}}
