@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_94bba844-module__sVRE-a__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_94bba844-module__sVRE-a__variable{--font-ohf-inter:"Inter", "Inter Fallback"}
.ohf{--bg:var(--upf-studio-bg);--rail:var(--upf-studio-rail);--s1:var(--upf-studio-s1);--s2:var(--upf-studio-s2);--s3:var(--upf-studio-s3);--s4:var(--upf-studio-s4);--line:var(--ohf-edge-06);--line-2:var(--ohf-edge-11);--tx:var(--upf-studio-tx);--tx2:var(--upf-studio-tx2);--tx3:var(--upf-studio-tx3);--tx4:var(--upf-studio-tx4);--tx-off:var(--upf-studio-tx-off);--accent:var(--ohf-brand);--accent-strong:var(--ohf-brand-hi);--accent-ink:var(--ohf-brand-ink);--accent-08:var(--ohf-brand-08);--accent-14:var(--ohf-brand-14);--accent-32:var(--ohf-brand-32);--plate:var(--ohf-plate);--plate-ink:var(--ohf-plate-ink);--shadow-1:0 1px 2px var(--ohf-shade-40);--shadow-2:0 4px 12px var(--ohf-shade-30), 0 16px 40px var(--ohf-shade-35);--shadow-3:0 8px 24px var(--ohf-shade-40), 0 32px 88px var(--ohf-shade-52);--glint:inset 0 1px 0 var(--ohf-edge-045);--ease:cubic-bezier(.2, 0, 0, 1);--ease-slide:cubic-bezier(.16, 1, .3, 1);--font-ui:var(--font-ohf-inter), ui-sans-serif, system-ui, sans-serif;--danger:var(--ohf-danger);--danger-bg:var(--ohf-danger-bg);--danger-line:var(--ohf-danger-line);font-family:var(--font-ui);color:var(--tx);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;caret-color:var(--accent);accent-color:var(--accent);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}
.ohf *,.ohf :before,.ohf :after{box-sizing:border-box}:where(.ohf *){margin:0;padding:0}:where(.ohf :is(h1,h2,h3,h4,h5,h6)){font-size:inherit;font-weight:inherit}:where(.ohf :is(ul,ol)){list-style:none}:where(.ohf :is(img,svg,video)){display:block}:where(.ohf :is(img,video)){max-width:100%;height:auto}.ohf ::selection{background:var(--ohf-brand-select);color:var(--ohf-select-ink)}.ohf :where(button){color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}.ohf :where(button:disabled){cursor:default}.ohf input,.ohf textarea{color:inherit;font-family:inherit}.ohf :focus-visible{outline:2px solid var(--accent-32);outline-offset:2px;border-radius:6px}
.ohf ::-webkit-scrollbar{width:8px;height:8px}.ohf ::-webkit-scrollbar-thumb{background:var(--s3);background-clip:padding-box;border:2px solid #0000;border-radius:8px}.ohf ::-webkit-scrollbar-thumb:hover{background:var(--s4);background-clip:padding-box;border:2px solid #0000}.ohf ::-webkit-scrollbar-track{background:0 0}.ohf .ohf-scroll{scrollbar-width:thin;scrollbar-color:var(--s3) transparent}
@keyframes ohf-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ohf-fade{0%{opacity:0}to{opacity:1}}@keyframes ohf-pop{0%{opacity:0;transform:scale(.97)translateY(6px)}to{opacity:1;transform:none}}@keyframes ohf-pop-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.985)translateY(4px)}}@keyframes ohf-fade-out{0%{opacity:1}to{opacity:0}}@keyframes ohf-tile{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:none}}@keyframes ohf-sheen{0%{transform:translate(-50%)}to{transform:translate(0,0)}}
@keyframes ohf-pulse{0%,to{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@keyframes ohf-arrive{0%{opacity:0;filter:brightness(1.5)saturate(.6);transform:scale(.94)}55%{opacity:1;filter:brightness(1.12)saturate(.95)}to{opacity:1;filter:none;transform:none}}@keyframes ohf-drop{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes ohf-selbar-in{0%{opacity:0;translate:0 18px;scale:.9}to{opacity:1;translate:0;scale:1}}@keyframes ohf-selbar-out{0%{opacity:1;translate:0;scale:1}to{opacity:0;translate:0 8px;scale:.96}}
@keyframes ohf-selitem{0%{opacity:0;filter:blur(4px);translate:0 9px;scale:.88}to{opacity:1;filter:blur();translate:0;scale:1}}@keyframes ohf-count{0%{opacity:0;translate:0 -.5em}to{opacity:1;translate:0}}@keyframes ohf-keep{0%{transform:scale(1)}36%{transform:scale(1.34)}to{transform:scale(1)}}@keyframes ohf-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes ohf-rotate{to{transform:rotate(360deg)}}@keyframes ohf-spin-once{0%{transform:rotate(0)}to{transform:rotate(180deg)}}
.ohf-shell{background:var(--bg);height:100dvh;position:relative;overflow:hidden}
.ohf-topbar{background:var(--s1);border-bottom:1px solid var(--line);z-index:30;pointer-events:none;justify-content:space-between;align-items:center;width:100%;padding:12px 20px 0;display:flex;position:absolute;inset:0 0 auto}.ohf-topbar-side{pointer-events:auto;align-items:center;min-width:200px;display:flex}.ohf-topbar-side--left{justify-content:flex-start}.ohf-topbar-side--right{justify-content:flex-end;position:relative}
.ohf-brand-pill{cursor:pointer;background:var(--upf-studio-s1);border:1px solid var(--ohf-edge-08);height:40px;box-shadow:0 4px 12px var(--ohf-shade-30);border-radius:12px;align-items:center;gap:6px;padding:0 14px 0 10px;text-decoration:none;transition:all .15s;display:inline-flex}.ohf-brand-pill:hover{border-color:var(--ohf-brand-30);background:var(--upf-studio-s2)}.ohf-brand-logo{border-radius:8px;flex-shrink:0;width:28px;height:28px;display:block}.ohf-brand-text{letter-spacing:.08em;color:var(--upf-studio-tx);font-size:12px;font-weight:800}.ohf-brand-sub{letter-spacing:.08em;color:var(--ohf-brand);background:var(--ohf-brand-12);border-radius:4px;padding:2px 5px;font-size:10px;font-weight:700}
.ohf-topbar-login-btn{background:var(--upf-studio-s1);border:1px solid var(--ohf-brand-30);height:40px;color:var(--ohf-brand);cursor:pointer;box-shadow:0 4px 12px var(--ohf-shade-30);border-radius:12px;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.ohf-topbar-login-btn:hover{background:var(--ohf-brand);color:var(--ohf-brand-ink);border-color:var(--ohf-brand);box-shadow:0 4px 16px var(--ohf-brand-35)}.ohf-topbar-bolt{font-size:14px}.ohf-topbar-bolt,.ohf-credit-bolt{align-items:center;display:inline-flex}.ohf-topbar-bolt svg,.ohf-credit-bolt svg{display:block}
.ohf-user-section{align-items:center;gap:8px;display:flex;position:relative}.ohf-credit-pill{background:var(--upf-studio-s1);border:1px solid var(--ohf-edge-08);height:40px;box-shadow:0 4px 12px var(--ohf-shade-30);-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:12px;align-items:center;gap:6px;padding:0 12px;font-size:13px;transition:all .15s;display:inline-flex}.ohf-credit-pill:hover{border-color:var(--ohf-brand-40);background:var(--ohf-surface-menu);box-shadow:0 6px 16px var(--ohf-shade-40), 0 0 12px var(--ohf-brand-15);transform:translateY(-1px)}.ohf-credit-plus{background:var(--ohf-brand-15);width:18px;height:18px;color:var(--ohf-brand);border-radius:5px;justify-content:center;align-items:center;margin-left:2px;font-size:13px;font-weight:800;transition:all .15s;display:inline-flex}.ohf-credit-pill:hover .ohf-credit-plus{background:var(--ohf-brand);color:var(--ohf-brand-ink);transform:scale(1.1)}.ohf-credit-bolt{color:var(--ohf-brand);filter:drop-shadow(0 0 4px var(--ohf-brand-40));font-size:14px}.ohf-credit-amount{color:var(--upf-studio-tx);font-variant-numeric:tabular-nums;font-weight:700}.ohf-credit-label{color:var(--upf-studio-tx3);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}
.ohf-user-avatar-btn{background:var(--upf-studio-s3);border:1px solid var(--ohf-edge-10);width:40px;height:40px;color:var(--upf-studio-tx);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex;overflow:hidden}.ohf-user-avatar-btn:hover{border-color:var(--ohf-brand-40);transform:scale(1.02)}.ohf-user-avatar-img{object-fit:cover;width:100%;height:100%}.ohf-user-initial{color:var(--ohf-brand);font-size:14px;font-weight:700}.ohf-user-dropdown{background:var(--upf-studio-s1);border:1px solid var(--ohf-edge-10);width:260px;box-shadow:0 16px 40px var(--ohf-shade-60);border-radius:16px;padding:16px;animation:.15s cubic-bezier(.16,1,.3,1) ohf-topbar-in;position:absolute;top:calc(100% + 8px);right:0}.ohf-dropdown-header{border-bottom:1px solid var(--ohf-edge-06);margin-bottom:12px;padding-bottom:12px}.ohf-dropdown-user-row{align-items:center;gap:10px;display:flex}.ohf-dropdown-avatar{background:var(--upf-studio-s3);border:1px solid var(--ohf-edge-10);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;overflow:hidden}.ohf-dropdown-user-meta{flex:1;min-width:0}.ohf-dropdown-name{color:var(--upf-studio-tx);font-size:14px;font-weight:700}.ohf-dropdown-email{color:var(--upf-studio-tx3);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}
.ohf-dropdown-credits-card{background:var(--upf-studio-s2);border:1px solid var(--ohf-edge-05);border-radius:12px;margin-bottom:12px;padding:12px}.ohf-credits-card-header{color:var(--upf-studio-tx3);text-transform:uppercase;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;display:flex}.ohf-credits-topup-btn{background:var(--ohf-brand-15);border:1px solid var(--ohf-brand-30);color:var(--ohf-brand);cursor:pointer;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700;transition:all .15s}.ohf-credits-topup-btn:hover{background:var(--ohf-brand);color:var(--ohf-brand-ink)}.ohf-credits-card-badge{color:var(--ohf-brand);background:var(--ohf-brand-12);border-radius:4px;padding:1px 6px;font-size:10px}.ohf-credits-card-val{color:var(--ohf-brand);font-variant-numeric:tabular-nums;margin:6px 0 2px;font-size:20px;font-weight:700}.ohf-credits-card-val small{color:var(--upf-studio-tx2);font-size:12px;font-weight:500}.ohf-credits-card-sub{color:var(--upf-studio-tx-off);font-size:11px}.ohf-dropdown-actions{flex-direction:column;gap:4px;display:flex}.ohf-dropdown-item{width:100%;height:36px;color:var(--upf-studio-tx);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:0 10px;font-size:13px;font-weight:500;text-decoration:none;transition:background .12s;display:flex}.ohf-dropdown-item:hover{background:var(--upf-studio-s3)}.ohf-dropdown-item--danger:hover{background:var(--ohf-danger-12);color:var(--ohf-danger)}
@keyframes ohf-topbar-in{0%{opacity:0;transform:scale(.95)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (max-width:800px){.ohf-topbar{padding:8px 12px 0}.ohf-brand-text,.ohf-brand-sub,.ohf-credit-label{display:none}.ohf-topbar-side{min-width:auto}}@media (max-width:480px){.ohf-topbar{flex-wrap:nowrap;gap:12px;padding:8px 12px 0}.ohf-topbar-side{flex-shrink:0;min-width:0}.ohf-bar{scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x mandatory;scroll-behavior:smooth;min-width:0;padding:0 4px;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 4px calc(100% - 4px),#0000);mask-image:linear-gradient(90deg,#0000,#000 4px calc(100% - 4px),#0000)}.ohf-bar::-webkit-scrollbar{display:none}.ohf-tab{white-space:nowrap;scroll-snap-align:center;flex-shrink:0;padding:0 12px;font-size:13px;font-weight:500}.ohf-desktop-login-text{display:none}.ohf-topbar-login-btn{padding:0 12px}.ohf-credit-pill{display:none}}@media (max-width:375px){.ohf-topbar{gap:8px;padding:8px 8px 0}.ohf-tab{padding:0 10px;font-size:12px}}@media (max-width:320px){.ohf-topbar{padding:6px 6px 0}.ohf-tab{padding:0 8px}}.ohf-bar{pointer-events:auto;background:var(--s2);border:1px solid var(--line);height:46px;box-shadow:var(--shadow-2), var(--glint);border-radius:15px;align-items:center;padding:0 5px;display:flex}.ohf-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}
.ohf-tabs{align-items:center;gap:2px;display:flex;position:relative}.ohf-thumb{width:var(--thumb-w);transform:translate3d(var(--thumb-x), 0, 0);background:var(--s3);border:1px solid var(--line-2);box-shadow:var(--shadow-1), var(--glint);opacity:0;pointer-events:none;transition:transform .44s var(--ease-slide), width .44s var(--ease-slide), opacity .2s ease;border-radius:10px;position:absolute;top:0;bottom:0;left:0}.ohf-thumb[data-ready=true]{opacity:1}.ohf-tab{z-index:1;white-space:nowrap;letter-spacing:-.005em;height:36px;color:var(--tx2);border-radius:10px;align-items:center;gap:8px;padding:0 13px;font-size:12.5px;font-weight:550;transition:color .22s,background .15s;display:flex;position:relative}.ohf-tab svg{color:var(--tx3);flex-shrink:0;transition:color .22s}.ohf-tab:hover{color:var(--tx)}.ohf-tab:hover svg{color:var(--tx2)}.ohf-tab:not([aria-selected=true]):hover{background:var(--ohf-hover-wash)}.ohf-tab:active{transform:scale(.97)}.ohf-tab[aria-selected=true]{color:var(--tx)}.ohf-tab[aria-selected=true] svg{color:var(--accent)}
.ohf-key{white-space:nowrap;letter-spacing:-.005em;height:36px;color:var(--tx2);border-radius:10px;align-items:center;gap:8px;padding:0 13px;font-size:12.5px;font-weight:550;transition:color .22s,background .15s;display:flex;position:relative}.ohf-key:hover{color:var(--tx);background:var(--ohf-hover-wash)}.ohf-key:active{transform:scale(.97)}.ohf-key svg{color:var(--tx3);flex-shrink:0;transition:color .22s}.ohf-key:hover svg{color:var(--tx2)}.ohf-key[data-ready=true] svg,.ohf-key[data-busy=true] svg{color:var(--accent)}.ohf-key[data-busy=true]{color:var(--tx)}.ohf-lamp{background:var(--tx4);border-radius:50%;width:6px;height:6px;transition:background .25s}.ohf-key[data-busy=true] .ohf-lamp{background:var(--accent);animation:2.4s ease-in-out infinite ohf-pulse}
.ohf-main{flex-direction:column;height:100%;display:flex;position:relative}.ohf-gallery{--ohf-fade:62px;min-height:0;-webkit-mask-image:linear-gradient(to bottom, transparent 0, var(--ohf-mask) var(--ohf-fade));-webkit-mask-image:linear-gradient(to bottom, transparent 0, var(--ohf-mask) var(--ohf-fade));mask-image:linear-gradient(to bottom, transparent 0, var(--ohf-mask) var(--ohf-fade));flex:1;padding:72px 20px 24px;overflow-y:auto}.ohf-gallery[data-selecting]{padding-bottom:calc(var(--ohf-dock-h,138px) + 8px)}.ohf-grid-window{width:100%;position:relative}.ohf-grid{grid-template-columns:repeat(var(--ohf-cols,4), minmax(0, 1fr));place-items:stretch stretch;column-gap:14px;display:grid;position:absolute;top:0;left:0;right:0}
.ohf-library-col{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.ohf-library-col .ohf-gallery{flex:1;min-height:0}.ohf-library-foot{flex-direction:column;flex:none;align-items:center;gap:8px;padding:12px 20px;display:flex}.ohf-library-error{color:var(--ohf-danger);margin:12px 20px 0;font-size:13px}.ohf-library-loading,.ohf-library-count{color:var(--tx3);margin:0;font-size:12px}
.ohf-tile{break-inside:avoid;aspect-ratio:4/3;background:var(--s1);border:1px solid var(--line);width:100%;box-shadow:var(--shadow-1);text-align:left;isolation:isolate;content-visibility:auto;contain-intrinsic-size:auto 220px;transition:border-color .2s ease, border-width .26s var(--ease-slide), box-shadow .25s var(--ease);animation:ohf-tile .32s var(--ease) both;animation-delay:var(--d,0s);border-radius:14px;margin:0;display:block;position:relative;overflow:hidden}.ohf-tile:hover{border-color:var(--line-2);box-shadow:var(--shadow-2)}.ohf-tile:has(.ohf-tile-open:active){transform:scale(.99)}.ohf-tile:has(.ohf-tile-open:focus-visible){border-color:var(--line-2);box-shadow:var(--shadow-2), 0 0 0 2px var(--accent-32)}.ohf-tile-media{object-fit:contain;object-position:center;width:100%;height:100%;animation:.4s ohf-fade;position:absolute;inset:0}.ohf-tile-open{z-index:1;border-radius:inherit;display:block;position:absolute;inset:0}.ohf-tile-open:focus-visible{outline:none}
.ohf-tile-acts{z-index:2;gap:5px;display:flex;position:absolute;top:9px;right:9px}.ohf-tile-act{background:var(--plate);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--ohf-edge-09);width:32px;height:32px;color:var(--plate-ink);opacity:0;pointer-events:none;transition:opacity .16s ease, transform .2s var(--ease), background .15s ease, border-color .15s ease, color .15s ease;border-radius:8px;justify-content:center;align-items:center;display:flex;transform:translateY(-4px)scale(.94)}.ohf-tile:hover .ohf-tile-act,.ohf-tile[data-saving] .ohf-tile-act,.ohf-tile-act[data-on=true]{opacity:1;pointer-events:auto;transform:none}.ohf-tile:has(:focus-visible) .ohf-tile-act{opacity:1;pointer-events:auto;transform:none}.ohf-tile-act .ohf-spinner{border-color:var(--ohf-edge-24);border-top-color:var(--accent);width:15px;height:15px}.ohf-tile-act:hover{background:var(--ohf-plate-strong);border-color:var(--ohf-edge-20);color:var(--ohf-ink-bright)}.ohf-tile-act:active{transform:scale(.92)}.ohf-tile-act[data-on=true]{color:var(--accent);border-color:var(--accent-32)}.ohf-tile-act[data-on=true]:hover{background:var(--ohf-plate-strong);border-color:var(--accent);color:var(--accent-strong)}.ohf-tile-act--danger:hover{background:var(--ohf-plate-danger);border-color:var(--danger-line);color:var(--danger)}.ohf-tile-act[data-beat] svg{animation:ohf-keep .34s var(--ease)}
.ohf-pick{z-index:3;opacity:0;pointer-events:none;width:30px;height:30px;transition:opacity .16s ease, translate .24s var(--ease-slide), scale .24s var(--ease-slide);justify-content:center;align-items:center;display:flex;position:absolute;top:8px;left:8px;translate:-4px;scale:.9}.ohf-tile:hover .ohf-pick,.ohf-grid[data-selecting=true] .ohf-pick{opacity:1;pointer-events:auto;translate:0;scale:1}.ohf-tile:has(:focus-visible) .ohf-pick{opacity:1;pointer-events:auto;translate:0;scale:1}.ohf-pick-box{background:var(--plate);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--ohf-edge-36);width:21px;height:21px;box-shadow:0 1px 3px var(--ohf-shade-50);color:#0000;transition:background .18s var(--ease), border-color .18s var(--ease), color .1s ease, scale .16s var(--ease);border-radius:7px;justify-content:center;align-items:center;display:flex}.ohf-pick-box svg{opacity:0;transition:opacity .1s ease, scale .26s var(--ease-slide);scale:.4}.ohf-pick:hover .ohf-pick-box{background:var(--ohf-plate-strong);border-color:var(--ohf-edge-62)}.ohf-pick:active .ohf-pick-box{scale:.88}.ohf-pick[aria-checked=true] .ohf-pick-box{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.ohf-pick[aria-checked=true]:hover .ohf-pick-box{background:var(--accent-strong);border-color:var(--accent-strong)}.ohf-pick[aria-checked=true] .ohf-pick-box svg{opacity:1;scale:1}
.ohf-tile[data-picked=true]{border-width:4px;border-color:var(--accent);box-shadow:var(--shadow-2)}.ohf-tile[data-picked=true]:has(.ohf-tile-open:focus-visible){box-shadow:var(--shadow-2), 0 0 0 2px var(--bg), 0 0 0 4px var(--accent-32)}.ohf-tile[data-picked=true] .ohf-tile-media{filter:brightness(.82)saturate(.94)}.ohf-grid[data-selecting=true] .ohf-tile-acts{opacity:0;pointer-events:none;transition:opacity .16s ease, translate .2s var(--ease);translate:0 -4px}.ohf-tile-badge{transition:translate .26s var(--ease-slide)}.ohf-tile:hover .ohf-tile-badge,.ohf-grid[data-selecting=true] .ohf-tile-badge{translate:30px}.ohf-tile[data-fresh=true]{animation:ohf-arrive .62s var(--ease) both}
.ohf-tile--failed{animation:ohf-tile .32s var(--ease) both;justify-content:center;align-items:center;display:flex}.ohf-fail{text-align:center;flex-direction:column;align-items:center;gap:7px;max-width:320px;padding:20px;display:flex;position:relative}.ohf-fail-ic{background:var(--danger-bg);width:28px;height:28px;color:var(--danger);border-radius:8px;justify-content:center;align-items:center;display:flex}.ohf-fail-title{font-size:13px;font-weight:600}.ohf-fail-why{color:var(--tx2);padding-bottom:4px;font-size:11.5px;line-height:1.5}.ohf-grain{background-image:var(--ohf-grain);opacity:.28;mix-blend-mode:overlay;pointer-events:none;background-size:128px 128px;position:absolute;inset:0}
.ohf-tile-badge{pointer-events:none;background:var(--plate);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--plate-ink);font-variant-numeric:tabular-nums;border-radius:7px;align-items:center;gap:5px;padding:4px 8px;font-size:10px;display:flex;position:absolute;top:10px;left:10px}.ohf-tile-badge svg{display:block}.ohf-tile-caption{pointer-events:none;background:linear-gradient(transparent, var(--ohf-scrim-mid) 34%, var(--ohf-scrim-deep));opacity:0;transition:opacity .16s ease, transform .24s var(--ease);flex-direction:column;align-items:flex-start;gap:7px;padding:40px 12px 11px;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(8px)}.ohf-tile:hover .ohf-tile-caption{opacity:1;transform:none}.ohf-tile:has(:focus-visible) .ohf-tile-caption{opacity:1;transform:none}.ohf-tile-prompt{letter-spacing:-.006em;max-width:100%;color:var(--ohf-ink-bright);text-wrap:pretty;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:500;line-height:1.38;display:-webkit-box;overflow:hidden}.ohf-tile-facts{flex-wrap:wrap;gap:5px;display:flex}.ohf-tile-fact{background:var(--plate);border:1px solid var(--ohf-edge-09);color:var(--plate-ink);letter-spacing:.005em;font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:7px;padding:3px 7px;font-size:10.5px;font-weight:500;line-height:1.3}.ohf-tile-fact--model{color:var(--ohf-ink-bright);align-items:center;gap:5px;font-weight:600;display:inline-flex}
.ohf-skeleton{aspect-ratio:4/3;border:1px solid var(--line);background:var(--s1);width:100%;animation:ohf-tile .32s var(--ease) both;content-visibility:auto;contain-intrinsic-size:auto 220px;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin:0;display:flex;position:relative;overflow:hidden}.ohf-skeleton:before{content:"";background-image:linear-gradient(100deg, var(--s1) 24%, var(--s3) 50%, var(--s1) 76%);background-repeat:repeat-x;background-size:50% 100%;width:200%;animation:2.8s linear infinite ohf-sheen;position:absolute;top:0;bottom:0;left:0}.ohf-skeleton:after{content:"";opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='ohf-dither'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23ohf-dither)'/%3E%3C/svg%3E");background-size:160px 160px;position:absolute;inset:0}.ohf-skeleton-label,.ohf-skeleton-clock{z-index:1;position:relative}.ohf-skeleton-label{letter-spacing:.16em;text-transform:uppercase;color:var(--tx3);font-size:10px}.ohf-skeleton-clock{font-variant-numeric:tabular-nums;color:var(--tx4);font-size:11px}
.ohf-empty{place-items:center;min-height:100%;padding:4px 0 20px;display:grid}.ohf-empty-copy{text-align:center;width:100%;max-width:544px;animation:ohf-rise .42s var(--ease-slide) both;flex-direction:column;align-items:center;gap:9px;padding:0 8px;display:flex}.ohf-empty-title{letter-spacing:-.024em;color:var(--tx);text-wrap:balance;font-size:20px;font-weight:620;line-height:1.25}.ohf-empty-hint{color:var(--tx3);text-wrap:balance;max-width:42ch;font-size:13px;line-height:1.6}.ohf-empty-starters{flex-direction:column;gap:7px;width:100%;margin:13px 0 0;padding:0;list-style:none;display:flex}.ohf-starter{text-align:left;background:var(--ohf-starter-wash);border:1px solid var(--line);width:100%;transition:background .16s ease, border-color .16s ease, transform .16s var(--ease);border-radius:13px;align-items:center;gap:13px;padding:10px 12px 10px 10px;display:flex}.ohf-starter:hover{background:var(--s1);border-color:var(--line-2)}.ohf-starter:active{transform:scale(.994)}.ohf-starter-thumb{width:58px;box-shadow:inset 0 0 0 1px var(--ohf-edge-08), var(--shadow-1);border-radius:7px;flex-shrink:0;position:relative;overflow:hidden}.ohf-starter-text{min-width:0;color:var(--tx2);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:13px;line-height:1.45;transition:color .16s;display:-webkit-box;overflow:hidden}.ohf-starter:hover .ohf-starter-text,.ohf-starter:focus-visible .ohf-starter-text{color:var(--tx)}.ohf-starter-go{color:var(--tx3);opacity:0;transition:opacity .16s ease, transform .2s var(--ease);flex-shrink:0;display:flex;transform:translate(-4px)}.ohf-starter:hover .ohf-starter-go,.ohf-starter:focus-visible .ohf-starter-go{opacity:1;transform:none}
@media (max-width:480px){.ohf-empty-title{font-size:17px}.ohf-empty-hint,.ohf-starter-text{font-size:12.5px}}@media (max-width:320px){.ohf-empty-title{font-size:15px}.ohf-empty-hint,.ohf-starter-text{font-size:11px}}
.ohf-undo{background:var(--s2);border:1px solid var(--line-2);box-shadow:var(--shadow-2), var(--glint);animation:ohf-rise .22s var(--ease);border-radius:14px;align-items:center;gap:10px;margin-bottom:8px;padding:9px 10px 9px 14px;display:flex;position:relative;overflow:hidden}.ohf-undo-drain{transform-origin:0;background:var(--tx4);opacity:.5;width:100%;height:2px;animation:linear forwards ohf-drain;position:absolute;bottom:0;left:0}.ohf-undo-text{min-width:0;color:var(--tx2);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;overflow:hidden}.ohf-undo-act{background:var(--s3);border:1px solid var(--line);height:32px;box-shadow:var(--shadow-1);color:var(--tx);border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:0 11px;font-size:12.5px;font-weight:600;transition:background .15s,border-color .15s;display:flex}.ohf-undo-act:hover{background:var(--s4);border-color:var(--line-2)}.ohf-undo-act:active{transform:scale(.97)}
.ohf-pagination{justify-content:center;width:100%;display:flex}.ohf-pagination-content{scrollbar-width:none;flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px;max-width:100%;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.ohf-pagination-content::-webkit-scrollbar{display:none}.ohf-pagination-item{flex-shrink:0;justify-content:center;align-items:center;display:flex}.ohf-pagination-btn{min-width:36px;height:36px;font-family:var(--font-ui);color:var(--tx2);background:var(--s2);border:1px solid var(--line);box-shadow:var(--shadow-1);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background .18s var(--ease), color .15s ease, border-color .15s ease, transform .15s var(--ease), opacity .15s ease, box-shadow .18s var(--ease);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;line-height:1;display:inline-flex}.ohf-pagination-btn:hover{background:var(--s3);color:var(--tx);border-color:var(--line-2);box-shadow:var(--shadow-1), 0 2px 8px var(--ohf-shade-30)}.ohf-pagination-btn:active{transform:scale(.96)}.ohf-pagination-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ohf-pagination-btn--icon{background:var(--s2);border-color:var(--line);width:36px;min-width:36px;height:36px;color:var(--tx2);border-radius:8px;padding:0}.ohf-pagination-btn--icon:hover{background:var(--s3);border-color:var(--line-2);color:var(--tx)}.ohf-pagination-btn--icon:not(:disabled){background:var(--s2);border-color:var(--line);color:var(--tx2)}.ohf-pagination-btn--icon:not(:disabled):hover{background:var(--ohf-brand-08);border-color:var(--ohf-brand-14);color:var(--ohf-brand)}.ohf-pagination-btn--active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:var(--shadow-1), 0 2px 10px var(--ohf-brand-20);font-weight:600}.ohf-pagination-btn--active:hover{background:var(--accent-strong);color:var(--accent-ink);border-color:var(--accent-strong);box-shadow:var(--shadow-2)}.ohf-pagination-btn--active:active{transform:scale(.96)}.ohf-pagination-btn:disabled{background:var(--s1);color:var(--tx-off);border-color:var(--line);box-shadow:none;cursor:not-allowed;opacity:.7;pointer-events:none;transform:none}.ohf-pagination-ellipsis{min-width:32px;height:32px;color:var(--tx3);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.ohf-pagination-ellipsis svg{opacity:.9}@media (max-width:520px){.ohf-pagination-content{gap:4px}.ohf-pagination-btn{min-width:32px;height:32px;padding:0 8px;font-size:12.5px}.ohf-pagination-btn--icon{width:32px;min-width:32px;height:32px}.ohf-pagination-ellipsis{min-width:28px;height:32px}}
.ohf-alert{background:var(--danger-bg);border:1px solid var(--danger-line);animation:ohf-rise .22s var(--ease);border-radius:14px;align-items:center;gap:10px;margin-bottom:8px;padding:10px 10px 10px 13px;display:flex}.ohf-composer-wrap .ohf-alert{background:linear-gradient(var(--danger-bg), var(--danger-bg)), var(--plate);-webkit-backdrop-filter:blur(24px)saturate(1.15);backdrop-filter:blur(24px)saturate(1.15);box-shadow:var(--shadow-2)}.ohf-alert-ic{color:var(--danger);flex-shrink:0;display:flex}.ohf-alert-text{min-width:0;color:var(--tx);flex:1;font-size:12.5px;line-height:1.5}.ohf-icon-btn--ghost{background:0 0;border-color:#0000;width:28px;height:28px;position:relative}.ohf-icon-btn--ghost:after{content:"";position:absolute;inset:-6px}
.ohf-strip{flex-wrap:wrap;gap:13px;margin:0;padding:14px 12px 0;list-style:none;display:flex}.ohf-strip-item{animation:ohf-pop .2s var(--ease);position:relative}.ohf-strip-tile{background:var(--s1);width:56px;height:56px;box-shadow:inset 0 0 0 1px var(--ohf-edge-10), var(--shadow-1);border-radius:12px;display:block;position:relative;overflow:hidden}.ohf-strip-thumb{object-fit:cover;width:100%;height:100%;display:block}.ohf-strip-glyph{color:var(--tx3);justify-content:center;align-items:center;padding-bottom:10px;display:flex;position:absolute;inset:0}.ohf-strip-tag{letter-spacing:.1em;text-align:center;color:var(--ohf-ink-tag);background:linear-gradient(180deg, transparent, var(--ohf-strip-shade));padding:10px 4px 4px;font-size:8.5px;position:absolute;inset:auto 0 0}.ohf-strip-remove{width:22px;height:22px;color:var(--tx2);background:var(--s4);box-shadow:0 1px 4px var(--ohf-shade-55), inset 0 0 0 1px var(--line-2);transition:background .15s ease, color .15s ease, box-shadow .15s ease, transform .15s var(--ease);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-6px;right:-6px}.ohf-strip-remove:after{content:"";border-radius:50%;position:absolute;inset:-7px}.ohf-strip-remove:hover{background:var(--danger-bg);color:var(--danger);box-shadow:0 1px 4px var(--ohf-shade-55), inset 0 0 0 1px var(--danger-line)}.ohf-strip-remove:active{transform:scale(.96)}
.ohf-dock{z-index:30;pointer-events:none;padding:10px 20px 22px;position:absolute;inset:auto 0 0}.ohf-composer-wrap{pointer-events:auto;max-width:940px;margin:0 auto;position:relative}.ohf-composer{--ctl-r:10px;background:var(--s2);border:1px solid var(--line);box-shadow:var(--shadow-2), var(--glint);transition:border-color .2s var(--ease), box-shadow .2s var(--ease), opacity .18s var(--ease), translate .34s var(--ease-slide), scale .34s var(--ease-slide);border-radius:24px;flex-direction:column;display:flex}.ohf-composer:has(.ohf-prompt:focus){border-color:var(--accent-32);box-shadow:var(--shadow-2), var(--glint), 0 0 0 3px var(--accent-08)}.ohf-swap{grid-template-columns:minmax(0,1fr);align-items:end;display:grid}.ohf-swap>*{grid-area:1/1}.ohf-dock[data-selecting=true] .ohf-composer{opacity:0;pointer-events:none;translate:0 10px;scale:.97}.ohf-dock[data-selecting=true] .ohf-composer-wrap{pointer-events:none}.ohf-dock[data-selecting=true] :is(.ohf-undo,.ohf-alert){pointer-events:auto}
.ohf-selbar{background:var(--ohf-bar-plate);-webkit-backdrop-filter:blur(24px)saturate(1.15);backdrop-filter:blur(24px)saturate(1.15);border:1px solid var(--line-2);max-width:100%;box-shadow:var(--shadow-3), var(--glint);pointer-events:none;animation:ohf-selbar-out .2s var(--ease) both;border-radius:20px;justify-self:center;align-items:center;gap:6px;padding:8px;display:flex}.ohf-selbar[data-on=true]{pointer-events:auto;animation:ohf-selbar-in .42s var(--ease-slide) both}.ohf-selbar[data-on=true]>*{animation:ohf-selitem .38s var(--ease-slide) both}.ohf-selbar[data-on=true]>:nth-child(2){animation-delay:30ms}.ohf-selbar[data-on=true]>:nth-child(3){animation-delay:55ms}.ohf-selbar[data-on=true]>:nth-child(4){animation-delay:80ms}.ohf-selbar[data-on=true]>:nth-child(5){animation-delay:.105s}.ohf-selbar[data-on=true]>:nth-child(6){animation-delay:.13s}.ohf-selbar[data-on=true]>:nth-child(7){animation-delay:.155s}.ohf-selbar-count{color:var(--tx2);white-space:nowrap;flex:none;align-items:center;gap:10px;padding:0 6px;font-size:13px;display:flex}.ohf-selbar-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.ohf-selbar-n{font-variant-numeric:tabular-nums;color:var(--tx);animation:ohf-count .34s var(--ease-slide);font-weight:600;display:inline-block}
.ohf-selstack{flex:none;width:37px;height:26px;position:relative}.ohf-selchip{width:26px;height:26px;box-shadow:0 0 0 1.5px var(--ohf-chip-ring), 0 1px 4px var(--ohf-shade-55);translate:calc(var(--z) * 5px) 0;scale:calc(1 - var(--z) * .1);filter:brightness(calc(1 - var(--z) * .24));z-index:calc(3 - var(--z));animation:ohf-pop .26s var(--ease-slide);background-size:cover;border-radius:7px;position:absolute;top:0;left:0;overflow:hidden}.ohf-selchip img{object-fit:cover;width:100%;height:100%}.ohf-selchip-play{color:var(--ohf-ink-dim);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ohf-selbar-rule{background:var(--line-2);flex:none;width:1px;height:22px;margin:0 2px}.ohf-selbar-slot{flex:none;display:flex}.ohf-selact{background:var(--ohf-selact-wash);min-width:36px;height:36px;color:var(--tx);letter-spacing:-.006em;transition:background .15s ease, border-color .15s ease, color .15s ease, transform .15s var(--ease);border:1px solid #0000;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:7px;padding:0 9px;font-size:13px;font-weight:600;display:flex}.ohf-selact--wide{padding:0 13px 0 11px}.ohf-selact:hover:not(:disabled){background:var(--ohf-selact-hover-wash);border-color:var(--line-2)}.ohf-selact:active:not(:disabled){transform:scale(.94)}.ohf-selact:disabled{background:var(--ohf-selact-rest-wash);color:var(--tx-off)}.ohf-selact[data-on=true]{background:var(--accent-08);border-color:var(--accent-32);color:var(--accent)}.ohf-selact[data-on=true]:hover{background:var(--accent-14);border-color:var(--accent);color:var(--accent-strong)}.ohf-selact--danger:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger)}.ohf-selact--quiet{color:var(--tx2);background:0 0}.ohf-selact--quiet:hover:not(:disabled){background:var(--ohf-quiet-hover-wash);color:var(--tx)}.ohf-selact-label{font-variant-numeric:tabular-nums}
.ohf-composer-head{align-items:flex-start;gap:10px;padding:10px 12px 2px;display:flex}.ohf-prompt{resize:none;background:0 0;border:none;outline:none;flex:1;min-width:0;min-height:50px;max-height:168px;padding:9px 8px 8px 4px;font-size:15px;line-height:1.5}.ohf-prompt:focus-visible{outline:none}.ohf-prompt::placeholder{color:var(--tx3)}
.ohf-composer-row{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;padding:12px;display:flex}.ohf-controls{flex-wrap:wrap;flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.ohf-desktop-only{display:contents}.ohf-mobile-settings-btn-wrap{display:none}@media (max-width:1024px){.ohf-desktop-only{display:none!important}.ohf-mobile-settings-btn-wrap{align-items:center;display:flex}}
.ohf-attach{border-radius:var(--ctl-r);border:1px solid var(--line-2);width:34px;height:34px;color:var(--tx2);transition:background .15s ease, border-color .15s ease, color .15s ease, transform .15s var(--ease);flex-shrink:0;justify-content:center;align-items:center;margin-top:3px;display:flex}.ohf-attach:hover:not(:disabled),.ohf-attach[aria-expanded=true]{background:var(--s3);color:var(--tx)}.ohf-attach:active:not(:disabled){transform:scale(.96)}.ohf-attach:disabled{color:var(--tx-off);border-color:var(--line)}.ohf-spinner{border:1.5px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite ohf-rotate}
.ohf-ctl{border-radius:var(--ctl-r);border:1px solid var(--line-2);min-width:0;height:38px;color:var(--tx2);white-space:nowrap;transition:background .15s ease, border-color .15s ease, color .15s ease, transform .15s var(--ease);align-items:center;gap:7px;padding:0 12px;font-size:12.5px;font-weight:500;display:flex}.ohf-ctl:hover{background:var(--s3);color:var(--tx)}.ohf-ctl:active{transform:scale(.96)}.ohf-ctl[aria-expanded=true]{background:var(--s3);border-color:var(--accent-32);color:var(--tx)}.ohf-ctl--flag[aria-pressed=true]{background:var(--accent-14);border-color:var(--accent-32);color:var(--accent)}.ohf-ctl--model{background:var(--s3);box-shadow:var(--shadow-1);color:var(--tx)}.ohf-ctl--model:hover{background:var(--s4)}.ohf-ctl-glyph{color:var(--tx3);flex-shrink:0;align-items:center;transition:color .15s;display:flex}.ohf-ctl:hover .ohf-ctl-glyph,.ohf-ctl[aria-expanded=true] .ohf-ctl-glyph{color:var(--tx2)}.ohf-ctl--flag[aria-pressed=true] .ohf-ctl-glyph{color:inherit}.ohf-ctl-value{font-variant-numeric:tabular-nums;text-overflow:ellipsis;overflow:hidden}.ohf-ctl-name{letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}
.ohf-ctl-ratio{flex-shrink:0;justify-content:center;align-items:center;width:15px;height:15px;display:flex}.ohf-ctl-ratio-box{opacity:.7;border:1.3px solid;border-radius:2px}.ohf-ctl-ratio-box--auto{opacity:.6;border-style:dashed;width:13px;height:9px}.ohf-model-swatch{width:16px;height:16px;box-shadow:inset 0 0 0 1px var(--ohf-edge-12);border-radius:4px;flex-shrink:0}.ohf-model-icon{-webkit-mask:var(--ohf-model-icon) center / contain no-repeat;-webkit-mask:var(--ohf-model-icon) center / contain no-repeat;mask:var(--ohf-model-icon) center / contain no-repeat;background:currentColor;flex-shrink:0;display:inline-block}.ohf-caret{color:var(--tx3);transition:transform .2s var(--ease)}[aria-expanded=true]>.ohf-caret{transform:rotate(180deg)}
.ohf-batch{border-radius:var(--ctl-r);border:1px solid var(--line-2);height:38px;color:var(--tx2);flex-shrink:0;align-items:center;gap:2px;padding:0 5px;transition:background .15s;display:flex}.ohf-batch:hover{background:var(--s3)}.ohf-batch-step{width:32px;height:32px;color:var(--tx3);transition:background .12s ease, color .12s ease, transform .12s var(--ease);border-radius:7px;justify-content:center;align-items:center;display:flex}.ohf-batch-step:hover:not(:disabled){background:var(--s4);color:var(--tx)}.ohf-batch-step:active:not(:disabled){transform:scale(.9)}.ohf-batch-step:disabled{color:var(--tx-off)}.ohf-batch-value{text-align:center;font-variant-numeric:tabular-nums;min-width:30px;color:var(--tx);font-size:12.5px;font-weight:600}.ohf-batch-max{color:var(--tx3);font-weight:500}@media (max-width:560px){.ohf-batch-step{width:36px;height:36px}}
.ohf-generate-slot{flex-shrink:0;margin-left:auto;display:flex}@media (max-width:834px){.ohf-generate-slot{width:100%;margin-left:0}.ohf-generate{width:100%}}.ohf-generate{border-radius:var(--ctl-r);letter-spacing:-.005em;background:linear-gradient(180deg, var(--ohf-brand-hi), var(--accent));height:38px;color:var(--accent-ink);box-shadow:0 2px 8px var(--ohf-shade-40), inset 0 1px 0 var(--ohf-edge-40);transition:filter .15s ease, background .2s ease, color .2s ease, box-shadow .2s ease, transform .15s var(--ease);justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:620;display:flex;position:relative}.ohf-generate:hover:not(:disabled){filter:brightness(1.06)}.ohf-generate:active:not(:disabled){transform:scale(.96)}.ohf-generate:disabled{background:var(--s3);color:var(--tx4);box-shadow:var(--shadow-1)}.ohf-generate[data-busy=true]:disabled{background:var(--accent-14);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-32)}.ohf-generate-glyph{align-items:center;display:none}.ohf-generate-label{position:relative}.ohf-kbd{letter-spacing:.02em;height:20px;color:inherit;opacity:.68;background:var(--ohf-kbd-shade);border-radius:6px;align-items:center;padding:0 6px;font-size:11.5px;line-height:1;display:flex;position:relative}.ohf-generate-sheen{border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ohf-generate-sheen:after{content:"";background-image:linear-gradient(100deg, transparent 0%, var(--ohf-sheen-edge) 30%, var(--ohf-sheen-peak) 50%, var(--ohf-sheen-edge) 70%, transparent 100%);background-repeat:repeat-x;background-size:50% 100%;width:200%;animation:1.4s linear infinite ohf-sheen;position:absolute;top:0;bottom:0;left:0}
.ohf-tip{position:relative}.ohf-tip[data-tip]:after{content:attr(data-tip);z-index:40;background:var(--s4);border:1px solid var(--line-2);box-shadow:var(--shadow-2);color:var(--tx);letter-spacing:-.003em;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .13s var(--ease), translate .13s var(--ease);border-radius:8px;padding:5px 9px;font-size:11.5px;font-weight:500;line-height:1.3;position:absolute;bottom:calc(100% + 8px);left:50%;translate:-50% 4px}.ohf-tip--start[data-tip]:after{left:0;translate:0 4px}.ohf-tip--end[data-tip]:after{left:auto;right:0;translate:0 4px}.ohf-tip[data-tip]:hover:after,.ohf-tip[data-tip]:focus-visible:after{opacity:1;transition-delay:.35s;translate:-50%}.ohf-tip[data-tip]:has(:focus-visible):after{opacity:1;transition-delay:.35s;translate:-50%}.ohf-tip--start[data-tip]:hover:after,.ohf-tip--start[data-tip]:focus-visible:after,.ohf-tip--end[data-tip]:hover:after,.ohf-tip--end[data-tip]:focus-visible:after{translate:0}.ohf-tip--start[data-tip]:has(:focus-visible):after{translate:0}.ohf-tip--end[data-tip]:has(:focus-visible):after{translate:0}.ohf-tip[aria-expanded=true][data-tip]:after{content:none}.ohf-composer:hover .ohf-tip[data-tip]:not(:hover):after{opacity:0;transition-delay:0s}
.ohf-popover{bottom:var(--ohf-pop-y,calc(100% + 10px));left:var(--ohf-pop-x,0px);z-index:30;background:var(--s2);border:1px solid var(--line-2);box-shadow:var(--shadow-3), var(--glint);animation:ohf-pop .22s var(--ease);transform-origin:0 100%;border-radius:16px;position:absolute}.ohf-popover--setting{width:min(268px,100%);max-height:min(50vh, 420px, var(--ohf-pop-max-height,400px));padding:14px;overflow-y:auto}.ohf-popover--list{width:min(216px,100%);max-height:min(56vh, 452px, var(--ohf-pop-max-height,400px));flex-direction:column;padding:12px 9px 9px;display:flex;overflow:hidden}.ohf-popover--list .ohf-field{min-height:0}.ohf-popover--list .ohf-field-label{padding-left:9px}.ohf-popover--picker{width:min(560px,100%);height:min(60vh, 520px, calc(95px + var(--ohf-picker-rows,99) * 56px), var(--ohf-pop-max-height,400px));flex-direction:column;display:flex;overflow:hidden}.ohf-popover--menu{flex-direction:column;gap:9px;width:min(240px,100%);padding:12px 10px 10px;display:flex}.ohf-popover--menu .ohf-pop-head{padding-left:8px}@media (max-height:600px){.ohf-popover,.ohf-popover--setting,.ohf-popover--list,.ohf-popover--picker,.ohf-popover--menu,.ohf-popover--assets{flex-direction:column;display:flex;z-index:9999!important;transform-origin:100% 0!important;width:min(400px,100vw - 20px)!important;height:auto!important;max-height:calc(100dvh - 20px)!important;position:fixed!important;inset:10px 10px auto auto!important}}@media (max-height:600px) and (max-width:640px){.ohf-popover,.ohf-popover--setting,.ohf-popover--list,.ohf-popover--picker,.ohf-popover--menu,.ohf-popover--assets{width:auto!important;left:10px!important}}
.ohf-menu{flex-direction:column;gap:1px;display:flex}.ohf-menu-row{text-align:left;width:100%;height:36px;color:var(--tx2);border-radius:8px;align-items:center;gap:10px;padding:0 8px;transition:background .12s,color .12s;display:flex}.ohf-menu-row:hover:not(:disabled){background:var(--s3);color:var(--tx)}.ohf-menu-row:disabled{color:var(--tx-off)}.ohf-menu-ic{color:var(--tx3);transition:color .12s;display:flex}.ohf-menu-row:hover:not(:disabled) .ohf-menu-ic{color:var(--accent)}.ohf-menu-row:disabled .ohf-menu-ic{color:var(--tx-off)}.ohf-menu-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12.5px;font-weight:500;overflow:hidden}.ohf-menu-count{font-variant-numeric:tabular-nums;color:var(--tx4);font-size:10.5px}.ohf-menu-row:disabled .ohf-menu-count{color:var(--tx-off)}
.ohf-pop-head{letter-spacing:.16em;text-transform:uppercase;color:var(--tx3);font-size:9.5px}.ohf-field{flex-direction:column;gap:8px;display:flex}.ohf-field-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.ohf-field-label{color:var(--tx2);font-size:12.5px;font-weight:550}.ohf-field-value{font-variant-numeric:tabular-nums;color:var(--tx);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11.5px;overflow:hidden}.ohf-opts{flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;position:relative;overflow-y:auto}.ohf-opt{font-variant-numeric:tabular-nums;text-align:left;height:34px;color:var(--tx2);border-radius:8px;flex-shrink:0;align-items:center;gap:10px;padding:0 9px;font-size:12.5px;font-weight:500;transition:background .13s,color .13s;display:flex}.ohf-opt:hover{background:var(--s3);color:var(--tx)}.ohf-opt:focus-visible{outline-offset:-2px;border-radius:8px}.ohf-opt[aria-pressed=true]{background:var(--accent-08);color:var(--accent)}.ohf-opt[aria-pressed=true]:hover{background:var(--accent-14)}.ohf-opt-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.ohf-opt-check{flex-shrink:0;display:flex}.ohf-opt-ratio{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.ohf-opt-box{opacity:.55;border:1.3px solid;border-radius:2px}.ohf-opt-box--auto{border-style:dashed;width:13px;height:9px}.ohf-opt:hover .ohf-opt-box,.ohf-opt[aria-pressed=true] .ohf-opt-box{opacity:1}
.ohf-chip{background:var(--s1);border:1px solid var(--line);height:32px;color:var(--tx2);transition:background .15s ease, color .15s ease, border-color .15s ease, transform .15s var(--ease);border-radius:8px;align-items:center;gap:7px;padding:0 13px;font-size:12px;font-weight:500;display:flex}.ohf-chip:hover{background:var(--s3);color:var(--tx)}.ohf-chip:active{transform:scale(.96)}.ohf-chip[aria-pressed=true]{background:var(--accent-14);border-color:var(--accent-32);color:var(--accent)}.ohf-slider{appearance:none;cursor:pointer;background:0 0;width:100%;height:32px}.ohf-slider::-webkit-slider-runnable-track{background:linear-gradient(var(--accent), var(--accent)) 0 / var(--fill,50%) 100% no-repeat, var(--s3);border-radius:4px;height:4px}.ohf-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--ohf-ink-thumb);width:20px;height:20px;box-shadow:0 1px 4px var(--ohf-shade-50);transition:transform .15s var(--ease);border-radius:50%;margin-top:-8px}.ohf-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.ohf-slider::-moz-range-track{background:var(--s3);border-radius:4px;height:4px}.ohf-slider::-moz-range-progress{background:var(--accent);border-radius:4px;height:4px}.ohf-slider::-moz-range-thumb{background:var(--ohf-ink-thumb);width:20px;height:20px;box-shadow:0 1px 4px var(--ohf-shade-50);border:none;border-radius:50%}
.ohf-input{background:var(--s1);border:1px solid var(--line);border-radius:8px;outline:none;width:100%;min-width:0;padding:8px 11px;font-size:12.5px;transition:border-color .15s,box-shadow .15s}.ohf-input:hover{border-color:var(--line-2)}.ohf-input:focus{border-color:var(--accent-32);box-shadow:0 0 0 3px var(--accent-08)}.ohf-input:focus-visible{outline:none}.ohf-icon-btn{background:var(--s1);border:1px solid var(--line);width:34px;height:34px;color:var(--tx2);transition:background .15s ease, color .15s ease, border-color .15s ease, transform .15s var(--ease);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ohf-icon-btn:hover{background:var(--s3);color:var(--tx);border-color:var(--line-2)}.ohf-icon-btn:active{transform:scale(.96)}.ohf-picker-close{width:30px;height:30px;position:relative}.ohf-picker-close:after{content:"";position:absolute;inset:-5px}.ohf-icon-btn[data-spin=true] svg{animation:ohf-spin-once .35s var(--ease)}
.ohf-picker-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:11px 12px 11px 16px;display:flex}.ohf-picker-search-ic{color:var(--tx3);flex-shrink:0;display:flex}.ohf-picker-input{min-width:0;color:var(--tx);background:0 0;border:none;outline:none;flex:1;font-size:14px}.ohf-picker-input::placeholder{color:var(--tx3)}.ohf-picker-input:focus-visible{outline:none}.ohf-picker-close{flex-shrink:0}.ohf-picker-list{flex-direction:column;flex:1;gap:2px;min-height:0;padding:6px;display:flex;overflow-y:auto}.ohf-picker-group{padding:9px 10px 5px}.ohf-model-row{text-align:left;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;width:100%;padding:9px 10px;transition:background .12s,border-color .12s;display:flex}.ohf-model-row:hover{background:var(--s3)}.ohf-model-row[aria-current]{background:var(--s3);border-color:var(--line-2)}.ohf-model-row-swatch{width:34px;height:34px;box-shadow:inset 0 0 0 1px var(--ohf-edge-10), var(--shadow-1);border-radius:9px;flex-shrink:0;position:relative;overflow:hidden}.ohf-model-row-swatch--icon{background:var(--s2);color:var(--tx);place-items:center;display:grid}.ohf-model-row-text{flex:1;min-width:0}.ohf-model-row-name{letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.ohf-model-row-desc{color:var(--tx3);white-space:nowrap;text-overflow:ellipsis;padding-top:2px;font-size:11.5px;display:block;overflow:hidden}.ohf-model-row-check{width:16px;color:var(--accent);flex-shrink:0;justify-content:center;display:flex}
.ohf-picker-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;margin:auto 0;padding:30px 20px 26px;display:flex}.ohf-picker-empty-ic{background:var(--s2);border:1px solid var(--line);width:30px;height:30px;box-shadow:var(--glint);color:var(--tx3);border-radius:9px;justify-content:center;align-items:center;display:flex}.ohf-picker-empty-title{color:var(--tx);overflow-wrap:anywhere;max-width:100%;font-size:12.5px;font-weight:600}.ohf-picker-empty-hint{max-width:40ch;color:var(--tx3);text-wrap:pretty;font-size:11.5px;line-height:1.55}.ohf-picker-empty .ohf-btn-solid{height:30px;margin-top:3px}
.ohf-popover--assets{width:min(560px,100%);max-height:min(64vh, 540px, var(--ohf-pop-max-height,400px));flex-direction:column;display:flex;overflow:hidden}.ohf-assets-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:9px 11px 9px 10px;display:flex}.ohf-assets-tabs{scrollbar-width:none;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.ohf-assets-tabs::-webkit-scrollbar{display:none}.ohf-assets-tab{white-space:nowrap;letter-spacing:-.005em;height:30px;color:var(--tx2);border-radius:8px;align-items:center;gap:7px;padding:0 11px;font-size:12.5px;font-weight:550;transition:background .15s,color .15s,box-shadow .15s;display:flex}.ohf-assets-tab:hover{color:var(--tx)}.ohf-assets-tab:not([aria-selected=true]):hover{background:var(--ohf-hover-wash)}.ohf-assets-tab[aria-selected=true]{color:var(--tx);background:var(--s3);box-shadow:inset 0 0 0 1px var(--line-2), var(--glint)}.ohf-assets-tab-count{font-variant-numeric:tabular-nums;color:var(--tx4);font-size:10.5px}.ohf-assets-tab[aria-selected=true] .ohf-assets-tab-count{color:var(--tx2)}.ohf-assets-roles{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:11px 14px;display:flex}.ohf-chip--role{gap:7px;min-height:32px;padding:0 11px;font-size:11.5px}.ohf-chip-count{font-variant-numeric:tabular-nums;color:var(--tx4);font-size:10.5px}.ohf-chip--role[aria-pressed=true] .ohf-chip-count{color:inherit;opacity:.75}
.ohf-assets-body{flex:1;min-height:0;overflow-y:auto}.ohf-assets-grid{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:10px;padding:14px;display:grid}.ohf-asset{aspect-ratio:1;background:var(--s1);box-shadow:inset 0 0 0 1px var(--ohf-edge-08);transition:box-shadow .16s ease, opacity .16s ease, transform .16s var(--ease);border-radius:11px;position:relative;overflow:hidden}.ohf-asset:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--line-2), var(--shadow-1)}.ohf-asset:active:not(:disabled){transform:scale(.97)}.ohf-asset[data-picked=true]{box-shadow:inset 0 0 0 2px var(--accent)}.ohf-asset:disabled{opacity:.35}.ohf-asset-art{background:var(--s2);position:absolute;inset:0}.ohf-asset-media{object-fit:cover;width:100%;height:100%;transition:transform .35s var(--ease), opacity .16s ease;position:absolute;inset:0}.ohf-asset:hover:not(:disabled) .ohf-asset-media{transform:scale(1.045)}.ohf-asset-glyph{color:var(--tx3);justify-content:center;align-items:center;transition:opacity .16s;display:flex;position:absolute;inset:0}.ohf-asset-kind{background:var(--plate);width:17px;height:17px;color:var(--plate-ink);border-radius:5px;justify-content:center;align-items:center;display:flex;position:absolute;bottom:6px;left:6px}.ohf-asset-mark{background:var(--accent);width:19px;height:19px;color:var(--accent-ink);box-shadow:var(--shadow-1);opacity:0;transition:opacity .16s ease, transform .2s var(--ease);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:6px;right:6px;transform:scale(.7)}.ohf-asset[data-picked=true] .ohf-asset-mark{opacity:1;transform:none}.ohf-asset--loading{pointer-events:none;animation:1.6s ease-in-out infinite ohf-asset-pulse}@keyframes ohf-asset-pulse{50%{opacity:.35}}
.ohf-asset--upload{border:1px dashed var(--line-2);box-shadow:none;color:var(--tx2);transition:border-color .15s ease, background .15s ease, color .15s ease, transform .16s var(--ease);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.ohf-asset--upload:hover:not(:disabled){background:var(--accent-08);border-color:var(--accent-32);box-shadow:none;color:var(--tx)}.ohf-asset--upload:disabled{border-color:var(--line);color:var(--tx-off);opacity:1}.ohf-asset-upload-label{font-size:11.5px;font-weight:550}.ohf-assets-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px 11px 15px;display:flex}.ohf-assets-tally{font-variant-numeric:tabular-nums;color:var(--tx3);text-overflow:ellipsis;min-width:0;font-size:11.5px;overflow:hidden}.ohf-btn-accent{letter-spacing:-.005em;white-space:nowrap;background:var(--accent);height:32px;color:var(--accent-ink);box-shadow:var(--shadow-1);transition:background .15s ease, color .15s ease, box-shadow .15s ease, transform .15s var(--ease);border-radius:8px;padding:0 14px;font-size:12.5px;font-weight:600}.ohf-btn-accent:hover:not(:disabled){background:var(--accent-strong)}.ohf-btn-accent:active:not(:disabled){transform:scale(.97)}.ohf-btn-accent[data-quiet=true]{background:var(--s3);color:var(--tx2);box-shadow:var(--shadow-1)}.ohf-btn-accent[data-quiet=true]:hover{background:var(--s4);color:var(--tx)}
@media (max-width:480px){.ohf-tip[data-tip]:after{white-space:normal;text-align:center;max-width:200px}}@media (max-width:320px){.ohf-tip[data-tip]:after{max-width:150px;font-size:10px}}
.ohf dialog{color:inherit;background:0 0;border:none;max-width:none;max-height:none;margin:auto;padding:0;overflow:visible}.ohf dialog::backdrop{background:var(--ohf-veil-66);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:.2s ohf-fade}.ohf dialog[open] .ohf-dialog-panel{animation:ohf-pop .28s var(--ease)}.ohf dialog[data-closing] .ohf-dialog-panel{pointer-events:none;animation:.18s cubic-bezier(.4,0,1,1) forwards ohf-pop-out}.ohf dialog[data-closing]::backdrop{animation:.18s forwards ohf-fade-out}.ohf-dialog-panel:focus{outline:none}.ohf-dialog-panel{background:var(--s2);border:1px solid var(--line-2);box-shadow:var(--shadow-3), var(--glint);border-radius:18px;flex-direction:column;display:flex;overflow:hidden}
.ohf-keys-panel{width:420px;max-width:calc(100vw - 32px)}.ohf-keys-head{justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 18px 0;display:flex}.ohf-keys-title{letter-spacing:-.02em;font-size:16px;font-weight:620}.ohf-keys-copy{color:var(--tx3);margin:6px 0 0;font-size:12.5px;line-height:1.45}.ohf-keys-form{flex-direction:column;gap:12px;padding:16px 18px 18px;display:flex}.ohf-keys-actions{justify-content:flex-end;align-items:center;gap:8px;padding-top:4px;display:flex}.ohf-keys-save{background:var(--accent);height:34px;color:var(--accent-ink);border-radius:8px;padding:0 14px;font-size:13px;font-weight:600}.ohf-keys-save:hover:not(:disabled){filter:brightness(1.05)}.ohf-keys-save:disabled{opacity:.45}
.ohf dialog.ohf-viewer{width:100vw;height:100dvh;margin:0}.ohf dialog.ohf-viewer::backdrop{background:var(--ohf-veil-86)}.ohf-viewer-panel{width:100%;height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:row;align-items:stretch}.ohf dialog[open] .ohf-viewer-panel{animation:.22s ohf-fade}.ohf dialog[data-closing] .ohf-viewer-panel{pointer-events:none;animation:.18s forwards ohf-fade-out}.ohf-viewer-stage{flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;padding:28px;display:flex;container-type:size}.ohf-viewer-figure{width:min(100%, calc(100cqh * var(--a,1.5)));background:var(--s1);max-height:100%;box-shadow:var(--shadow-3), inset 0 0 0 1px var(--ohf-edge-07);isolation:isolate;animation:ohf-pop .34s var(--ease-slide) both;border-radius:12px;justify-content:center;align-items:center;margin:0;display:flex;position:relative;overflow:hidden}.ohf-viewer-art{position:absolute;inset:0}.ohf-viewer-figure[data-shaped] .ohf-viewer-art{display:none}.ohf-viewer-media{object-fit:contain;width:100%;height:100%;animation:.3s ohf-fade;position:relative}
.ohf-viewer-side{background:var(--s2);border:1px solid var(--line-2);width:340px;box-shadow:var(--shadow-3), var(--glint);min-height:0;animation:ohf-side-in .36s var(--ease-slide) both;border-radius:16px;flex-direction:column;flex-shrink:0;margin:12px 12px 12px 0;display:flex;overflow:hidden}@keyframes ohf-side-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}.ohf-viewer-side-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:15px 13px 13px 18px;display:flex}.ohf-viewer-title{min-width:0}.ohf-viewer-model{letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;font-size:15px;font-weight:620;line-height:1.25;display:flex;overflow:hidden}.ohf-viewer-when{font-variant-numeric:tabular-nums;color:var(--tx4);margin-top:3px;font-size:11.5px}.ohf-viewer-close{width:32px;height:32px}
.ohf-viewer-side-body{overscroll-behavior:contain;flex-direction:column;flex:1;gap:21px;min-height:0;padding:17px 18px 20px;display:flex;overflow-y:auto}.ohf-viewer-block{flex-direction:column;gap:9px;display:flex}.ohf-viewer-block-head{justify-content:space-between;align-items:center;gap:12px;min-height:22px;margin-top:-3px;display:flex}.ohf-viewer-label{letter-spacing:.09em;text-transform:uppercase;color:var(--tx4);font-size:10px;font-weight:600}.ohf-viewer-copy{min-height:32px;color:var(--tx3);border-radius:6px;align-items:center;gap:5px;padding:0 8px;font-size:11px;font-weight:500;transition:background .15s,color .15s;display:flex}.ohf-viewer-copy:hover{background:var(--s3);color:var(--tx)}.ohf-viewer-copy[data-done]{color:var(--accent)}.ohf-viewer-prompt{color:var(--tx);background:var(--s1);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;border-radius:10px;padding:11px 12px;font-size:13px;line-height:1.55}.ohf-viewer-facts{flex-direction:column;gap:8px;display:flex}.ohf-viewer-fact{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.ohf-viewer-fact dt{color:var(--tx3);white-space:nowrap;font-size:12px}.ohf-viewer-fact dd{color:var(--tx);font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;min-width:0;font-size:12px}
.ohf-viewer-side-foot{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:13px 14px 14px;display:flex}.ohf-cta.ohf-viewer-recreate{flex:none;justify-content:center;align-items:center;gap:8px;width:100%;height:40px;display:flex}.ohf-viewer-foot-row{gap:8px;display:flex}.ohf-btn-solid.ohf-viewer-download{flex:1;justify-content:center;height:36px}.ohf-btn-solid.ohf-viewer-download[data-state=failed]{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger)}.ohf-btn-solid.ohf-viewer-download[data-state=failed]:hover{background:var(--ohf-danger-bg-hover);border-color:var(--danger)}.ohf-viewer-save-note{color:var(--danger);animation:ohf-rise .22s var(--ease);font-size:11.5px;line-height:1.45}.ohf-viewer-trash,.ohf-viewer-keep{width:36px;height:36px}.ohf-icon-btn.ohf-viewer-trash:hover{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger)}.ohf-viewer-keep[data-on=true]{background:var(--accent-08);border-color:var(--accent-32);color:var(--accent)}.ohf-viewer-keep[data-on=true]:hover{background:var(--accent-14);border-color:var(--accent);color:var(--accent-strong)}
.ohf-btn-quiet{height:32px;color:var(--tx2);border-radius:8px;padding:0 12px;font-size:12.5px;font-weight:500;transition:background .15s,color .15s}.ohf-btn-quiet:hover{background:var(--s3);color:var(--tx)}.ohf-btn-quiet:active{transform:scale(.97)}.ohf-btn-solid{background:var(--s3);border:1px solid var(--line);height:32px;box-shadow:var(--shadow-1);border-radius:8px;align-items:center;gap:7px;padding:0 13px;font-size:12.5px;font-weight:600;transition:background .15s,border-color .15s;display:flex}.ohf-btn-solid:hover{background:var(--s4);border-color:var(--line-2)}.ohf-btn-solid:active{transform:scale(.97)}a.ohf-btn-solid{color:var(--tx);text-decoration:none}.ohf-btn-quiet{align-items:center;gap:7px;display:flex}
.ohf-play-btn{background:var(--ohf-play);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:60px;height:60px;box-shadow:0 6px 24px var(--ohf-shade-45), inset 0 1px 0 var(--ohf-edge-16);color:var(--ohf-ink-play);transition:transform .25s var(--ease), background .2s ease;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.ohf-play-btn:hover{background:var(--ohf-play-hover);transform:scale(1.06)}.ohf-play-btn:active{transform:scale(.98)}.ohf-wave{align-items:center;gap:3px;height:64px;display:flex;position:relative}.ohf-wave span{background:var(--ohf-wave);border-radius:3px;width:3px}
.ohf-api-panel{gap:18px;width:440px;max-width:calc(100vw - 48px);padding:24px 24px 20px}.ohf-api-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ohf-api-title{letter-spacing:-.02em;font-size:17px;font-weight:620;line-height:1.25}.ohf-api-sub{color:var(--tx3);padding-top:5px;font-size:12.5px;line-height:1.55}.ohf-api-hint{color:var(--tx3);font-size:11.5px}.ohf-pill-row{flex-wrap:wrap;gap:6px;display:flex}.ohf-pill{background:var(--s1);border:1px solid var(--line);color:var(--tx2);border-radius:8px;align-items:center;gap:7px;padding:6px 10px;font-size:11.5px;display:flex}.ohf-pill-dot{background:var(--tx4);border-radius:50%;width:5px;height:5px;transition:background .2s}.ohf-pill[data-on=true] .ohf-pill-dot{background:var(--accent)}.ohf-api-actions{flex-wrap:wrap;align-items:center;gap:8px;padding-top:2px;display:flex}.ohf-cta{background:linear-gradient(180deg, var(--ohf-brand-hi), var(--accent));height:40px;color:var(--accent-ink);box-shadow:0 2px 8px var(--ohf-shade-40), inset 0 1px 0 var(--ohf-edge-40);transition:filter .15s ease, background .2s ease, color .2s ease, box-shadow .2s ease, transform .15s var(--ease);border-radius:10px;flex:1;font-size:13px;font-weight:620}.ohf-cta:hover:not(:disabled){filter:brightness(1.06)}.ohf-cta:active:not(:disabled){transform:scale(.98)}.ohf-cta:disabled{background:var(--s3);color:var(--tx3);box-shadow:var(--shadow-1)}
.ohf-enter-1{animation:ohf-drop .4s var(--ease-slide) both}.ohf-enter-2{animation:ohf-rise .35s var(--ease) 60ms backwards}
@media (hover:none){.ohf-tile-act{opacity:1;pointer-events:auto;width:36px;height:36px;transform:none}.ohf-pick{opacity:1;pointer-events:auto;width:36px;height:36px;translate:0;scale:1}.ohf-pick-box{width:23px;height:23px}.ohf-tile-caption{opacity:1;transform:none}.ohf-tile-badge{translate:32px}}@media (max-width:900px){.ohf-viewer-panel{flex-direction:column}.ohf-viewer-stage{padding:16px 16px 0}.ohf-viewer-side{flex:none;width:auto;max-height:60dvh;margin:12px;animation-name:ohf-rise}.ohf-viewer-side-body{padding-bottom:16px}}
@media (max-width:834px){.ohf-key-text{display:none}.ohf-key{gap:7px;padding:0 11px}}@media (max-width:768px){.ohf-key{gap:6px;padding:0 10px}}@media (max-width:640px){.ohf-popover{left:0;right:0}.ohf-opt{height:40px}.ohf-dock{padding-bottom:14px}.ohf-starter-text{-webkit-line-clamp:3}.ohf-popover--assets{max-height:min(58vh,460px)}.ohf-assets-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;padding:12px}.ohf-assets-roles{padding:10px 12px}}
@media (max-width:480px){.ohf-topbar{padding:10px 14px 0}.ohf-gallery{--ohf-fade:56px;padding:64px 14px 8px}.ohf-dock{padding-left:14px;padding-right:14px}.ohf-bar{border-radius:14px;height:42px}.ohf-tab .ohf-tab-label{display:none}.ohf-tab,.ohf-key{height:32px;padding:0 10px}.ohf-strip{padding:12px 10px 0}.ohf-composer-head{padding:10px 10px 2px}.ohf-composer-row{padding:2px 10px 10px}.ohf-composer{border-radius:20px}.ohf-ctl,.ohf-batch{height:42px}.ohf-attach{width:38px;height:38px}.ohf-batch-step{width:28px;height:28px}.ohf-generate-slot{width:100%;margin-left:0}.ohf-generate{width:100%;height:44px}.ohf-generate-glyph{display:flex}.ohf-kbd{display:none}.ohf-selbar{border-radius:18px;gap:4px;width:100%;padding:7px}.ohf-selbar-count{flex:1;min-width:0;overflow:hidden}.ohf-selact{min-width:40px;height:40px}}@media (max-width:414px){.ohf-gallery{padding:60px 10px 8px}.ohf-strip{padding:10px 8px 0}.ohf-composer-head,.ohf-composer-row{padding:8px 8px 2px}.ohf-selbar{gap:2px;padding:6px}}@media (max-width:390px){.ohf-topbar{padding:8px 10px 0}.ohf-attach{width:36px;height:36px}.ohf-generate,.ohf-ctl,.ohf-batch{height:40px}}@media (max-width:375px){.ohf-bar{border-radius:12px;height:40px}.ohf-dock{padding-left:10px;padding-right:10px}}@media (max-width:320px){.ohf-topbar{padding:6px 8px 0}.ohf-gallery{padding:56px 8px 8px}.ohf-strip{padding:8px 6px 0}.ohf-composer-head,.ohf-composer-row{padding:6px 6px 2px}.ohf-selact{min-width:36px;height:36px}.ohf-bar{height:38px}.ohf-attach{width:34px;height:34px}.ohf-generate,.ohf-ctl,.ohf-batch{height:38px}}
@media (max-width:400px){.ohf-selstack{display:none}.ohf-selbar-rule{margin:0}}@media (max-width:360px){.ohf-selact--wide{padding:0}.ohf-selact-label{display:none}}
@media (prefers-reduced-motion:reduce){.ohf *,.ohf :before,.ohf :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.ohf-lamp{opacity:1;animation:none}.ohf-undo-drain,.ohf-skeleton:before,.ohf-generate-sheen{display:none}}
.ohf-credit-modal-backdrop{z-index:99999;background:var(--ohf-shade-82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:center;align-items:center;padding:20px;animation:.15s ease-out ohfFadeIn;display:flex;position:fixed;inset:0}.ohf-credit-modal-card{background:var(--ohf-surface-modal);border:1px solid var(--ohf-edge-10);width:100%;max-width:580px;max-height:90vh;box-shadow:0 24px 64px -12px var(--ohf-shade-75);color:var(--ohf-ink-white);font-family:var(--font-ui,Inter, ui-sans-serif, system-ui, sans-serif);border-radius:24px;padding:32px;animation:.18s cubic-bezier(.16,1,.3,1) ohfScaleUp;position:relative;overflow-y:auto}
.ohf-modal-close{background:var(--ohf-wash-05);border:1px solid var(--ohf-edge-08);width:32px;height:32px;color:var(--upf-studio-tx3);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:20px;right:20px}.ohf-modal-close:hover{background:var(--ohf-wash-12);color:var(--ohf-ink-white)}.ohf-credit-modal-header{margin-bottom:24px}.ohf-modal-brand-icon{background:var(--ohf-brand-10);border:1px solid var(--ohf-brand-25);width:44px;height:44px;color:var(--ohf-brand);border-radius:12px;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.ohf-credit-modal-title{color:var(--ohf-ink-white);letter-spacing:-.02em;margin:0 0 6px;font-size:22px;font-weight:800}.ohf-credit-modal-subtitle{color:var(--upf-studio-tx3);margin:0;font-size:13px;line-height:1.45}
.ohf-credit-tabs{background:var(--ohf-surface-sunken);border:1px solid var(--ohf-edge-08);border-radius:12px;gap:6px;margin-bottom:24px;padding:4px;display:flex}.ohf-credit-tab-btn{height:38px;color:var(--upf-studio-tx3);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;font-size:13px;font-weight:600;transition:all .15s;display:flex}.ohf-credit-tab-btn:hover{color:var(--upf-studio-tx)}.ohf-credit-tab-btn.active{background:var(--ohf-surface-raised);color:var(--ohf-ink-white);box-shadow:0 2px 8px var(--ohf-shade-35);border:1px solid var(--ohf-edge-10);font-weight:700}.ohf-tab-pane{flex-direction:column;gap:20px;display:flex}
.ohf-balance-card{background:var(--ohf-surface-card);border:1px solid var(--ohf-edge-08);border-radius:16px;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.ohf-balance-info{flex-direction:column;gap:4px;display:flex}.ohf-balance-label{text-transform:uppercase;letter-spacing:.05em;color:var(--upf-studio-tx3);font-size:11px;font-weight:700}.ohf-balance-val{align-items:baseline;gap:6px;display:flex}.ohf-balance-bolt{color:var(--ohf-brand);align-items:center;font-size:20px;display:inline-flex}.ohf-balance-bolt svg{display:block}.ohf-balance-num{color:var(--ohf-ink-white);letter-spacing:-.02em;font-size:28px;font-weight:800}.ohf-balance-unit{color:var(--upf-studio-tx3);font-size:13px;font-weight:600}.ohf-balance-rate{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.ohf-rate-tag{background:var(--ohf-brand-10);border:1px solid var(--ohf-brand-25);color:var(--ohf-brand);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.ohf-rate-sub{color:var(--upf-studio-tx-off);font-size:11px}.ohf-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--upf-studio-tx3);font-size:12px;font-weight:700}
.ohf-packages-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.ohf-package-card{text-align:center;background:var(--ohf-surface-card);border:1px solid var(--ohf-edge-08);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;padding:16px 12px;transition:all .15s;display:flex;position:relative}.ohf-package-card:hover{background:var(--ohf-surface-raised);border-color:var(--ohf-edge-16)}.ohf-package-card.selected{border-color:var(--ohf-brand);background:var(--ohf-brand-05);box-shadow:0 0 0 1px var(--ohf-brand)}.ohf-pkg-credits{color:var(--ohf-ink-white);margin-bottom:4px;font-size:16px;font-weight:800}.ohf-pkg-credits svg{vertical-align:-2px}.ohf-pkg-credits small{color:var(--upf-studio-tx3);font-size:11px;font-weight:500}.ohf-pkg-price{color:var(--ohf-brand);margin-bottom:2px;font-size:13px;font-weight:700}.ohf-pkg-name{color:var(--upf-studio-tx3);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}
.ohf-saved-cards-picker{align-items:center;gap:10px;display:flex}.ohf-card-select{background:var(--ohf-surface-input);border:1px solid var(--ohf-edge-10);height:44px;color:var(--ohf-ink-white);cursor:pointer;border-radius:12px;outline:none;flex:1;padding:0 14px;font-size:13px;font-weight:600}.ohf-card-select:focus{border-color:var(--ohf-brand);box-shadow:0 0 0 2px var(--ohf-brand-20)}.ohf-btn-secondary{background:var(--ohf-edge-06);border:1px solid var(--ohf-edge-10);height:44px;color:var(--upf-studio-tx);cursor:pointer;white-space:nowrap;border-radius:12px;padding:0 16px;font-size:13px;font-weight:600;transition:all .15s}.ohf-btn-secondary:hover{background:var(--ohf-wash-12);color:var(--ohf-ink-white)}.ohf-no-card-prompt{background:var(--ohf-surface-card);border:1px solid var(--ohf-edge-08);color:var(--upf-studio-tx3);border-radius:14px;justify-content:space-between;align-items:center;padding:16px 20px;font-size:13px;display:flex}.ohf-btn-primary{background:var(--ohf-brand);height:38px;color:var(--ohf-brand-ink);cursor:pointer;border:none;border-radius:10px;padding:0 16px;font-size:13px;font-weight:700;transition:all .15s}.ohf-btn-primary:hover{background:var(--ohf-brand-hi)}
.ohf-purchase-action-wrap{flex-direction:column;gap:8px;margin-top:6px;display:flex}.ohf-purchase-btn{background:var(--ohf-brand);width:100%;height:48px;color:var(--ohf-brand-ink);cursor:pointer;box-shadow:0 4px 16px var(--ohf-brand-25);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:800;transition:all .2s;display:flex}.ohf-purchase-btn:hover:not(:disabled){background:var(--ohf-brand-hi);box-shadow:0 6px 22px var(--ohf-brand-35);transform:translateY(-1px)}.ohf-purchase-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.ohf-btn-loading{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.ohf-purchase-spinner{border:2.5px solid var(--ohf-shade-25);border-top-color:var(--ohf-brand-ink);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.65s linear infinite ohfSpin;display:block}.ohf-secure-note{color:var(--upf-studio-tx-off);text-align:center;font-size:11px}
.ohf-checkout-form{background:var(--ohf-surface-card);border:1px solid var(--ohf-edge-08);border-radius:18px;flex-direction:column;gap:16px;margin-bottom:20px;padding:24px;display:flex}.ohf-checkout-section-header{border-bottom:1px solid var(--ohf-edge-06);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.ohf-checkout-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--upf-studio-tx3);font-size:12px;font-weight:700}.ohf-checkout-cancel-btn{color:var(--upf-studio-tx3);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600;transition:color .15s}.ohf-checkout-cancel-btn:hover{color:var(--ohf-ink-white);text-decoration:underline}
.ohf-field-group{flex-direction:column;gap:6px;display:flex}.ohf-field-label{color:var(--upf-studio-tx2);font-size:12px;font-weight:600}.ohf-input-direct{border:1px solid var(--ohf-edge-10);background:var(--ohf-surface-input);width:100%;height:44px;color:var(--ohf-ink-white);box-sizing:border-box;border-radius:12px;padding:0 14px;font-family:inherit;font-size:14px;transition:all .2s;outline:none!important}.ohf-input-direct:focus,.ohf-input-direct:focus-visible{border-color:var(--ohf-brand)!important;box-shadow:0 0 0 2px var(--ohf-brand-25)!important;outline:none!important}.ohf-input-direct::placeholder{color:var(--upf-studio-tx-off)}.ohf-input-wrapper{border:1px solid var(--ohf-edge-10);background:var(--ohf-surface-input);box-sizing:border-box;border-radius:12px;align-items:center;width:100%;height:44px;padding:0 14px;font-size:14px;transition:all .2s;display:flex;position:relative}.ohf-input-wrapper:focus-within{border-color:var(--ohf-brand);box-shadow:0 0 0 2px var(--ohf-brand-25)}.ohf-stripe-element-wrap{width:100%}.ohf-card-brand-tag{pointer-events:none;align-items:center;display:flex;position:absolute;right:12px}.ohf-form-grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}
.ohf-brand-badge{letter-spacing:.06em;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:900}.ohf-brand-visa{color:var(--ohf-card-visa);background:var(--ohf-card-visa-bg);border:1px solid var(--ohf-card-visa-line)}.ohf-brand-mc{color:var(--ohf-card-mc);background:var(--ohf-card-mc-bg);border:1px solid var(--ohf-card-mc-line)}.ohf-brand-amex{color:var(--ohf-card-amex);background:var(--ohf-card-amex-bg);border:1px solid var(--ohf-card-amex-line)}.ohf-brand-disc{color:var(--ohf-card-disc);background:var(--ohf-card-disc-bg);border:1px solid var(--ohf-card-disc-line)}.ohf-brand-jcb{color:var(--ohf-card-jcb);background:var(--ohf-card-jcb-bg);border:1px solid var(--ohf-card-jcb-line)}.ohf-btn-primary-large{background:var(--ohf-brand);width:100%;height:48px;color:var(--ohf-brand-ink);cursor:pointer;box-shadow:0 4px 16px var(--ohf-brand-25);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:6px;font-size:14px;font-weight:700;transition:all .2s;display:flex}.ohf-btn-primary-large:hover:not(:disabled){background:var(--ohf-brand-hi);box-shadow:0 6px 22px var(--ohf-brand-35);transform:translateY(-1px)}.ohf-btn-primary-large:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.ohf-security-note{color:var(--upf-studio-tx3);text-align:center;margin:2px 0 0;font-size:11px;line-height:1.4}
.ohf-alert-success{background:var(--ohf-brand-10);border:1px solid var(--ohf-brand-30);color:var(--ohf-brand);border-radius:12px;align-items:flex-start;gap:10px;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.ohf-alert-error{background:var(--ohf-danger-bg);border:1px solid var(--ohf-danger-line);color:var(--ohf-danger);border-radius:12px;align-items:flex-start;gap:10px;padding:12px 16px;font-size:13px;font-weight:600;display:flex}
.ohf-cards-header-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ohf-cards-list{flex-direction:column;align-content:start;gap:10px;min-height:278px;display:flex}.ohf-card-row,.ohf-card-item{background:var(--ohf-surface-card);border:1px solid var(--ohf-edge-08);border-radius:14px;justify-content:space-between;align-items:center;padding:14px 18px;transition:border-color .15s,background .15s;display:flex}.ohf-card-row:hover,.ohf-card-item:hover{border-color:var(--ohf-edge-15)}.ohf-card-row.is-default,.ohf-card-item.is-default{border-color:var(--ohf-brand-35);background:var(--ohf-brand-03)}.ohf-card-left,.ohf-card-item-left{align-items:center;gap:14px;display:flex}.ohf-card-brand-display{background:var(--ohf-edge-04);border:1px solid var(--ohf-edge-08);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;min-width:48px;height:32px;display:flex}.ohf-card-info,.ohf-card-meta{flex-direction:column;gap:3px;display:flex}.ohf-card-title-line,.ohf-card-number{align-items:center;gap:8px;display:flex}.ohf-card-num,.ohf-card-number{color:var(--ohf-ink-white);letter-spacing:.02em;font-size:14px;font-weight:700}.ohf-default-indicator{color:var(--ohf-brand);background:var(--ohf-brand-12);border:1px solid var(--ohf-brand-25);border-radius:5px;padding:2px 7px;font-size:10px;font-weight:700;line-height:1.2}.ohf-cards-pagination{justify-content:center;min-height:32px;margin-top:16px;display:flex}.ohf-card-row--skeleton{opacity:1;pointer-events:none}.ohf-skeleton-line--card-brand{background:var(--ohf-edge-08);border-radius:8px;width:48px;height:32px;position:relative;overflow:hidden}.ohf-skeleton-line--card-num{background:var(--ohf-edge-10);border-radius:6px;width:140px;height:14px;margin-bottom:6px;position:relative;overflow:hidden}.ohf-skeleton-line--card-sub{background:var(--ohf-edge-08);opacity:.7;border-radius:6px;width:96px;height:11px;position:relative;overflow:hidden}.ohf-skeleton-line--card-act{background:var(--ohf-edge-08);border-radius:8px;width:64px;height:28px;position:relative;overflow:hidden}.ohf-skeleton-line--card-brand:after,.ohf-skeleton-line--card-num:after,.ohf-skeleton-line--card-sub:after,.ohf-skeleton-line--card-act:after{content:"";background:linear-gradient(90deg, transparent, var(--ohf-wash-05), transparent);animation:ohf-skeleton-shimmer 1.2s var(--ease) infinite;position:absolute;inset:0}
.ohf-card-sub,.ohf-card-exp{color:var(--upf-studio-tx3);font-size:12px}.ohf-card-actions,.ohf-card-item-right{align-items:center;gap:8px;display:flex}.ohf-btn-make-default,.ohf-btn-subtle{background:var(--ohf-edge-06);border:1px solid var(--ohf-edge-10);height:32px;color:var(--upf-studio-tx2);cursor:pointer;border-radius:8px;padding:0 12px;font-size:12px;font-weight:600;transition:all .15s}.ohf-btn-make-default:hover:not(:disabled),.ohf-btn-subtle:hover:not(:disabled){background:var(--ohf-wash-12);color:var(--ohf-ink-white)}.ohf-btn-delete-card,.ohf-btn-danger-icon{background:var(--ohf-danger-bg);border:1px solid var(--ohf-danger-line);width:32px;height:32px;color:var(--ohf-danger);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.ohf-btn-delete-card:hover:not(:disabled),.ohf-btn-danger-icon:hover:not(:disabled){background:var(--ohf-danger-bg-hover);color:var(--ohf-danger-hi)}
.ohf-subtabs-row{gap:6px;margin-bottom:12px;display:flex}.ohf-subtab-btn{height:32px;color:var(--upf-studio-tx3);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:0 14px;font-size:12px;font-weight:600;transition:all .15s}.ohf-subtab-btn.active{background:var(--ohf-surface-raised);color:var(--ohf-ink-white);border-color:var(--ohf-edge-10)}.ohf-history-list{flex-direction:column;align-content:start;gap:8px;min-height:280px;display:flex}.ohf-history-row{background:var(--ohf-surface-card);border:1px solid var(--ohf-edge-06);cursor:pointer;box-sizing:border-box;border-radius:12px;justify-content:space-between;align-items:center;min-height:68px;padding:14px 16px;display:flex}.ohf-history-title{color:var(--ohf-ink-white);margin-bottom:2px;font-size:14px;font-weight:700}.ohf-history-sub{color:var(--upf-studio-tx3);font-size:12px}.ohf-history-amount{white-space:nowrap;flex-shrink:0;font-size:14px;font-weight:700}.ohf-history-amount.positive{color:var(--ohf-brand)}.ohf-history-amount.negative{color:var(--ohf-danger)}.ohf-history-pagination{justify-content:center;min-height:32px;margin-top:16px;display:flex}.ohf-history-row--skeleton{opacity:1;pointer-events:none;box-sizing:border-box;min-height:68px}.ohf-skeleton-line{background:var(--ohf-edge-10);opacity:.9;border-radius:6px;height:12px;position:relative;overflow:hidden}.ohf-skeleton-line:after{content:"";background:linear-gradient(90deg, transparent, var(--ohf-wash-05), transparent);animation:ohf-skeleton-shimmer 1.2s var(--ease) infinite;position:absolute;inset:0}.ohf-skeleton-line--title{width:112px;height:13px;margin-bottom:8px}.ohf-skeleton-line--sub{opacity:.7;width:168px;height:11px}.ohf-skeleton-line--amount{width:72px;height:14px}@keyframes ohf-skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.ohf-history-title.positive{color:var(--ohf-brand)}.ohf-history-title.negative{color:var(--ohf-danger)}
.ohf-empty-box{background:var(--ohf-surface-card);border:1px dashed var(--ohf-edge-10);text-align:center;border-radius:16px;flex-direction:column;align-items:center;padding:36px 20px;display:flex}.ohf-empty-icon{color:var(--upf-studio-tx3);margin-bottom:8px;font-size:32px;display:inline-flex}.ohf-empty-icon svg{display:block}.ohf-alert-success svg,.ohf-alert-error svg{flex-shrink:0;margin-top:1px}.ohf-empty-title{color:var(--ohf-ink-white);margin-bottom:4px;font-size:15px;font-weight:700}.ohf-empty-desc{color:var(--upf-studio-tx3);max-width:280px;font-size:12px}.ohf-loading-box{text-align:center;color:var(--upf-studio-tx3);padding:36px;font-size:13px}.ohf-small-spinner{border:2px solid var(--ohf-edge-20);border-top-color:currentColor;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite ohfSpin;display:inline-block}@keyframes ohfFadeIn{0%{opacity:0}to{opacity:1}}@keyframes ohfScaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes ohfSpin{to{transform:rotate(360deg)}}
@media (max-width:640px){.ohf-credit-modal-backdrop{align-items:flex-end;padding:0}.ohf-credit-modal-card{border:none;border-radius:24px 24px 0 0;width:100%;max-height:92dvh;margin:0;padding:24px 20px 32px;animation:.35s cubic-bezier(.16,1,.3,1) forwards ohfSlideUpSheet}.ohf-credit-modal-card:before{content:"";background:var(--ohf-edge-20);border-radius:2px;width:36px;height:4px;margin:-12px auto 20px;display:block}.ohf-modal-close{top:16px;right:16px}.ohf-credit-modal-header{margin-bottom:18px}.ohf-credit-modal-title{padding-right:32px;font-size:19px}.ohf-balance-num{font-size:24px}.ohf-packages-grid{grid-template-columns:repeat(2,1fr)}.ohf-checkout-form{padding:16px}.ohf-card-row,.ohf-card-item{padding:12px 14px}}@media (max-width:480px){.ohf-credit-modal-card{padding:20px 16px 32px}.ohf-modal-brand-icon{width:38px;height:38px;margin-bottom:12px}.ohf-credit-tabs{scrollbar-width:none;-ms-overflow-style:none;gap:4px;margin-bottom:20px;padding:3px;display:flex;overflow-x:auto}.ohf-credit-tabs::-webkit-scrollbar{display:none}.ohf-credit-tab-btn{white-space:nowrap;flex:none;height:34px;padding:0 16px;font-size:13px}.ohf-balance-card{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.ohf-balance-rate{align-items:flex-start}.ohf-packages-grid{grid-template-columns:repeat(2,1fr);gap:8px}.ohf-package-card{padding:12px 8px}.ohf-saved-cards-picker{flex-direction:column;align-items:stretch}.ohf-no-card-prompt{flex-direction:column;align-items:flex-start;gap:10px}.ohf-form-grid-2{grid-template-columns:1fr}.ohf-card-row,.ohf-card-item{flex-wrap:nowrap;gap:10px;padding:12px}.ohf-card-left{min-width:0}.ohf-card-actions,.ohf-card-item-right{flex-shrink:0;margin-left:auto}.ohf-history-row{flex-wrap:nowrap;align-items:flex-start;gap:8px;padding:12px}.ohf-history-main{min-width:0}.ohf-history-title{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.ohf-history-sub{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.ohf-history-amount{flex-shrink:0;margin-left:auto;font-size:13px}.ohf-purchase-btn,.ohf-btn-primary-large{height:46px}}@media (max-width:320px){.ohf-packages-grid{grid-template-columns:1fr}.ohf-credit-modal-card{padding:12px}.ohf-purchase-btn,.ohf-btn-primary-large{height:42px}}@keyframes ohfSlideUpSheet{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}
.ohf-studio .ohf-shell{flex-direction:column;width:100%;display:flex}.ohf-studio .ohf-topbar{pointer-events:auto;flex:none;width:auto;padding:12px 20px 10px;position:static}.ohf-studio-body{--phw:304px;flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:232px minmax(0,1fr);gap:0 14px;min-height:0;padding:0;display:grid;overflow:visible}.ohf-studio .ohf-main{height:auto}.ohf-studio-content-wrapper{grid-column:2;grid-template-columns:minmax(0, 1fr) var(--phw);grid-template-rows:minmax(0,1fr) auto auto;justify-self:center;column-gap:14px;width:100%;min-width:0;max-width:1200px;height:100%;margin:0 auto;display:grid;position:relative}.ohf-studio-body[data-view=gallery] .ohf-studio-content-wrapper{grid-template-columns:minmax(0,1fr)}.ohf-studio-content-wrapper .ohf-settings{grid-area:1/2/4}.ohf-side{grid-area:1/1/4}.ohf-studio-center{flex-direction:column;grid-area:1/1;gap:0;width:100%;min-width:0;min-height:0;padding:0;display:flex}.ohf-studio-body[data-view=gallery] .ohf-studio-center{grid-column:1/-1}.ohf-studio-body[data-view=gallery] .ohf-composer{display:none}.ohf-studio-body[data-view=gallery] .ohf-composer-wrap{pointer-events:none}.ohf-studio-body[data-view=gallery] :is(.ohf-undo,.ohf-alert){pointer-events:auto}.ohf-studio-scroll{flex-direction:column;flex:1;gap:14px;width:100%;min-width:0;min-height:0;padding:4px 0 8px;display:flex;overflow-y:auto}.ohf-studio-composer-dock{z-index:40;flex:none;grid-area:2/1;width:100%;min-width:0;margin-top:0;position:relative;overflow:visible}.ohf-studio-body[data-view=gallery] .ohf-studio-composer-dock{pointer-events:none;grid-row:1;align-self:end}.ohf-studio-recent-row{z-index:50;flex:none;grid-area:3/1;width:100%;min-width:0;height:74px;position:relative}.ohf-studio-recent-row>.ohf-recent{background:var(--bg,#000);border-radius:16px 16px 0 0;width:100%;padding:12px 0 20px;transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0;transform:translateY(calc(100% - 74px))}.ohf-studio-recent-row:hover>.ohf-recent,.ohf-studio-recent-row:focus-within>.ohf-recent{transform:translateY(0);box-shadow:0 -10px 40px #00000080}.ohf-sidebar-backdrop{z-index:99;opacity:0;pointer-events:none;background:#00000080;transition:opacity .3s;display:none;position:fixed;inset:0}.ohf-sidebar-backdrop[data-open]{opacity:1;pointer-events:auto}@media (max-width:1024px){.ohf-sidebar-backdrop{display:block}}.ohf-mobile-menu-btn{width:32px;height:32px;color:var(--tx2);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin-right:12px;display:none}.ohf-mobile-menu-btn:hover{background:var(--s3);color:var(--tx)}@media (max-width:1024px){.ohf-mobile-menu-btn{display:flex}}.ohf-mobile-close-btn{width:32px;height:32px;color:var(--tx2);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:none}.ohf-mobile-close-btn:hover{background:var(--s3);color:var(--tx)}.ohf-sidebar-mobile-header{display:none}@media (max-width:1024px){.ohf-mobile-close-btn{display:flex}.ohf-sidebar-mobile-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;display:flex}.ohf-sidebar-mobile-header .ohf-brand-text,.ohf-sidebar-mobile-header .ohf-brand-sub{display:inline-block!important}}
.ohf-side{background:var(--s1);flex-direction:column;gap:2px;min-height:0;padding:10px;display:flex;overflow-y:auto}.ohf-side-sec{letter-spacing:.12em;text-transform:uppercase;color:var(--tx3);padding:10px 10px 6px;font-size:10.5px;font-weight:700}.ohf-side-btn{width:100%;height:38px;color:var(--tx2);letter-spacing:-.005em;text-align:left;border:1px solid #0000;border-radius:10px;flex:none;align-items:center;gap:10px;padding:0 10px;font-size:13px;font-weight:550;transition:background .13s,color .13s,border-color .13s;display:flex}.ohf-side-btn:hover{background:var(--s3);color:var(--tx)}.ohf-side-btn:active{transform:scale(.98)}.ohf-side-btn[data-on]{background:var(--accent-08);border-color:var(--accent-32);color:var(--accent)}.ohf-side-btn[data-soon]{opacity:.45;cursor:not-allowed}.ohf-side-btn[data-soon]:hover{color:var(--tx2);background:0 0}.ohf-side-btn[data-soon]:active{transform:none}.ohf-side-btn-ic{flex:none;align-items:center;display:flex}.ohf-side-btn-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ohf-side-promo{border:1px solid var(--line);background-color:var(--s2);background-image:linear-gradient(transparent 28%, var(--ohf-scrim-mid) 62%, var(--ohf-scrim-deep)), linear-gradient(#00000059, #000000e6), url(https://images.unsplash.com/photo-1789774821474-d10687425ccd?q=80&w=687&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D);background-position:bottom;background-size:cover;border-radius:16px;flex-direction:column;justify-content:flex-end;gap:6px;min-height:270px;margin-top:auto;padding:14px 14px 18px;display:flex;overflow:hidden}.ohf-side-promo-title{letter-spacing:-.01em;color:var(--ohf-ink-bright);text-wrap:pretty;font-size:17px;font-weight:700;line-height:1.32}.ohf-side-promo-sub{color:var(--plate-ink);font-size:12px}
.ohf-hero{background:var(--s1);border:1px solid var(--line);border-radius:16px;flex-direction:column;flex:none;gap:12px;margin:5px 0 0;padding:15px;display:flex}.ohf-hero-stage{background-color:var(--s2);aspect-ratio:16/9;background-position:50%;background-size:cover;border-radius:12px;min-height:220px;max-height:50vh;position:relative;overflow:hidden}.ohf-hero-media{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.ohf-hero-badge{background:var(--plate);height:26px;color:var(--plate-ink);font-variant-numeric:tabular-nums;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:flex;position:absolute;top:10px;left:10px}.ohf-hero-tools{z-index:3;gap:8px;display:flex;position:absolute;top:10px;right:10px}.ohf-hero-tool{background:var(--plate);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:34px;height:34px;color:var(--plate-ink);border:1px solid var(--ohf-edge-10);box-shadow:var(--shadow-1);transition:background .13s ease, color .13s ease, transform .13s var(--ease);border-radius:10px;justify-content:center;align-items:center;display:flex}.ohf-hero-tool:hover{background:var(--ohf-play-hover);color:var(--ohf-ink-bright)}.ohf-hero-tool:active{transform:scale(.94)}.ohf-hero-tool[data-on]{color:var(--accent-strong)}.ohf-hero-bar{flex-direction:column;gap:8px;display:flex}.ohf-hero-meta{color:var(--tx3);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.ohf-hero-model{color:var(--tx2);align-items:center;gap:6px;font-weight:600;display:flex}.ohf-hero-fact{border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:6px;padding:2px 8px}.ohf-hero-when{font-variant-numeric:tabular-nums;margin-left:auto}.ohf-hero-prompt{color:var(--tx2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.ohf-hero-rendering{z-index:2;background:var(--ohf-shade-40);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ohf-hero-rendering:before{content:"";background-image:linear-gradient(100deg, transparent 24%, var(--ohf-edge-10) 50%, transparent 76%);pointer-events:none;background-repeat:repeat-x;background-size:50% 100%;width:200%;animation:2.8s linear infinite ohf-sheen;position:absolute;top:0;bottom:0;left:0}.ohf-hero-rendering-card{z-index:1;background:var(--plate);border:1px solid var(--ohf-edge-10);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:14px 22px;display:flex;position:relative}.ohf-hero-rendering-model{font-variant-numeric:tabular-nums;color:var(--plate-ink);font-size:11px}
.ohf-hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding-top:2px;display:flex}.ohf-hero-btn,.ohf-cta.ohf-hero-recreate{background:var(--s3);border:1px solid var(--line);height:38px;color:var(--tx2);letter-spacing:-.005em;white-space:nowrap;box-shadow:var(--shadow-1);transition:background .13s ease, color .13s ease, border-color .13s ease, transform .13s var(--ease);border-radius:12px;flex:none;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:12.5px;font-weight:600;display:inline-flex}.ohf-hero-btn:hover,.ohf-cta.ohf-hero-recreate:hover{background:var(--s4);color:var(--tx);border-color:var(--line-2)}.ohf-hero-btn:active,.ohf-cta.ohf-hero-recreate:active{transform:scale(.96)}.ohf-hero-btn--danger:hover{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger)}.ohf-hero-skeleton{border-radius:0;position:absolute;inset:0}
.ohf-hero-stage--empty{border:1px dashed var(--line-2);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.ohf-hero-empty-ic{color:var(--tx3);margin-bottom:4px;display:flex}.ohf-hero-empty-title{letter-spacing:-.01em;color:var(--tx);font-size:15px;font-weight:650}.ohf-hero-empty-sub{color:var(--tx3);font-size:12.5px}.ohf-hero-empty-cta{margin-top:10px}.ohf-hero-starters{flex-direction:column;gap:4px;display:flex}.ohf-hero-starters-label{color:var(--tx3);font-size:12px}.ohf-hero-starters .ohf-empty-starters{margin-top:6px}
@media (max-width:1024px){.ohf-hero{padding:10px}.ohf-hero-stage{min-height:200px;max-height:40vh}}@media (max-width:834px){.ohf-hero-stage{min-height:180px}.ohf-hero-tools{gap:6px}}@media (max-width:768px){.ohf-hero-stage{min-height:160px}}@media (max-width:480px){.ohf-hero{border-radius:14px}.ohf-hero-btn{flex:auto;justify-content:center}.ohf-hero-meta{font-size:11.5px}}@media (max-width:414px){.ohf-hero-stage{min-height:140px}}@media (max-width:320px){.ohf-hero-btn{height:32px;padding:0 8px;font-size:11px}}@media (max-height:500px){.ohf-hero-stage{min-height:140px;max-height:52vh}}
.ohf-settings{background:var(--s1);border:1px solid var(--line);z-index:2;border-bottom:none;border-radius:16px 0 0;flex-direction:column;grid-area:1/3/4;align-self:stretch;gap:18px;height:100%;min-height:0;max-height:100%;margin:8px 0 0;padding:16px 16px 20px;display:flex;position:relative;overflow-y:auto}.ohf-set-sec{flex-direction:column;gap:10px;min-width:0;display:flex}.ohf-set-label{letter-spacing:-.005em;color:var(--tx);align-items:center;gap:7px;font-size:12.5px;font-weight:650;display:flex}.ohf-set-label-ic{color:var(--tx3);display:flex}.ohf-set-sub{color:var(--tx3);font-size:11.5px}.ohf-set-modelwrap{position:relative}.ohf-set-modelbtn{background:var(--s3);border:1px solid var(--line-2);width:100%;min-height:46px;color:var(--tx);border-radius:12px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;font-weight:600;transition:background .13s,border-color .13s;display:flex}.ohf-set-modelbtn:hover,.ohf-set-modelbtn[aria-expanded=true]{background:var(--s4);border-color:var(--accent-32)}.ohf-set-modelname{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.ohf-set-backdrop{z-index:29;cursor:default;background:0 0;position:fixed;inset:0}.ohf-settings .ohf-popover--picker{z-index:30;width:auto;height:min(52vh,440px);position:absolute;inset:calc(100% + 8px) 0 auto}.ohf-mobile-settings-fab{bottom:max(96px, calc(72px + env(safe-area-inset-bottom)));background:var(--accent);width:48px;height:48px;color:var(--accent-ink);box-shadow:var(--shadow-2), 0 4px 12px var(--accent-32);z-index:50;cursor:pointer;border:none;border-radius:24px;justify-content:center;align-items:center;transition:background .13s,transform .13s;display:none;position:fixed;right:24px}.ohf-mobile-settings-fab:hover{background:var(--accent-strong);transform:scale(1.05)}.ohf-mobile-settings-fab:active{transform:scale(.95)}.ohf-settings-backdrop{z-index:99;background:#0006;display:none;position:fixed;inset:0}.ohf-settings-mobile-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:4px;padding-bottom:12px;display:none}.ohf-settings-mobile-title{color:var(--tx);font-size:16px;font-weight:600}.ohf-settings-mobile-close{background:var(--s2);width:32px;height:32px;color:var(--tx);cursor:pointer;border:none;border-radius:16px;justify-content:center;align-items:center;font-size:20px;display:flex}@media (max-width:1024px){.ohf-mobile-settings-fab{display:flex}.ohf-settings-backdrop{display:block}.ohf-settings-mobile-head{display:flex}}
.ohf-seg{grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:8px;display:grid}.ohf-seg-btn{border:1px solid var(--line-2);min-height:36px;color:var(--tx2);font-variant-numeric:tabular-nums;transition:background .13s ease, color .13s ease, border-color .13s ease, transform .13s var(--ease);border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:6px 8px;font-size:12.5px;font-weight:550;display:flex}.ohf-seg-btn:hover{background:var(--s3);color:var(--tx)}.ohf-seg-btn:active{transform:scale(.96)}.ohf-seg-btn[data-on]{background:var(--accent-08);border-color:var(--accent-32);color:var(--accent)}.ohf-seg-ratio{align-items:center;display:flex}.ohf-set-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.ohf-set-row-text{flex-direction:column;gap:2px;min-width:0;display:flex}.ohf-set-flag-label{color:var(--tx2);font-size:12.5px;font-weight:550}.ohf-switch{background:var(--s4);border:1px solid var(--line-2);border-radius:999px;flex:none;width:44px;height:26px;transition:background .15s,border-color .15s;position:relative}.ohf-switch-knob{background:var(--tx3);width:20px;height:20px;transition:translate .18s var(--ease), background .15s ease;border-radius:50%;position:absolute;top:2px;left:2px}.ohf-switch[data-on]{background:var(--accent);border-color:var(--accent)}.ohf-switch[data-on] .ohf-switch-knob{background:var(--accent-ink);translate:20px}
.ohf-set-adv{border-top:1px solid var(--line);padding-top:14px}.ohf-set-adv-head{justify-content:space-between;align-items:center;width:100%;min-height:32px;display:flex}.ohf-set-adv-body{flex-direction:column;gap:14px;padding-top:4px;display:flex}.ohf-set-adv-body .ohf-opts{max-height:220px}
.ohf-recent{flex-direction:column;flex:none;gap:10px;width:100%;min-width:0;display:flex}.ohf-recent-head{justify-content:space-between;align-items:center;padding:0 10px;display:flex}.ohf-recent-tabs{gap:18px;display:flex}.ohf-recent-tab{letter-spacing:-.005em;min-height:32px;color:var(--tx3);align-items:center;padding:4px 0;font-size:13px;font-weight:600;display:inline-flex;position:relative}.ohf-recent-tab:hover,.ohf-recent-tab[data-on]{color:var(--tx)}.ohf-recent-tab[data-on]:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-2px;left:0;right:0}.ohf-recent-all{min-height:32px;color:var(--tx3);align-items:center;gap:6px;font-size:12.5px;font-weight:550;display:inline-flex}.ohf-recent-all:hover{color:var(--tx)}.ohf-recent-track{scroll-snap-type:x proximity;scrollbar-width:thin;grid-auto-columns:192px;grid-auto-flow:column;gap:10px;padding:2px 2px 10px;scroll-padding:0 2px;display:grid;overflow:auto hidden}.ohf-recent-track>*{scroll-snap-align:start}.ohf-recent-track .ohf-tile,.ohf-recent-track .ohf-skeleton{width:192px;min-width:192px;max-width:192px}.ohf-recent-track .ohf-tile{aspect-ratio:16/9;border-radius:10px;height:108px;min-height:108px}.ohf-recent-track .ohf-tile-media{object-fit:cover}.ohf-recent-track .ohf-skeleton{aspect-ratio:16/9;border-radius:10px;height:108px;min-height:108px}.ohf-recent-track .ohf-skeleton-label{font-size:9px}.ohf-recent-track .ohf-skeleton-clock{font-size:11px}.ohf-recent-track .ohf-tile--failed{aspect-ratio:16/9;width:192px;min-width:192px;height:108px;min-height:108px}.ohf-recent-track .ohf-tile-caption,.ohf-recent-track .ohf-pick,.ohf-recent-track .ohf-tile-acts{display:none!important}.ohf-recent-track .ohf-tile-badge{border-radius:6px;padding:3px 7px;font-size:10px;top:auto;bottom:8px;left:8px}.ohf-recent-empty{color:var(--tx3);padding:6px 0 12px;font-size:12.5px}@media (max-width:1024px){.ohf-recent,.ohf-studio-recent-row{display:none!important}}
.ohf-studio .ohf-dock{z-index:auto;pointer-events:auto;width:100%;min-width:0;max-width:none;padding:0;position:static}.ohf-studio-body[data-view=gallery] .ohf-dock{pointer-events:none}.ohf-studio .ohf-composer-wrap{width:100%;min-width:0;max-width:none;margin-inline:0}.ohf-studio .ohf-composer{width:100%}.ohf-studio-composer-dock{width:100%;min-width:0}.ohf-studio-composer-dock .ohf-composer{box-sizing:border-box;width:100%;min-width:0;box-shadow:var(--shadow-2), var(--glint);border-radius:16px;position:relative}.ohf-studio-composer-dock .ohf-composer:before{display:none}.ohf-studio .ohf-generate{border-radius:12px;height:42px;padding:0 20px;font-size:13.5px}.ohf-studio .ohf-generate-glyph{display:flex}.ohf-studio .ohf-gallery{--ohf-fade:0px;padding:8px 2px 12px;-webkit-mask-image:none;mask-image:none}
@media (max-width:1440px){.ohf-studio-body{--phw:304px;grid-template-columns:232px minmax(0,1fr)}}@media (max-width:1366px){.ohf-studio-body{--phw:290px;grid-template-columns:220px minmax(0,1fr)}}@media (max-width:1280px){.ohf-studio-body{--phw:280px;grid-template-columns:210px minmax(0,1fr)}}@media (max-width:1024px){.ohf-studio-body{grid-template-rows:minmax(0,1fr) auto auto auto;grid-template-columns:200px minmax(0,1fr);overflow-y:auto}.ohf-side{grid-area:1/1}.ohf-studio-center{grid-area:1/2;min-height:72vh}.ohf-settings{z-index:100;border-left:1px solid var(--line);background:var(--bg);border-radius:0;width:320px;max-width:100vw;max-height:100dvh;margin:0;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.ohf-settings--open{transform:translate(0)}.ohf-studio-composer-dock{grid-area:2/1/auto/-1;margin-top:0}.ohf-studio-composer-dock .ohf-composer{border-radius:16px}.ohf-studio-composer-dock .ohf-composer:before{display:none}.ohf-studio-recent-row{grid-area:3/1/auto/-1}.ohf-side-promo{display:none}}@media (min-width:1920px){.ohf-studio-body{--phw:340px;grid-template-columns:280px minmax(0,1fr)}}@media (min-width:2560px){.ohf-studio-body{--phw:400px;grid-template-columns:320px minmax(0,1fr)}}@media (min-width:3840px){.ohf-studio-body{--phw:460px;grid-template-columns:360px minmax(0,1fr)}}
@media (max-width:1024px){.ohf-studio .ohf-topbar-side{min-width:0}.ohf-studio-body{flex-direction:column;display:flex;overflow:hidden}.ohf-studio-content-wrapper{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ohf-side{z-index:100;background:var(--s1);border-right:1px solid var(--line);flex-direction:column;align-items:stretch;width:280px;height:100%;padding:12px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.ohf-side[data-open=true]{transform:translate(0)}.ohf-side-sec,.ohf-side-promo{display:flex}.ohf-side-btn{width:100%}.ohf-studio-center{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.ohf-studio-scroll{flex:1;overflow-y:auto}.ohf-studio-composer-dock{padding-inline:0;padding-bottom:max(12px, env(safe-area-inset-bottom));background:var(--bg);z-index:40;flex:none;margin-top:0}.ohf-studio-body[data-view=gallery] .ohf-studio-composer-dock{background:0 0;width:100%;position:absolute;bottom:0;left:0}.ohf-studio-recent-row{padding-inline:0}.ohf-studio-composer-dock .ohf-composer{border-radius:16px}.ohf-studio-composer-dock .ohf-composer:before{display:none}.ohf-studio .ohf-gallery{flex:1;max-height:none}.ohf-hero-stage{max-height:none}}@media (max-width:768px){.ohf-studio-body{padding:0}.ohf-studio .ohf-topbar{padding:12px 14px 10px}.ohf-studio-scroll{padding:0 14px}.ohf-studio-composer-dock,.ohf-studio-recent-row{padding-inline:14px}}@media (max-width:640px){.ohf-studio-body{padding:0}.ohf-studio .ohf-topbar{padding:10px 10px 8px}.ohf-studio-scroll{padding:0 10px}.ohf-studio-composer-dock,.ohf-studio-recent-row{padding-inline:10px}.ohf-studio .ohf-gallery{max-height:none;padding:10px}}

