:root{--bg:#f4f2ee;--surface:#fff;--surface-2:#f9f8f5;--line:#e4e0d8;--text:#1d1b18;--muted:#6f6a62;--accent:#2f5bea;--accent-ink:#fff;--ok:#1f7a4d;--warn:#a35a00;--bad:#b3261e;--shadow:0 1px 2px #14100a0f, 0 8px 24px #14100a12;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:Heebo,Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.5}:root:lang(ja){font-family:Heebo,Segoe UI,Yu Gothic UI,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#151412;--surface:#1e1d1a;--surface-2:#252420;--line:#34322d;--text:#efece6;--muted:#a39d93;--accent:#7d9bff;--accent-ink:#0d1330;--ok:#5fcb92;--warn:#f0a94a;--bad:#ff8a80;--shadow:0 1px 2px #0000004d, 0 8px 24px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1,h2,h3{margin:0;line-height:1.25}h2{font-size:1.35rem}h3{margin-bottom:.5rem;font-size:.95rem}button,select,input,textarea{font:inherit;color:inherit}button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;padding:.45rem .9rem;transition:background .12s,border-color .12s}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}button.ghost{background:0 0;border-color:#0000}button.link{color:var(--accent);background:0 0;border:none;padding:.5rem 0}select,input,textarea{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:100%;padding:.45rem .6rem}textarea{resize:vertical}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code{background:var(--surface-2);border-radius:4px;padding:0 .25em;font-family:JetBrains Mono,Consolas,monospace;font-size:.85em}.muted{color:var(--muted)}.small{font-size:.82rem}.ok{color:var(--ok)}.warn{color:var(--warn)}.error-text{color:var(--bad);white-space:pre-wrap;overflow-wrap:anywhere;margin:.4rem 0}.clamp{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.5rem;display:flex}.brand{align-items:center;gap:.75rem;display:flex}.brand h1{font-size:1.1rem}.brand p{color:var(--muted);margin:0;font-size:.82rem}.logo{color:#fff;background:linear-gradient(135deg,#2f5bea,#8a3ffc);border-radius:10px;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.topbar-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.account{align-items:center;gap:.6rem;display:flex;position:relative}.google-sign-in{color:#1f1f1f;white-space:nowrap;background:#fff;border-color:#747775;align-items:center;gap:.6rem;padding:.35rem .85rem;font-family:Roboto,Heebo,Segoe UI,system-ui,sans-serif;font-weight:500;display:inline-flex}.google-sign-in:hover:not(:disabled){background:#f2f2f2;border-color:#747775}.google-sign-in svg{flex:none}@media (prefers-color-scheme:dark){.google-sign-in{color:#e3e3e3;background:#131314;border-color:#8e918f}.google-sign-in:hover:not(:disabled){background:#262628;border-color:#8e918f}}.account-button{background:0 0;border:none;border-radius:50%;place-items:center;padding:4px;display:grid}.account-button:hover:not(:disabled),.account-button[aria-expanded=true]{background:color-mix(in srgb, var(--text) 9%, transparent)}.account-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.avatar{object-fit:cover;background:var(--accent);color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;font-weight:500;display:grid}img.avatar{background:var(--surface-2)}.account-menu{top:calc(100% + .4rem);z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:max-content;min-width:17rem;max-width:min(22rem,100vw - 2rem);box-shadow:var(--shadow);gap:.8rem;padding:1rem;display:grid;position:absolute;inset-inline-end:0}@media (width<=640px){.topbar{position:relative}.account{position:static}.account-menu{top:calc(100% - .4rem);width:auto;min-width:0;max-width:none;inset-inline:1rem}}.account-who{align-items:center;gap:.75rem;min-width:0;display:flex}.account-who div{min-width:0;display:grid}.account-who strong,.account-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-email{color:var(--muted);font-size:.85rem}.account-role{background:var(--surface-2);color:var(--muted);border-radius:8px;margin:0;padding:.5rem .7rem;font-size:.85rem}.account-role.editor{color:var(--ok)}.account-failed{border:1px solid color-mix(in srgb, var(--bad) 35%, transparent);background:color-mix(in srgb, var(--bad) 8%, var(--surface));color:var(--bad);border-radius:999px;align-items:center;gap:.2rem;margin:0;padding-block:.15rem;padding-inline:.75rem .25rem;font-size:.82rem;display:inline-flex}.account-failed button{color:inherit;padding:.1rem .45rem;line-height:1.2}.programs{gap:.35rem;display:flex}.chip{border:1px solid var(--line);background:var(--surface-2);white-space:nowrap;border-radius:999px;padding:.15rem .65rem;font-size:.8rem}.chip.ok{color:var(--ok)}.chip.bad{color:var(--bad)}.segmented{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{background:var(--surface);border:none;border-radius:0;padding:.35rem .75rem}.segmented button[aria-pressed=true]{background:var(--text);color:var(--surface)}.segmented select{border:none;border-inline-start:1px solid var(--line);cursor:pointer;border-radius:0;width:auto;padding:.35rem .6rem}.segmented select.chosen{background:var(--text);color:var(--surface)}.segmented select option{background:var(--surface);color:var(--text)}.language-names{flex-wrap:wrap;gap:.1rem .7rem;display:flex}.language-names bdi{white-space:nowrap}.tabs{border-bottom:1px solid var(--line);background:var(--surface-2);gap:.25rem;padding:.6rem 1.5rem 0;display:flex;overflow-x:auto}.tab{white-space:nowrap;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:10px 10px 0 0;align-items:center;gap:.45rem;max-width:300px;padding:.5rem .9rem;display:inline-flex}.tab[aria-current=page]{background:var(--bg);border-color:var(--line);margin-bottom:-1px;font-weight:600}.tab.new{color:var(--accent)}.tab-title{text-overflow:ellipsis;overflow:hidden}.tab-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.dot{background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px}.spinner{border:2px solid;border-inline-end-color:#0000;border-radius:50%;flex:none;width:12px;height:12px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}main{flex:1;padding:1.5rem}.request-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-width:820px;box-shadow:var(--shadow);flex-direction:column;gap:1rem;margin:0 auto;padding:1.75rem;display:flex}.form-intro p{color:var(--muted);margin:.4rem 0 0}.field{flex-direction:column;gap:.3rem;display:flex}.field>span{font-size:.85rem;font-weight:600}.form-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;display:grid}.examples{flex-wrap:wrap;gap:.4rem;margin-top:-.4rem;display:flex}.examples .chip{cursor:pointer;white-space:normal;text-align:start}.hint{color:var(--muted);margin:0;font-size:.85rem}.languages{border:1px solid var(--line);border-radius:8px;margin:0;padding:.5rem .75rem .75rem}.languages legend{padding:0 .3rem;font-size:.85rem;font-weight:600}.language-list{flex-wrap:wrap;gap:.4rem;display:flex}.language{border:1px solid var(--line);background:var(--surface-2);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:.35rem;padding:.15rem .65rem .15rem .55rem;font-size:.85rem;display:inline-flex}.language:has(input:checked){border-color:var(--accent)}.language:has(input:disabled){cursor:default;color:var(--muted)}.language input{margin:0}.form-actions{flex-wrap:wrap;justify-content:flex-start;gap:.5rem;display:flex}.request-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.request-head .prompt{max-width:900px;margin:0 0 .2rem;font-size:1.1rem;font-weight:600}.actions{align-items:center;gap:.4rem;display:flex}.actions select{width:auto}.grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.1rem;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.card.discarded{opacity:.45}.card-picture{background:var(--surface-2);border:none;border-radius:0;width:100%;padding:0;display:block}.card-body{flex-direction:column;gap:.35rem;padding:.75rem .9rem .9rem;display:flex}.card-title{flex-direction:column;display:flex}.card-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.card.placeholder .bar{background:var(--surface-2);border-radius:6px;height:12px}.card.placeholder .bar.short{width:55%}.slide-frame{direction:ltr;width:100%;line-height:0;overflow:hidden}.slide-empty{aspect-ratio:16/9;background:var(--surface-2);place-items:center;width:100%;line-height:1.5;display:grid}.slide-empty.working{background:repeating-linear-gradient(-45deg, var(--surface-2), var(--surface-2) 12px, var(--surface) 12px, var(--surface) 24px)}.slide-empty.big{border-radius:var(--radius)}.status{align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.status-ready{color:var(--ok)}.status-failed{color:var(--bad)}.status-cancelled{color:var(--muted)}.badge{border:1px solid;border-radius:999px;padding:.05rem .5rem;font-size:.75rem}.badge.approved{color:var(--accent)}.badge.published{color:var(--ok)}.badge.changed{color:var(--warn)}.overlay{z-index:10;background:#0a08058c;justify-content:center;align-items:stretch;padding:2rem;display:flex;position:fixed;inset:0}.detail,.drawer{background:var(--bg);border-radius:var(--radius);width:min(1600px,100%);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.drawer{width:min(860px,100%)}.detail-head{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.detail-body{flex:1;grid-template-columns:minmax(0,1fr) 380px;min-height:0;display:grid}.stage{flex-direction:column;gap:.9rem;padding:1.25rem;display:flex;overflow:auto}.stage>*,.side>*{flex:none}.stage>.slide-frame{box-shadow:var(--shadow);border-radius:8px}.stage h3{margin:.4rem 0 0}.thumbs{flex-wrap:wrap;gap:1rem;display:flex}.thumbs figure,.publish-items figure{flex-direction:column;gap:.35rem;margin:0;display:flex}.thumbs .slide-frame,.publish-items .slide-frame{box-shadow:var(--shadow);border-radius:6px}figcaption{color:var(--muted);flex-direction:column;font-size:.8rem;display:flex}.side{border-inline-start:1px solid var(--line);background:var(--surface);flex-direction:column;gap:1.1rem;padding:1rem 1.1rem;display:flex;overflow:auto}.side section{flex-direction:column;gap:.45rem;display:flex}.side h3{margin:0}.approve-box{background:var(--surface-2);border-radius:10px;padding:.8rem}.findings{flex-direction:column;gap:.4rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.findings li{background:var(--surface-2);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:.3rem;padding:.45rem .55rem;display:flex}.findings li.severe{box-shadow:inset 3px 0 0 var(--bad)}.tag{background:var(--line);white-space:nowrap;border-radius:4px;padding:0 .35rem;font-size:.72rem}.log-box{min-height:0}.log{flex-direction:column;gap:.3rem;max-height:340px;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex;overflow:auto}.log li{align-items:baseline;gap:.4rem;display:flex}.log-time{color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.log-text{white-space:pre-wrap;overflow-wrap:anywhere}.log-error .log-text{color:var(--bad)}.log-claude .log-text,.log-feedback .log-text{font-weight:500}.log-end{height:0}details summary{cursor:pointer;font-size:.9rem;font-weight:600}.drawer-body{flex-direction:column;gap:1.25rem;padding:1.25rem;display:flex;overflow:auto}.publish-items{flex-wrap:wrap;gap:.9rem;display:flex}.token .row input{flex:1}.phase{font-weight:600}.phase-done{color:var(--ok)}.phase-failed{color:var(--bad)}.report{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:.5rem;margin-bottom:.8rem;padding:.9rem;display:flex}.report p{margin:0}.paths{max-height:200px;margin:.3rem 0 0;padding-inline-start:1.2rem;font-family:JetBrains Mono,Consolas,monospace;font-size:.78rem;overflow:auto}.danger summary{color:var(--bad)}@media (width<=960px){.detail-body{grid-template-columns:1fr}.side{border-inline-start:none;border-top:1px solid var(--line)}.overlay{padding:0}}.language.written{border-style:dashed}.language-actions{gap:1rem;margin-top:.5rem;display:flex}.slide-picture{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.route{color:var(--muted);font-style:italic}.publish-thumb{width:192px;box-shadow:var(--shadow);border-radius:6px}.sample-slide{flex-direction:column;gap:.4rem;margin:0;display:flex}.sample-slide .slide-picture{box-shadow:var(--shadow);border-radius:8px}.sample-sheet{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.6rem;display:grid}.sample-thumb{text-align:start;background:0 0;border:2px solid #0000;border-radius:8px;flex-direction:column;gap:.25rem;padding:0;display:flex;overflow:hidden}.sample-thumb.current{border-color:var(--accent)}.sample-thumb-label{white-space:nowrap;text-overflow:ellipsis;padding:0 .3rem .25rem;font-size:.75rem;overflow:hidden}.library{grid-template-columns:236px minmax(0,1fr);align-items:start;gap:1.75rem;display:grid}.lib-nav{flex-direction:column;gap:.9rem;display:flex;position:sticky;top:1rem}.lib-nav-head h2{margin-bottom:.3rem;font-size:1.05rem}.lib-nav-head p{margin:0 0 .3rem}.lib-nav-head a{color:var(--accent);text-decoration:none}.lib-nav>button{align-self:flex-start}.lib-sections{flex-direction:column;gap:2px;display:flex}.lib-sections button{border:none;text-align:start;background:0 0;border-inline-start:3px solid #0000;border-radius:0 8px 8px 0;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.42rem .7rem;display:flex}[dir=rtl] .lib-sections button{border-radius:8px 0 0 8px}.lib-sections button:hover{background:var(--surface-2)}.lib-sections button[aria-current=page]{background:var(--surface);border-inline-start-color:var(--accent);box-shadow:var(--shadow);font-weight:600}.lib-sections .small{font-variant-numeric:tabular-nums}.lib-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.lib-head h2{font-size:1.45rem}.lib-head p{max-width:720px;margin:.25rem 0 0}.lib-search{width:min(400px,100%)}.language-note{color:var(--accent)}.lib-filters{flex-direction:column;gap:.6rem;margin-bottom:1.1rem;display:flex}.lib-filters .segmented{align-self:flex-start}.chips{flex-wrap:wrap;gap:.35rem;display:flex}button.chip{padding:.2rem .75rem}button.chip[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--surface)}button.chip[aria-pressed=true] .muted{color:inherit;opacity:.7}.lib-group{margin-bottom:1.6rem}.lib-group>h3{align-items:baseline;gap:.5rem;margin:0 0 .65rem;font-size:1rem;display:flex}.crumbs{margin-bottom:.75rem;font-size:.9rem}.crumbs .link{padding:0}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.lib-grid.wide{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}.lib-grid.overview{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.lib-card{text-align:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:0;transition:border-color .14s,box-shadow .14s,transform .14s;display:flex;overflow:hidden}.lib-card:hover:not(:disabled){border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}.lib-card.picture{border-color:#0000}.lib-card .slide-frame{background:var(--surface-2)}.lib-card-body{flex-direction:column;gap:.2rem;min-width:0;padding:.65rem .85rem .8rem;display:flex}.lib-card-title{overflow-wrap:anywhere;font-weight:600}.lib-card-meta{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.when-seen{width:100%;display:block}.peek{aspect-ratio:4;background:var(--surface-2);justify-content:center;align-items:center;gap:.6rem;width:100%;display:flex;overflow:hidden}.section-card .peek{aspect-ratio:5/2}.peek.photos{grid-template-columns:repeat(4,1fr);gap:2px;display:grid}.peek.photos img{object-fit:cover;width:100%;height:100%;display:block}.peek-glyph{letter-spacing:.15em;color:var(--muted);white-space:nowrap;font-size:2rem}.peek-glyph.mono{font-family:JetBrains Mono,Consolas,monospace;font-size:1.5rem}.peek-glyph.fonts{color:var(--text);gap:1rem;display:flex}.peek-art{width:40px;height:40px;display:inline-flex}.peek-art svg{width:100%;height:100%}.peek-art.icon{width:30px;height:30px;color:var(--text)}.peek.cards{padding:.9rem 1.1rem;display:block}.card-stage{background:var(--surface-2);padding:.6rem;display:block}.card-picture-box{width:100%}.count-figure{flex-direction:column;gap:.35rem;margin:0;display:flex}.element-picture{position:relative;overflow:clip}.tile-grid{gap:.5rem;margin-bottom:.75rem;display:grid}.tile-grid.icons{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.tile-grid.frames{grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:.75rem}.tile{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;align-items:center;gap:.4rem;min-width:0;padding:.7rem .4rem .5rem;display:flex}.tile:hover:not(:disabled){border-color:var(--accent)}.tile-label{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;text-align:center;width:100%;font-size:.72rem;overflow:hidden}.tile-art,.tile-icon,.tile-glyph{justify-content:center;align-items:center;display:inline-flex}.tile-art{width:52px;height:52px}.tile-icon{width:30px;height:30px;margin:.6rem 0 .2rem}.tile-glyph{width:44px;height:44px}.tile-glyph.big{width:120px;height:120px}.tile-art svg,.tile-icon svg,.tile-glyph svg,.glyph{width:100%;height:100%;overflow:visible}.frame-tile{justify-content:center;align-items:center;width:100%;height:144px;display:flex}.frame-tile img{display:block}.frame-tile .when-seen{height:100%}.frame-tile-inner{justify-content:center;align-items:center;height:100%;display:flex}.detail-title{min-width:0}.detail-title h2{overflow-wrap:anywhere}.detail-body.single{grid-template-columns:minmax(0,1fr)}.facts{grid-template-columns:max-content minmax(0,1fr);gap:.3rem .8rem;margin:0;font-size:.85rem;display:grid}.facts dt{color:var(--muted)}.facts dd{overflow-wrap:anywhere;margin:0}.facts dd[dir=ltr],.picture-fact figcaption[dir=ltr]{text-align:end}.picture-fact figcaption[dir=ltr]{align-items:flex-end}.detail .side a{color:var(--accent)}.plain-list{margin:0;padding-inline-start:1.1rem;font-family:JetBrains Mono,Consolas,monospace;font-size:.78rem;line-height:1.65}.facts a{color:var(--accent)}.facts .block{display:block}.hash{font-family:JetBrains Mono,Consolas,monospace;font-size:.72rem}.checker{--check:color-mix(in srgb, var(--line) 70%, transparent);background-color:var(--surface);background-image:linear-gradient(45deg, var(--check) 25%, transparent 25%), linear-gradient(-45deg, var(--check) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--check) 75%), linear-gradient(-45deg, transparent 75%, var(--check) 75%);background-position:0 0,0 9px,9px -9px,-9px 0;background-size:18px 18px}.picture-fact{flex-direction:column;gap:.35rem;margin:0;display:flex}.picture-fact a{border:1px solid var(--line);border-radius:8px;padding:.4rem;display:block}.picture-fact img{max-width:100%;max-height:180px;margin:0 auto;display:block}.picture-fact figcaption{overflow-wrap:anywhere;font-size:.78rem}.filmstrip{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.6rem;display:grid}.film{background:var(--surface-2);border:2px solid #0000;border-radius:8px;padding:0;position:relative;overflow:hidden}.film[aria-current=true]{border-color:var(--accent)}.film-number{inset-inline-start:6px;color:#fff;background:#0000008c;border-radius:6px;padding:0 .4rem;font-size:.7rem;line-height:1.6;position:absolute;bottom:6px}.swatches{flex-wrap:wrap;gap:.55rem;display:flex}.swatch{color:var(--muted);flex-direction:column;align-items:center;gap:.2rem;font-size:.68rem;display:inline-flex}.swatch-color{border:1px solid var(--line);border-radius:9px;width:38px;height:38px}.frame-stage{border-radius:var(--radius);justify-content:center;align-items:center;min-height:240px;padding:28px;display:flex}.drawing-stage{border-radius:var(--radius);border:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:2.2rem;padding:2rem;display:flex}.drawing-size{flex-direction:column;align-items:center;gap:.5rem;display:inline-flex}.drawing{width:100%;height:100%;display:inline-flex}.drawing svg{width:100%;height:100%}.file-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:.3rem;list-style:none}.file-row{text-align:start;background:0 0;border:none;border-radius:6px;justify-content:space-between;gap:1rem;width:100%;padding:.38rem .6rem;font-family:JetBrains Mono,Consolas,monospace;font-size:.82rem;display:flex}.file-row:hover{background:var(--surface-2)}.file-row.folder .file-name{font-weight:700}.file-name{overflow-wrap:anywhere}.file-row .muted{white-space:nowrap}.file-image{border-radius:var(--radius);border:1px solid var(--line);padding:1rem}.file-image img{max-width:100%;max-height:72vh;margin:0 auto;display:block}.file-frame{border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:100%;height:76vh}.file-text{background:var(--surface);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;max-height:72vh;margin:0;padding:.8rem 1rem;font-family:JetBrains Mono,Consolas,monospace;font-size:.78rem;line-height:1.45;overflow:auto}.file-text.small{max-height:300px;font-size:.72rem}.font-sample p{margin:.4rem 0;font-size:2rem}.font-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.font-card{text-align:start;background:var(--surface);border-radius:var(--radius);flex-direction:column;align-items:stretch;gap:.35rem;padding:1rem 1.1rem;display:flex}.font-card:hover:not(:disabled){border-color:var(--accent)}.font-card-name,.font-card-meta{font-family:Heebo,Segoe UI,system-ui,sans-serif}.font-card-name{text-align:start;font-size:.85rem;font-weight:600}.font-card-sample{white-space:nowrap;text-overflow:ellipsis;font-size:2.1rem;line-height:1.25;overflow:hidden}.font-card-meta{color:var(--muted);font-size:.75rem}.font-waterfall{flex-direction:column;gap:.75rem;display:flex}.font-weight-row{grid-template-columns:56px minmax(0,1fr);align-items:baseline;gap:.8rem;display:grid}.font-weight-row .tag{justify-self:start;font-family:Heebo,system-ui,sans-serif}.font-weight-row p{margin:0;font-size:1.55rem;line-height:1.3}.font-glyphs{letter-spacing:.02em;overflow-wrap:anywhere;margin:.6rem 0 0;font-size:1.35rem;line-height:1.5}@media (width<=900px){.library{grid-template-columns:minmax(0,1fr);gap:1rem}.lib-nav{position:static}.lib-sections{flex-direction:row;padding-bottom:.3rem;overflow-x:auto}.lib-sections button{border-inline-start:none;border-bottom:3px solid #0000;border-radius:8px;flex:none}.lib-sections button[aria-current=page]{border-bottom-color:var(--accent)}}.lib-uploads{border-top:1px solid var(--line);padding-top:.6rem}.upload-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.1rem;display:flex}.upload-empty{border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;align-items:flex-start;gap:.6rem;padding:2.5rem 1.5rem;display:flex}.upload-empty p{margin:0}.upload-card-picture{aspect-ratio:16/9;background:var(--surface-2);display:block;position:relative;overflow:hidden}.upload-card-picture img{object-fit:contain;width:100%;height:100%;display:block}.upload-card-picture .status-badge{background:var(--surface);position:absolute;inset-block-start:.55rem;inset-inline-start:.55rem}.status-badge{white-space:nowrap;font-weight:600;display:inline-block}.status-badge.pending{color:var(--warn)}.status-badge.accepted{color:var(--accent)}.status-badge.rejected{color:var(--bad)}.status-badge.published{color:var(--ok)}.upload-note{border-inline-start:3px solid var(--line);color:var(--muted);white-space:pre-wrap;margin:0;padding:.35rem .6rem}.upload-history{flex-direction:column;gap:.35rem;margin:0;padding-inline-start:1.1rem;display:flex}.upload-reject{flex-direction:column;gap:.6rem;display:flex}button.danger-button{background:var(--bad);border-color:var(--bad);color:var(--surface);font-weight:600}details.danger{font-size:.85rem}details.danger summary{cursor:pointer}details.danger[open]{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}details.danger p{margin:0}.file-button{border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;padding:.45rem .9rem;transition:border-color .12s;display:inline-flex;position:relative}.file-button:hover{border-color:var(--muted)}.file-button:focus-within{outline:2px solid var(--accent);outline-offset:2px}.file-button.small{padding:.15rem .6rem;font-size:.8rem}.file-button.ghost{background:0 0;border-color:#0000}.file-button[aria-disabled=true]{opacity:.5;cursor:default}.file-button input{opacity:0;width:100%;cursor:inherit;position:absolute;inset:0}.upload-slide{position:relative}.stage>.upload-slide .slide-frame{box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.upload-slide.picking{cursor:crosshair}.subject-mark{width:26px;height:26px;box-shadow:0 0 0 2px var(--accent), 0 2px 8px #00000059;pointer-events:none;border:2px solid #fff;border-radius:50%;margin:-13px 0 0 -13px;position:absolute}.subject-mark:after{content:"";background:var(--accent);border-radius:50%;position:absolute;inset:9px}.upload-unshown{aspect-ratio:16/9;text-align:center;border:1.5px dashed var(--line);background:var(--surface);color:var(--muted);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:2rem;display:flex}.upload-unshown p{max-width:46ch;margin:0}.upload-langs{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.upload-langs li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.5rem;padding:.2rem 0;display:grid}.upload-langs li:last-child{border-bottom:none}.upload-langs button.link,.language-list button.link{color:var(--text);text-align:start;padding:.1rem 0}.upload-langs li.missing button.link{color:var(--muted)}.upload-langs button.link[aria-pressed=true],.language-list button.link[aria-pressed=true]{color:var(--accent);font-weight:600}.upload-langs li.written button.link span{color:var(--ok)}.upload-lang-actions{align-items:center;gap:.15rem;display:inline-flex}.upload-lang-actions button.ghost{padding:.1rem .4rem}.upload-issues{flex-direction:column;gap:.45rem;display:flex}.upload-issues h3{color:var(--bad)}.upload-issues h4{margin:.2rem 0 .3rem;font-size:.82rem}.upload-issues code{font-size:.72rem}.upload-form{flex-direction:column;gap:1rem;display:flex}.upload-form .block{display:block}.upload-kinds{flex-wrap:wrap;display:flex}.upload-kinds button{flex:auto;font-size:.82rem}.upload-picture-field{align-items:center;gap:.75rem;display:flex}.upload-picture-thumb{aspect-ratio:1;border:1px solid var(--line);border-radius:8px;flex:none;width:88px;display:block;overflow:hidden}.upload-picture-thumb img{object-fit:contain;width:100%;height:100%;display:block}.upload-point{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.upload-drop{border-radius:10px;margin:0 -.7rem;padding:.7rem;transition:background .12s}.upload-drop.dragging{background:color-mix(in srgb, var(--accent) 10%, transparent)}.upload-drop-target{border:1.5px dashed var(--line);color:var(--muted);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.7rem;font-size:.85rem;display:flex}.upload-drop .language-list{margin:0;padding:0;list-style:none}.upload-drop .language{cursor:default;padding-block:.05rem}.upload-drop .language button.ghost{padding:0 .2rem;font-size:.75rem}.language.chosen-language{border-color:var(--ok);background:var(--surface)}.upload-stage{outline-offset:6px;border-radius:10px;outline:2px dashed #0000;flex-direction:column;gap:.6rem;transition:outline-color .12s;display:flex}.upload-stage.dragging{outline-color:var(--accent)}.upload-stage .slide-frame{box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.upload-unshown.drop{background:color-mix(in srgb, var(--surface) 70%, transparent);border-width:2px;gap:.6rem}.upload-drop-icon{background:color-mix(in srgb, var(--accent) 12%, transparent);width:3.2rem;height:3.2rem;color:var(--accent);border-radius:50%;place-items:center;font-size:1.6rem;line-height:1;display:grid}.upload-unshown.drop p:first-of-type{color:var(--text);font-weight:600}.upload-history .block{margin-top:.2rem;display:block}
