.calibration-modal{max-width:560px}.calibration-footer{display:grid;gap:8px}.calibration-footer.split{grid-template-columns:1fr 1fr}.calibration-footer .button-ghost{min-height:42px}.calibration-intro{display:grid;justify-items:center;text-align:center;gap:10px;padding:8px 0}.calibration-lead{font-weight:900;font-size:19px}.calibration-steps{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:6px;justify-items:start;text-align:left;counter-reset:step}.calibration-steps li{display:flex;align-items:center;gap:10px;font-weight:700}.calibration-steps li:before{counter-increment:step;content:counter(step);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--surface);font-size:12px;font-weight:900;flex:none}.calibration-take{display:grid;gap:12px}.calibration-stage{position:relative;min-height:132px;border:var(--border);border-radius:16px;background:var(--ink);box-shadow:0 4px 0 var(--ink-deep);display:grid;place-items:center;overflow:hidden}.calibration-mascot{position:absolute;right:14px;bottom:4px;object-fit:contain}.calibration-stage[data-state=listening] .calibration-mascot{animation:step-bounce 1s ease-in-out infinite}.calibration-countdown{width:84px;height:84px;font-size:46px;font-weight:900;line-height:1;background:#fff9edee;color:var(--accent);border:var(--border);border-radius:50%;box-shadow:0 5px 0 var(--ink-deep);display:grid;place-items:center;position:relative;animation:countdown-pop .35s var(--ease-spring)}.calibration-countdown:after{content:"";position:absolute;inset:-8px;border-radius:50%;border:4px solid transparent;border-top-color:var(--voice);animation:countdown-spin 1s linear infinite}.calibration-badge{display:inline-flex;align-items:center;gap:10px;background:var(--surface);color:#a2384c;border:var(--border);border-radius:30px;padding:8px 16px;font-weight:900;font-size:18px;box-shadow:0 3px 0 var(--ink-deep);animation:pop-in var(--dur-slow) var(--ease-spring)}.calibration-badge:before{content:"";width:12px;height:12px;border-radius:50%;background:var(--playhead);animation:rec-blink 1s steps(2) infinite}.calibration-badge-done{color:var(--success-ink)}.calibration-badge-done:before{background:var(--success);animation:none}.calibration-badge-failed{color:var(--danger-ink)}.calibration-badge-failed:before{background:var(--danger);animation:none}.calibration-note{text-align:center;margin:0}@media(max-width:760px){.calibration-stage{min-height:112px}.calibration-mascot{width:68px;height:68px}.calibration-badge{font-size:16px;padding:6px 12px}}.cloud-usage{display:grid;gap:8px;width:100%}.cloud-usage-bar{display:flex;height:12px;border:2px solid var(--ink);border-radius:var(--radius-pill);background:var(--surface);overflow:hidden}.cloud-usage[data-size=lg] .cloud-usage-bar{height:16px}.cloud-usage-bar span{display:block;height:100%;transition:width var(--dur-slow) var(--ease-out)}.cloud-usage-bar span[data-kind=packs]{background:var(--accent)}.cloud-usage-bar span[data-kind=takes]{background:var(--take, #ff926f)}.cloud-usage-bar[data-full] span{background:var(--danger)}.cloud-usage-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;list-style:none;font-size:13px}.cloud-usage-legend li{display:flex;align-items:center;gap:6px}.cloud-usage-legend b{flex:none;width:12px;height:12px;border:2px solid var(--ink);border-radius:3px;background:var(--surface)}.cloud-usage-legend li[data-kind=packs] b{background:var(--accent)}.cloud-usage-legend li[data-kind=takes] b{background:var(--take, #ff926f)}.cloud-usage-warning{display:flex;align-items:flex-start;gap:10px;width:100%;margin:0;padding:10px 12px;border:2px solid var(--danger-line);border-radius:var(--radius-md);background:var(--danger-bg);color:var(--danger-ink);font-size:14px;font-weight:700;line-height:1.35}.cloud-usage-warning svg{flex:none}.account-summary{margin:0;font-size:14px;line-height:1.4}.cloud-usage-modal .modal-body{display:grid;gap:14px}.cloud-usage-group h3{margin:0 0 8px;font-size:13px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.cloud-usage-group h3 .muted{font-weight:700;text-transform:none;letter-spacing:0}.cloud-usage-group ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.cloud-usage-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 10px;border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.cloud-usage-cover{display:block;width:40px;height:40px;border:2px solid var(--ink);border-radius:8px;background:var(--surface-alt, #eee7ff);overflow:hidden}.cloud-usage-cover img{display:block;width:100%;height:100%;object-fit:cover}.cloud-usage-icon{flex:none}.cloud-usage-copy{display:grid;gap:2px;min-width:0}.cloud-usage-copy strong{font-size:15px;overflow-wrap:anywhere}.cloud-usage-copy small{font-size:13px;line-height:1.35;overflow-wrap:anywhere}.cloud-usage-pill{display:inline-flex;align-items:center;padding:3px 10px;border:2px solid var(--line-strong);border-radius:var(--radius-pill);font-size:12px;font-weight:900;white-space:nowrap;color:var(--muted)}.cloud-usage-pill[data-state=synced]{border-color:var(--success-line);background:var(--success-bg);color:var(--success)}.cloud-usage-pill[data-state=pending],.cloud-usage-pill[data-state=syncing]{border-color:var(--accent-soft);background:var(--surface-alt, #eee7ff);color:var(--accent-deep)}.cloud-usage-pill[data-state=quota],.cloud-usage-pill[data-state=error]{border-color:var(--danger-line);background:var(--danger-bg);color:var(--danger-ink)}.cloud-usage-hint{margin:0}@media(max-width:480px){.cloud-usage-row{grid-template-columns:40px minmax(0,1fr)}.cloud-usage-pill{grid-column:2;justify-self:start}}.acloud{display:grid;gap:10px;width:100%;min-width:0}.acloud-list{display:grid;border:var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-hard-sm);overflow:hidden}.acloud-row{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:11px 14px;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left}.acloud-row+.acloud-row+.acloud-row:before{content:"";position:absolute;top:0;left:62px;right:0;border-top:1.5px solid var(--line)}button.acloud-row,label.acloud-row{cursor:pointer;transition:background-color var(--dur-base)}button.acloud-row:hover:not(:disabled),label.acloud-row:hover{background:color-mix(in srgb,var(--surface-alt) 60%,transparent)}button.acloud-row:disabled{cursor:default}.acloud-row:focus-visible{outline:var(--focus);outline-offset:-3px}.acloud-tile{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:11px;background:var(--accent-soft);color:var(--accent-deep)}.acloud-tile[data-tone=off]{background:var(--surface-dim);color:var(--muted)}.acloud-copy{display:grid;gap:3px;flex:1;min-width:0;font-size:15px}.acloud-copy small{font-size:12.5px;font-weight:700;line-height:1.35;color:var(--muted)}.acloud-line{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0 8px}.acloud-line strong{white-space:nowrap}.acloud-amount{flex:none;font-size:13px;font-weight:700;color:var(--muted)}.acloud-chevron{flex:none;color:var(--line-strong)}.acloud-bar{display:flex;height:8px;margin:3px 0 2px;border-radius:var(--radius-pill);background:var(--surface-dim);overflow:hidden}.acloud-bar span{display:block;height:100%;transition:width var(--dur-slow) var(--ease-out)}.acloud-bar span[data-kind=packs]{background:var(--accent)}.acloud-bar span[data-kind=takes]{background:var(--take, #ff926f)}.acloud-bar[data-full] span{background:var(--danger)}.acloud-account{min-height:72px;padding:14px;border-bottom:2px solid var(--ink);background:var(--accent-soft);overflow:hidden}.acloud-account .acloud-tile{width:44px;height:44px;border:2px solid var(--ink);border-radius:50%;box-shadow:var(--shadow-hard-sm)}.acloud-account .acloud-copy{font-size:16px}.acloud-email{overflow-wrap:break-word}.acloud-account small{font-weight:800;color:var(--accent-deep)}.acloud-list[data-phase=syncing] .acloud-account .acloud-tile{background:var(--accent);color:var(--on-accent)}.acloud-list[data-phase=syncing] .acloud-account .acloud-tile svg{animation:acloud-rise 1.2s var(--ease-out) infinite}.acloud-list[data-phase=syncing] .acloud-account:after{content:"";position:absolute;left:0;bottom:0;width:40%;height:3px;background:var(--accent);animation:acloud-sweep 1.4s var(--ease-out) infinite}.acloud-list[data-phase=done] .acloud-account{background:var(--success-bg)}.acloud-list[data-phase=done] .acloud-account .acloud-tile{background:var(--success);color:var(--on-accent)}.acloud-list[data-phase=done] .acloud-account small{color:var(--success-ink)}.acloud-list[data-phase=off] .acloud-account{background:var(--surface-dim)}.acloud-list[data-phase=off] .acloud-account .acloud-tile{background:var(--surface-dim);color:var(--muted)}.acloud-list[data-phase=off] .acloud-account small{color:var(--muted)}.acloud-list[data-phase=error] .acloud-account,.acloud-list[data-phase=error] .acloud-account .acloud-tile{background:var(--danger-bg)}.acloud-list[data-phase=error] .acloud-account .acloud-tile,.acloud-list[data-phase=error] .acloud-account small{color:var(--danger-ink)}@keyframes acloud-rise{0%,to{transform:translateY(1px)}50%{transform:translateY(-2px)}}@keyframes acloud-sweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}.acloud-switch{position:relative;display:inline-flex;flex:none}.acloud-switch input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.acloud-switch-track{display:flex;align-items:center;width:46px;height:28px;padding:2px;border:2px solid var(--ink);border-radius:var(--radius-pill);background:var(--surface-dim);transition:background-color var(--dur-base)}.acloud-switch-knob{width:20px;height:20px;border:2px solid var(--ink);border-radius:50%;background:var(--surface);transition:transform var(--dur-base) var(--ease-spring)}.acloud-switch input:checked+.acloud-switch-track{background:var(--accent)}.acloud-switch input:checked+.acloud-switch-track .acloud-switch-knob{transform:translate(18px)}.acloud-switch input:focus-visible+.acloud-switch-track{outline:var(--focus);outline-offset:2px}.acloud-switch input:disabled+.acloud-switch-track{opacity:.5}.acloud-after{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.acloud-note{margin:0;padding:0 6px;font-size:12.5px;line-height:1.4;color:var(--muted)}.acloud-signout{display:inline-flex;flex:none;align-items:center;gap:6px;margin-left:auto;padding:4px 6px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:background-color var(--dur-base),color var(--dur-base)}.acloud-signout:hover:not(:disabled){color:var(--danger-ink);background:var(--danger-bg)}.acloud-signout:focus-visible{outline:var(--focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){.acloud-tile svg,.acloud-account:after{animation:none!important}}.settings-modal{max-width:540px}.settings-sections{display:grid}.settings-section{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head art" "body art";column-gap:18px;row-gap:10px;padding:16px 0;border-top:2px solid var(--line)}.settings-section[data-wide]{grid-template-areas:"head art" "body body"}.settings-section[data-wide] .settings-art{width:64px;height:64px}.settings-section:first-child{border-top:0;padding-top:4px}.settings-section:last-child{padding-bottom:4px}.settings-art{grid-area:art;align-self:center;width:96px;height:96px;object-fit:contain}.settings-section-head{grid-area:head;display:grid;gap:2px;align-self:center;min-width:0}.settings-section-head h3{display:flex;align-items:center;gap:8px;margin:0;font-size:17px}.settings-section-head .muted{margin:0;font-size:13px;font-weight:700}.settings-pill{padding:1px 8px;border:2px solid var(--success-line);border-radius:var(--radius-pill);background:var(--success-bg);color:var(--success-ink);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.4px}.settings-pill[data-state=pending]{border-color:var(--warning-line);background:var(--warning-bg);color:var(--warning-ink)}.settings-section-body{grid-area:body;display:grid;gap:10px;min-width:0;justify-items:start}.settings-section-body .field,.settings-section-body .mic-test,.settings-section-body .notice{width:100%;justify-self:stretch}.settings-section-body .field{margin:0}.settings-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mic-test .voice-key-original{display:none}.mic-test .voice-panel{margin-top:0}@media(max-width:760px){.settings-section{column-gap:12px;padding:14px 0}.settings-art{width:72px;height:72px}.settings-actions .button{flex:1 1 auto}}.settings-offset-row{display:flex;align-items:center;gap:12px}.settings-offset-row input[type=range]{flex:1}.settings-offset-number{display:inline-flex;align-items:center;gap:6px;flex:none;font-weight:800;color:var(--muted)}.settings-offset-number .input{width:92px;min-height:40px;padding:6px 10px;text-align:right;font-weight:800;-moz-appearance:textfield}.settings-offset-number .input::-webkit-outer-spin-button,.settings-offset-number .input::-webkit-inner-spin-button{appearance:none;margin:0}.settings-offset small{font-weight:700;font-size:13px}.settings-offset-reset{align-self:flex-start;margin-top:2px}.settings-status{display:flex;justify-content:flex-end;align-items:center;min-height:24px;margin:-6px 0 4px}.settings-saved{display:inline-flex;align-items:center;padding:2px 10px;border:2px solid var(--success-line);border-radius:var(--radius-pill);background:var(--success-bg);color:var(--success-ink);font-size:12px;font-weight:900;letter-spacing:.3px;animation:settings-saved-in var(--dur-base) var(--ease-out)}@keyframes settings-saved-in{0%{opacity:0;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.settings-saved{animation:none}}.settings-character{display:flex;flex-direction:column;gap:14px}.backup-modal{width:min(600px,calc(100vw - 24px))}.backup-lists{display:grid;gap:14px}.backup-group h3{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 6px;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;color:var(--accent-deep)}.backup-group h3 span{font-size:12px;color:var(--muted);text-transform:none;letter-spacing:0}.backup-group ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.backup-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:2px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer}.backup-item:has(input:checked){border-color:var(--ink)}.backup-item>span{display:grid;gap:2px;min-width:0}.backup-item strong{overflow-wrap:anywhere}.backup-item small{color:var(--muted);font-size:12px;font-weight:700}.backup-item input{appearance:none;flex:0 0 22px;width:22px;height:22px;margin:0;border:2px solid var(--ink);border-radius:6px;background:var(--surface);cursor:pointer}.backup-item input:checked{background-color:var(--accent);box-shadow:inset 0 0 0 4px var(--surface)}.backup-item input:focus-visible{outline:var(--focus);outline-offset:3px}.backup-auto,.backup-conflict{display:flex;align-items:center;gap:6px;margin:4px 0 0 36px;font-size:12px;font-weight:700;color:var(--muted)}.backup-conflict{color:var(--danger-ink)}.backup-estimate{margin:0;font-size:13px;font-weight:700}.backup-empty{display:flex;align-items:center;gap:8px;font-weight:700;margin:0}.backup-progress{display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid var(--accent-line);border-radius:14px;background:var(--surface-alt)}.backup-progress p{margin:2px 0 0;font-size:13px;font-weight:700;color:var(--muted)}.backup-done{display:grid;gap:10px}.backup-done-line{display:flex;align-items:flex-start;gap:8px;margin:0;padding:12px 14px;border:2px solid var(--success-line);border-radius:12px;background:var(--success-bg);color:var(--success-ink);font-weight:700}.backup-done-line svg{flex:none;margin-top:2px}.info-tip{position:relative;display:inline-flex;flex:none}.info-tip-button{position:relative;display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border:var(--border);border-radius:50%;background:var(--surface);color:var(--accent-deep);cursor:pointer;box-shadow:var(--shadow-hard-sm);transition:transform var(--dur-fast),box-shadow var(--dur-fast),background-color var(--dur-fast)}.info-tip-button:hover{background:var(--surface-alt)}.info-tip-button:active,.info-tip-button[aria-expanded=true]{transform:translateY(2px);box-shadow:none;background:var(--accent-soft)}.info-tip-button:focus-visible{outline:var(--focus);outline-offset:2px}.info-tip-count{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border:2px solid var(--ink);border-radius:999px;background:var(--warning-bg);color:var(--warning-ink);font-size:11px;font-weight:900;line-height:14px}.info-tip-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:min(320px,calc(100vw - 48px));padding:12px 14px;border:var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-hard);font-size:13px;animation:pop-in var(--dur-base) var(--ease-spring);text-align:left}.info-tip[data-inline]{display:contents}.info-tip[data-inline] .info-tip-panel{position:static;grid-column:1 / -1;width:auto;margin-top:2px;box-shadow:none;background:var(--surface-alt);border-color:var(--accent-line)}.info-tip-panel strong{display:block;font-size:13px;margin-bottom:6px}.info-tip-panel ul{margin:0;padding-left:18px;display:grid;gap:6px;font-weight:600;overflow-wrap:anywhere}.library-tab{display:flex;flex-direction:column;gap:4px}.library-sections{display:flex;flex-wrap:wrap;gap:6px}.library-sections button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:2px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--muted);font:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:border-color var(--dur-base),background-color var(--dur-base),color var(--dur-base),transform var(--dur-fast) var(--ease-out)}.library-sections button:hover{border-color:var(--accent-line);color:var(--ink)}.library-sections button.is-active{border-color:var(--ink);background:var(--accent);color:var(--surface);box-shadow:var(--shadow-hard-sm)}.library-sections button:focus-visible{outline:var(--focus);outline-offset:2px}.library-sections .counter{padding:1px 7px;font-size:12px;background:var(--accent-deep);color:var(--surface)}.library-tab-tools{margin-left:auto;justify-content:flex-end}.library-search{flex:0 1 240px}.library-submit-link{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:0;border-radius:var(--radius-sm);background:none;color:var(--muted);font:inherit;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer;transition:color var(--dur-base),background-color var(--dur-base)}.library-submit-link:hover:not(:disabled){color:var(--accent-deep);background:var(--surface-alt)}.library-submit-link:focus-visible{outline:var(--focus);outline-offset:2px}.library-submit-link:disabled{opacity:.5;cursor:default}.library-state{display:grid;justify-items:center;gap:8px;padding:48px 16px;color:var(--muted);font-weight:800}.library-empty-icon{width:72px;height:72px;display:grid;place-items:center;border:var(--border);border-radius:50%;background:var(--surface);color:var(--accent-deep);box-shadow:var(--shadow-hard-sm)}.library-more{display:flex;align-items:center;justify-content:center;gap:8px;padding:28px 0 12px;color:var(--muted);font-size:14px;font-weight:800}.search-clear{border:0;background:none;padding:2px;display:grid;place-items:center;color:var(--muted);border-radius:6px;cursor:pointer}.search-clear:hover{color:var(--ink);background:var(--surface-alt)}.library-card .pack-body{gap:10px}.library-card[data-status=rejected] .pack-art,.library-card[data-status=hidden] .pack-art{filter:grayscale(1)}.library-official,.library-status{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border:var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font-size:12px;font-weight:900;box-shadow:var(--shadow-hard-sm)}.library-official{background:var(--accent);color:var(--surface)}.library-status{left:auto;right:10px;background:var(--warning-bg);color:var(--warning-ink)}.library-authors{margin:-4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-note{margin:0;padding:8px 10px;border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--warning-ink);border:2px solid var(--warning-line)}.library-stars{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.library-stars-row{display:inline-flex;gap:1px;color:var(--ink)}.library-stars-row svg{fill:var(--surface-alt);transition:fill var(--dur-fast),transform var(--dur-fast) var(--ease-spring)}.library-stars-row svg[data-on]{fill:var(--brand-dot)}.library-stars-row button{border:0;background:none;padding:2px;color:inherit;cursor:pointer;border-radius:6px;transition:transform var(--dur-fast) var(--ease-spring)}.library-stars-row button:hover{transform:scale(1.2)}.library-stars-row button:focus-visible{outline:var(--focus);outline-offset:1px}.library-stars-count{font-weight:700}.library-progress,.library-card .row{margin-top:auto}.library-submit-modal .modal-footer .spacer{margin:0}.library-submit-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:50vh;overflow:auto}.library-submit-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;transition:border-color var(--dur-base),background-color var(--dur-base)}.library-submit-item:hover{border-color:var(--accent-line)}.library-submit-item.is-on{border-color:var(--ink);background:var(--surface-alt);box-shadow:var(--shadow-hard-sm)}.library-submit-item .spacer{display:grid}.library-submit-item input{width:20px;height:20px;accent-color:var(--accent)}@media(max-width:760px){.library-tab-tools{width:100%;margin-left:0}.library-search{flex:1 1 160px}}.library-filters-button{flex:none}.library-filters-button .counter{margin-left:2px;padding:0 7px;font-size:12px;background:var(--accent-deep);color:var(--surface);border-radius:var(--radius-pill)}.library-filters{display:grid;gap:14px}.library-filters .field,.library-filters-total{margin:0}.library-filters-check{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:2px solid var(--line);border-radius:14px;cursor:pointer}.library-filters-check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent)}.library-filters-check span{display:grid;gap:2px}.library-filters-check small{font-size:13px}.library-tags{position:absolute;right:8px;bottom:8px;display:flex;gap:4px}.library-tag{display:inline-flex;align-items:center;gap:3px;height:20px;padding:0 7px;border-radius:var(--radius-pill);background:#29223db8;color:#fff;font-size:11px;font-weight:900;letter-spacing:.02em;line-height:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.library-tag-explicit{background:#ff926feb;color:var(--ink)}.library-filters-modal .modal-footer{display:flex;justify-content:space-between;gap:10px}.library-card.is-openable{cursor:pointer}.library-title-link{display:inline;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.library-title-link:focus-visible{outline:var(--focus);outline-offset:2px;border-radius:4px}.library-card-actions{min-height:2.75rem}.library-dl{position:relative;display:flex;align-items:center;min-height:2.75rem;border:var(--border);border-radius:var(--radius-md);background:var(--surface-alt);overflow:hidden}.library-dl-fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--accent-soft);transition:width var(--dur-slow) var(--ease-out)}.library-dl[data-indeterminate] .library-dl-fill{width:40%;animation:library-dl-slide 1.4s ease-in-out infinite}@keyframes library-dl-slide{0%{transform:translate(-100%)}to{transform:translate(260%)}}.library-dl-copy{position:relative;flex:1;display:flex;align-items:center;gap:8px;padding:0 12px;font-size:14px;font-weight:800;white-space:nowrap}.library-dl-copy b{margin-left:auto;font-variant-numeric:tabular-nums}.library-dl-cancel{position:relative;flex:none;display:grid;place-items:center;width:38px;align-self:stretch;border:0;border-left:2px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}.library-dl-cancel:hover{background:var(--danger-bg);color:var(--danger-ink)}.library-details-art{position:relative;aspect-ratio:16 / 9;border:var(--border);border-radius:16px;overflow:hidden;background:var(--pack-color, #e6ddfa)}.library-details-art img{display:block;width:100%;height:100%;object-fit:cover}.library-details-art .library-official{position:absolute;top:10px;left:10px}.library-details-subtitle{margin:12px 0 0;font-weight:800;color:var(--muted)}.library-details-description{margin:12px 0 0;white-space:pre-line;line-height:1.5}.library-details-facts,.library-details-scenes{margin-top:14px}.library-details-scenes h3{margin:0 0 6px;font-size:15px}.library-details-scenes ol{margin:0;padding-left:20px;font-weight:700}.library-details .modal-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.library-details .modal-footer .spacer{flex:1 1 200px}.library-foot{margin:18px 0 4px;text-align:center}.library-foot .library-submit-link{padding:2px 4px;font-size:inherit;color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px}.starter-strip{grid-column:1 / -1;display:flex;align-items:center;gap:20px;padding:16px 20px;border:var(--border);border-radius:18px;background:var(--surface-alt);box-shadow:var(--shadow-hard)}.hero+.starter-strip{margin-bottom:20px}.starter-covers{display:inline-flex;flex-shrink:0}.starter-covers img{width:96px;height:72px;object-fit:cover;border:var(--border);border-radius:10px;background:var(--surface-alt);box-shadow:var(--shadow-hard-sm);margin-right:-28px;transform:rotate(-4deg)}.starter-covers img:nth-child(2){transform:rotate(3deg) translateY(4px)}.starter-covers img:last-child{margin-right:0}.starter-covers img:nth-child(3){transform:rotate(-2deg)}.starter-strip-copy{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.starter-strip-copy strong{font-size:18px;font-weight:900}.starter-strip-copy>span{font-size:13px;font-weight:700;color:var(--muted)}@media(max-width:640px){.starter-strip{flex-wrap:wrap;gap:14px 20px}.starter-strip-copy{flex-basis:100%}.starter-strip .button{width:100%}}.sync-dock{position:fixed;right:16px;bottom:calc(16px + var(--tabbar, 0px));z-index:49;width:min(320px,calc(100vw - 32px));display:grid;gap:8px;padding:12px 14px;background:var(--surface);color:var(--ink);border:2px solid var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-hard);animation:dock-in var(--dur-slow) var(--ease-spring)}html[data-import-dock] .sync-dock{display:none}.sync-dock-mini{width:auto;padding:0;border:0;background:none;box-shadow:none;display:block}.sync-dock-pill{display:inline-flex;align-items:center;gap:6px;min-width:40px;padding:7px 10px;border:2px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--accent-deep);font:inherit;font-size:13px;font-weight:900;font-variant-numeric:tabular-nums;box-shadow:var(--shadow-hard-sm);cursor:pointer}.sync-dock-pill:hover{border-color:var(--ink)}.sync-dock-pill:focus-visible{outline:var(--focus);outline-offset:2px}.sync-dock-panel{width:min(360px,calc(100vw - 32px));max-height:min(70vh,560px);overflow:auto;gap:10px}.sync-dock-head{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--accent-deep)}.sync-dock-head strong{flex:1;min-width:0;color:var(--ink)}.sync-dock-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.sync-dock-list li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;column-gap:8px;row-gap:4px;align-items:center;font-size:14px;font-weight:800}.sync-dock-icon{display:grid;place-items:center;color:var(--accent-deep)}.sync-dock-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-dock-list li small{color:var(--muted);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.sync-dock-bar{grid-column:2 / 4;height:6px;border-radius:999px;background:var(--surface-alt);overflow:hidden}.sync-dock-bar i{display:block;height:100%;background:var(--accent);transition:width var(--dur-base)}.import-packs-modal{width:min(640px,calc(100vw - 24px))}.import-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:13px;font-weight:700}.import-candidates,.import-outcomes{display:grid;gap:10px}.import-candidate{padding:12px 14px;border:2px solid var(--line);border-radius:14px;background:var(--surface);min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-items:center}.import-candidate .error{grid-column:1 / -1}.import-candidate[data-error]{border-style:dashed}.import-candidate label{display:flex;align-items:center;gap:12px;cursor:pointer}.import-candidate label span{display:grid;gap:2px;min-width:0}.import-candidate strong,.import-outcome strong{overflow-wrap:anywhere}.import-candidate small,.import-outcome p{color:var(--muted);margin:0;font-size:13px;font-weight:700}.import-candidate .error{margin:8px 0 0 34px;display:flex;gap:6px;align-items:center;font-size:13px}.import-candidate input{appearance:none;flex:0 0 22px;width:22px;height:22px;margin:0;border:2px solid var(--ink);border-radius:6px;background:var(--surface);cursor:pointer}.import-candidate input:checked{background-color:var(--accent);box-shadow:inset 0 0 0 4px var(--surface)}.import-candidate input:focus-visible{outline:var(--focus);outline-offset:3px}.import-candidate input:disabled{opacity:.35;cursor:not-allowed}.import-reading{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:700;color:var(--muted)}.import-progress{display:grid;gap:8px;padding:14px 16px;background:var(--surface-alt);border:2px solid var(--accent-line, #d6cbff);border-radius:14px}.import-progress-head{display:flex;align-items:center;gap:10px}.import-progress-head strong{font-size:16px}.import-progress-percent{margin-left:auto;font-weight:900;font-variant-numeric:tabular-nums;color:var(--accent-deep)}.import-progress-bar{height:12px;border:2px solid var(--ink);border-radius:8px;background:var(--surface);overflow:hidden}.import-progress-bar span{display:block;height:100%;background:var(--accent);transition:width .3s var(--ease-out)}.import-progress p{margin:0;color:var(--muted);font-size:13px;font-weight:700}.import-summary{margin:0 0 10px;font-size:13px;font-weight:800;color:var(--muted)}.import-outcome-list{list-style:none;margin:0;padding:0;border:var(--border);border-radius:14px;background:var(--surface);overflow:hidden}.import-outcome{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:6px 12px;align-items:center;padding:12px 14px}.import-outcome+.import-outcome{border-top:2px solid var(--line)}.import-outcome-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--success-bg);color:var(--success-ink);border:2px solid var(--success-line)}.import-outcome[data-status=failed] .import-outcome-icon{background:var(--danger-bg);color:var(--danger-ink);border-color:var(--danger-line)}.import-outcome[data-status=existing] .import-outcome-icon{background:var(--surface-alt);color:var(--accent-deep);border-color:var(--accent-line)}.import-outcome-body{display:grid;gap:1px;min-width:0}.import-outcome-body strong{font-size:15px;line-height:1.2;overflow-wrap:anywhere}.import-outcome-body small{color:var(--muted);font-size:12px;font-weight:700}.import-outcome[data-status=failed] .import-outcome-body small{color:var(--danger-ink)}.import-outcome-actions{display:flex;gap:8px;align-items:center;grid-column:4;grid-row:1}.import-outcome .info-tip-button{grid-column:3;grid-row:1;width:30px;height:30px;box-shadow:none}.import-outcome .info-tip-panel{grid-row:2}.import-outcome-actions .button-sm{min-height:38px}.import-outcome-list{overflow:visible}.import-empty{display:flex;align-items:center;gap:8px;font-weight:700}.pack-credits{margin-block:8px;color:var(--muted);font-size:.875rem;overflow-wrap:anywhere}.pack-credits summary{cursor:pointer;font-weight:800}.pack-credits p{margin-block:4px;white-space:pre-wrap}@media(max-width:600px){.import-outcome{grid-template-columns:auto minmax(0,1fr)}.import-outcome-actions{grid-column:1 / -1;grid-row:auto;width:100%}.import-outcome .info-tip-button{grid-column:3}.import-outcome .info-tip-panel{grid-row:auto}.import-outcome-actions>.button{flex:1}}.import-dock{position:fixed;right:16px;bottom:16px;z-index:50;width:min(360px,calc(100vw - 32px));display:grid;gap:8px;padding:14px 16px;background:var(--surface);color:var(--ink);border:2px solid var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-hard);animation:dock-in var(--dur-slow) var(--ease-spring)}@keyframes dock-in{0%{opacity:0;transform:translateY(12px) scale(.97)}}.import-dock-head{display:flex;align-items:center;gap:10px;font-size:16px}.import-dock-head strong{flex:1;min-width:0}.import-dock-minimize{display:grid;place-items:center;width:30px;height:30px;padding:0;border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);cursor:pointer;transition:border-color var(--dur-base),color var(--dur-base)}.import-dock-minimize:hover{border-color:var(--ink);color:var(--ink)}.import-dock-minimize:focus-visible{outline:var(--focus);outline-offset:2px}.import-dock-mini{width:auto;padding:0;border:0;background:none;box-shadow:none;display:block}.import-dock-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border:2px solid var(--ink);border-radius:var(--radius-pill);background:var(--accent);color:var(--surface);font-family:inherit;font-size:14px;font-weight:900;box-shadow:var(--shadow-hard-sm);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out)}.import-dock-pill:active{transform:scale(.97)}.import-dock-pill:focus-visible{outline:var(--focus);outline-offset:2px}.import-dock-meta{margin:0;font-size:14px;font-weight:800;color:var(--muted)}.import-dock .import-progress-bar{margin:2px 0}.import-dock-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.import-dock-foot p{display:flex;align-items:center;gap:6px;margin:0;min-width:0;font-size:14px;font-weight:700;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-dock-foot .button{flex:none}@media(max-width:600px){.import-dock{right:8px;left:8px;bottom:calc(8px + var(--tabbar, 0px));width:auto}.import-dock-mini{left:auto;right:12px;bottom:calc(12px + var(--tabbar, 0px))}}@media(prefers-reduced-motion:reduce){.import-dock{animation:none}}
