:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f6f7f9;--surface:#fff;--text:#1b1f24;--muted:#5d6673;--border:#d9dee5;--border-strong:#b5bdc8;--accent:#2459d6;--accent-soft:#e8eefc;--ok:#18794e;--bad:#b42318;--bad-soft:#fdecea;--warn-soft:#fff4d6;--warn-text:#6b4a00;--focus:#2459d6;--radius:10px;font-family:system-ui,-apple-system,Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111418;--surface:#1a1e24;--text:#e7eaee;--muted:#9aa3ae;--border:#2d333b;--border-strong:#46505c;--accent:#7ea6ff;--accent-soft:#1d2a45;--ok:#4cc38a;--bad:#ff8a80;--bad-soft:#3a1d1b;--warn-soft:#3a3016;--warn-text:#f3d48a;--focus:#7ea6ff}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}a{color:var(--accent)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{border:1px solid var(--border-strong);background:var(--surface);min-height:2.25rem;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:8px;align-items:center;gap:.25rem;padding:.35rem .85rem;font-size:.9rem;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.6;cursor:progress}.btn-danger{border-color:var(--bad);background:var(--bad);color:#fff}@media (prefers-color-scheme:dark){.btn-danger{color:#1a0b0a}}.btn-danger:hover{border-color:var(--bad);filter:brightness(1.08)}.btn-quiet{color:var(--muted);background:0 0;border-color:#0000;padding-inline:.6rem}.btn-primary{border-color:var(--accent);background:var(--accent);color:#fff}@media (prefers-color-scheme:dark){.btn-primary{color:#0b1220}}.btn-primary:hover{border-color:var(--accent);filter:brightness(1.08)}.btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.start{word-break:keep-all;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-width:40rem;margin:1.5rem 0 0;padding:1.25rem 1.25rem 1rem}.start-heading{margin:0 0 .5rem;font-size:1.15rem}.start-notice{margin:0 0 .5rem;font-size:1rem}.start-why{color:var(--muted);margin:0 0 1rem;font-size:.9rem}.start-button{min-height:2.75rem;padding-inline:1.5rem;font-size:1rem}.start-status{min-height:1.5rem;margin:.75rem 0 0;font-size:.9rem}.session-note{color:var(--muted);margin:.75rem 0 0;font-size:.9rem}.home{max-width:80rem;margin:0 auto;padding:2rem 1.5rem 4rem}.home-header{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.home-header h1{letter-spacing:-.01em;margin:0;font-size:1.75rem;font-weight:700}.badge{background:var(--warn-soft);color:var(--warn-text);border-radius:999px;padding:.15rem .6rem;font-size:.8rem;font-weight:600}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:.35rem;padding:2rem 1rem;transition:border-color .12s,background-color .12s;display:flex}.dropzone:hover{border-color:var(--accent)}.dropzone:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.dropzone[data-dragover=true]{border-color:var(--accent);background:var(--accent-soft);border-style:solid}.dropzone-icon{color:var(--accent)}.dropzone-title{font-weight:600}.dropzone-hint{color:var(--muted);font-size:.875rem}.banner{background:var(--warn-soft);color:var(--warn-text);border-radius:8px;margin:1rem 0 0;padding:.6rem .9rem;font-size:.9rem}.list{margin-top:1.75rem}.list-heading{align-items:baseline;gap:.4rem;margin:0 0 .6rem;font-size:1rem;font-weight:600;display:flex}.count{color:var(--muted);font-weight:400}.placeholder{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);text-align:center;margin:0;padding:2rem 1rem}.rows{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0;padding:0;list-style:none;overflow:hidden}.row{grid-template-columns:minmax(0,1fr) 20rem 14.75rem 18rem;align-items:center;gap:1rem;min-height:3.5rem;padding:.6rem 1rem;display:grid}.row+.row{border-top:1px solid var(--border)}.row-name{align-items:center;gap:.6rem;min-width:0;display:flex}.row[data-selected=true]{background:var(--accent-soft)}.row-check-spacer{flex:none;width:1.1rem}.row-check,.select-all input{width:1.1rem;height:1.1rem;accent-color:var(--accent);flex:none;margin:0}.thumb{border:1px solid var(--border);object-fit:cover;object-position:top;background:#fff;border-radius:4px;flex:none;width:42px;height:56px}.thumb-empty{background:var(--bg);color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.row-title{flex-direction:column;gap:.1rem;min-width:0;display:flex}.facts{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;font-size:.8rem;display:flex}.facts-line{gap:.6rem;display:inline-flex}.facts-line>*+:before{content:"·";color:var(--border-strong);margin-right:.6rem}.facts-locale{font-weight:600}.facts-previous{color:var(--warn-text)}.diag summary{cursor:pointer;color:var(--muted)}.diag summary:hover{color:var(--text)}.diag ul{border:1px solid var(--border);background:var(--bg);border-radius:6px;margin:.25rem 0 0;padding:.35rem .6rem;list-style:none}.diag li{overflow-wrap:anywhere}.diag code{font-size:.78rem}.diag-count{color:var(--muted)}.name-link,.name-text{text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.name-link{text-decoration:none}.name-link:hover{text-decoration:underline}.row-meta{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;grid-template-columns:3.25rem 4.5rem minmax(0,1fr);gap:.5rem;font-size:.85rem;display:grid}.row-meta>*{text-overflow:ellipsis;overflow:hidden}.format{letter-spacing:.02em;font-weight:600}.row-status{word-break:keep-all;font-variant-numeric:tabular-nums;flex-direction:column;gap:.25rem;font-size:.875rem;display:flex}.row[data-tone=ok] .status-text{color:var(--ok);font-weight:600}.row[data-tone=bad] .status-text{color:var(--bad)}.row[data-tone=muted] .status-text{color:var(--muted)}.expiry{color:var(--muted);font-size:.8rem}.row-status progress{width:100%;height:.4rem;accent-color:var(--accent)}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.25rem;display:flex}.action-error{color:var(--bad);text-align:right;flex-basis:100%;font-size:.8rem}.delete{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.25rem;display:inline-flex}.delete-error{color:var(--bad);text-align:right;flex-basis:100%;font-size:.8rem}@media (max-width:78rem){.home{padding:1.25rem 1rem 3rem}.row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name actions""meta meta""status status";gap:.35rem .75rem}.row-name{grid-area:name}.row-meta{grid-area:meta;gap:.75rem;display:flex}.row-status{grid-area:status}.row-actions{grid-area:actions}}@media (max-width:40rem){.row{grid-template-columns:minmax(0,1fr);grid-template-areas:"name""meta""status""actions"}.row-actions,.action-error,.delete,.delete-error{text-align:left;justify-content:flex-start}.row-meta,.row-status,.row-actions{padding-left:calc(2.3rem + 42px)}.row-meta{flex-wrap:wrap;gap:.1rem .75rem}.row-meta>*{overflow:visible}}.header-link{white-space:nowrap;margin-left:auto;font-size:.9rem;text-decoration:none}.header-link:hover{text-decoration:underline}.usage{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.2rem .9rem;margin:-.5rem 0 1rem;font-size:.9rem;display:flex}.usage>span+span:before{content:"·";color:var(--border-strong);margin-right:.9rem}@media (max-width:40rem){.usage-split{display:none}}.locale{border:0;flex-wrap:wrap;align-items:center;gap:.25rem 1rem;margin:.75rem 0 0;padding:0;font-size:.875rem;display:flex}.locale legend{float:left;margin-right:.25rem;padding:0;font-weight:600}.locale-options{flex-wrap:wrap;gap:.25rem 1rem;display:inline-flex}.locale-option{cursor:pointer;align-items:center;gap:.35rem;display:inline-flex}.locale-option input{accent-color:var(--accent);margin:0}.locale-hint{color:var(--muted);flex-basis:100%;font-size:.8rem}.toolbar{flex-wrap:wrap;gap:.5rem;margin:0 0 .6rem;display:flex}.field input,.field select{border:1px solid var(--border-strong);background:var(--surface);min-height:2.25rem;color:var(--text);font:inherit;border-radius:8px;padding:.3rem .6rem;font-size:.9rem}.field-search{flex:14rem}.field-search input{width:100%}.bulkbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;min-height:2.5rem;margin:0 0 .4rem;padding:0 1rem;font-size:.9rem;display:flex}.select-all{cursor:pointer;align-items:center;gap:.6rem;display:inline-flex}.bulk-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.bulk-count{color:var(--muted);font-variant-numeric:tabular-nums}.status-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0}.status-row{grid-template-columns:9rem minmax(0,1fr);gap:1rem;padding:.75rem 1rem;display:grid}.status-row+.status-row{border-top:1px solid var(--border)}.status-row dt{color:var(--muted);font-weight:600}.status-row dd{overflow-wrap:anywhere;margin:0}.status-note{color:var(--muted)}.status-warn{color:var(--warn-text)}@media (max-width:40rem){.status-row{grid-template-columns:minmax(0,1fr);gap:.15rem}}.notice{max-width:36rem;margin:4rem auto;padding:0 1.5rem}.notice h1{font-size:1.4rem}.notice p{color:var(--muted)}.notice .notice-name{color:var(--text);overflow-wrap:anywhere;font-weight:600}.viewer{flex-direction:column;height:100dvh;display:flex}.viewer-header{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex}.back{white-space:nowrap;flex:none;text-decoration:none}.viewer-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.viewer-header .format{color:var(--muted);flex:none;font-size:.85rem}.viewer-header .badge{white-space:nowrap;flex:none}@media (max-width:40rem){.viewer-header{gap:.5rem;padding:.5rem .75rem}.viewer-header .badge{padding:.1rem .45rem;font-size:.7rem}}.viewer-note{border-bottom:1px solid var(--border);background:var(--warn-soft);color:var(--warn-text);margin:0;padding:.4rem 1rem;font-size:.85rem}.viewer-frame{background:var(--bg);border:0;flex:auto;width:100%;min-height:0}.header-link+.header-link{margin-left:0}.notices-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0 0 1.5rem;padding:1rem 1.25rem}.notices-section h2{margin:0 0 .5rem;font-size:1.1rem}.notices-section h3{color:var(--muted);margin:1rem 0 .4rem;font-size:.95rem}.notices-section p{margin:.4rem 0;line-height:1.6}.notices-list{margin:0;padding:0;list-style:none}.notices-list li{border-top:1px solid var(--border);overflow-wrap:anywhere;flex-direction:column;gap:.1rem;padding:.55rem 0;display:flex}.notices-name{font-weight:600}.notices-version,.notices-holder,.notices-note{color:var(--muted);font-size:.9rem}.notices-license{font-size:.85rem;font-weight:600}.notices-url{font-size:.85rem}.notices-license-text{border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;max-height:24rem;margin:.6rem 0 0;padding:.75rem;font-size:.8rem;line-height:1.45;overflow:auto}.export{display:contents}.export-status{min-width:0;max-width:16rem;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-size:.85rem;overflow:hidden}.export-status:empty{clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.export-failed{color:var(--bad);white-space:normal}.export-short{display:none}@media (max-width:40rem){.viewer-header{flex-wrap:wrap}.viewer-header .viewer-title{flex:1 1 0}.export-status{border-top:1px solid var(--border);white-space:normal;flex:1 0 100%;order:10;max-width:none;margin:0 -.5rem -.25rem;padding:.3rem .75rem}.export-long{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.export-short{display:inline}}@media (max-width:22.5rem){.viewer-header:after{content:"";flex-basis:100%;order:8;height:0}.export>.btn{order:9}.export-status{border-top:0;flex:1 1 0;align-self:center;margin:0;padding:0}}
