:root{--bg:#000;--panel:#111;--panel-2:#1a1a1a;--panel-3:#262626;--line:#2e2e2e;--text:#f3f3f3;--muted:#a3a3a3;--faint:#6f6f6f;--accent:#ffe100;--accent-hover:#fff04d;--accent-ink:#111;--ok:#57cf8a;--warn:#f0a33a;--danger:#ff6b6b;--radius:10px;--radius-sm:7px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Apple SD Gothic Neo", "Pretendard", "Segoe UI", "Malgun Gothic", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased;margin:0}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--panel-2);border-radius:var(--radius-sm);white-space:nowrap;padding:7px 12px;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:var(--panel-3)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,[role=slider]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.ghost{background:0 0}button.danger{color:var(--danger)}button.on{color:var(--ok);background:#57cf8a24;border-color:#57cf8a80}button.link{color:var(--muted);text-underline-offset:3px;background:0 0;border:none;padding:0;text-decoration:underline}button.link:hover:not(:disabled){color:var(--text);background:0 0}button.big{padding:11px 16px;font-size:15px}.icon-btn{padding:4px 9px;line-height:1.2}input[type=search],.field input,textarea{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;padding:8px 10px}textarea{resize:vertical}code,.mono{font-family:var(--mono);font-size:12.5px}.small{font-size:12px}.hint{color:var(--muted);margin:6px 0;font-size:12.5px}.right{margin-left:auto}.ok-text{color:var(--ok)}.warn-text{color:var(--warn)}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#000000eb;align-items:center;gap:20px;padding:10px 20px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;display:flex}.brand strong{letter-spacing:.2px;font-size:15px;display:block}.tagline{color:var(--muted);font-size:12px;display:block}.tabs{background:var(--panel);border:1px solid var(--line);border-radius:999px;gap:4px;padding:3px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tabs button{color:var(--muted);background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 16px;display:inline-flex}.tabs button.active{background:var(--panel-3);color:var(--text)}.count{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:0 7px;font-size:11px;font-weight:700;line-height:18px}.lang{border-radius:999px;padding:5px 12px;font-size:12.5px}.setting-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;display:flex}.setting-row .segmented{margin-bottom:0}.settings .account{border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:12px}.settings .account .setting-row{border-bottom:0;margin-bottom:8px;padding-bottom:0}.settings .account .hint{margin:0 0 8px}.landing{width:100%;max-width:1040px;margin:0 auto;padding:0 20px}.landing-top{justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.landing-top .segmented{margin-bottom:0}.landing-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:40px;padding:36px 0 40px;display:grid}.landing h1{text-wrap:balance;margin:0 0 14px;font-size:32px;line-height:1.3}html[lang=ko] .landing{word-break:keep-all}.landing .lead{color:var(--muted);margin:0 0 18px;font-size:16px}.landing-points{gap:6px;margin:0;padding-left:18px;display:grid}.landing a{color:var(--accent)}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);gap:10px;padding:20px;display:grid}.auth-card .segmented{margin-bottom:4px}.auth-card .segmented button{flex:1}.auth-card form{gap:8px;display:grid}.auth-card .field{margin-bottom:0}.auth-card form p{margin:0}.auth-card .link{justify-self:center}.auth-or{text-align:center;color:var(--faint);font-size:12px}.auth-card .hint{margin:4px 0 0}.landing-section{border-top:1px solid var(--line);padding:28px 0}.landing h2{margin:0 0 14px;font-size:20px}.landing-steps{counter-reset:step;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.landing-steps li{counter-increment:step;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.landing-steps li:before{content:counter(step);background:var(--accent);width:24px;height:24px;color:var(--accent-ink);border-radius:50%;place-items:center;margin-bottom:8px;font-size:12px;font-weight:700;display:grid}.landing-steps strong{margin-bottom:4px;display:block}.landing-steps span{color:var(--muted)}.landing-updates{gap:10px;margin:0 0 14px;padding:0;list-style:none;display:grid}.landing-updates li{grid-template-columns:150px minmax(0,1fr);gap:12px;display:grid}.landing-updates time{color:var(--faint);font-family:var(--mono);padding-top:1px;font-size:12.5px}.landing .footer{padding-left:0;padding-right:0}@media (max-width:760px){.landing-hero{grid-template-columns:minmax(0,1fr);gap:24px;padding:16px 0 28px}.landing h1{font-size:25px}.landing-updates li{grid-template-columns:minmax(0,1fr);gap:2px}}@media (max-width:480px){.landing{padding:0 16px}}html[lang=ja]{--font:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Meiryo", sans-serif}.content{flex:1;width:100%;max-width:1380px;margin:0 auto;padding:20px}.footer{color:var(--faint);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:14px 20px;font-size:12px;display:flex}.banner{padding:8px 20px;font-size:13px}.banner.warn{color:var(--warn);background:#f0a33a1f}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}details.panel>summary{cursor:pointer;align-items:center;gap:8px;font-weight:600;list-style:none;display:flex}details.panel>summary:before{content:"▸";color:var(--muted);transition:transform .15s}details.panel[open]>summary:before{transform:rotate(90deg)}details.panel[open]>summary{margin-bottom:10px}.button-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.button-row.end{justify-content:flex-end}.button-col{flex-direction:column;gap:8px;margin:14px 0;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{color:var(--muted);background:var(--panel);border-radius:999px;padding:4px 12px;font-size:13px}.chip.active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent);font-weight:600}.chip.active:hover:not(:disabled){background:var(--accent-hover)}button.on:hover:not(:disabled){background:#57cf8a38}.chip.ghost{border-style:dashed}.chip.small{padding:2px 10px;font-size:12px}.badge{background:var(--panel-3);color:var(--muted);letter-spacing:.2px;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.badge.accent,.badge.mine{color:var(--accent);background:#ffe10029}.badge.imported{color:#9db7ff;background:#78a0ff29}.badge.warn{color:var(--warn);background:#f0a33a29}.badge.floating{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;position:absolute;top:8px;left:8px}.badge.floating.right{left:auto;right:8px}.tag{color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:0 8px;font-size:11.5px}.pill{background:var(--panel-2);border-radius:999px;margin:6px 0;padding:2px 10px;font-size:12.5px;display:inline-block}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar .search{flex:240px;max-width:360px}.toolbar-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.filters{margin:14px 0 10px}.scene-row{border-bottom:1px solid var(--line);align-items:baseline;gap:12px;margin-bottom:18px;padding:10px 0 16px;display:flex}.scene-row .label{color:var(--muted);white-space:nowrap;font-size:12.5px}.scenes .hint{margin-top:8px}.chip-thumb{object-fit:cover;vertical-align:-4px;border-radius:50%;width:18px;height:18px;margin:-2px 6px -2px -7px}.scene-edit{align-items:stretch;gap:8px;max-width:480px;margin-top:10px;display:flex}.scene-edit input{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);flex:1;min-width:0;padding:9px 12px}.scene-edit input:focus{border-color:var(--accent);outline:none}.scene-edit button{flex:none;padding:0 16px}.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.card-thumb{aspect-ratio:3/2;background:var(--panel-2);border:none;border-radius:0;padding:0;position:relative;overflow:hidden}.card-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .25s;display:block}.card-thumb:hover img{transform:scale(1.03)}.thumb-placeholder,.compare-loading{background:linear-gradient(100deg, var(--panel-2) 30%, var(--panel-3) 50%, var(--panel-2) 70%);background-size:200% 100%;animation:1.2s linear infinite shimmer;position:absolute;inset:0}@keyframes shimmer{to{background-position:-200% 0}}.card-body{padding:10px 12px 12px}.card-title-row{align-items:center;gap:8px;display:flex}.card-title{text-align:left;text-overflow:ellipsis;background:0 0;border:none;flex:1;padding:0;font-size:14.5px;font-weight:600;overflow:hidden}.card-title:hover:not(:disabled){color:var(--accent);background:0 0}.add-btn{border-radius:999px;padding:3px 10px;font-size:12.5px}.card-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:3px 0 0;font-size:12.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.card-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.card-meta code{color:var(--muted);margin-right:2px;font-size:11.5px}.empty{color:var(--muted);text-align:center;padding:40px 0}.backup-row{color:var(--faint);justify-content:center;gap:10px;margin-top:28px;font-size:12.5px;display:flex}.compare{width:100%}.compare-stage{border-radius:var(--radius);cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;background:#000;margin:0 auto;position:relative;overflow:hidden}.compare-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.compare-tag{pointer-events:none;background:#0000008c;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:600;position:absolute;top:10px}.compare-tag.left{left:10px}.compare-tag.right{color:var(--accent);right:10px}.compare-handle{background:#ffffffd9;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;box-shadow:0 0 6px #00000080}.compare-knob{background:#141414cc;border:2px solid #fff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:14px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.overlay{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#000000b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.detail{background:var(--panel);border:1px solid var(--line);border-radius:14px;grid-template-columns:minmax(0,1fr) 340px;gap:20px;width:min(1320px,100%);max-height:calc(100vh - 48px);padding:18px;display:grid;overflow:auto}.detail-media{flex-direction:column;gap:12px;min-width:0;display:flex}.detail-info h2{margin:8px 0 4px;font-size:22px}.detail-info h3{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin:18px 0 8px;font-size:13px}.detail-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.detail-head h2{margin:0;font-size:18px}.detail-camera{color:var(--muted);margin:0}.detail-desc{margin:10px 0 6px;font-size:15px}.notes{grid-template-columns:max-content 1fr;gap:4px 14px;margin:0 0 10px;font-size:13px;display:grid}.notes div{display:contents}.notes dt{color:var(--muted)}.notes dd{margin:0}.no-preview{aspect-ratio:3/2;background:var(--panel-2);border-radius:var(--radius);color:var(--muted);text-align:center;place-items:center;padding:20px;display:grid}.kv{grid-template-columns:1fr 1fr;gap:4px 16px;margin:0;display:grid}.kv div{border-bottom:1px dashed var(--line);justify-content:space-between;padding:2px 0;display:flex}.kv dt{color:var(--muted)}.kv dd{font-family:var(--mono);margin:0}.summary-block h4{color:var(--muted);margin:14px 0 6px;font-size:12.5px}.summary-line{align-items:center;gap:8px;padding:2px 0;display:flex}.summary-name{width:76px}.grading-dot{border:1px solid #ffffff40;border-radius:50%;flex:none;width:12px;height:12px}.dialog{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:min(640px,100%);padding:18px}.parse-result{margin-top:10px}.parse-result ul{color:var(--muted);margin:6px 0 0;padding-left:18px}.editor{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:20px;display:grid}.editor-preview{flex-direction:column;gap:12px;display:flex;position:sticky;top:76px}.editor-controls{flex-direction:column;gap:12px;display:flex}.editor-status{align-items:center;gap:8px;margin-bottom:10px;display:flex}.field{margin-bottom:10px;display:block}.field>span{color:var(--muted);margin-bottom:4px;font-size:12.5px;display:block}.field.invalid input{border-color:var(--danger)}.error{color:var(--danger)}.slider{grid-template-columns:118px 1fr 64px;align-items:center;gap:10px;padding:3px 0;display:grid}.slider.disabled{opacity:.4}.slider-label{color:var(--muted);-webkit-user-select:none;user-select:none;font-size:13px}.slider.changed .slider-label{color:var(--text)}.slider-number{background:var(--bg);border:1px solid var(--line);text-align:right;width:100%;font-family:var(--mono);border-radius:6px;padding:3px 6px;font-size:12.5px}input[type=range]{width:100%;accent-color:var(--accent);touch-action:pan-y;margin:0}input[type=range].custom-track{appearance:none;background:var(--track);border-radius:999px;height:6px}input[type=range].custom-track::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:2px solid #111;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 1px #fff6}input[type=range].custom-track::-moz-range-thumb{background:#fff;border:2px solid #111;border-radius:50%;width:14px;height:14px}.segmented{background:var(--bg);border:1px solid var(--line);border-radius:999px;margin-bottom:10px;padding:3px;display:inline-flex}.segmented button{color:var(--muted);background:0 0;border:none;border-radius:999px;padding:4px 14px}.segmented button.active{background:var(--panel-3);color:var(--text)}.swatches{gap:8px;margin-bottom:10px;display:flex}.swatch{border:2px solid #0000;border-radius:50%;width:28px;height:28px;padding:0;position:relative}.swatch.active{box-shadow:0 0 0 2px var(--bg);border-color:#fff}.swatch.modified:after{content:"";background:var(--accent);border:2px solid var(--panel);border-radius:50%;width:9px;height:9px;position:absolute;top:-3px;right:-3px}.blender-title{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.grading-range{border-bottom:1px solid var(--line);margin-bottom:8px;padding-bottom:8px}.grading-head{align-items:center;gap:8px;margin-bottom:2px;display:flex}.curve-svg{aspect-ratio:1;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);touch-action:none;cursor:crosshair;width:100%}.curve-grid line{stroke:var(--line);stroke-width:.6px}.curve-diagonal{stroke:var(--faint);stroke-width:.6px;stroke-dasharray:3 3}.curve-path{fill:none;stroke:var(--accent);stroke-width:1.6px}.curve-point{fill:var(--panel);stroke:#fff;stroke-width:1.5px}.curve-point.active{fill:var(--accent)}.curve-bar{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.curve-count{color:var(--muted);font-family:var(--mono);font-size:12px}.text-preview{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--mono);white-space:pre-wrap;max-height:260px;margin:0;padding:10px;font-size:12px;overflow:auto}.cart{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:20px;display:grid}.cart-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.cart-head h2{margin:0;font-size:18px}.cart-items{margin:0;padding:0;list-style:none}.cart-items li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:8px 0;display:flex}.cart-file{width:150px;color:var(--accent);flex:none}.cart-title{text-align:left;background:0 0;border:none;flex:1;align-items:baseline;gap:10px;padding:0;display:flex;overflow:hidden}.cart-title:hover:not(:disabled){color:var(--accent);background:0 0}.cart-title code{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cart-actions{gap:4px;display:flex}.cart-side{flex-direction:column;gap:14px;display:flex}.cart-side h3,.guide h3{margin:0 0 8px;font-size:14px}.guide h3:not(:first-child){margin-top:16px}.guide ol{margin:0;padding-left:20px}.guide li{margin-bottom:6px}.radio{cursor:pointer;align-items:center;gap:8px;padding:3px 0;display:flex}.radio input{accent-color:var(--accent)}.outcome{border-radius:var(--radius-sm);background:#57cf8a14;border:1px solid #57cf8a59;padding:8px 12px}.outcome p{margin:3px 0}.drop-overlay{z-index:60;pointer-events:none;background:#000000d1;place-items:center;display:grid;position:fixed;inset:0}.drop-overlay div{border:2px dashed var(--accent);color:var(--accent);border-radius:16px;padding:40px 60px;font-size:18px;font-weight:600}.toasts{z-index:70;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--panel-3);border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:var(--radius-sm);max-width:min(560px,90vw);padding:9px 14px;box-shadow:0 8px 24px #0006}.toast.ok{border-left-color:var(--ok)}.toast.warn{border-left-color:var(--warn)}.toast.error{border-left-color:var(--danger)}@media (max-width:980px){.editor,.cart,.detail{grid-template-columns:minmax(0,1fr)}.editor-preview{position:static}.editor-controls{display:contents}.editor-preview{order:-2}.editor .mood-panel{order:-1}}@media (max-width:760px){.topbar{gap:10px}.tabs{margin:0 auto;position:static;transform:none}}@media (max-width:480px){.topbar{padding-left:14px;padding-right:14px}.brand svg{display:none}.tabs button{white-space:nowrap;padding:6px 10px}.brand strong{white-space:nowrap;font-size:14px}.topbar{gap:8px}html.android .topbar,html.ios .topbar{padding-left:calc(14px + max(env(safe-area-inset-left), var(--safe-area-inset-left,0px)));padding-right:calc(14px + max(env(safe-area-inset-right), var(--safe-area-inset-right,0px)))}.toolbar,.toolbar-actions{flex-wrap:nowrap}.toolbar .search{flex:1 1 0;min-width:0;max-width:none}.toolbar-actions{margin-left:0}.toolbar-actions>*,.toolbar-actions .menu>summary{white-space:nowrap}.filters,.scenes .chips{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.filters .chip,.scenes .chip{white-space:nowrap;flex:none}.gallery .scene-row{flex-direction:row;align-items:center;gap:8px}.scenes{min-width:0}.card-title-row{flex-wrap:wrap;gap:4px}.card-title{flex-basis:100%}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}@media (max-width:1200px){.tagline{display:none}}@media (max-width:600px){.content{padding:14px}.scene-row{flex-direction:column;gap:6px}.slider{grid-template-columns:92px 1fr 56px}.cart-file{width:110px}}.dialog.wide{width:min(820px,100%);max-height:calc(100vh - 48px);overflow:auto}.dialog textarea{margin:8px 0}.review-list{border:1px solid var(--line);border-radius:var(--radius-sm);max-height:46vh;margin:10px 0;padding:0;list-style:none;overflow:auto}.review-list li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 10px;display:flex}.review-list li:last-child{border-bottom:none}.review-list li.invalid,.review-list li.duplicate{opacity:.6}.review-list input[type=checkbox]{accent-color:var(--accent);flex:none;width:16px;height:16px}.review-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.review-title,.np-inline{background:0 0;border:1px solid #0000;border-radius:6px;margin-left:-6px;padding:2px 6px}.review-title{font-weight:600}.review-title:hover,.review-title:focus,.np-inline:hover,.np-inline:focus{border-color:var(--line);background:var(--bg)}.review-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.np-inline{width:190px;color:var(--accent)}.block-thumb{object-fit:cover;background:var(--panel-2);border-radius:6px;flex:none;width:84px;height:56px}.small-btn{padding:4px 10px;font-size:12.5px}.meta-row{grid-template-columns:2fr 1fr;gap:10px;display:grid}.radio.inline{margin-right:auto}.small-empty{padding:18px 0}.cloud-guide{background:var(--panel-2);border-radius:var(--radius-sm);margin:10px 0 4px;padding:10px 14px}.cloud-guide p{margin:4px 0}.cloud-guide ol{margin:8px 0;padding-left:20px}.cloud-guide li{margin-bottom:4px}.badge.reddit{color:#ff8a5b;background:#ff6e4029}.badge.imaging-cloud{color:var(--accent);background:#ffe10029}.badge.floating.reddit,.badge.floating.imaging-cloud{background:#000000a6}.badge.status-new{color:var(--ok);background:#57cf8a24}.badge.status-invalid{color:var(--danger);background:#ff6b6b24}.badge.status-no-preview{color:var(--warn);background:#f0a33a29}.origin{color:var(--muted);margin:8px 0 0;font-size:13px}.origin p{margin:0 0 4px}.origin a{color:var(--accent)}.origin-edit{border:1px solid var(--line);border-radius:var(--radius-sm);margin-top:10px;padding:10px}@media (max-width:600px){.meta-row{grid-template-columns:1fr}.block-thumb{display:none}}.toast{pointer-events:auto;align-items:center;gap:12px;display:flex}.toast-action{color:var(--accent);background:0 0;border:none;padding:0;font-weight:600}.toast-action:hover:not(:disabled){background:0 0;text-decoration:underline}.muted{color:var(--muted)}.topbar-actions{gap:6px;margin-left:auto;display:flex}html.desktop .topbar{-webkit-app-region:drag;-webkit-user-select:none;user-select:none;padding-left:88px}html.android .topbar,html.ios .topbar{padding:calc(10px + max(env(safe-area-inset-top), var(--safe-area-inset-top,0px))) calc(20px + max(env(safe-area-inset-right), var(--safe-area-inset-right,0px))) 10px calc(20px + max(env(safe-area-inset-left), var(--safe-area-inset-left,0px)));-webkit-app-region:no-drag}html.android .tabs,html.ios .tabs{top:calc(50% + max(env(safe-area-inset-top), var(--safe-area-inset-top,0px)) / 2)}html.android body,html.ios body{padding-bottom:max(env(safe-area-inset-bottom), var(--safe-area-inset-bottom,0px))}html.android,html.ios{touch-action:manipulation}html.android .overlay,html.ios .overlay,html.android .lightbox,html.ios .lightbox{padding-top:calc(24px + max(env(safe-area-inset-top), var(--safe-area-inset-top,0px)));padding-bottom:calc(24px + max(env(safe-area-inset-bottom), var(--safe-area-inset-bottom,0px)))}html.android .detail,html.ios .detail{max-height:calc(100vh - 48px - max(env(safe-area-inset-top), var(--safe-area-inset-top,0px)) - max(env(safe-area-inset-bottom), var(--safe-area-inset-bottom,0px)))}html.ios input,html.ios textarea,html.ios select{font-size:max(16px,1em)}html.desktop .topbar button,html.desktop .topbar a,html.desktop .topbar input{-webkit-app-region:no-drag}.menu{position:relative}.menu>summary{cursor:pointer;border:1px solid var(--line);background:var(--panel-2);border-radius:var(--radius-sm);white-space:nowrap;padding:7px 12px;list-style:none}.menu>summary::-webkit-details-marker{display:none}.menu[open]>summary{background:var(--panel-3)}.menu-list{z-index:30;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;min-width:220px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 30px #00000073}.menu-list button{text-align:left;background:0 0;border:none;padding:8px 10px}.card-view{flex-direction:column;gap:16px;display:flex}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.card-head h2{margin:0 0 6px;font-size:20px}.card-head-main{min-width:260px}.card-head-actions{flex-wrap:wrap;gap:8px;display:flex}.capacity{align-items:center;gap:10px;display:flex}.capacity-bar{background:var(--panel-3);border-radius:999px;width:160px;height:6px;overflow:hidden}.capacity-bar span{background:var(--accent);height:100%;display:block}.card-npname{color:var(--text);text-align:left;background:0 0;border:none;padding:0;font-size:14px;font-weight:600}.card-npname span{color:var(--faint);opacity:0;margin-left:4px;font-size:12px;transition:opacity .15s}.card-npname:hover:not(:disabled){color:var(--accent);background:0 0}.card-npname:hover span{opacity:1}.rename-input{background:var(--bg);border:1px solid var(--accent);border-radius:6px;width:100%;padding:3px 6px}.card-file-row{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.icon-btn.subtle{opacity:.6;background:0 0;border-color:#0000}.icon-btn.subtle:hover:not(:disabled){opacity:1;background:#ff6b6b24}.badge.ok-badge{color:var(--ok)}.guide-details>summary{margin-bottom:0}.guide-details[open]>summary{margin-bottom:10px}.no-card{text-align:center;max-width:520px;margin:12vh auto}.no-card-icon{color:var(--accent);margin-bottom:10px}.no-card h2{margin:0 0 10px;font-size:22px}.no-card p{color:var(--muted)}.picker-bar{align-items:center;gap:12px;margin:10px 0;display:flex}.picker-bar input{flex:1}.picker-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;max-height:56vh;padding:2px;display:grid;overflow:auto}.pick{text-align:left;border-radius:var(--radius-sm);white-space:normal;flex-direction:column;gap:4px;padding:6px;display:flex}.pick.checked{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.pick.already{opacity:.5}.pick-thumb{aspect-ratio:3/2;background:var(--panel-3);border-radius:5px;position:relative;overflow:hidden}.pick-thumb img{object-fit:cover;width:100%;height:100%;display:block}.pick-check{background:#0000008c;border:1.5px solid #ffffffb3;border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:grid;position:absolute;top:6px;right:6px}.pick.checked .pick-check{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.pick-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.pick-sub{color:var(--muted);font-size:11px}.dialog.settings{width:min(460px,100%)}.toggle{cursor:pointer;align-items:center;gap:10px;padding:8px 0;display:flex}.toggle input{accent-color:var(--accent);width:16px;height:16px}.badge.card{color:var(--ok);background:#57cf8a24}.badge.floating.card{background:#000000a6}.overlay,.toast,.drop-overlay{-webkit-app-region:no-drag}.no-card{max-width:760px;margin:8vh auto 40px}.no-card-guide{text-align:left;margin-top:28px}.camera-guide h3{margin:0 0 12px;font-size:16px}.camera-guide .chips{margin-bottom:14px}.guide-steps{margin:0 0 10px;padding-left:22px}.guide-steps li{margin-bottom:10px;line-height:1.6}.menu-path{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.menu-path kbd{font-family:var(--font);background:var(--panel-3);border:1px solid var(--line);white-space:nowrap;border-bottom-width:2px;border-radius:6px;padding:2px 8px;font-size:13px}.menu-path kbd:last-child{border-color:var(--accent);color:var(--accent)}.menu-sep{color:var(--faint)}.guide-alt{color:var(--muted);margin-top:8px;font-size:12.5px}.guide-alt .menu-path kbd{padding:1px 6px;font-size:12px}.guide-firmware{border-radius:var(--radius-sm);color:var(--accent);background:#ffe1001a;margin:0 0 12px;padding:8px 12px;font-size:13px}.guide-warning{border-radius:var(--radius-sm);color:var(--warn);background:#f0a33a1f;margin:0;padding:10px 12px}.camera-guide .guide-warning{margin-bottom:12px}.legacy-banner{border-radius:var(--radius-sm);color:var(--warn);background:#f0a33a1f;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;padding:10px 12px;font-size:13.5px;display:flex}.legacy-banner span{flex:240px}.camera-select{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 10px}.badge.community{color:#9db7ff;background:#78a0ff29}.badge.floating.community{background:#000000a6}.community-panel{background:linear-gradient(135deg,#ffe10014,#ffe10005);border-color:#ffe10059;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:16px 0 6px;display:flex}.community-panel h3{margin:0 0 6px;font-size:16px}.community-panel p{max-width:760px;margin:0 0 6px}.community-panel a,.community-credit a{color:var(--accent)}.community-credit{text-align:center;color:var(--faint);margin:28px 0 0;font-size:12.5px}.recipe-photos{border:1px dashed var(--line);border-radius:var(--radius);margin-top:6px;padding:12px}.recipe-photos.over{border-color:var(--accent);background:#ffe1000d}.recipe-photos-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.recipe-photos-head h3{align-items:center;gap:8px;margin:0;font-size:14px;display:flex}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.photo-tile{aspect-ratio:3/2;background:var(--panel-2);border:none;border-radius:6px;padding:0;overflow:hidden}.photo-tile img{object-fit:cover;width:100%;height:100%;transition:transform .2s;display:block}.photo-tile:hover img{transform:scale(1.04)}.badge.floating.bottom{inset:auto 8px 8px auto}.lightbox{z-index:80;-webkit-app-region:no-drag;background:#000000f0;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;border-radius:6px;max-width:100%;max-height:calc(100vh - 110px)}.lightbox-bar{align-items:center;gap:10px;display:flex}.lightbox.frame-view{justify-content:flex-start;overflow-y:auto}.frame-preview{flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.frame-view img{border-radius:2px;max-height:58vh;box-shadow:0 10px 40px #0009}.crop-editor{flex-direction:column;align-items:center;gap:10px;display:flex}.crop-stage{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;outline:2px solid var(--accent);background:#000;line-height:0;position:relative;overflow:hidden}.crop-stage:active{cursor:grabbing}.lightbox .crop-stage img{max-width:none;max-height:none;box-shadow:none;transform-origin:0 0;pointer-events:none;border-radius:0;position:absolute;top:0;left:0}.crop-grid{pointer-events:none;background:linear-gradient(90deg,#0000 calc(33.333% - .5px),#ffffff8c calc(33.333% - .5px) calc(33.333% + .5px),#0000 calc(33.333% + .5px) calc(66.666% - .5px),#ffffff8c calc(66.666% - .5px) calc(66.666% + .5px),#0000 calc(66.666% + .5px)),linear-gradient(#0000 calc(33.333% - .5px),#ffffff8c calc(33.333% - .5px) calc(33.333% + .5px),#0000 calc(33.333% + .5px) calc(66.666% - .5px),#ffffff8c calc(66.666% - .5px) calc(66.666% + .5px),#0000 calc(66.666% + .5px));position:absolute;inset:0}.crop-foot{justify-content:space-between;align-items:center;gap:12px;width:min(480px,100%);display:flex}.crop-foot p{margin:0}.crop-zoom{width:min(480px,100%);color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.crop-zoom input{flex:1}.frame-controls{flex-direction:column;gap:8px;width:min(720px,100%);display:flex}.frame-row{align-items:center;gap:10px;display:flex}.frame-label{width:60px;color:var(--muted);flex:none;font-size:12px}.frame-chips{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.frame-chips .chip{flex:none}.tone-dot{vertical-align:-1px;border:1px solid #fff6;border-radius:50%;width:10px;height:10px;display:inline-block}.tone-dot.light{background:#fff}.tone-dot.cream{background:#f3eee3}.tone-dot.dark{background:#111}.frame-loading{color:var(--muted)}.frame-note{text-align:center;max-width:520px;margin:0}.media-tabs{align-self:flex-start;margin-bottom:0}.recipe-photos.wall{border-style:solid;border-color:#0000;margin-top:0;padding:0}.recipe-photos.wall.over{border-style:dashed;border-color:var(--accent);padding:8px}.photo-wall{columns:3 220px;column-gap:10px}.photo-wall.small{columns:6 150px;column-gap:8px}.photo-wall .photo-tile{aspect-ratio:auto;break-inside:avoid;width:100%;margin:0 0 10px;display:block}.photo-wall.small .photo-tile{margin-bottom:8px}.photo-wall .photo-tile img{height:auto}.photo-tile.more{aspect-ratio:1;color:var(--muted);border:1px dashed var(--line);place-items:center;font-size:18px;display:grid}.photo-gallery .toolbar{margin-bottom:18px}.photo-library{flex-direction:column;gap:28px;display:flex}.photo-group-head{text-align:left;background:0 0;border:none;align-items:baseline;gap:10px;width:100%;padding:0 0 10px;display:flex}.photo-group-head:hover:not(:disabled){background:0 0}.photo-group-title{font-size:17px;font-weight:650}.photo-group-open{color:var(--muted);margin-left:auto;font-size:13px}.photo-group-head:hover .photo-group-title,.photo-group-head:hover .photo-group-open{color:var(--accent)}.photo-group-head.orphan .photo-group-title{color:var(--muted)}@media (max-width:420px){.topbar .brand{display:none}}.mood-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.mood-label{width:64px;color:var(--muted);flex:none;font-size:12px}.mood-chips{scrollbar-width:none;flex-wrap:nowrap;min-width:0;overflow-x:auto}.mood-chips .chip{white-space:nowrap;flex:none;align-items:center;gap:6px;display:inline-flex}.mood-dot{border:1px solid #ffffff59;border-radius:50%;width:10px;height:10px}.mood-foot{align-items:center;gap:12px;margin-top:4px;display:flex}.mood-foot .segmented{margin-bottom:0}
