/* Veillée — large image libraries; shared light-theme tokens only. */
.vl-library{min-width:0;color:var(--ink);--vl-cover:230px;--vl-selected:290px}.vl-library *{box-sizing:border-box}.vl-library button,.vl-library input,.vl-library select{font:inherit}.vl-library svg{width:19px;height:19px;flex:none}.vl-library button:focus-visible,.vl-library [tabindex]:focus-visible,.vl-library select:focus-visible{outline:3px solid var(--copper);outline-offset:3px}.vl-library h2{font-size:16px;margin:0}.vl-library h3{margin:0 0 8px}.vl-browser{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:470px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.vl-folders{padding:18px 10px;border-right:1px solid var(--line);background:var(--paper);min-width:0}.vl-folder-heading{display:flex;align-items:center;justify-content:space-between;padding:0 8px 14px}.vl-folder-row{display:flex;align-items:center;gap:0;padding-left:calc(var(--depth)*13px);border:1px solid transparent;border-radius:7px;min-height:42px;margin:2px 0}.vl-folder-row:hover{background:var(--surface)}.vl-folder-selected{background:var(--green-soft)!important;border-color:var(--green)!important;color:var(--green)}.vl-folder-spacer{width:24px;flex:none}.vl-folder-row .vl-icon-button{border:0;background:transparent}.vl-folder-row>.vl-icon-button:last-child{opacity:0}.vl-folder-row:hover>.vl-icon-button:last-child,.vl-folder-row:focus-within>.vl-icon-button:last-child{opacity:1}.vl-folder-choose{border:0!important;background:transparent!important;padding:8px 2px!important;gap:6px!important;min-width:0;flex:1;justify-content:flex-start!important;text-align:left;overflow-wrap:anywhere;font-size:12px!important}.vl-folder-choose svg{width:16px}.vl-count{margin-left:auto;min-width:15px;font-size:10px;opacity:.65}.vl-folder-hint{font-size:11px;line-height:1.55;color:var(--muted);padding:18px 8px 0;margin:0;max-width:170px}.vl-gallery{min-width:0;padding:20px 22px 15px;overflow:hidden}.vl-gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.vl-gallery-heading>div{min-width:0}.vl-gallery-heading p{margin:7px 0 0}.vl-meta{display:block;color:var(--muted);font-size:12px;line-height:1.5}.vl-gallery-heading .vl-meta{margin-top:5px}.vl-filters{display:flex;gap:10px;margin-bottom:12px}.vl-filters input{min-width:0;flex:1}.vl-library input,.vl-library select{border:1px solid var(--line);border-radius:var(--vs-radius);background-color:var(--surface);}.vl-filters select{max-width:220px}.vl-coverflow{display:flex;align-items:center;gap:24px;min-height:395px;padding:16px 8px 22px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;perspective:1100px;scrollbar-color:var(--line) transparent;scrollbar-width:thin;overscroll-behavior-x:contain}.vl-cover{position:relative;flex:0 0 var(--vl-cover);width:var(--vl-cover);min-width:0;scroll-snap-align:center;transition:transform .2s,width .2s,flex-basis .2s;transform:scale(.94);transform-origin:center center}.vl-cover.vl-selected{width:var(--vl-selected);flex-basis:var(--vl-selected);transform:scale(1)}.vl-art{position:relative;isolation:isolate;background:var(--green-soft);overflow:hidden;display:grid;place-items:center}.vl-art img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;opacity:0}.vl-art img.vl-loaded{opacity:1}.vl-art-placeholder{color:var(--green);display:grid;place-items:center;width:100%;height:100%;position:absolute;inset:0}.vl-art-placeholder[hidden]{display:none}.vl-art-placeholder svg{width:52px;height:52px;opacity:.55}.vl-card-select{display:block!important;padding:0!important;border:1px solid var(--line)!important;border-radius:10px!important;width:100%;box-shadow:0 12px 23px #292d2712;overflow:hidden;background:var(--surface)!important}.vl-card-select .vl-art{height:260px;transition:height .2s}.vl-selected .vl-card-select{border:2px solid var(--green)!important;box-shadow:0 16px 24px #292d2722}.vl-selected .vl-card-select .vl-art{height:320px}.vl-card-caption{display:flex;align-items:flex-start;gap:8px;padding:12px 1px 2px}.vl-card-caption>div{min-width:0;flex:1}.vl-card-caption strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:650;font-size:14px}.vl-card-caption small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.vl-icon-button{display:inline-grid!important;place-items:center;flex:none;}.vl-card-caption .vl-icon-button{margin-top:-3px}.vl-button{gap:7px;}.vl-flow-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:14px 2px 0}.vl-current-name{font-size:15px;display:block;margin-bottom:3px}.vl-flow-arrows{display:flex;gap:6px}.vl-locations{--vl-cover:285px;--vl-selected:405px}.vl-locations .vl-card-select .vl-art{height:220px}.vl-locations .vl-selected .vl-card-select .vl-art{height:300px}.vl-locations .vl-coverflow{min-height:385px}.vl-dragging{opacity:.45}.vl-drop-active{outline:3px solid var(--green)!important;outline-offset:-3px;background:var(--green-soft)!important}.vl-library[aria-busy=true]{cursor:progress}.vl-notice{font-size:12px;margin:0 0 12px;padding:10px 14px;border:1px solid var(--line);border-radius:7px;background:var(--green-soft)}.vl-error{color:var(--copper);background:var(--copper-soft)}.vl-empty{min-height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--muted);padding:25px}.vl-empty>svg{width:50px;height:50px;opacity:.5;margin-bottom:18px}.vl-empty p{max-width:300px;line-height:1.6;font-size:13px}.vl-player-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:30px}.vl-player{min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:10px;transition:background .15s}.vl-player-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:3px 1px 10px;font-size:13px}.vl-presence{font-size:10px;color:var(--green);white-space:nowrap}.vl-player-absent .vl-presence{color:var(--muted)}.vl-player-portrait{width:100%;padding:0!important;display:block!important;border:0!important;overflow:hidden;border-radius:6px!important}.vl-player-art{height:210px}.vl-player-character{display:block;font-size:13px;margin:12px 0 8px;overflow-wrap:anywhere}.vl-player select{width:100%;min-width:0}.vl-player-bank{display:flex;gap:18px;overflow-x:auto;padding:3px 2px 20px;scrollbar-width:thin}.vl-pj-card{width:200px;flex:0 0 200px;padding:8px;border:1px solid var(--line);background:var(--surface);border-radius:9px;cursor:grab}.vl-pj-art{height:240px;border-radius:5px}.vl-pj-card>strong,.vl-pj-card>small{display:block;margin:9px 1px 0;overflow-wrap:anywhere}.vl-pj-card>strong{font-size:13px}.vl-pj-card>small{font-size:11px;color:var(--muted);margin-top:5px;min-height:16px}.vl-pj-card select{width:100%;margin-top:10px;min-width:0}.vl-players-workspace>.vl-gallery-heading{margin-bottom:18px}@media(min-width:1600px){.vl-library{--vl-cover:260px;--vl-selected:320px}.vl-locations{--vl-cover:310px;--vl-selected:440px}.vl-card-select .vl-art{height:285px}.vl-selected .vl-card-select .vl-art{height:350px}.vl-coverflow{min-height:425px}.vl-player-art{height:340px}}@media(max-width:1000px){.vl-browser{grid-template-columns:175px minmax(0,1fr)}.vl-folders{padding:15px 6px}.vl-gallery{padding:16px 14px}.vl-library{--vl-cover:200px;--vl-selected:250px}.vl-locations{--vl-cover:260px;--vl-selected:350px}.vl-folder-row>.vl-icon-button:last-child{opacity:1}.vl-coverflow{gap:12px}}@media(max-width:680px){.vl-browser{display:block}.vl-folders{border-right:0;border-bottom:1px solid var(--line);max-height:200px;overflow:auto}.vl-folder-heading{padding-bottom:6px}.vl-folder-hint{display:none}.vl-folder-row{min-height:36px}.vl-gallery-heading{align-items:flex-start}.vl-filters{flex-wrap:wrap}.vl-filters input{flex-basis:100%}.vl-filters select{max-width:none;width:100%}.vl-coverflow{min-height:365px}.vl-selected .vl-card-select .vl-art{height:290px}.vl-locations{--vl-cover:240px;--vl-selected:280px}.vl-locations .vl-selected .vl-card-select .vl-art{height:220px}.vl-locations .vl-coverflow{min-height:310px}.vl-player-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vl-player-art{height:180px}.vl-player-heading{flex-wrap:wrap;gap:3px}.vl-player-character{font-size:12px}.vl-flow-footer .vl-meta{font-size:10px}.vl-pj-card{width:180px;flex-basis:180px}.vl-pj-art{height:210px}}@media(prefers-reduced-motion:reduce){.vl-library *{transition:none!important;scroll-behavior:auto!important}}

.vl-pj-actions{display:flex;align-items:center;gap:5px;margin-top:10px}.vl-pj-actions select{margin-top:0;flex:1}.vl-player-heading .vl-icon-button{}.vl-player-heading>strong{flex:1;min-width:0;overflow-wrap:anywhere}

.vl-player-art img{object-position:center 20%}

.vl-presence{display:flex;align-items:center;gap:5px;cursor:pointer}.vl-presence input{width:17px;accent-color:var(--green)}

@media(max-width:680px){.vl-player-heading>strong{flex-basis:100%}.vl-player-heading .vl-presence{font-size:11px}}
