:root{--navy-900: #0f2340;--navy-800: #13294b;--navy-700: #1f3a63;--teal: #1a8a85;--teal-ink: #146f6b;--teal-ink-hover: #0f5a56;--teal-soft: #e3f3f2;--gold: #d6a23a;--gold-ink: #74500e;--gold-soft: #fbf1dc;--bg: #f4f6f9;--surface: #ffffff;--surface-2: #f7f9fb;--text: #17202e;--muted: #546072;--border: #d5dbe4;--input-border: #7d8a9b;--danger: #b42318;--danger-soft: #fdecea;--success: #1d7340;--success-soft: #e6f4ea;--info-soft: #e8eef8;--neutral-soft: #eef0f3;--on-navy: #dbe4f0;--focus: #1a8a85;--radius: 10px;--shadow: 0 1px 2px rgba(15, 35, 64, .06), 0 4px 16px rgba(15, 35, 64, .05);--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:16px;line-height:1.5;color:var(--text);background:var(--bg);overflow-wrap:break-word}img,video,iframe,svg{max-width:100%}a{color:var(--teal-ink);text-underline-offset:2px}a:hover{color:var(--teal-ink-hover)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1,h2,h3{color:var(--navy-900);overflow-wrap:anywhere}h1{font-size:clamp(1.45rem,1.15rem + 1.2vw,2rem);line-height:1.2;margin:0}h1:focus{outline:none}h2{font-size:1.15rem;line-height:1.3;margin:0 0 .75rem}p{margin:0 0 .75rem}ul,ol{padding-left:1.25rem}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.muted{color:var(--muted)}.small{font-size:.875rem}.nowrap{white-space:nowrap}.icon{flex:none;vertical-align:-.2em}.skip-link:not(:focus){position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;left:8px;top:8px;z-index:100;background:var(--gold);color:var(--navy-900);padding:10px 16px;border-radius:8px;font:inherit;font-weight:700;border:0;cursor:pointer}.skip-link:focus{outline:3px solid var(--navy-900)}.app-header{background:var(--navy-900);color:#fff;position:sticky;top:0;z-index:30;border-bottom:3px solid var(--gold)}.app-header :focus-visible{outline-color:var(--gold)}.header-inner{max-width:1120px;margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:8px 20px;min-height:60px;flex-wrap:wrap}.wordmark{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.2em;font-size:1.15rem;padding:6px 2px}.wordmark:hover{color:#fff}.wordmark-mark{color:var(--gold)}.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}.nav-link{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;color:var(--on-navy);text-decoration:none;font-weight:600;font-size:.95rem;white-space:nowrap}.nav-link:hover{background:#ffffff14;color:#fff}.nav-link[aria-current=page]{color:#fff;background:var(--navy-800);box-shadow:inset 0 -3px 0 var(--gold)}.header-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.header-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font:inherit;font-weight:600;cursor:pointer}.header-btn:hover{background:#ffffff14}.upload-btn-waiting{border-color:var(--gold)}.count-badge{background:var(--gold);color:var(--navy-900);border-radius:999px;padding:0 7px;font-size:.8rem;font-weight:800;line-height:1.5}.offline-banner{background:var(--gold-soft);color:var(--gold-ink);border-bottom:1px solid var(--gold);text-align:center;padding:8px 16px;font-weight:600}@media(max-width:719px){.header-inner{padding:0 12px;gap:0 8px;min-height:52px}.main-nav{order:3;width:100%;margin:0 -4px}.main-nav ul{justify-content:space-between}.main-nav li{flex:1 1 0;min-width:0}.nav-link{width:100%;flex-direction:column;gap:2px;font-size:.75rem;padding:6px 2px 8px;border-radius:6px 6px 0 0}.nav-link span{overflow:hidden;text-overflow:ellipsis;max-width:100%}.header-btn-text{display:none}}.main{max-width:1120px;margin:0 auto;padding:20px 16px 120px}.main:focus{outline:none}.page{display:flex;flex-direction:column;gap:18px;min-width:0}.page-head{display:flex;flex-direction:column;gap:8px}.page-intro{color:var(--muted);margin:0}.page-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0}.title-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.title-row h1{display:inline-flex;align-items:center;gap:10px;min-width:0}.actions{display:flex;flex-wrap:wrap;gap:8px}.section{display:flex;flex-direction:column;gap:12px;min-width:0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.section-head h2{margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);min-width:0}.card-title{display:flex;align-items:center;gap:8px;font-size:1.05rem}.card-title .icon{color:var(--teal-ink)}.subtitle{font-size:1rem;margin:0 0 4px}details>summary{cursor:pointer;font-weight:700;color:var(--navy-900);padding:2px 0}details[open]>summary{margin-bottom:12px}.details-card>summary{list-style-position:inside}.empty{padding:12px 0}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;font-size:.875rem;color:var(--muted)}.breadcrumbs li{min-width:0;overflow-wrap:anywhere}.breadcrumbs li+li:before{content:"›";margin-right:4px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 16px;border-radius:8px;border:1px solid var(--input-border);background:var(--surface);color:var(--navy-900);font:inherit;font-weight:600;line-height:1.2;text-decoration:none;text-align:center;cursor:pointer;max-width:100%}.btn:hover{background:var(--surface-2);color:var(--navy-900);border-color:var(--navy-700)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--teal-ink);border-color:var(--teal-ink);color:#fff}.btn-primary:hover{background:var(--teal-ink-hover);border-color:var(--teal-ink-hover);color:#fff}.btn-secondary{background:var(--navy-900);border-color:var(--navy-900);color:#fff}.btn-secondary:hover{background:var(--navy-700);border-color:var(--navy-700);color:#fff}.btn-ghost{background:transparent;border-color:transparent;color:var(--teal-ink)}.btn-ghost:hover{background:var(--teal-soft);border-color:transparent;color:var(--teal-ink-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:#8f1c13;border-color:#8f1c13;color:#fff}.btn-danger-text,.btn-danger-text:hover{color:var(--danger)}.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--navy-900)}.btn-gold:hover{background:#c18f2a;border-color:#c18f2a;color:var(--navy-900)}.btn-small{min-height:32px;padding:4px 10px;font-size:.875rem}.btn-block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--navy-800);cursor:pointer;padding:0}.icon-btn:hover{background:var(--info-soft)}.icon-btn:disabled{opacity:.3;cursor:default;background:transparent}.icon-btn-small{width:32px;height:32px}.field{display:flex;flex-direction:column;gap:4px;min-width:0;border:0;padding:0;margin:0}.field>label,.field>legend{font-weight:600;font-size:.9rem;color:var(--navy-900);padding:0}input,select,textarea{font:inherit;color:var(--text)}input:not([type=radio]):not([type=checkbox]):not([type=file]),select,textarea{padding:8px 10px;border:1px solid var(--input-border);border-radius:8px;background:#fff;min-height:40px;width:100%;min-width:0}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--teal-ink)}textarea{resize:vertical}.input-narrow{max-width:7.5em}.hint{font-size:.85rem;color:var(--muted);margin:0}.stack{display:flex;flex-direction:column;gap:12px}.inline-form{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end}.inline-form .grow{flex:1 1 220px}.form-actions{display:flex;flex-wrap:wrap;gap:8px}.radio-row{display:flex;flex-wrap:wrap;gap:8px 20px}.radio{display:inline-flex;align-items:center;gap:8px;font-weight:500;min-height:32px;cursor:pointer}.radio input{width:18px;height:18px;accent-color:var(--teal-ink)}.notice{border-radius:8px;padding:10px 12px;margin:0;border-left:4px solid var(--navy-700);background:var(--info-soft);color:var(--navy-900)}.notice-error{border-left-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.notice-success{border-left-color:var(--success);background:var(--success-soft);color:var(--success)}.notice-success a.btn{margin-top:6px}.page-state{display:flex;align-items:center;gap:10px;padding:16px 0;color:var(--muted)}.page-state-error{align-items:flex-start;background:var(--danger-soft);color:var(--danger);border-radius:8px;padding:12px}.page-state-error p{margin:0 0 6px}.page-state-title{font-weight:700}.spinner{display:inline-flex;align-items:center}.spinner-dot{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:sutura-spin .8s linear infinite;flex:none}.spinner-dot-small{width:10px;height:10px}@keyframes sutura-spin{to{transform:rotate(360deg)}}.splash{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--navy-900);color:#fff;padding:16px}.splash .page-state{color:var(--on-navy)}.splash .page-state-error{background:#fff;color:var(--danger);max-width:420px}.splash-wordmark{font-size:2rem;font-weight:800;letter-spacing:.25em;color:var(--gold);margin:0}.badges{display:inline-flex;flex-wrap:wrap;gap:4px}.badge{display:inline-flex;align-items:center;gap:5px;padding:1px 8px;border-radius:999px;font-size:.75rem;font-weight:700;line-height:1.5;white-space:nowrap;background:var(--info-soft);color:var(--navy-800)}.badge-awaiting_upload{background:var(--gold-soft);color:var(--gold-ink);box-shadow:inset 0 0 0 1px var(--gold)}.badge-failed,.badge-tr-failed{background:var(--danger-soft);color:var(--danger)}.badge-tr-done,.badge-open{background:var(--teal-soft);color:var(--teal-ink)}.badge-tr-skipped_quota,.badge-tr-unavailable,.badge-muted{background:var(--neutral-soft);color:var(--muted)}.badge-gold{background:var(--gold-soft);color:var(--gold-ink);font-size:.85rem}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 0;padding:0}.tag{font-size:.75rem;font-weight:600;background:var(--gold-soft);color:var(--gold-ink);border-radius:4px;padding:1px 6px;overflow-wrap:anywhere}mark{background:#fde68a;color:inherit;border-radius:2px;padding:0 1px}.search-box{position:relative;display:flex;gap:8px;align-items:center}.search-box input{padding-left:38px!important}.search-box-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search-box-large input{min-height:48px!important;font-size:1.05rem}.search-box-large .btn{min-height:48px}.home-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}@media(min-width:860px){.home-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.session-name{font-size:1.1rem;font-weight:700;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.open-session-form{border-top:1px solid var(--border);padding-top:12px}.inbox-count{font-size:1.1rem;font-weight:700;color:var(--navy-900)}.mini-list{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:6px}.mini-list li{display:flex;align-items:center;gap:8px;min-width:0}.mini-list a{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-grid,.series-grid{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.project-card,.series-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);min-width:0}.project-card:hover,.series-card:hover{border-color:var(--teal)}.project-card:focus-within,.series-card:focus-within{outline:3px solid var(--focus);outline-offset:2px}.project-link,.series-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:1.05rem;color:var(--navy-900);text-decoration:none;overflow-wrap:anywhere;margin-bottom:6px}.project-link .icon{color:var(--gold)}.project-link:after,.series-link:after{content:"";position:absolute;inset:0;border-radius:inherit}.project-link:focus-visible,.series-link:focus-visible{outline:none}.project-card p,.series-card p{margin:0}.project-card .badge{position:relative;margin-left:6px}.add-card{display:flex;flex-direction:column;gap:14px}.dropzone{border:2px dashed var(--input-border);border-radius:var(--radius);padding:18px 14px;text-align:center;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;gap:6px}.dropzone.is-over{border-color:var(--teal);background:var(--teal-soft)}.dropzone.is-disabled{opacity:.6}.dropzone p{margin:0}.dropzone-icon{color:var(--teal-ink)}.dropzone-title{font-weight:700}.dropzone-or{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}.file-input:focus-visible+.file-label{outline:3px solid var(--focus);outline-offset:2px}.note-form{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end}.note-form .field{flex:1 1 260px}.item-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.item-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.item-row.is-dragging{position:relative;z-index:5;border-color:var(--teal);box-shadow:0 10px 28px #0f234040}.item-row.is-expanded{border-color:var(--teal)}.item-row-main{display:flex;align-items:center;gap:8px;padding:8px;min-width:0}.drag-handle{flex:none;width:36px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--muted);border-radius:6px;cursor:grab;touch-action:none;padding:0}.drag-handle:hover{background:var(--info-soft);color:var(--navy-900)}.drag-handle[aria-pressed=true]{background:var(--teal-soft);color:var(--teal-ink);cursor:grabbing}.item-rank{flex:none;font-family:var(--mono);font-weight:700;color:var(--navy-800);font-size:.95rem;min-width:2.4em}.type-icon{color:var(--teal-ink)}.item-body{flex:1 1 auto;min-width:0}.item-title-line{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px}.item-title{font-weight:650;color:var(--text);text-decoration:none;overflow-wrap:anywhere;min-width:0}.item-title:hover{color:var(--teal-ink);text-decoration:underline}.item-meta{margin:2px 0 0;font-size:.8rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:0 10px}.item-file{font-family:var(--mono);font-size:.78rem;overflow-wrap:anywhere;min-width:0}.item-provenance{overflow-wrap:anywhere;min-width:0}.item-body .btn{margin-top:6px}.item-actions{flex:none;display:flex;align-items:center;gap:2px}.move-buttons{display:inline-flex}.classify-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px;padding:0 12px 12px}.classify-form .field{flex:1 1 220px}.item-editor{border-top:1px solid var(--border);padding:12px;display:flex;flex-direction:column;gap:14px;background:var(--surface-2);border-radius:0 0 var(--radius) var(--radius)}.item-edit-form{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}@media(min-width:720px){.item-edit-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.item-edit-form .field:nth-child(3),.item-edit-form .form-actions{grid-column:1 / -1}}.item-edit-grid{display:flex;flex-wrap:wrap;gap:12px 24px}.item-edit-grid .inline-form .field{min-width:0}.item-edit-grid .inline-form:last-child .field{flex:1 1 200px}.item-edit-actions{display:flex;flex-wrap:wrap;gap:4px;border-top:1px dashed var(--border);padding-top:10px}@media(max-width:480px){.item-row-main{gap:4px;padding:6px 4px;align-items:flex-start}.drag-handle{width:32px}.item-rank{min-width:0;font-size:.85rem;padding-top:10px}.item-row-main>.type-icon{display:none}.item-body{padding-top:6px}.move-buttons{flex-direction:column}.item-actions{gap:0}}.player{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}@media(min-width:900px){.player{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}}.media-frame{background:var(--navy-900);border-radius:var(--radius);padding:16px;color:#fff;display:flex;flex-direction:column;gap:12px;min-width:0}.media-frame audio{width:100%}.media-frame video{width:100%;max-height:70vh;background:#000;border-radius:6px}.media-frame .page-state{color:var(--on-navy)}.player-start{color:var(--on-navy);margin:0}.media-frame .btn{align-self:flex-start}.transcript{min-width:0}.passages{position:relative;list-style:none;margin:0;padding:0;max-height:min(60vh,520px);overflow-y:auto;display:flex;flex-direction:column;gap:4px}.passage{display:flex;gap:10px;width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:1px solid transparent;background:transparent;font:inherit;color:var(--text);cursor:pointer;align-items:baseline}.passage:hover{background:var(--surface-2);border-color:var(--border)}.passage[aria-current=true]{background:var(--teal-soft);border-color:var(--teal);box-shadow:inset 4px 0 0 var(--teal)}.passage-time{font-family:var(--mono);font-size:.85rem;font-weight:700;color:var(--teal-ink);flex:none}.passage-text{overflow-wrap:anywhere}.image-view{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px;text-align:center}.image-view img{max-height:75vh;height:auto;border-radius:6px}.document-view{display:flex;flex-direction:column;gap:12px}.pdf-frame{width:100%;height:75vh;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.text-content{white-space:pre-wrap;overflow-wrap:anywhere}.details-list{display:grid;gap:10px;margin:0 0 12px}.details-list>div{display:grid;grid-template-columns:minmax(0,11em) minmax(0,1fr);gap:4px 12px}.details-list dt{font-weight:600;color:var(--muted)}.details-list dd{margin:0;min-width:0}@media(max-width:520px){.details-list>div{grid-template-columns:minmax(0,1fr)}}.file-path{font-family:var(--mono);font-size:.85rem;overflow-wrap:anywhere}.search-form{display:flex;flex-direction:column;gap:12px}.filters-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));margin-bottom:8px}.results-title{font-size:1rem;color:var(--muted)}.results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.result{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;box-shadow:var(--shadow);min-width:0}.result:hover{border-color:var(--teal)}.result:focus-within{outline:3px solid var(--focus);outline-offset:2px}.result-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}.result-link{font-weight:700;color:var(--navy-900);text-decoration:none;overflow-wrap:anywhere;min-width:0}.result-link:after{content:"";position:absolute;inset:0;border-radius:inherit}.result-link:focus-visible{outline:none}.result:hover .result-link{text-decoration:underline}.timestamp{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:.8rem;font-weight:700;color:#fff;background:var(--teal-ink);border-radius:999px;padding:1px 8px}.result-path{margin:4px 0 0;overflow-wrap:anywhere}.excerpt{margin:6px 0 0;overflow-wrap:anywhere}.settings-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}@media(min-width:960px){.settings-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.settings-section{display:flex;flex-direction:column;gap:14px}.settings-section .card-title{margin-bottom:0}.settings-section p{margin:0}.meter{height:8px;background:#e5e9ef;border-radius:999px;overflow:hidden;margin-top:6px;max-width:320px}.meter-bar{height:100%;background:var(--teal)}.meter-bar-high{background:var(--gold)}.pairing{border:2px solid var(--gold);background:var(--gold-soft);border-radius:var(--radius);padding:16px;text-align:center;display:flex;flex-direction:column;gap:6px}.pairing-label{font-weight:700;color:var(--gold-ink)}.pairing-code{font-family:var(--mono);font-size:clamp(1.8rem,1rem + 5vw,3rem);font-weight:800;letter-spacing:.12em;color:var(--navy-900);overflow-wrap:anywhere;user-select:all}.pairing-expiry{font-weight:600;color:var(--navy-900)}.device-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.device{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;border:1px solid var(--border);border-radius:8px;padding:10px 12px}.device p{margin:0}.device-name{font-weight:700;display:flex;align-items:center;gap:6px}.linked-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.linked-row{border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:10px;min-width:0}.linked-row[data-linked=true]{border-left:4px solid var(--teal)}.linked-main{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 12px}.linked-info{min-width:0;flex:1 1 180px}.linked-name{font-weight:700;display:flex;align-items:center;gap:6px;color:var(--navy-900)}.linked-name .icon{color:var(--teal-ink)}.linked-detail{overflow-wrap:anywhere}.linked-primary{font-weight:600;font-variant-numeric:tabular-nums}.link-code .pairing-label{font-size:1rem;margin:0}.link-code .pairing-label:focus{outline:none}.link-code .pairing-label:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.link-open{white-space:normal}.link-steps{text-align:left;margin:4px 0 0;padding-left:1.4rem;display:flex;flex-direction:column;gap:4px}.link-waiting{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;color:var(--navy-900)}.link-code-problem{display:flex;flex-direction:column;gap:10px}.link-code-problem .notice:focus{outline:none}.danger-zone{border:1px solid var(--danger);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px;background:snow}.danger-zone .subtitle{color:var(--danger)}.app-version{text-align:center}.import-callout{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}.import-callout-icon{color:var(--teal-ink)}.import-callout-text{flex:1 1 260px;min-width:0}.import-callout-text .card-title{margin-bottom:2px}.import-callout-text p{margin:0}.import-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}@media(min-width:960px){.import-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.import-side{display:flex;flex-direction:column;gap:16px;min-width:0}.export-guide{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}@media(min-width:640px)and (max-width:959px){.export-guide{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.guide-platform{min-width:0}.guide-platform+.guide-platform{border-top:1px solid var(--border);padding-top:12px}@media(min-width:640px)and (max-width:959px){.guide-platform+.guide-platform{border-top:0;padding-top:0}}.guide-steps{margin:0;padding-left:1.4rem;display:flex;flex-direction:column;gap:6px}.import-facts{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:6px}.import-drop{display:flex;flex-direction:column;gap:12px}.import-drop .card-title{margin-bottom:0}.import-drop .card-title:focus{outline:none}.import-drop .card-title:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.import-upload,.import-status-box{display:flex;flex-direction:column;gap:8px;min-width:0}.import-upload p,.import-status-box p{margin:0}.import-file{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-weight:600}.import-file .icon{color:var(--teal-ink)}.import-file-name{overflow-wrap:anywhere;min-width:0}.import-upload .upload-status,.import-status{display:flex;align-items:center;gap:8px}.import-upload.upload-error .upload-status{color:var(--danger);font-weight:600}.import-upload.upload-waiting .upload-status{color:var(--gold-ink)}.import-status{font-weight:650;color:var(--navy-900)}.import-chat{font-weight:600;overflow-wrap:anywhere}.import-result .notice{display:flex;align-items:center;gap:6px;flex-wrap:wrap;overflow-wrap:anywhere}.import-stats{margin:0}.import-stats dd{font-weight:700;font-variant-numeric:tabular-nums}.import-hint{display:block;font-weight:400}.import-notes ul{margin:0;padding-left:1.25rem}.import-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.import-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;box-shadow:var(--shadow);min-width:0}.import-row p{margin:0}.import-row-title{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-weight:650;overflow-wrap:anywhere}.import-row-title .icon{color:var(--teal-ink)}.import-row-title a{min-width:0}.import-row-error{color:var(--danger);overflow-wrap:anywhere}.badge-import-running{background:var(--teal-soft);color:var(--teal-ink)}.badge-import-done{background:var(--success-soft);color:var(--success)}.badge-import-failed{background:var(--danger-soft);color:var(--danger)}.login-screen{min-height:100vh;min-height:100dvh;background:radial-gradient(circle at 15% 0%,var(--navy-700),var(--navy-900) 55%);display:flex;align-items:center;justify-content:center;padding:24px 16px}.login-card{background:var(--surface);border-radius:16px;padding:28px 24px;width:100%;max-width:460px;box-shadow:0 24px 64px #00000059;border-top:5px solid var(--gold);display:flex;flex-direction:column;gap:12px}.login-card:focus{outline:none}.login-card h1{font-size:1.35rem}.login-card p{margin:0}.login-brand{display:flex;align-items:center;gap:10px;color:var(--navy-900);font-weight:800;letter-spacing:.22em;font-size:1.4rem}.login-brand svg{color:var(--gold);background:var(--navy-900);border-radius:10px;padding:6px}.login-tagline{color:var(--muted)}.login-instructions{font-weight:650;background:var(--teal-soft);color:var(--navy-900);border-left:4px solid var(--teal);border-radius:8px;padding:12px}.login-steps{margin:0;color:var(--muted);display:flex;flex-direction:column;gap:2px}.login-busy{display:flex;align-items:center;gap:10px;color:var(--navy-900);font-weight:600}.login-section{border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:8px}.login-section-title{font-size:1rem;margin:0}.tg-widget{min-height:44px}.login-lang{display:flex;justify-content:center;gap:4px;border-top:1px solid var(--border);padding-top:12px}.lang-btn{border:1px solid transparent;background:transparent;color:var(--teal-ink);font:inherit;font-weight:600;padding:6px 12px;border-radius:8px;cursor:pointer}.lang-btn[aria-pressed=true]{border-color:var(--teal-ink);background:var(--teal-soft)}.upload-panel{position:fixed;right:16px;bottom:16px;z-index:50;width:min(400px,calc(100vw - 32px));max-height:min(70vh,560px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 48px #0f23404d}.upload-panel-head{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 14px;background:var(--navy-900);color:#fff;border-radius:12px 12px 0 0;border-bottom:3px solid var(--gold)}.upload-panel-head :focus-visible{outline-color:var(--gold)}.upload-panel-title{font-size:1rem;margin:0;color:#fff}.upload-panel-summary{font-size:.85rem;color:var(--on-navy);margin-left:auto}.upload-panel-head .icon-btn{color:#fff}.upload-panel-head .icon-btn:hover{background:#ffffff1a}.upload-offline{margin:0;padding:8px 14px;background:var(--gold-soft);color:var(--gold-ink);font-size:.875rem;font-weight:600}.upload-empty{padding:12px 14px;margin:0}.upload-list{list-style:none;margin:0;padding:8px 14px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.upload-row{border-bottom:1px solid var(--border);padding-bottom:10px}.upload-row:last-child{border-bottom:0}.upload-row-top{display:flex;justify-content:space-between;gap:8px;font-weight:600}.upload-name{overflow-wrap:anywhere;min-width:0}.upload-size{flex:none;color:var(--muted);font-weight:500;font-size:.85rem}.upload-target{font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}.progress{height:6px;background:#e5e9ef;border-radius:999px;overflow:hidden;margin:6px 0}.progress-bar{height:100%;background:var(--teal);transition:width .2s ease}.upload-waiting .progress-bar{background:var(--gold)}.upload-row-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;font-size:.85rem}.upload-status{display:inline-flex;align-items:center;gap:4px}.upload-actions{display:inline-flex;flex-wrap:wrap;gap:4px}.upload-error .upload-status{color:var(--danger)}.upload-done .upload-status{color:var(--success)}.upload-waiting .upload-status{color:var(--gold-ink)}.upload-panel-foot{border-top:1px solid var(--border);padding:8px 14px;display:flex;justify-content:flex-end}.reserved-progress p{margin:0 0 6px;overflow-wrap:anywhere}@media(max-width:520px){.upload-panel{right:8px;left:8px;bottom:8px;width:auto;max-height:55vh}}.toasts{position:fixed;right:16px;top:76px;z-index:60;display:flex;flex-direction:column;gap:8px;width:min(420px,calc(100vw - 32px));pointer-events:none}.toast-stack{display:flex;flex-direction:column;gap:8px}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:8px;padding:10px 8px 10px 12px;border-radius:10px;background:var(--navy-900);color:#fff;box-shadow:0 8px 24px #00000040;border-left:4px solid var(--gold)}.toast-success{border-left-color:var(--teal)}.toast-error{background:var(--danger);border-left-color:#7a120b}.toast-text{flex:1 1 auto;min-width:0;padding-top:1px;overflow-wrap:anywhere}.toast .icon-btn{color:#fff}.toast .icon-btn:hover{background:#ffffff1f}.toast :focus-visible{outline-color:var(--gold)}@media(max-width:520px){.toasts{inset:8px 8px auto;width:auto}}.dialog{border:0;border-radius:14px;padding:20px;width:min(460px,calc(100vw - 32px));box-shadow:0 24px 64px #00000059;color:var(--text)}.dialog::backdrop{background:#0f23408c}.dialog-title{font-size:1.15rem}.dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:16px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}.spinner-dot{animation-duration:2.4s}}@media print{.app-header,.upload-panel,.toasts,.skip-link{display:none!important}}
