@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-latin-400-normal-B40WzpMT.woff2) format("woff2"),url(/assets/geist-latin-400-normal-akEymXtG.woff) format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-latin-500-normal-CTWBw9NS.woff2) format("woff2"),url(/assets/geist-latin-500-normal-BDXIbFrL.woff) format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-latin-600-normal-CSETrqM2.woff2) format("woff2"),url(/assets/geist-latin-600-normal-DsPlZH-9.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-400-normal-DTRLJnHl.woff2) format("woff2"),url(/assets/geist-mono-latin-400-normal-B2yvC1Cq.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-latin-500-normal-YINYabwD.woff2) format("woff2"),url(/assets/geist-mono-latin-500-normal-D-GG86Jb.woff) format("woff")}:root{--bg:#f7f5f1;--panel:#fdfcfa;--line:rgba(28,24,18,.08);--line2:rgba(28,24,18,.14);--tx:#1b1a18;--tx2:#6f6b64;--tx3:#a39e96;--hover:rgba(28,24,18,.045);--sel:rgba(28,24,18,.07);--skel:#e9e6e0;--btn:#1b1a18;--btntx:#f7f5f1;--scrim:rgba(28,24,18,.22);--seg:#fdfcfa;--shadow:0 12px 32px rgba(28,24,18,.12);color-scheme:light;--acc:#2a66d4;--accbg:rgba(42,102,212,.11);--acctxt:#1f56b8;--line3:rgba(28,24,18,.28);--ring:rgba(42,102,212,.2);--err:#b3261e;--errring:rgba(179,38,30,.16);--glass: color-mix(in srgb, var(--panel) 78%, transparent);--glass-blur: blur(18px) saturate(1.4);--tick: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.4' fill='none' stroke='%23f7f5f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1c1b1a;--panel:#252322;--line:rgba(255,255,255,.07);--line2:rgba(255,255,255,.12);--tx:#ecebe7;--tx2:#a29e97;--tx3:#6f6b65;--hover:rgba(255,255,255,.05);--sel:rgba(255,255,255,.08);--skel:#282624;--btn:#ecebe7;--btntx:#1c1b1a;--scrim:rgba(0,0,0,.45);--seg:#3a3835;--shadow:0 12px 32px rgba(0,0,0,.4);color-scheme:dark;--acc:#5b93f0;--accbg:rgba(91,147,240,.18);--acctxt:#9cbef7;--line3:rgba(255,255,255,.26);--ring:rgba(91,147,240,.28);--err:#f2877b;--errring:rgba(242,135,123,.22);--tick: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.4' fill='none' stroke='%231c1b1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}:root[data-theme=dark]{--bg:#1c1b1a;--panel:#252322;--line:rgba(255,255,255,.07);--line2:rgba(255,255,255,.12);--tx:#ecebe7;--tx2:#a29e97;--tx3:#6f6b65;--hover:rgba(255,255,255,.05);--sel:rgba(255,255,255,.08);--skel:#282624;--btn:#ecebe7;--btntx:#1c1b1a;--scrim:rgba(0,0,0,.45);--seg:#3a3835;--shadow:0 12px 32px rgba(0,0,0,.4);color-scheme:dark;--acc:#5b93f0;--accbg:rgba(91,147,240,.18);--acctxt:#9cbef7;--line3:rgba(255,255,255,.26);--ring:rgba(91,147,240,.28);--err:#f2877b;--errring:rgba(242,135,123,.22);--tick: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.4' fill='none' stroke='%231c1b1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--tx);font:14px/1.4 Geist,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{cursor:pointer}.mono{font-family:Geist Mono,ui-monospace,monospace}input[type=checkbox],input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0;flex-shrink:0;width:16px;height:16px;border:1.5px solid var(--line2);border-radius:4px;background:transparent center / 14px no-repeat;cursor:pointer;transition:background-color .15s,border-color .15s}input[type=checkbox]:checked{background-color:var(--tx);background-image:var(--tick);border-color:var(--tx)}input[type=radio]{width:14px;height:14px;border-radius:50%}input[type=radio]:checked{border:4px solid var(--tx)}input[type=checkbox]:hover:not(:disabled):not(:checked),input[type=radio]:hover:not(:disabled):not(:checked){border-color:var(--tx3)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--tx3);outline-offset:2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:default;opacity:.5}.app{display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:100%}.side{position:relative;z-index:2;border-right:1px solid var(--line);padding:20px 12px 14px;display:flex;flex-direction:column;gap:2px;min-height:0}.logo{font-size:22px;font-weight:600;letter-spacing:-.045em}.side-head{display:flex;align-items:center;justify-content:space-between;padding:0 4px 0 10px;margin-bottom:18px;min-height:30px}.side-toggle{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:6px;background:none;color:var(--tx3)}.side-toggle:hover{background:var(--hover);color:var(--tx)}.app.collapsed{grid-template-columns:64px minmax(0,1fr)}.app.collapsed .side{padding-left:10px;padding-right:10px}.app.collapsed .side-head{justify-content:center;padding:0}.app.collapsed .logo,.app.collapsed .nav .lbl,.app.collapsed .nav small{display:none}.app.collapsed .nav{justify-content:center;padding:0}.nav{text-align:left;background:none;border:0;height:34px;padding:0 10px;border-radius:6px;color:var(--tx2);transition:background .15s}.nav:hover{background:var(--hover)}.nav.on{background:var(--sel);color:var(--tx)}.nav small{float:right;color:var(--tx2);font-size:12px;font-variant-numeric:tabular-nums}.nav.on small{color:var(--tx)}.side h4{margin:18px 10px 6px;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3)}.main{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;container:main / inline-size}.top{display:grid;grid-template-columns:minmax(120px,1fr) minmax(200px,380px) minmax(max-content,1fr);gap:20px;align-items:center;min-height:64px;padding:8px 24px;border-bottom:1px solid var(--line);flex-shrink:0}.actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;min-width:0}.top h1{margin:0;font-size:19px;font-weight:500;letter-spacing:-.02em;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title-row h1{flex-shrink:0;max-width:100%}.titles{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px}.title-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;min-width:0;max-width:100%}.title-row small{flex:0 1 auto;max-width:100%;color:var(--tx3);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.note{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0 5px;min-width:0;max-width:100%;font-size:13px;color:var(--tx2)}.note button{white-space:nowrap}.note button{border:0;background:none;padding:0;color:var(--tx);font-size:13px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line2)}.note button:hover{text-decoration-color:currentColor}.back{background:none;border:0;padding:0;margin-left:-3px;gap:2px!important;color:var(--tx3);font-size:12px;white-space:nowrap;max-width:100%;overflow:hidden}.back:hover{color:var(--tx)}.searchbox{position:relative;width:100%}.searchbox .glass{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--tx3);pointer-events:none}.search{width:100%;height:34px;box-sizing:border-box;padding:0 12px 0 33px;border-radius:7px;border:1px solid var(--line2);background:var(--panel);outline:none;transition:border-color .15s}.search:focus{border-color:var(--tx3)}.search::placeholder{color:var(--tx3)}.search::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;margin:0 0 0 6px;cursor:pointer;background:var(--tx3);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center / contain no-repeat}.search::-webkit-search-cancel-button:hover{background:var(--tx)}.searchbox .facet{position:absolute;left:30px;top:50%;transform:translateY(-50%);z-index:1;display:inline-flex;align-items:center;gap:5px;max-width:60%;height:24px;padding:0 3px 0 8px;border-radius:5px;background:var(--line2);font-size:12.5px;white-space:nowrap}.searchbox .facet>span{overflow:hidden;text-overflow:ellipsis}.searchbox .facet .ico{color:var(--tx2);flex:none}.searchbox .facet button{display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:4px;background:none;color:var(--tx3);cursor:pointer;flex:none}.searchbox .facet button:hover{background:var(--panel);color:var(--tx)}.kbd{position:absolute;right:9px;top:50%;transform:translateY(-50%);font:11px Geist Mono,ui-monospace,monospace;color:var(--tx2);border:1px solid var(--line2);border-radius:4px;padding:1px 5px;pointer-events:none}@media(hover:none){.kbd{display:none}}.scroll{flex:1;overflow:auto;padding:8px 24px 40px}.scroll.rows{position:relative}.cards.folders{padding:10px 0 22px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:22px 16px}@media(max-width:720px){.cards.folders{grid-template-columns:repeat(2,minmax(0,1fr))}}.group{margin:28px 0 10px;display:flex;align-items:baseline;gap:10px}.group b{font-size:16px;font-weight:500;letter-spacing:-.02em}.group span{color:var(--tx3);font-size:12px}.row{display:flex;gap:6px;margin-bottom:6px}.tile{position:relative;border:0;padding:0;border-radius:4px;overflow:hidden;background:var(--skel);flex:none}.tile img{width:100%;height:100%;object-fit:cover;display:block}.tile.fit{background:none;border-radius:0;transition:background .15s}.tile.fit img{object-fit:contain}.tile.fit:hover{background:var(--hover);border-radius:4px}.tile .mark{position:absolute;left:6px;top:6px;width:20px;height:20px;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;color:#fff;box-shadow:0 1px 3px #00000080}.tile .mark.hover{opacity:0;color:transparent;cursor:pointer;transition:opacity .15s,background .15s,color .15s}.tile:hover .mark.hover{opacity:1}.tile .mark.hover:hover{background:#ffffff4d;color:#fff}@media(hover:none){.tile .mark.hover{display:none}}.tile.picked img{opacity:.7}.tile.picked .mark{background:var(--btn);color:var(--btntx)}.main{position:relative}.selbar{position:absolute;z-index:5;left:50%;bottom:20px;translate:-50% 0;max-width:calc(100% - 32px);display:flex;align-items:center;gap:6px;padding:6px 6px 6px 14px;border:1px solid var(--line2);border-radius:10px;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow);animation:sel-in .22s cubic-bezier(.2,.8,.2,1) both;white-space:nowrap}@keyframes sel-in{0%{opacity:0;transform:translateY(16px)}}.selbar b{margin-right:6px;font-weight:500;font-variant-numeric:tabular-nums}.selbar .btn.ghost{border-color:transparent}.selbar .btn.ghost:not(:disabled):hover{border-color:transparent}.selbar .sep{width:1px;height:20px;background:var(--line2);margin:0 4px}.selbar .btn.icon{color:var(--tx2)}.tile{-webkit-user-select:none;user-select:none}.main:has(>.selbar) .scroll{padding-bottom:96px}.toast{position:fixed;z-index:30;bottom:88px;left:0;right:0;margin:0 auto;width:max-content;max-width:calc(100vw - 32px);display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border:1px solid var(--line2);border-radius:10px;background:var(--panel);box-shadow:var(--shadow);font-size:14px;animation:pop-in .16s ease both}.toast>.ico{flex:none;color:#eb7a52}.toast .btn.icon{color:var(--tx2);border-color:transparent}.tile .heart{position:absolute;left:0;bottom:0;padding:6px;display:grid;color:#fff;filter:drop-shadow(0 0 2px rgba(0,0,0,.5));opacity:0;transition:opacity .15s;cursor:pointer}.tile .heart.on,.tile:hover .heart{opacity:1}.tile .heart svg{transition:transform .12s}.tile .heart:hover svg{transform:scale(1.15)}@media(hover:none){.tile:hover .heart:not(.on){opacity:0}}.tile .vid{position:absolute;right:0;bottom:0;padding:6px 7px;display:flex;align-items:center;gap:3px;color:#fff;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;filter:drop-shadow(0 0 2px rgba(0,0,0,.6))}.empty{padding:80px 0;text-align:center;color:var(--tx2)}.cards{display:grid;gap:28px 20px;padding-top:18px}.cards.shoots{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.cards.albums,.cards.periods{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.periods .card .cover{aspect-ratio:1}section[data-period] .cards.periods{padding-top:0}.card{display:flex;flex-direction:column;gap:3px;padding:0;border:0;background:none;text-align:left;min-width:0}.card .cover{aspect-ratio:3 / 2;border-radius:6px;overflow:hidden;background:var(--skel);margin-bottom:8px}.albums .card .cover{aspect-ratio:1}.card .cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.card:hover .cover img{transform:scale(1.03)}.card b{font-size:15px;font-weight:500;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card span{font-size:12px;color:var(--tx3)}.tabs{display:none}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr) 400px;z-index:10;animation:v-in .3s cubic-bezier(.2,.8,.2,1) both}.viewer.no-info{grid-template-columns:minmax(0,1fr)}.viewer:focus{outline:none}@keyframes v-in{0%{opacity:0;transform:scale(.985)}}.v-main{position:relative;display:grid;grid-template-rows:64px minmax(0,1fr) 24px;min-width:0;min-height:0}.v-main:has(>.v-vers){grid-template-rows:64px minmax(0,1fr) 84px}.v-bar{display:flex;align-items:center;gap:12px;padding:0 16px;min-width:0}.v-bar .grow b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:14px;line-height:1.25;overflow:hidden;overflow-wrap:anywhere}.v-bar .grow small{margin-top:0;white-space:nowrap}.v-acts{display:flex;align-items:center;gap:2px}.v-acts .info-btn{margin-left:10px}.v-icon{width:36px;height:36px;display:grid;place-items:center;flex:none;border:0;border-radius:7px;background:none;color:var(--tx);transition:background .15s}.v-icon:hover{background:var(--hover)}.v-icon.on{background:var(--sel)}.v-icon.sm{width:28px;height:28px;color:var(--tx3)}.stage{position:relative;overflow:hidden;display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;padding:0 72px;min-width:0;min-height:0}.stage img{width:100%;height:100%;object-fit:contain}.stage>*{grid-area:1 / 1}.stage img.zoomed{cursor:grab}.stage img.panning{cursor:grabbing}.v-zoom{position:absolute;right:16px;bottom:12px;display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line2);border-radius:9px;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow);transition:opacity .3s}.v-zoom.off{opacity:0;pointer-events:none}.v-zoom span{min-width:48px;padding:0 6px 0 8px;font-size:12px;text-align:center;font-variant-numeric:tabular-nums;color:var(--tx);transition:color .2s}.v-zoom span.pending{color:var(--tx3)}.v-zoom button{height:26px;padding:0 9px;border:0;border-radius:6px;background:none;color:var(--tx2);font-size:12px;transition:background .15s,color .15s}.v-zoom button:hover{background:var(--hover);color:var(--tx)}.v-zoom button.on{background:var(--sel);color:var(--tx)}.v-note{position:absolute;left:50%;bottom:12px;transform:translate(-50%);max-width:calc(100% - 32px);margin:0;padding:8px 12px;border:1px solid var(--line2);border-radius:8px;background:var(--panel);color:var(--tx2);font-size:13px;box-shadow:var(--shadow);text-align:center}.v-note a{color:var(--acctxt)}.stage video.play{opacity:1;pointer-events:auto}.vp{position:relative;width:100%;height:100%;min-height:0;display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr)}.vp:fullscreen{background:#000}.stage .vp video{grid-area:1 / 1;opacity:1;pointer-events:auto;cursor:pointer}.vp.idle video{cursor:none}.vp-bar{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--line2);border-radius:10px;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow);transition:opacity .2s}.stage .vp .vp-graded{grid-area:1 / 1;width:100%;height:100%;object-fit:contain;cursor:pointer;pointer-events:auto}.vp-lut{position:relative;flex:none}.vp-menu{position:absolute;right:0;bottom:40px;min-width:200px;padding:4px;border:1px solid var(--line2);border-radius:10px;background:var(--panel);box-shadow:var(--shadow)}.vp-item{display:flex;align-items:center}.vp-item>button,.vp-import{flex:1;display:flex;align-items:center;gap:6px;padding:7px 8px;border:0;border-radius:6px;background:none;color:var(--tx);font-size:13px;text-align:left;cursor:pointer}.vp-item>button:hover,.vp-import:hover,.vp-del:hover{background:var(--hover)}.vp-check{width:14px;display:grid;flex:none}.vp-del{flex:none;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:6px;background:none;color:var(--tx3);cursor:pointer}.vp-err{position:absolute;right:0;bottom:40px;width:240px;margin:0;padding:8px 10px;border:1px solid var(--line2);border-radius:8px;background:var(--panel);color:var(--tx2);font-size:12px}.vp.idle .vp-bar{opacity:0;pointer-events:none}.vp-btn{height:32px;min-width:32px;display:grid;place-items:center;flex:none;border:0;border-radius:7px;background:none;color:var(--tx);transition:background .15s}.vp-btn:hover{background:var(--hover)}.vp-time{flex:none;padding:0 6px;color:var(--tx2);font-size:12px;font-variant-numeric:tabular-nums}.vp-seek{flex:1;min-width:40px;height:32px;margin:0 4px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;cursor:pointer}.vp-seek::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--tx) var(--at),var(--line2) var(--at))}.vp-seek::-moz-range-track{height:4px;border-radius:2px;background:var(--line2)}.vp-seek::-moz-range-progress{height:4px;border-radius:2px;background:var(--tx)}.vp-seek::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;margin-top:-4px;border-radius:50%;border:0;background:var(--tx)}.vp-seek::-moz-range-thumb{width:12px;height:12px;border-radius:50%;border:0;background:var(--tx)}.stage video{width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none;transition:opacity .2s}.stage video.on{opacity:1;pointer-events:auto}.v-live{position:absolute;top:12px;left:84px;display:flex;align-items:center;gap:5px;height:26px;padding:0 9px;border:1px solid var(--line2);border-radius:13px;background:var(--panel);color:var(--tx2);font-size:11px;font-weight:600;letter-spacing:.06em;box-shadow:var(--shadow);transition:color .15s}.v-live:hover,.v-live.on{color:var(--tx)}.v-nav{position:absolute;top:50%;width:40px;height:40px;margin-top:-20px;border:0;border-radius:50%;background:var(--hover);color:var(--tx2);display:grid;place-items:center;transition:background .15s,color .15s}.v-nav:hover{background:var(--sel);color:var(--tx)}.v-nav.prev{left:16px}.v-nav.next{right:16px}.v-vers{grid-row:3;display:flex;justify-content:center;align-items:center;gap:10px}.v-seg{display:flex;gap:2px;padding:3px;border-radius:9px;background:var(--panel);border:1px solid var(--line2);box-shadow:var(--shadow)}.v-seg button{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:0;border-radius:6px;background:none;color:var(--tx2);font-size:13px;white-space:nowrap}@media(max-width:400px){.v-seg button{padding:0 10px}.v-seg em{display:none}}.v-seg button.on{background:var(--sel);color:var(--tx)}.v-seg em{font-style:normal;font-size:11px;color:var(--tx3)}.kbd-static{font:11px Geist Mono,ui-monospace,monospace;color:var(--tx3);border:1px solid var(--line2);border-radius:4px;padding:1px 5px}@media(hover:none){.kbd-static{display:none}}.modal.keys{width:min(440px,100%);gap:14px}.keys section{display:flex;flex-direction:column;gap:6px}.keys small{font-size:12px;color:var(--tx3)}.keys dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:6px 12px;margin:0;align-items:center}.keys dd{margin:0}.keys dt{display:flex;gap:4px}.keys .kbd-static{display:inline-block;color:var(--tx2)}.info{border-left:1px solid var(--line);background:var(--panel);padding:20px 24px;overflow:auto;display:flex;flex-direction:column;gap:18px}.info-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--tx3);margin-bottom:-6px}.info h2{margin:0;font-size:22px;font-weight:500;letter-spacing:-.02em;overflow-wrap:anywhere}.info-lens{margin:4px 0 0;font-size:13px;color:var(--tx2)}.exif{display:flex;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.exif b{display:block;white-space:nowrap;font-size:16px;font-weight:400}.exif small{font-size:11px;color:var(--tx3)}.info .kv{grid-template-columns:100px minmax(0,1fr);gap:10px 12px;margin:0;padding-bottom:16px;border-bottom:1px solid var(--line)}.kv-more{grid-column:1 / -1;justify-self:center;display:flex;border:0;background:none;padding:2px 8px;margin:-4px 0 -6px;color:var(--tx3);cursor:pointer}.kv-more:hover{color:var(--tx)}.kv-more svg{transition:transform .15s}.kv-more.open svg{transform:rotate(180deg)}.linkish.u{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line2)}.info-h{display:flex;justify-content:space-between;align-items:baseline}.info-h b{font-size:13px;font-weight:500}.info-h small{font-size:12px;color:var(--tx3)}.vers-list{display:flex;flex-direction:column;gap:2px;margin-top:8px}.vers-list button{display:flex;gap:12px;padding:10px;border:0;border-radius:7px;background:none;text-align:left}.vers-list button:hover{background:var(--hover)}.vers-list button.on{background:var(--sel)}.vers-list .radio{width:14px;height:14px;margin-top:3px;border-radius:50%;flex:none;border:1.5px solid var(--line2)}.vers-list .on .radio{border:4px solid var(--tx)}.vers-list .vl{display:flex;justify-content:space-between;gap:8px;font-size:14px}.vers-list .vl small{font-size:12px;color:var(--tx3)}.vers-list .mono{display:block;margin-top:3px;font-size:11px;color:var(--tx3);overflow-wrap:anywhere}.info-map{position:relative;height:160px;flex:none;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--skel);cursor:pointer}.info-map .map{position:absolute;top:0;right:0;bottom:0;left:0}.map-dot{width:14px;height:14px;border:2px solid #fff;border-radius:50%;background:var(--acc);box-shadow:0 1px 4px #0006}.info-map:focus-visible{outline:2px solid var(--acctxt);outline-offset:2px}.map-credit{margin:6px 0 0;font-size:11px;color:var(--tx3)}.map-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--line2)}.map-credit a:hover{color:var(--tx2)}.v-map{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:var(--bg);animation:v-in .2s ease both}.v-map .map{position:absolute;top:0;right:0;bottom:0;left:0}.v-map-back{position:absolute;top:14px;left:16px;border:1px solid var(--line2);background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow)}.v-map-all{position:absolute;left:50%;bottom:28px;transform:translate(-50%);box-shadow:var(--shadow)}.info-path{margin:0;font-size:11px;color:var(--tx3);overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){.viewer{animation:none}}.kv{display:grid;grid-template-columns:90px 1fr;gap:6px 10px;font-size:13px}.kv dt{color:var(--tx3)}.kv dd{margin:0}.seg{display:flex;background:var(--hover);border:1px solid var(--line);border-radius:8px;padding:2px;gap:2px}.seg button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:26px;border:0;background:none;padding:0 12px;border-radius:6px;color:var(--tx2);font-size:13px;white-space:nowrap;transition:background .15s,color .15s}.seg button.on{background:var(--btn);color:var(--btntx);font-weight:500}.seg button.on em{color:color-mix(in srgb,var(--btntx) 65%,transparent)}.seg em{font-style:normal;color:var(--tx2);font-variant-numeric:tabular-nums}@media(max-width:400px){.seg button{min-width:0;padding:0 6px}.seg button svg{display:none}}.btn{min-height:32px;background:var(--btn);color:var(--btntx);border:1px solid transparent;padding:0 12px;border-radius:7px;font-size:13px;font-weight:500;gap:6px!important;text-align:center;white-space:nowrap;transition:opacity .15s,background .15s,border-color .15s,transform .1s}.btn:not(:disabled):active{transform:scale(.98)}.btn.ghost{background:none;color:var(--tx);border-color:var(--line2);font-weight:400}.btn.ghost:not(:disabled):hover{background:var(--hover);border-color:var(--tx3);opacity:1}.btn.ghost.on{background:var(--sel)}.btn.ghost.active,.btn.ghost.active:not(:disabled):hover{background:var(--accbg);color:var(--acctxt);border-color:transparent;font-weight:500}.btn.ghost.active.on{box-shadow:inset 0 0 0 1px var(--acc)}.btn.icon{width:32px;padding:0}.login{height:100%;display:grid;place-content:center;gap:12px;width:280px;margin:auto}@media(max-width:760px){.app{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.side{display:none}.selbar{bottom:12px;padding-left:12px}.selbar .lbl{display:none}.selbar .btn.sm{padding:0 9px}.top{grid-template-columns:minmax(0,1fr) auto;padding:12px 16px}.actions{flex-wrap:wrap}.searchbox{grid-column:1 / -1;order:3}.scroll{padding:8px 16px 32px}.cards.shoots{grid-template-columns:1fr}.cards.albums,.cards.periods{grid-template-columns:repeat(2,minmax(0,1fr))}.tabs{display:flex;border-top:1px solid var(--line);background:var(--panel);padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.tabs button{flex:1;border:0;background:none;padding:8px 0;border-radius:8px;color:var(--tx2);font-size:13px}.tabs button.on{color:var(--tx);background:var(--sel)}.viewer,.viewer.no-info{grid-template:minmax(0,1fr) auto / minmax(0,1fr)}.info{border-left:0;border-top:1px solid var(--line);max-height:50vh;padding:16px}@media(orientation:landscape)and (max-height:500px){.viewer{grid-template:minmax(0,1fr) / minmax(0,1fr) min(300px,45vw)}.viewer.no-info{grid-template-columns:minmax(0,1fr)}.info{max-height:none;border-top:0;border-left:1px solid var(--line)}.tabs{padding-block:4px calc(4px + env(safe-area-inset-bottom))}nav.tabs button{flex-direction:row;gap:8px;padding:6px 0}}.v-main{grid-template-rows:56px minmax(0,1fr) 8px}.v-main:has(>.v-vers){grid-template-rows:56px minmax(0,1fr) 64px}.v-bar{padding:0 8px;gap:6px}.v-acts .info-btn{margin-left:0}.stage{padding:0}.v-nav{display:none}.v-live{left:12px}}@container main (max-width: 960px){.top{grid-template-columns:minmax(80px,1fr) minmax(120px,220px) auto;gap:12px}.actions .menu .lbl,.actions .menu .btn:has(.lbl)>svg:last-child{display:none}.actions .menu .btn:has(.lbl){width:32px;padding:0}.top h1,.title-row small{white-space:normal;overflow-wrap:anywhere}.actions{flex-wrap:wrap}}@container main (max-width: 640px){.top{grid-template-columns:minmax(40%,1fr) auto}.actions{flex-wrap:wrap}.searchbox{grid-column:1 / -1;order:3}.actions .lbl{display:none}.actions .btn:has(.lbl){padding-inline:10px}}@container main (max-width: 700px){.selbar .lbl{display:none}.selbar .btn.sm{padding:0 9px}}@container main (max-width: 480px){.selbar{left:12px;right:12px;translate:none;max-width:none;flex-wrap:wrap;row-gap:4px;padding:6px 6px 6px 12px}.selbar b+.btn{margin-left:auto}.selbar .sep:first-of-type{flex-basis:100%;height:0;margin:0}.selbar .sep:first-of-type~.btn{flex:1}.selbar .sep:last-of-type,.selbar>.btn:last-child{display:none}}.ob{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;overflow:auto;background:var(--bg)}.ob-top{height:72px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 36px}.ob-link{background:none;border:0;color:var(--tx2);padding:8px 0;font-size:14px;display:flex;gap:6px}.ob-link:hover{color:var(--tx)}.ob-welcome{flex:1;display:flex;flex-direction:column;justify-content:space-between;min-height:620px}.ob-hero{padding:9vh 36px 0;max-width:900px}.ob-hero h1{margin:0;font-size:clamp(44px,7vw,76px);line-height:1;font-weight:500;letter-spacing:-.045em}.ob-hero p{margin:28px 0 0;font-size:20px;line-height:1.45;color:var(--tx2);letter-spacing:-.01em}.ob-cta{margin-top:40px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.ob-cta span{font-size:13px;color:var(--tx3)}.btn.big{min-height:46px;height:46px;padding:0 24px;font-size:15px;font-weight:500;border-radius:8px}.btn:disabled{opacity:.4;cursor:default}.btn:not(:disabled):hover{opacity:.86}.ob-strip{display:flex;gap:3px;overflow:hidden;height:210px;margin-top:56px}.ob-strip div{height:210px}.ob-page{width:100%;max-width:528px;margin:0 auto;padding:6vh 24px 60px}.ob-page h1{margin:0 0 36px;font-size:40px;font-weight:500;letter-spacing:-.035em}.ob-page h1+.lead,.ob-head+.lead{margin-top:-28px}.ob-head{position:relative}.ob-head h1{margin-bottom:36px}.ob-back{position:absolute;right:calc(100% + 16px);top:8px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line2);background:none;color:var(--tx2);transition:color .16s,border-color .16s}.ob-back:hover{color:var(--tx);border-color:var(--tx3)}@media(max-width:720px){.ob-back{position:static;margin-bottom:16px}.ob-top,.ob-hero{padding-inline:24px}.ob-hero p br{display:none}}.lead{margin:0 0 32px;font-size:15px;color:var(--tx2)}.ob-cap{font-size:12px;color:var(--tx3);margin-bottom:10px;letter-spacing:.02em}.ob-card{width:100%;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:8px;border:1px solid var(--line2);background:var(--panel);text-align:left;transition:border-color .16s}.ob-card:hover{border-color:var(--tx3)}.ob-card b{display:block;font-size:16px;font-weight:500}.ob-card small{font-size:13px;color:var(--tx2)}.ob-item{width:100%;display:flex;gap:14px;align-items:center;padding:15px 4px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;font-size:16px;transition:padding .16s}.ob-item:hover{padding-left:10px}.dot{width:8px;height:8px;border-radius:50%;background:#6fc082;flex:none}.dot.small{width:6px;height:6px}.dot.warn{background:#e8aa4e}.ob-card.off{align-items:flex-start}.ob-card.off:hover{border-color:var(--line2)}.ob-card.off .dot{margin-top:7px}.ob-card.off small{display:block;margin-top:4px}.ob-snip{margin:10px 0 6px;padding:10px 12px;border-radius:8px;background:var(--hover);font-size:12.5px;white-space:pre;overflow-x:auto}.muted{color:var(--tx2);font-size:13px}.small{font-size:12px}.ob-field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.ob-field span{font-size:13px;color:var(--tx2)}.ob-field input,.ob-adv input,.ob-adv select{height:44px;padding:0 14px;border-radius:8px;border:1px solid var(--line2);background:var(--panel);font-size:15px;outline:none;width:100%}.ob-field input:focus,.ob-adv input:focus{border-color:var(--tx3)}.ob-adv{margin-top:10px;padding:18px 0 4px;border-top:1px solid var(--line);display:grid;grid-template-columns:110px 1fr;gap:14px 16px;align-items:center;font-size:13px}.ob-adv>span:nth-child(odd){color:var(--tx2)}.ob-adv input,.ob-adv select{height:38px;font-size:13px}.ob-err{color:#eb7a52;font-size:13px;margin:16px 0 0}.ob-foot{margin:16px 0 0;font-size:12px;color:var(--tx3);text-align:center;overflow-wrap:anywhere}.ob-box{border:1px solid var(--line2);border-radius:12px;background:var(--panel);padding:8px}.ob-page.fill{flex:1 0 auto;display:flex;flex-direction:column;min-height:calc(100% - 72px)}.ob-page.fill .ob-box{flex:1 1 0;min-height:260px;max-height:560px;display:flex;flex-direction:column}.ob-list{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}.pair-page{width:100%;max-width:528px;margin:0 auto;padding:6vh 24px 60px;display:flex;flex-direction:column}.pair-page h1{margin:0;font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.025em}.pair-sub{margin:12px 0 0;font-size:15px;line-height:1.55;color:var(--tx2);text-wrap:pretty}.pair-sub a,.set-row small a{color:var(--tx);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line2)}.pair-label{margin-top:36px;font-size:13px;font-weight:500;color:var(--tx2)}.pair-cells{position:relative;margin-top:10px;display:flex;align-items:center;gap:8px}.pair-group{display:flex;gap:8px}.pair-cell{width:50px;height:64px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--line2);border-radius:8px;background:var(--panel);font:400 28px Geist Mono,ui-monospace,monospace;color:var(--tx);transition:border-color .15s,box-shadow .15s}.pair-cell.filled{border-color:var(--line3)}.pair-cell.active{border-color:var(--acc);box-shadow:0 0 0 3px var(--ring)}.pair-cells.err .pair-cell{border-color:var(--err)}.pair-cells.err .pair-cell.active{box-shadow:0 0 0 3px var(--errring)}.pair-cell.bad{border-color:var(--err);color:var(--err)}.pair-cells.busy .pair-cell{color:var(--tx2)}.pair-caret{width:2px;height:1.05em;background:var(--tx);animation:pair-blink 1s steps(1) infinite}@keyframes pair-blink{50%{opacity:0}}.pair-dash{width:14px;height:2px;border-radius:1px;background:var(--tx3);flex:none}.pair-cells input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;border:0;padding:0;margin:0;font-size:16px;caret-color:transparent;cursor:text}.pair-progress{margin-top:14px;height:2px;border-radius:2px;position:relative;overflow:hidden}.pair-progress.on{background:var(--line2)}.pair-progress.on i{position:absolute;top:0;bottom:0;width:35%;border-radius:2px;background:var(--tx2);animation:pair-ind 1.2s ease-in-out infinite}@keyframes pair-ind{0%{left:-35%}to{left:100%}}.pair-msg{margin-top:10px;min-height:20px;font-size:14px;line-height:20px;color:var(--tx2)}.pair-msg.err{color:var(--err)}.pair-add{margin-top:20px;width:100%}.demo-tag{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--tx2);border:1px solid var(--line2);border-radius:99px;padding:2px 8px;margin-right:auto}.collapsed .demo-tag{display:none}.pair-foot{text-align:left;line-height:1.5}.pair-alt{margin-top:44px}.pair-alt-toggle{display:none}.pair-alt-panel{display:flex;align-items:center;gap:18px;padding:14px;border:1px solid var(--line2);border-radius:8px}.pair-qr{width:96px;height:96px;flex:none;box-sizing:border-box;padding:8px;display:grid;place-items:center;background:#fff;border-radius:8px;box-shadow:0 0 0 1px #1c181214}.pair-qr img{width:100%;height:100%;display:block;image-rendering:pixelated}.pair-qr span{font-size:11px;line-height:1.3;color:#6f6b64;text-align:center}.pair-alt-text{display:flex;flex-direction:column;gap:4px;min-width:0}.pair-alt-text b{font-size:14px;font-weight:500}.pair-alt-text p{margin:0;font-size:13px;line-height:1.5;color:var(--tx2);text-wrap:pretty}@media(max-width:560px){.pair-page{padding:12px 16px 24px}.pair-page h1{font-size:28px}.pair-sub{margin-top:10px;line-height:1.5}.pair-label{margin-top:28px}.pair-cells,.pair-group{gap:6px}.pair-dash{width:10px}.pair-cell{width:34px;height:48px;border-radius:6px;font-size:22px}.pair-add{margin-top:18px}.pair-alt{margin-top:28px}.pair-alt-toggle{display:flex;width:100%;height:46px;padding:0 14px;align-items:center;justify-content:space-between;background:none;border:1px solid var(--line2);border-radius:8px;color:var(--tx);font-size:15px;font-weight:500}.pair-alt-toggle span{display:flex;align-items:center;gap:10px}.pair-alt-toggle svg{color:var(--tx2)}.pair-alt-toggle .chev{transition:transform .2s}.pair-alt.open .chev{transform:rotate(180deg)}.pair-alt-panel{display:none;margin-top:10px;padding:16px;flex-direction:column;gap:14px}.pair-alt.open .pair-alt-panel{display:flex}.pair-qr{width:160px;height:160px;padding:13px}.pair-alt-text b{display:none}.pair-alt-text p{text-align:center}}.ob-mark{flex:none;width:28px;text-align:center}.ob-top,.ob-page{position:relative;z-index:1}.ob-mosaic{--s: max(calc((100vw + 80px) / var(--cols)), calc((100vh + 80px) / var(--rows)));position:fixed;top:-40px;right:-40px;bottom:-40px;left:-40px;display:grid;grid-template-columns:repeat(var(--cols),var(--s));grid-auto-rows:var(--s);gap:3px;place-content:center;overflow:hidden;filter:blur(28px) saturate(1.1);animation:ob-in 1.6s ease both;pointer-events:none}.ob-mosaic>div{position:relative;overflow:hidden}.ob-mosaic img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease}.ob-mosaic img.on{opacity:1}.ob-mosaic:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,color-mix(in oklch,var(--bg) 82%,transparent),color-mix(in oklch,var(--bg) 58%,transparent))}@keyframes ob-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.ob-mosaic{animation:none}.ob-mosaic img{transition:none}}.ob-crumbs{padding:10px 12px 8px;font-size:13px;color:var(--tx2);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ob-crumbs button{background:none;border:0;padding:0;color:inherit}.ob-crumbs button:not(:disabled):hover{color:var(--tx);text-decoration:underline}.ob-crumbs button:disabled{cursor:default}.ob-row{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 8px 0 30px;border-radius:8px;font-size:15px;cursor:pointer}.ob-row:hover{background:var(--hover)}.ob-row.sel{background:var(--sel)}.ob-open{display:grid;place-items:center;flex:none;padding:0;background:none;border:0;color:var(--tx3);font-size:18px;width:28px;height:28px;border-radius:6px}.ob-open:hover{background:var(--hover);color:var(--tx)}.ob-tree{margin-left:19px;padding-left:8px;border-left:1px solid var(--line2)}.ob-count{font-size:64px;font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.ob-bar{height:3px;background:var(--sel);border-radius:2px;margin:28px 0 12px;overflow:hidden}.ob-bar div{height:100%;background:var(--tx);transition:width .3s linear}.ob-cur{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ob-stats{display:flex;gap:48px;margin-bottom:36px}.ob-stats b{display:block;font-size:44px;font-weight:500;letter-spacing:-.04em}.ob-stats span{color:var(--tx2);font-size:13px}.ob-demo{display:flex;align-items:center;gap:24px;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.ob-demo .mono{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--tx2)}.ob-tile{width:96px;aspect-ratio:1.5;border-radius:2px;background:repeating-linear-gradient(135deg,#387e82,#387e82 6px,#286f73 6px,#286f73 12px);box-shadow:4px -4px 0 -1px var(--bg),4px -4px 0 0 var(--line2),8px -8px 0 -1px var(--bg),8px -8px 0 0 var(--line2);margin:0 8px 12px 0}.task-menu{position:relative}.task{width:100%;height:32px;display:flex;align-items:center;gap:9px;padding:0 10px;border:0;border-radius:6px;background:none;text-align:left;font-size:12px;color:var(--tx2);transition:background .15s}.task:hover{background:var(--hover)}.task.on{background:var(--sel)}.task .task-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task .muted{font-size:12px;font-variant-numeric:tabular-nums}.ring{width:12px;height:12px;border-radius:50%;flex-shrink:0}.ring-ico{flex-shrink:0;color:var(--tx2)}.pop.task-pop{left:0;right:auto;top:auto;bottom:calc(100% + 8px);width:340px;padding:16px;gap:0}.task-pop-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.task-pop-head b{font-size:14px;font-weight:500}.task-rows{display:flex;flex-direction:column;gap:14px;margin-top:14px}.task-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:6px 10px;align-items:center;font-size:13px}.task-row .muted{font-variant-numeric:tabular-nums}.task-row .pbar,.task-row .task-desc{grid-column:2 / 4}.task-icon{display:grid;place-items:center;color:var(--tx2)}.task-row.done .task-icon,.task-row.waiting .task-icon{color:var(--tx3)}.task-row.done .task-label,.task-row.waiting .task-label{color:var(--tx2)}.task-row.error .task-icon,.ring-ico.warn{color:#dea143}.task-foot{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--line)}.ico{flex-shrink:0;vertical-align:-3px}.nav,.nasbtn,.btn,.back,.tabs button{display:inline-flex;align-items:center;gap:8px}.nav small{margin-left:auto}.tabs button{flex-direction:column;justify-content:center;gap:2px;font-size:11px}.btn{justify-content:center}.fav{display:grid;place-items:center}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pbar{height:3px;border-radius:2px;background:var(--line2);overflow:hidden}.pbar>i{display:block;height:100%;background:var(--tx2);transition:width .4s}.pbar.ind>i{width:30%;animation:pbar-ind 1.2s ease-in-out infinite}@keyframes pbar-ind{0%{transform:translate(-100%)}to{transform:translate(340%)}}.nasbtn{display:flex;align-items:center;gap:9px;text-align:left;background:none;border:0;height:32px;padding:0 10px;border-radius:6px;color:var(--tx2);font-size:13px}.nasbtn:hover{background:var(--hover)}.nasbtn .dot{margin:0 5px 0 4px}.settings-wrap{display:grid;grid-template-columns:180px minmax(0,680px);gap:40px;align-items:start}.set-nav{position:sticky;top:0;padding-top:24px;display:flex;flex-direction:column;gap:2px}.set-nav .nav{font-size:14px;gap:10px}.set-nav .set-version{margin:16px 10px 0}.settings{max-width:680px;padding:24px 0;display:flex;flex-direction:column;gap:14px}.settings h2{margin:0;font-size:20px;font-weight:500}.set-sec{display:flex;flex-direction:column;gap:14px}.set-sec>h2{font-size:24px;letter-spacing:-.025em}.set-sec h3{margin:22px 0 0;font-size:16px;font-weight:500;letter-spacing:-.015em;display:flex;align-items:center;gap:8px}.set-note{margin:-8px 0 4px;font-size:13px;line-height:1.5;color:var(--tx2)}h3+.set-note{margin-top:-10px}.set-card{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.grow{flex:1;min-width:0}.grow b{font-weight:500}.grow small{display:block;font-size:12px;color:var(--tx3);margin-top:2px;overflow:hidden;text-overflow:ellipsis}.set-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line)}.set-row .seg{width:280px}.switch-row{align-items:flex-start}.switch-row .grow small{font-size:13px;line-height:1.5;white-space:normal;margin-top:3px}.switch-row .switch{margin-top:2px}.switch{flex-shrink:0;position:relative;width:32px;height:19px;padding:0;border:0;border-radius:10px;background:var(--line2);transition:background .15s}.switch i{position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:left .15s}.switch.on{background:var(--tx)}.switch.on i{left:15px;background:var(--bg)}.switch:disabled{opacity:.5;cursor:default}.switch:focus-visible{outline:2px solid var(--tx3);outline-offset:2px}.set-status{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:14px 18px;display:flex;flex-direction:column;gap:10px;margin-top:-4px}.st-line{display:flex;align-items:center;gap:12px;font-size:14px}.st-line .ico{color:var(--tx2)}.st-line .warn{color:#dea143}.st-line .muted{font-variant-numeric:tabular-nums}.set-status .pbar,.set-status p{margin:0 0 0 27px}.set-rows{display:flex;flex-direction:column;border-top:1px solid var(--line)}.set-item{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.set-item.gone{opacity:.5}.set-fix{display:block;margin:4px 0 0;color:var(--tx2);font-size:13px;line-height:1.45;-webkit-user-select:text;user-select:text}.set-item .x{border:0;background:none;color:var(--tx3);padding:0 4px;display:inline-flex;cursor:pointer}.set-item .x:hover{color:var(--tx)}.set-item .thumb{width:54px;height:36px;flex:none;border-radius:3px;overflow:hidden;background:var(--skel)}.set-item .thumb img{width:100%;height:100%;object-fit:cover;display:block}.linkish{border:0;background:none;padding:0;font:inherit;color:inherit}.linkish:hover{text-decoration:underline;text-underline-offset:3px}.set-conn{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.set-conn b{display:block;font-weight:500}.set-conn small{font-size:12px;color:var(--tx3)}.set-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}.set-list button{display:flex;align-items:center;gap:12px;height:50px;padding:0 14px;border:0;border-bottom:1px solid var(--line);background:none;font-size:16px;text-align:left}.set-list button:last-child{border-bottom:0}.set-list button span{flex:1}.set-list small{color:var(--tx3);font-size:14px}.set-list .ico{color:var(--tx2)}.set-list .chev{color:var(--tx3)}@media(max-width:960px){.settings-wrap{display:block}.set-sec>h2{display:none}.set-sec>.set-note:first-of-type{margin-top:0}}@media(max-width:760px){.set-row .seg{width:100%}}.set-row>.grow,.set-card>.grow{flex:1 1 220px}.lrs+.set-row,.rules-actions+.set-row{border-top:0;margin-top:-14px}.set-note+.set-row,.set-note+div>.set-row:first-child{border-top:1px solid var(--line)}.pair-card{display:flex;gap:20px;align-items:center;padding:18px;border:1px solid var(--line2);border-radius:12px;background:var(--panel);flex-wrap:wrap}.pair-card img{border-radius:8px;background:#fff}.pair-code{font-size:26px;letter-spacing:.08em;margin:10px 0 4px}.lrs{border-top:1px solid var(--line);margin-top:4px}.lr{border-bottom:1px solid var(--line)}.lr-head{width:100%;display:flex;align-items:baseline;gap:16px;padding:14px 0;background:none;border:0;color:var(--tx);text-align:left;font:inherit;font-size:14px;cursor:pointer}.lr-label{width:120px;flex:none;color:var(--tx2)}.lr-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lr-value .sep{color:var(--tx3)}.tok{color:var(--tx2)}.lr-note{font-size:12px;color:var(--tx3);white-space:nowrap}.lr-note.bad{color:#eb7a52}.lr-act{font-size:13px;color:var(--tx3);flex:none}.lr-head:hover .lr-act,.lr.open .lr-act{color:var(--tx)}.lr-body{display:flex;flex-direction:column;gap:10px;padding:0 0 18px 136px;font-size:13px}.lr-body>p{margin:0}.preset{padding:5px 8px;border-radius:6px;border:1px solid var(--line2);background:var(--bg);color:var(--tx);font:inherit;font-size:13px}@media(max-width:640px){.lr-label{width:90px}.lr-note{display:none}.lr-body{padding-left:0}}.shoot-suggest{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line2);border-radius:8px;font-size:13px}.shoot-suggest>span{flex:1}@media(max-width:720px){.shoot-suggest{flex-direction:column;align-items:flex-start}}.srcs{display:flex;flex-direction:column;border-top:1px solid var(--line)}.src{display:flex;flex-direction:column;gap:10px;padding:4px 0 12px;border-bottom:1px solid var(--line);font-size:14px}.src-head{display:flex;align-items:center;gap:12px;min-height:40px}.src-more{display:inline-flex;align-items:center;gap:4px;border:0;background:none;color:var(--tx3);font:inherit;font-size:13px;padding:0 2px}.src-more:hover,.src-more[aria-expanded=true]{color:var(--tx)}.src-adv{display:flex;flex-direction:column;gap:12px;padding-left:28px}.src-adv .lrs{border-top:1px solid var(--line)}.adv-h{margin:8px 0 -8px;font-size:13px;font-weight:500;color:var(--tx2)}.adv-h:not(:first-child){margin-top:20px}.src-del,.src-del-err{margin:0 0 8px 28px}.src-warn{margin:0 0 8px 28px;font-size:13px;line-height:1.45;color:#eb7a52}.src-path{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.src-head .x{border:0;background:none;color:var(--tx3);padding:0 4px;display:inline-flex}.src-head .x:hover{color:var(--tx)}.src-add{display:flex;flex-direction:column;gap:12px}.src-list{max-height:320px}@media(max-width:720px){.src-head{flex-wrap:wrap;row-gap:4px;padding-top:6px}.src-path{flex-basis:calc(100% - 28px)}.src-adv{padding-left:0}.src-warn,.src-del,.src-del-err{margin-left:0}}.check{display:flex;align-items:flex-start;gap:8px;font-size:13px;cursor:pointer}.check input{margin-top:2px}.check.off{opacity:.5}.checks{display:flex;flex-direction:column;gap:8px}.order{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.order li{display:flex;align-items:center;gap:4px;padding:6px 6px 6px 12px;border:1px solid var(--line2);border-radius:8px;background:var(--panel);counter-increment:o}.order li:before{content:counter(o) ".";color:var(--tx3);margin-right:4px}.order button{border:0;background:none;color:var(--tx2);padding:2px 5px;border-radius:5px}.order button:hover:not(:disabled){background:var(--hover)}.order button:disabled{opacity:.25}.lr-body .row{display:flex;align-items:center;gap:12px;font-size:13px;margin-top:4px}.btn.sm{min-height:28px;padding:0 10px;font-size:13px}.pats{display:flex;flex-direction:column;gap:6px}.pat-row{display:flex;align-items:center;gap:10px}.pat-row input{flex:1;min-width:0;max-width:260px;padding:6px 9px;border-radius:6px;border:1px solid var(--line2);background:var(--panel);color:var(--tx);font-size:13px;outline:none}.pat-row input:focus{border-color:var(--tx3)}.pat-row input.bad{border-color:#eb7a52}.pat-row .x{border:0;background:none;color:var(--tx3);font-size:18px;padding:0 4px}.pat-row .x:hover{color:var(--tx)}.pat-n{font-size:12px;color:var(--tx2);white-space:nowrap}.pat-n.none{color:var(--tx3)}.pat-err{font-size:12px;color:#eb7a52;margin-top:3px}.pat-report{display:flex;flex-direction:column;gap:4px;padding:8px 12px;border-radius:8px;background:var(--hover);font-size:13px;overflow-wrap:anywhere}.pat-miss{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px}.pat-help{font-size:12px;margin:0}.chip{padding:2px 8px;border-radius:6px;background:var(--hover);color:var(--tx2);font-size:12px}.chip .mono{color:var(--tx3);font-size:11px}.chip.best{background:var(--sel);color:var(--tx)}.rules-actions{display:flex;align-items:center;gap:10px;margin:16px 0 8px;flex-wrap:wrap}.preset{margin-left:auto}.picker{display:flex;flex-direction:column;gap:2px;max-height:50vh;overflow:auto;margin:0 -8px}.pick{display:flex;align-items:center;gap:12px;padding:6px 8px;border:0;border-radius:8px;background:none;text-align:left}.pick:hover:not(:disabled){background:var(--hover)}.pick:disabled{cursor:default}.pick b{display:block;font-weight:400;font-size:14px}.pick small{color:var(--tx3);font-size:12px}.pick .thumb{width:44px;height:44px;flex:none;border-radius:6px;overflow:hidden;background:var(--skel)}.pick .thumb img{width:100%;height:100%;object-fit:cover;display:block}.pick .plus{display:grid;place-items:center;font-size:20px;color:var(--tx2)}.pick.new input{flex:1;min-width:0;height:36px;padding:0 10px;border-radius:8px;border:1px solid var(--line2);background:var(--panel);outline:none}.pick.new input:focus{border-color:var(--tx3)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:grid;place-items:center;padding:16px;z-index:20}.modal{width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--bg);border:1px solid var(--line2);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow)}.modal h2{margin:0;font-size:18px;font-weight:500}.cover-modal{width:min(720px,100%)}.cover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:3px;max-height:60vh;overflow:auto;margin:0 -8px;padding:0 8px}.cover-pick{position:relative;aspect-ratio:1;padding:0;border:0;border-radius:4px;overflow:hidden;background:var(--skel)}.cover-pick img{width:100%;height:100%;object-fit:cover;display:block}.cover-pick:hover:not(:disabled) img{opacity:.85}.cover-pick.on img,.cover-pick.saving img{opacity:.7}.cover-pick:disabled{cursor:default}.cover-pick .mark{position:absolute;right:6px;bottom:6px;width:20px;height:20px;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;background:var(--btn);color:var(--btntx);box-shadow:0 1px 3px #00000080}.share-form{display:flex;flex-direction:column;gap:14px}.share-form input:not([type]){height:40px;font-size:14px}.share-opts{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;font-size:13px}.share-opts>label:first-child{display:flex;align-items:center;gap:8px;color:var(--tx2)}.share-opts .preset{margin:0}.share-url{padding:8px 10px;border-radius:8px;background:var(--sel);word-break:break-all;-webkit-user-select:all;user-select:all}.share-h{margin:0;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3)}.shared{display:flex;flex-direction:column;height:100%}.shared .top{grid-template-columns:auto minmax(0,1fr) auto}.shared .top h1{display:flex;align-items:baseline;gap:6px}.shared .top h1>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.shared .top h1 small{flex:none;font-size:13px;font-weight:400}@media(max-width:760px){.shared .top{grid-template-columns:auto minmax(0,1fr)}.shared .top h1{justify-content:flex-end;flex-wrap:wrap;white-space:normal;text-align:right}.shared .top h1>span{overflow-wrap:anywhere}.shared .top>.btn{grid-column:1 / -1}}.card .cover{position:relative}.card .badges{position:absolute;top:8px;left:8px;display:flex;gap:4px}.card .badges i{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:5px;background:#14120f9e;color:#fff;font-size:11px;font-weight:500;font-style:normal;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.empty-state{margin:auto;padding:64px 24px;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.banner{margin:16px 0 4px;padding:12px 14px 12px 16px;border:1px solid var(--line);border-radius:8px;background:var(--panel);display:flex;align-items:center;gap:14px;font-size:14px}.banner>.ico{color:var(--tx2)}@media(max-width:720px){.banner{flex-wrap:wrap}.banner .grow{flex-basis:calc(100% - 32px)}}.empty-ico{color:var(--tx3);display:grid}.empty-state h2{margin:4px 0 0;font-size:18px;font-weight:500;letter-spacing:-.015em}.empty-state p{margin:0;font-size:14px;line-height:1.5;color:var(--tx2);text-wrap:pretty}.empty-state .btn{margin-top:8px}.pop-item small{margin-left:auto;padding-left:12px;font-size:12px;color:var(--tx3)}.card.hidden .cover img{opacity:.45}.album-editor .ob-field{margin:0}.album-preview{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:8px;background:var(--hover)}.album-preview .strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.album-preview .strip img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px;display:block;background:var(--skel)}.album-editor-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.album-editor-actions .end{display:flex;gap:8px;margin-left:auto}.btn.danger{color:#d95544}.btn.destructive{background:#c93029;color:#fff}@media(max-width:640px){.album-preview .strip{grid-template-columns:repeat(4,minmax(0,1fr))}.album-preview .strip img:nth-child(n+9){display:none}}.suggest{position:absolute;z-index:20;top:calc(100% + 6px);left:0;width:max(100%,320px);max-width:calc(100vw - 32px);max-height:min(70vh,560px);overflow-y:auto;padding:6px;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line2);border-radius:10px;box-shadow:var(--shadow)}.suggest button{flex:none;display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border:0;background:none;border-radius:8px;color:var(--tx);text-align:left;font-size:14px}.suggest button span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggest button em{font-style:normal;font-size:13px;color:var(--tx2);font-variant-numeric:tabular-nums}.suggest button .ico{color:var(--tx2)}.suggest button.on{background:var(--sel)}.suggest-h{padding:8px 10px 4px;font-size:11px;letter-spacing:.02em;color:var(--tx2)}.suggest-foot{margin:4px 0 0;padding:8px 10px 4px;border-top:1px solid var(--line);font-size:12px;color:var(--tx2)}.folders .card .cover{display:grid;place-items:center;color:var(--tx3)}.menu{position:relative}.pop{position:absolute;z-index:20;top:calc(100% + 6px);right:0;width:350px;max-width:calc(100vw - 32px);padding:14px;display:flex;flex-direction:column;gap:10px;text-align:left;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--line2);border-radius:10px;box-shadow:var(--shadow);animation:pop-in .16s ease both}@keyframes pop-in{0%{opacity:0;transform:translateY(4px)}}.pop>small{font-size:12px;color:var(--tx3)}.pop>small:not(:first-child){margin-top:4px}.pop p{margin:0;line-height:1.5}.pop hr{width:100%;margin:0;border:0;border-top:1px solid var(--line)}.pop-list{display:flex;flex-direction:column}.pop-list .check{min-height:30px;align-items:center}.pop-list .check input{margin-top:0}.pop-list .mono{font-size:12px;overflow-wrap:anywhere}.pop:has(>.pop-item){width:280px;padding:6px;gap:0}.pop-item{display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border:0;border-radius:6px;background:none;font-size:13px;text-align:left;white-space:nowrap}.pop-item:hover{background:var(--hover)}.pop-item .ico{color:var(--tx2)}.size-slider{display:flex;align-items:center;gap:10px;color:var(--tx);cursor:pointer}.size-slider input{flex:1;min-width:0;height:18px;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;cursor:pointer}.size-slider input::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:var(--tx3)}.size-slider input::-moz-range-track{height:3px;border-radius:2px;background:var(--tx3)}.size-slider input::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5.5px;border-radius:50%;background:#fff;border:1px solid var(--tx3);box-shadow:0 1px 3px #00000059}.size-slider input::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:1px solid var(--tx3);box-shadow:0 1px 3px #00000059}.size-slider input:focus-visible{outline:2px solid var(--tx3);outline-offset:2px;border-radius:4px}.grid-transition-debug{border-top:1px solid var(--line);padding-top:12px;margin-top:12px;font-size:11px;color:var(--tx2)}.grid-transition-debug label{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}.grid-transition-debug output{font-variant-numeric:tabular-nums}.grid-transition-debug .ob-link{padding:4px 0 0;font-size:11px}.pop-head{display:flex;align-items:flex-start;gap:8px;margin-bottom:2px}.pop-title{flex:1;min-width:0}.pop-title b{display:block;font-size:15px;font-weight:600}.pop-done{display:none;border:0;background:none;padding:0;font-size:15px;font-weight:600;color:var(--acctxt)}.pop-label{display:flex;justify-content:space-between;gap:8px}.pop-label button{border:0;background:none;padding:0;font-size:12px;font-weight:500;color:var(--acctxt)}.pop-list .check.help{align-items:flex-start;padding:6px 0}.pop-list .check.help input{margin-top:1px}.check.help small{display:block;margin-top:2px;font-size:12px;line-height:1.4;color:var(--tx2)}@media(max-width:760px){.pop:has(>.pop-head){position:fixed;top:auto;left:0;right:0;bottom:0;width:auto;max-width:none;max-height:85vh;overflow-y:auto;z-index:40;padding:16px 20px calc(24px + env(safe-area-inset-bottom));gap:12px;border:0;border-radius:18px 18px 0 0;box-shadow:0 0 0 100vmax var(--scrim)}.pop:has(>.pop-head) .pop-done{display:block}.pop:has(>.pop-head) .pop-list .check:not(.help){min-height:44px}.pop:has(>.pop-head) .check{font-size:15px}.pop:has(>.pop-item){position:fixed;top:auto;left:0;right:0;bottom:0;width:auto;max-width:none;z-index:40;padding:8px 8px calc(16px + env(safe-area-inset-bottom));border:0;border-radius:18px 18px 0 0;box-shadow:0 0 0 100vmax var(--scrim)}.pop:has(>.pop-item) .pop-item{height:48px;padding:0 14px;font-size:15px;border-radius:10px}}.menu .lbl{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(pointer:coarse){.back{padding-block:10px;margin-block:-10px}.src-more,.pop-done{position:relative}.src-more:after,.pop-done:after,.switch:after{content:"";position:absolute;top:-12px;right:-8px;bottom:-12px;left:-8px}}@media(prefers-reduced-motion:reduce){.pop{animation:none}.btn,.nav,.seg button,.task{transition:none}}.map-wrap{position:relative;flex:1;min-height:0}.map-wrap .map{position:absolute;top:0;right:0;bottom:0;left:0}.map-note{position:absolute;top:12px;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 32px);margin:0;background:var(--bg);border-radius:10px;padding:8px 14px;box-shadow:var(--shadow);font-size:13px;z-index:1}.map-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none}.map-empty>*{pointer-events:auto;background:var(--bg);border-radius:12px;padding:8px 16px;box-shadow:var(--shadow)}.map-pin{width:52px;height:52px;padding:0;border:2px solid #fff;border-radius:10px;background:var(--skel);box-shadow:0 2px 8px #00000059;cursor:pointer}.map-pin img{width:100%;height:100%;object-fit:cover;display:block;border-radius:8px}.map-pin b{position:absolute;top:-8px;right:-8px;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--btn);color:var(--btntx);font-size:11px;font-weight:500;line-height:20px;text-align:center;box-shadow:0 1px 3px #0006}.map-pin:hover{z-index:1;border-color:var(--btn)}.page-status{text-align:center;padding:16px;color:var(--tx2)}.page-status p{margin:0 0 12px}.tile-open{display:block;width:100%;height:100%;border:0;padding:0;background:none;cursor:pointer}.tile-open:focus-visible{outline:3px solid var(--acc);outline-offset:-3px}.tile:focus-within .heart,.tile:focus-within .mark.hover{opacity:1}.tile button.heart{border:0;background:transparent}.tile button.mark{padding:0}.tile span.mark,.tile span.heart{pointer-events:none}.tile .heart:focus-visible,.tile .mark:focus-visible{opacity:1;outline:2px solid white;outline-offset:-2px}dialog.modal-scrim{border:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;color:inherit;box-sizing:border-box}dialog.modal-scrim::backdrop{background:transparent}dialog.modal-scrim:not([open]){display:none}
