@font-face{font-family:Riven Mono;src:url(/assets/riven-mono-regular-BbYzAnW9.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Google Sans Flex;src:url(/assets/GoogleSansFlex-var-D_2sixhs.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Red Hat Mono;src:url(/assets/red-hat-mono-var-B-TxKSad.ttf) format("truetype");font-weight:300 700;font-style:normal;font-display:swap}:root{interpolate-size:allow-keywords;--font-mono: "Inconsolata", ui-monospace, monospace;--font-ui: "Google Sans Flex", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--content-pad-x: clamp(1.2rem, 5vw, 4rem);--r-lg: 22px;--r-md: 13px;--r-sm: 9px;--surface: #ffffff;--field-fill: rgba(0,0,0,.035);--border: #e4e4e7;--border-strong: #d4d4d8;--edit-dim: rgba(8,8,12,.6);--edit-dot: 5px;--edit-dot-sel: 6px;--edit-dot-fill: rgba(255,255,255,.7);--edit-dot-sel-fill: rgba(0,0,0,.6);--shadow: 0 1px 2px rgba(24,24,27,.04), 0 8px 24px rgba(24,24,27,.06);--shadow-sm: 0 1px 2px rgba(24,24,27,.05);--shadow-lg: 0 4px 12px rgba(24,24,27,.06), 0 18px 46px rgba(24,24,27,.12);--text: #1c1c22;--text-2: #52525b;--text-3: #8a8a94;--brand: #1c1c22;--brand-strong: #000;--brand-tint: #d4d4d8;--brand-weak: #ececef;--accent: var(--brand);--accent-weak: var(--brand-weak);--danger: #dc4b4b;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .11s;--dur: .2s;--dur-appear: .4s;--dur-step: .32s;--bg-cool-1: #f8f7f7;--bg-cool-2: #f3f2f2;--bg-cool-3: #edecec;color-scheme:light}*{box-sizing:border-box}body{margin:0;font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--text);min-height:100vh;background:radial-gradient(680px 520px at 82% 88%,var(--brand-tint) 0%,rgba(222,205,211,0) 55%),radial-gradient(900px 700px at 15% 8%,var(--bg-cool-1) 0%,rgba(241,240,240,0) 60%),radial-gradient(1000px 900px at 105% 20%,var(--bg-cool-3) 0%,rgba(227,225,225,0) 55%),radial-gradient(750px 650px at 40% 115%,var(--bg-cool-2) 0%,rgba(234,232,232,0) 60%),linear-gradient(165deg,var(--bg-cool-1) 0%,var(--bg-cool-2) 55%,var(--bg-cool-3) 100%);background-attachment:fixed}body:after{content:"";position:fixed;top:-4%;right:-4%;bottom:-4%;left:-4%;background:url(/assets/bg-blossom-N09YOe5a.jpg) center/cover no-repeat;filter:blur(4px) saturate(106%);transform:scale(1.05);pointer-events:none;z-index:-2}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffff1a;pointer-events:none;z-index:-1}#root{position:relative;z-index:1}.tag{font-size:.62rem;background:var(--accent-weak);color:var(--accent);padding:.2rem .55rem;border-radius:99px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.app-shell{display:grid;grid-template-columns:auto 1fr;min-height:100vh}.navbar{width:244px;box-sizing:border-box;display:flex;flex-direction:column;gap:1.4rem;padding:1.4rem 1rem;background:#ffffffd9;backdrop-filter:blur(30px) saturate(150%);-webkit-backdrop-filter:blur(30px) saturate(150%);transition:width .45s var(--ease-out)}.navbar.is-collapsed{width:72px}.navbar.is-collapsed:hover{width:244px}.navbar.is-collapsed:not(:hover) .navbar-collapse{display:none}.navbar.is-collapsed .navbar-group-title,.navbar.is-collapsed .navbar-tab-label{display:none}.navbar.is-collapsed:hover .navbar-group-title,.navbar.is-collapsed:hover .navbar-tab-label{display:block}.navbar.is-collapsed .navbar-brand{flex-direction:column;gap:.5rem;padding:0}.navbar.is-collapsed .navbar-logo{width:28px;height:28px}.navbar.is-collapsed:hover .navbar-brand{flex-direction:row;gap:.3rem;padding:0 .2rem 0 .45rem}.navbar.is-collapsed:hover .navbar-logo{width:34px;height:34px}.navbar.is-collapsed .navbar-tab{justify-content:center;padding-left:0;padding-right:0}.navbar.is-collapsed .navbar-group-title{padding:0;height:.3rem}.navbar.is-collapsed:hover .navbar-tab{justify-content:flex-start;padding-left:.6rem;padding-right:.6rem}.navbar.is-collapsed:hover .navbar-group-title{padding:0 .6rem .3rem;height:auto}.app-shell:has(.navbar--rail){grid-template-columns:1fr}.navbar.navbar--rail{position:fixed;top:12px;left:12px;z-index:20;width:auto;padding:0;gap:0;align-items:center;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.navbar--rail .rail-btn{background:#fff9;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%)}.navbar--rail .rail-btn:hover{background:#fffc}.rail-btn{flex:none;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:var(--r-md);background:transparent;color:var(--text-2);cursor:pointer;padding:0;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.rail-btn:hover{background:#ffffff8c;color:var(--text)}.rail-btn:active{transform:scale(.94)}.navbar-brand{display:flex;align-items:center;gap:.3rem;padding:0 .2rem 0 .45rem;margin-bottom:.1rem}.navbar-logo{display:block;width:34px;height:34px;object-fit:contain;flex:none;margin-right:auto}.navbar-collapse{flex:none;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:var(--r-md);background:transparent;color:var(--text-3);cursor:pointer;padding:0;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.navbar-collapse:hover{background:transparent;color:var(--text)}.navbar-nav{display:flex;flex-direction:column;gap:1.1rem}.navbar-group{display:flex;flex-direction:column;gap:.15rem}.navbar-group-title{font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);padding:0 .6rem .3rem;margin:0}.navbar-tabs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem;width:100%}.navbar-tab{width:100%;display:flex;align-items:center;gap:.7rem;border:1px solid transparent;background:transparent;color:var(--text-2);padding:.55rem .6rem;border-radius:var(--r-md);cursor:pointer;font:inherit;font-size:.82rem;font-weight:450;letter-spacing:-.005em;text-align:left;transition:background var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out),opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}.navbar-tab .icon{flex:none;transition:transform var(--dur) var(--ease-out)}.navbar-tab:focus,.navbar-tab:focus-visible{outline:none}.navbar-tab:hover:not(.on){background:transparent;border-color:transparent}.navbar-tab:hover .icon{transform:scale(1.1)}.navbar-tab.on:hover{border-color:transparent}.navbar-tab:active{transform:scale(.96)}.navbar-tab.on{background:#fff6;color:var(--brand-strong);animation:tab-bounce .26s var(--ease-out)}@keyframes tab-bounce{0%{transform:scale(.985)}55%{transform:scale(1.012)}to{transform:scale(1)}}.navbar-tab-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-right{position:fixed;top:18px;right:22px;z-index:40;display:flex;align-items:center;gap:.7rem}.profile-fab{position:relative;z-index:40}.topbar-login{height:34px;padding:0 1.05rem;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--font-ui);font-size:.86rem;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.topbar-login:hover{background:var(--surface-2, rgba(0,0,0,.04));border-color:var(--text-3)}.balance-pill{display:inline-flex;align-items:center;gap:.6rem;height:34px;background:transparent;border:0;box-shadow:none;font-family:var(--font-ui)}.balance-pill-val{font-size:.86rem;font-weight:500;color:var(--text)}.balance-pill-btn{border:0;cursor:pointer;height:26px;padding:0 .8rem;border-radius:99px;background:var(--brand);color:#fff;font-family:var(--font-ui);font-size:.8rem;font-weight:400;transition:opacity var(--dur-fast) var(--ease-out)}.balance-pill-btn:hover{opacity:.88}.balance-pill-btn:disabled{opacity:.4;cursor:default}.payout-field{display:block;margin-top:.9rem}.payout-lbl{display:block;font-size:.78rem;color:var(--text-3);margin-bottom:.3rem}.payout-input{width:100%;box-sizing:border-box;padding:.6rem .7rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);font-family:var(--font-ui);font-size:.9rem;color:var(--text)}.payout-input:focus{outline:none;border-color:var(--brand)}.payout-err{display:flex;align-items:center;gap:.35rem;margin:.8rem 0 0;font-size:.8rem;color:#ef4444}.profile-fab-btn{padding:0;border:none;background:transparent;cursor:pointer;line-height:0;border-radius:99px;transition:transform var(--dur-fast) var(--ease-out)}.profile-fab-btn:hover{transform:scale(1.06)}.profile-fab-btn:active{transform:scale(.96)}.profile-fab-btn:focus,.profile-fab-btn:focus-visible{outline:none}.profile-fab-avatar{width:30px;height:30px;border-radius:99px;display:grid;place-items:center;flex:none;background:var(--text);color:#fff;font-size:.8rem;font-weight:600;line-height:1;font-family:var(--font-ui);overflow:hidden}.profile-fab-avatar img{width:100%;height:100%;object-fit:cover}.profile-fab.on .profile-fab-avatar,.profile-fab.is-open .profile-fab-avatar{box-shadow:0 0 0 2px var(--brand-strong)}.profile-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;display:flex;flex-direction:column;padding:.35rem;background:#ffffffeb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:0 10px 30px #00000029;animation:profile-menu-in .14s var(--ease-out)}@keyframes profile-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.profile-menu-head{padding:.4rem .55rem .5rem;display:flex;flex-direction:column;gap:.05rem;border-bottom:1px solid var(--border);margin-bottom:.25rem}.profile-menu-name{font-size:.86rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu-email{font-size:.74rem;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu-item{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;padding:.5rem .55rem;border:none;background:transparent;cursor:pointer;font:inherit;font-family:var(--font-ui);font-size:.88rem;color:var(--text);border-radius:var(--r-sm);transition:background var(--dur-fast) var(--ease-out)}.profile-menu-item:hover{background:#0000000d}.profile-menu-item.danger{color:#c0392b}.profile-menu-item.danger:hover{background:#c0392b17}.app-shell--mobile{grid-template-columns:1fr}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;align-items:stretch;padding:.4rem .6rem calc(.4rem + env(safe-area-inset-bottom));background:#ffffffd9;backdrop-filter:blur(30px) saturate(150%);-webkit-backdrop-filter:blur(30px) saturate(150%);border-top:1px solid var(--border)}.bottom-nav-tab{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.18rem;padding:.4rem 0;border:0;border-radius:var(--r-md);background:transparent;color:var(--text-3);font-family:var(--font-ui);font-size:.68rem;font-weight:500;cursor:pointer;transition:color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.bottom-nav-tab .icon{transition:transform var(--dur) var(--ease-out)}.bottom-nav-tab:active{transform:scale(.94)}.bottom-nav-tab.on{color:var(--brand-strong)}.bottom-nav-tab.on .icon{transform:scale(1.05)}.bottom-nav-label{line-height:1}.app-shell--mobile .content{padding-bottom:calc(56px + env(safe-area-inset-bottom))}.profile-page{flex:1;min-width:0;box-sizing:border-box;padding:2.6rem var(--content-pad-x);display:flex;flex-direction:column;gap:1.6rem;font-family:var(--font-ui)}.profile-hero{display:flex;align-items:center;gap:1rem}.profile-avatar{width:72px;height:72px;flex:none;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#fff9;border:1px solid var(--border);font-size:1.6rem;font-weight:600;color:var(--text)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-name{margin:0;font-size:1.35rem;font-weight:600;color:var(--text)}.profile-username{margin:.1rem 0 0;font-size:.9rem;color:var(--text-3)}.profile-fields{display:flex;flex-direction:column;gap:1rem;max-width:560px}.profile-field{display:flex;flex-direction:column;gap:.2rem}.profile-field-value{font-size:.95rem;color:var(--text);word-break:break-word}a.profile-field-value{color:var(--brand-strong);text-decoration:none}a.profile-field-value:hover{text-decoration:underline}.profile-signout{align-self:flex-start}.profile-empty{margin:auto;display:flex;flex-direction:column;align-items:center;gap:.6rem;color:var(--text-3);text-align:center}.content{position:relative;min-width:0;min-height:100vh;display:flex;background:#fffffff2;backdrop-filter:blur(30px) saturate(140%);-webkit-backdrop-filter:blur(30px) saturate(140%)}.content--glass{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.editor-desktop{position:relative;flex:1;min-width:0;min-height:0}.editor-panels{position:relative;flex:1;min-width:0;min-height:0;height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column;background:#ffffffd9;backdrop-filter:blur(30px) saturate(150%);-webkit-backdrop-filter:blur(30px) saturate(150%)}.editor-panels .panels-toolbar{position:static;transform:none;left:auto;bottom:auto;z-index:auto;width:100%;max-width:none;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.55rem .75rem;background:var(--surface, #fff);border-bottom:1px solid var(--border, #e4e4e7)}.panels-toolbar .editor-version-switch{margin-left:auto}.split{display:flex;flex:1;min-width:0;min-height:0}.editor-panels-layout{flex-direction:row-reverse;padding:0;gap:0;box-sizing:border-box;min-height:0;align-items:stretch}.editor-panels-layout>.col1-stack{flex:0 0 0px;width:0;min-width:0;border-radius:0;overflow:hidden;opacity:0;transform:translate(28px);transition:flex-basis .34s cubic-bezier(.4,0,.2,1),width .34s cubic-bezier(.4,0,.2,1),opacity .26s var(--ease-out),transform .34s cubic-bezier(.4,0,.2,1)}.editor-panels-layout>.col1-stack.is-open{flex:0 0 340px;width:340px;opacity:1;transform:translate(0)}.editor-panels-layout>.panel-cell--preview{flex:1;min-width:0}.split--row{flex-direction:row}.split--column{flex-direction:column}.split-panel{min-width:0;min-height:0;display:flex;flex:0 1 auto}.split-panel>*{flex:1;min-width:0;min-height:0}.split.dragging{-webkit-user-select:none;user-select:none}.split.dragging .split-panel{transition:none}body.gutter-dragging{cursor:col-resize}.gutter{--gutter: 8px;--gutter-open: 18px;flex:0 0 auto;position:relative;z-index:2;background:transparent;touch-action:none;transition:width var(--dur, .22s) cubic-bezier(.4,0,.2,1),height var(--dur, .22s) cubic-bezier(.4,0,.2,1)}.gutter--row{width:var(--gutter);cursor:col-resize}.gutter--column{height:var(--gutter);cursor:row-resize}.gutter--row:hover,.split.dragging .gutter--row{width:var(--gutter-open)}.gutter--column:hover,.split.dragging .gutter--column{height:var(--gutter-open)}.gutter:after{content:"";position:absolute;border-radius:99px;opacity:0;background:#b8b8c0;transition:opacity var(--dur, .22s) cubic-bezier(.4,0,.2,1),background var(--dur, .22s) cubic-bezier(.4,0,.2,1)}.gutter--row:after{top:12%;bottom:12%;left:50%;width:2px;transform:translate(-50%)}.gutter--column:after{left:12%;right:12%;top:50%;height:2px;transform:translateY(-50%)}.gutter:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.gutter:hover:after,.split.dragging .gutter:after{opacity:1}.split.dragging .gutter:after{background:#9a9aa4}.panel-cell{display:flex;flex-direction:column;min-width:0;min-height:0;flex:1;background:#fffc;border-radius:var(--r-md, 13px);overflow:hidden}.panel-cell.is-disabled{opacity:.5;pointer-events:none}.panel-cell-head{display:flex;align-items:center;gap:.4rem;padding:.5rem .7rem;font-size:.7rem;font-weight:500;letter-spacing:.01em;color:var(--text-3, #8a8a94);border-bottom:1px solid var(--border, #e4e4e7);flex:0 0 auto}.panel-cell-head.is-collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}.panel-cell-head-action{display:inline-flex;align-items:center}.cell-chevron{flex:none;margin-left:auto;color:var(--text-3);transition:transform .25s var(--ease-out);transform:rotate(-90deg)}.cell-chevron.is-open{transform:rotate(0)}.panel-cell-head:has(.cell-chevron) .panel-cell-head-action{margin-left:auto}.panel-cell-head:has(.cell-chevron) .cell-chevron{margin-left:.5rem}.panel-cell.is-accordion .panel-cell-head{transition:padding-bottom .32s cubic-bezier(.4,0,.2,1)}.panel-cell.is-collapsed .panel-cell-head{padding-bottom:0!important}.panel-cell-collapse{display:grid;grid-template-rows:1fr;transition:grid-template-rows .32s cubic-bezier(.4,0,.2,1)}.panel-cell.is-collapsed .panel-cell-collapse{grid-template-rows:0fr}.panel-cell-collapse-inner{min-height:0;overflow:hidden;transition:opacity .24s ease,visibility .32s}.panel-cell.is-collapsed .panel-cell-collapse-inner{opacity:0;visibility:hidden}.panel-cell-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-cell-body{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.panel-cell--settings .panel-cell-body{overflow:hidden}.panel-cell--settings .settings-scroll{flex:1;min-height:0;overflow-y:auto}.panel-cell--preview .panel-cell-body{align-items:stretch;justify-content:stretch}.panel-cell--preview .preview-fit{min-height:0}.panel-cell--preview.is-crop .panel-cell-body{align-items:stretch;justify-content:flex-start}.panel-cell--bare{background:transparent;border-radius:0;overflow:visible;position:relative}.panel-cell--bare>.panel-cell-body{overflow:visible}.panel-cell.panel-cell--bare .preview-canvas{border-radius:var(--r-lg, 18px)}.preview-topbar{position:absolute;top:10px;right:10px;z-index:6;display:flex;align-items:center;gap:.5rem}.undo-redo{display:inline-flex;align-items:center;gap:.3rem}.preview-topbar .ur-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:var(--r-md);color:var(--text-2);background:#fff9;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.preview-topbar .ur-btn:hover:not(:disabled){color:var(--text);background:#fffc}.preview-topbar .ur-btn:disabled{color:var(--text-3);opacity:.4;cursor:default}.preview-topbar .caveman-pill{background:#fff9;border-color:transparent;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%)}.preview-topbar .caveman-pill:hover:not(.on){background:#fffc;border-color:transparent}.center-pane{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.center-pane.is-hidden{display:none}.preview-empty{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:1.5rem}.preview-drop{width:100%;max-width:460px}.preview-sources{flex:0 0 auto;display:flex;justify-content:center;gap:.6rem;padding:.7rem .2rem 1rem;animation:preview-sources-in .34s var(--ease-out) both}.preview-source{flex:0 1 240px;min-width:0}.preview-source .fill-capture{min-height:60px;background:#ffffff80}.preview-source .fill-capture:hover{background:#ffffff9e}@keyframes preview-sources-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.panel-cell--fold .panel-cell-title{font-size:.82rem;font-weight:500;letter-spacing:0;color:var(--text, #1c1c22)}.panel-cell--fold{padding:1.4rem}.panel-cell--fold .panel-cell-head{padding:0 0 1.4rem;border-bottom:0}.panel-cell--fold .panel-cell-body{padding:0}.panel-cell--fold .fold-img,.panel-cell--fold .fold-frame,.panel-cell--fold .fold-overlay{border-radius:var(--r-lg, 18px)}.panel-cell--fold .fold-frame{overflow:hidden}.col1-stack .panel-cell--settings .panel-cell-title{font-size:.82rem;font-weight:500;letter-spacing:0;color:var(--text, #1c1c22)}.col1-stack .panel-cell--settings{padding:1.4rem}.col1-stack .panel-cell--settings .panel-cell-head{padding:0 0 1.4rem;border-bottom:0}.col1-stack{position:relative;width:100%;height:100%;display:flex;flex-direction:column;min-height:0;background:#fffc;border-radius:var(--r-lg, 18px);box-sizing:border-box}.editor-panels-layout>.col1-stack>*{width:340px;flex:0 0 auto;box-sizing:border-box}.editor-panels-layout>.col1-stack>.col1-scroll{flex:1 1 auto}.col1-scroll{position:relative;flex:1 1 auto;min-height:0;width:100%}.col1-scroll>.thin-scroll{display:flex;flex-direction:column;gap:8px;min-width:0;height:100%;overflow-y:auto;overflow-x:hidden;padding:8px;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}.col1-scroll>.thin-scroll::-webkit-scrollbar{width:0;height:0;display:none}.col1-scroll>.thin-scroll-thumb{position:absolute;right:3px;width:2px;border-radius:99px;background:#00000029;opacity:0;transition:opacity .3s var(--ease-out);pointer-events:none}.col1-scroll>.thin-scroll-thumb.is-active{opacity:1}.col1-stack .panel-cell{background:transparent;border-radius:0;border-top:1px solid var(--border, #e4e4e7);border-bottom:0}.col1-stack .col1-scroll .thin-scroll>*:first-child .panel-cell,.col1-stack .col1-scroll .thin-scroll>.panel-cell:first-child{border-top:0}.col1-source{flex:0 0 auto;display:flex;flex-direction:column}.col1-source .fill-capture{background:#ffffff80}.col1-source .fill-capture:hover{background:#ffffffad}.col1-stack .panel-cell--col1{flex:0 0 auto;min-height:0;overflow-x:hidden;overflow-y:visible}.panel-cell--col1 .panel-cell-body{flex:0 0 auto;overflow:visible}.panel-cell--fold{min-height:0}.panel-cell--fold .fold-editor{min-height:0;max-height:none;align-items:stretch}.panel-cell--fold .fold-frame{min-height:0;max-height:none;display:block;width:100%;max-width:100%}.panel-cell--fold .fold-img{display:block;width:100%;height:auto;max-width:100%;max-height:none}.col1-stack .panel-cell--settings{flex:0 0 auto;overflow:visible}.col1-stack .panel-cell--settings .panel-cell-body{overflow:visible}.col1-stack .panel-cell--settings .settings-scroll{flex:0 0 auto;min-height:0;overflow:visible;padding:0}.preview-stage{flex:1;min-width:0;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}.preview-stage.is-grab{cursor:grab}.preview-stage.is-grabbing{cursor:grabbing}.preview-stage-content{transform-origin:center center;will-change:transform;display:flex;align-items:center;justify-content:center}.preview-stage-reset{position:absolute;top:8px;right:8px;z-index:5;font-size:.72rem;padding:.22rem .5rem;border-radius:99px;cursor:pointer;background:#ffffffe6;border:1px solid var(--border-strong);color:var(--text-2);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.preview-stage-reset:hover{color:var(--text)}.cell-act{background:transparent;border:0;color:var(--text-3, #6b7280);cursor:pointer;display:inline-flex;padding:.15rem;border-radius:var(--r-sm, 6px)}.cell-act:hover{color:var(--brand-strong, #6366f1)}.cell-subctl{flex:0 0 auto;padding:.4rem .6rem}.desktop-toolbar{position:absolute;z-index:30;left:50%;bottom:18px;transform:translate(-50%);width:max-content;max-width:calc(100% - 24px);display:flex;gap:.5rem;align-items:center;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.desktop-params{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;padding:.6rem .85rem;background:#fff9;border:1px solid var(--border);border-radius:var(--r-md);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.desktop{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0;touch-action:none}.desktop-pan{position:absolute;top:0;right:0;bottom:0;left:0}.desktop-viewport{position:absolute;top:0;right:0;bottom:0;left:0;cursor:grab}.desktop-pan{--grid-cell: 34px;--grid-dot: rgba(60,60,78,.12);--grid-dot-r: 1.1px;--grid-px: 0px;--grid-py: 0px}.desktop-pan:before{content:"";position:absolute;top:-60vmax;right:-60vmax;bottom:-60vmax;left:-60vmax;pointer-events:none;z-index:0;background-image:radial-gradient(circle at center,var(--grid-dot) 0,var(--grid-dot) var(--grid-dot-r),transparent calc(var(--grid-dot-r) + .8px));background-size:var(--grid-cell) var(--grid-cell);background-position:center;background-repeat:repeat;transform:translate(var(--grid-px),var(--grid-py));will-change:transform}.desktop.grabbing,.desktop.grabbing .desktop-viewport{cursor:grabbing}.desktop-viewport .window{cursor:auto}.desktop-zoom-reset{position:absolute;z-index:20;right:12px;bottom:12px;padding:.3rem .55rem;font-family:var(--font-ui);font-size:.78rem;font-weight:500;color:var(--text-2);background:var(--surface-1, rgba(255,255,255,.9));border:1px solid var(--border);border-radius:var(--r-md, 8px);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);line-height:1}.desktop-zoom-reset:hover{color:var(--brand-strong);border-color:var(--border-strong)}.flow-path{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:visible}.flow-line{fill:none;stroke:var(--text-3);stroke-width:1;stroke-dasharray:5 5;opacity:.9}.flow-dot{fill:var(--text-2);opacity:.75}.window{position:absolute;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-lg);background:transparent;font-family:var(--font-ui);font-weight:400;line-height:1.6;--wscale: 1;transform:translate(var(--wx, 0),var(--wy, 0)) scale(var(--wscale));transform-origin:center;container-type:size;container-name:win;transition:opacity var(--dur-appear) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.window.focused{border-color:var(--border-strong)}.window.dragging{--wscale: 1.012;cursor:grabbing;will-change:transform}@media (prefers-reduced-motion: reduce){.window.dragging{--wscale: 1}}.window.disabled{opacity:.45}.window.disabled .window-body{pointer-events:none;filter:grayscale(.35)}.window{--head-h: 62px;--head-py: .95rem;--head-px: 1.15rem;--head-pl: 1.5rem;--head-gap: .7rem}.window-head{display:flex;align-items:center;gap:var(--head-gap);cursor:grab;flex-shrink:0;min-height:var(--head-h);padding:var(--head-py) var(--head-px) var(--head-py) var(--head-pl);border-bottom:1px solid var(--border);background:#fafafb38;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);-webkit-user-select:none;user-select:none;touch-action:none}.window-head:active{cursor:grabbing}.window-title{margin:0;font-family:var(--font-ui);font-size:.92em;font-weight:500;line-height:normal;letter-spacing:-.01em;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.window-icon{color:var(--text-3);flex-shrink:0}.window-head-extra{margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;gap:.4rem}.window-head-extra+.window-action{margin-left:0}.head-eyedrop{display:inline-flex;align-items:center;justify-content:center;padding:.3rem;border:none;background:transparent;color:var(--text-3);border-radius:var(--r-sm);cursor:pointer;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.head-eyedrop:hover{color:var(--brand-strong)}.head-eyedrop:active{transform:scale(.9)}.head-eyedrop.on{color:var(--brand-strong);background:transparent}.pt-type{display:inline-flex;gap:1px;padding:1px;border-radius:var(--r-sm);background:var(--surface-2, rgba(120,120,140,.12));margin-right:.1rem}.pt-type-btn{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .35rem;border:none;background:transparent;color:var(--text-3);border-radius:calc(var(--r-sm) - 1px);cursor:pointer;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.pt-type-btn:hover{color:var(--brand-strong)}.pt-type-btn.on{color:var(--brand-strong);background:var(--surface-1, rgba(255,255,255,.7))}.head-swatch{width:16px;height:16px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.18);box-shadow:inset 0 0 0 1px #ffffff59}@media (max-height: 800px){.window{--head-h: 52px;--head-py: .7rem;--head-px: 1rem;--head-pl: 1.2rem}}@container win (max-height: 260px){.window-head{--head-h: 48px;--head-py: .6rem;--head-px: .9rem;--head-pl: 1.1rem}}@container win (max-height: 170px){.window-head{--head-h: 38px;--head-py: .4rem;--head-px: .7rem;--head-pl: .85rem;--head-gap: .5rem}.window-head .window-title{font-size:.84em}}.window-action{margin-left:auto;flex-shrink:0;display:inline-flex;padding:.35rem;border:0;background:transparent;color:var(--text-3);border-radius:var(--r-sm);cursor:pointer;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.window-action:hover:not(:disabled){color:var(--brand-strong);background:#0000000a;border-color:transparent}.window-action:active:not(:disabled){transform:scale(.9)}.window-body{flex:1;min-height:0;overflow:hidden;display:flex;position:relative;background:#ffffffc7}.window-body--drag{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.window-body--drag:active{cursor:grabbing}.window-body--drag:has(>.win-controls.wrap:not(.settings)){background:#fff6;align-items:center}.window-body--drag>.win-controls.wrap:not(.settings){background:transparent;border-top:0;width:100%;padding:.35rem .8rem;justify-content:center}.desktop.win-dragging .window-head,.desktop.win-dragging .window-body,.desktop.win-dragging .win-controls{backdrop-filter:none;-webkit-backdrop-filter:none}.win-stack{flex:1;min-width:0;display:flex;flex-direction:column}.win-stack>.zoombox{flex:1;min-height:0}.win-controls{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;padding:.5rem .75rem;border-top:1px solid var(--border);background:#ffffff80}.win-controls.wrap{row-gap:.45rem}.win-controls.settings{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:.85rem;overflow-y:auto;overflow-x:hidden;padding:.7rem .85rem}.win-controls.settings>.settings-group{flex:none}.settings-group{display:flex;flex-direction:column;gap:.3rem}.settings-actions{display:flex;justify-content:flex-end;margin-bottom:.05rem}.win-controls.settings .radius-label{font-size:.82em;gap:.4rem}.win-controls.settings .radius-slider{width:130px}.settings-title{display:flex;align-items:center;gap:.5rem;font-size:.68em;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);margin-bottom:.1rem}.settings-hint{font-size:.66em;line-height:1.35;color:var(--text-3);margin:0 0 .15rem}.settings-warn{font-size:.66em;line-height:1.35;margin:0 0 .15rem;padding:.35rem .45rem;border-radius:6px;color:#7c4a02;background:#f59e0b1f;border:1px solid rgba(245,158,11,.35)}.hue-slider{background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)!important}.chroma-swatch{width:22px;height:22px;flex-shrink:0;border-radius:var(--r-sm);border:1px solid var(--border-strong);box-shadow:inset 0 0 0 1px #ffffff80}.brand-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.settings-sub{font-size:.66em;font-weight:600;letter-spacing:.04em;color:var(--text-3);margin:.25rem 0 .1rem}.refl-scene-row{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;min-width:0;margin-bottom:.2rem}.refl-scene-row .overlay-chip{font-size:.64em;padding:.14rem .4rem}.brand-arrow{color:var(--text-3);font-size:.8em}.overlay-chip.mini{font-size:.6em;padding:.1rem .4rem;margin-left:auto}.capture-img.picking{cursor:crosshair}.chroma-pick-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:5;object-fit:contain;opacity:.001}.chroma-loupe{position:absolute;z-index:6;pointer-events:none;width:22px;height:22px;border-radius:50%;transform:translate(-50%,-50%);border:2px solid #fff;box-shadow:0 0 0 1px #00000059,0 2px 6px #0000004d}.overlay-inline{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.window-body>*{flex:1;min-width:0;min-height:0}.window-resize{position:absolute;right:3px;bottom:3px;width:26px;height:26px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--text-3);cursor:nwse-resize;touch-action:none;z-index:2;transition:color var(--dur-fast) var(--ease-out)}.window-resize:hover{color:var(--brand-strong);background:transparent}.dropzone{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem;text-align:center;cursor:pointer;color:var(--text-3);background:transparent;transition:background var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.dropzone:hover,.dropzone.over{color:var(--brand-strong);background:#f0f0f359}.dropzone-icon{opacity:.8}.dropzone-label{font-size:.95em;font-weight:500;color:var(--text-2)}.dropzone-hint{font-size:.82em}.dropzone.error{color:var(--danger)}.dropzone-error{font-size:.82em;color:var(--danger);max-width:22ch}.dropzone.busy{cursor:progress;color:var(--brand)}.spinner{position:relative;display:inline-flex;flex:none;width:var(--spinner-size, 16px);height:var(--spinner-size, 16px);align-items:center;justify-content:center;vertical-align:-.16em}.spinner-device{position:relative;box-sizing:border-box;border:1px solid currentColor;animation:device-morph 2.4s var(--ease-in-out, cubic-bezier(.65,0,.35,1)) infinite;will-change:width,height,border-radius}.spinner-dot{position:absolute;width:calc(var(--spinner-size, 16px) * .18);height:calc(var(--spinner-size, 16px) * .18);border-radius:50%;background:currentColor}.spinner-dot.tl{top:0;left:0;transform:translate(-50%,-50%)}.spinner-dot.tr{top:0;right:0;transform:translate(50%,-50%)}.spinner-dot.bl{bottom:0;left:0;transform:translate(-50%,50%)}.spinner-dot.br{bottom:0;right:0;transform:translate(50%,50%)}@keyframes device-morph{0%,10%{width:58%;height:96%;border-radius:3px}33%,43%{width:100%;height:68%;border-radius:2.5px}66%,76%{width:82%;height:82%;border-radius:2px}to{width:58%;height:96%;border-radius:3px}}@media (prefers-reduced-motion: reduce){.spinner-device{animation:none;width:82%;height:82%;border-radius:2px}}button.is-loading{cursor:progress;pointer-events:none;position:relative;overflow:hidden}button.is-loading>*{position:relative;z-index:1}button.is-loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.22) 45%,rgba(255,255,255,.3) 50%,rgba(255,255,255,.22) 55%,transparent 80%);background-size:220% 100%;animation:btn-wave 1.35s var(--ease-in-out) infinite;pointer-events:none}button.is-loading:not(.primary):after{background:linear-gradient(100deg,transparent 20%,rgba(28,28,34,.05) 45%,rgba(28,28,34,.08) 50%,rgba(28,28,34,.05) 55%,transparent 80%);background-size:220% 100%}@keyframes btn-wave{0%{background-position:130% 0}to{background-position:-30% 0}}@media (prefers-reduced-motion: reduce){button.is-loading:after{animation:none;opacity:0}}.capture-img{display:block;max-width:100%;max-height:100%;object-fit:contain;margin:auto}.empty{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-3);padding:1rem;font-size:.85em}.saved-strip{position:relative;z-index:30;display:flex;align-items:center;gap:.6rem;overflow-x:auto;padding:.35rem 0}.saved-strip-label{font-size:.78rem;color:var(--text-3);flex-shrink:0}.tpl-list-h{list-style:none;margin:0;padding:0;display:flex;gap:.4rem}.tpl-list-h li{display:flex;align-items:center;gap:.25rem;border-radius:var(--r-md);padding:.2rem;border:1px solid var(--border);background:#ffffffb3;flex-shrink:0}.tpl-list-h li.active{border-color:var(--brand)}.muted{color:var(--text-3);font-size:.85rem}.tpl-open{display:flex;align-items:center;gap:.45rem;background:none;border:0;color:inherit;cursor:pointer;text-align:left;padding:.15rem;overflow:hidden;max-width:160px}.tpl-open img{width:30px;height:30px;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--border);background:#f4f4f5;flex-shrink:0}.tpl-open span{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tpl-del{display:inline-flex;background:none;border:0;color:var(--text-3);cursor:pointer;padding:.25rem;border-radius:var(--r-sm)}.tpl-del:hover{color:var(--danger);background:#fdeaea}.pane{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow)}.name-input{width:200px;min-width:140px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:99px;padding:.5rem .85rem;font:inherit}.name-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.field-input{width:100%;background:var(--surface);color:var(--text);font:inherit;border:1px solid var(--border);border-radius:var(--r-md);padding:.6rem .8rem;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.field-input::placeholder{color:var(--text-3)}.field-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}select.field-input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%238a8a94' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;padding-right:2rem}.category-select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:99px;padding:.5rem .85rem;font:inherit;cursor:pointer}.category-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.color-field{position:relative;display:inline-flex;align-items:center;gap:.35rem}.color-input{width:34px;height:34px;padding:0;flex:0 0 auto;border:1px solid var(--border);border-radius:99px;background:none;cursor:pointer}.color-input::-webkit-color-swatch-wrapper{padding:3px}.color-input::-webkit-color-swatch{border:none;border-radius:99px}.color-input::-moz-color-swatch{border:none;border-radius:99px}.color-field.is-auto .color-input{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-weak)}.color-auto{font-size:.72rem;line-height:1;padding:.3rem .5rem;border-radius:99px;border:1px solid var(--border);background:#fffc;color:var(--text-2);cursor:pointer}.color-auto:hover{background:#fff;color:var(--text)}.btn-file,button{font:inherit;display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);padding:.55rem .9rem;border-radius:var(--r-md);cursor:pointer;font-size:.88rem;font-weight:500;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.btn-file:hover,button:hover:not(:disabled){border-color:var(--brand);background:#fdfbfc}.btn-file:active,button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.38;cursor:not-allowed}.btn-file.ghost{background:transparent}button.primary{background:var(--brand);border-color:var(--brand);color:#fff;font-family:var(--font-ui);font-size:.82rem;font-weight:400;letter-spacing:-.003em}button.primary:hover:not(:disabled){background:var(--brand-strong);border-color:var(--brand-strong)}.desktop-toolbar button{border-radius:99px;box-shadow:var(--shadow-sm)}.desktop-toolbar button.ghost{background:#fffc;color:var(--text-2);border:1px solid var(--border);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.desktop-toolbar button.ghost:hover:not(:disabled){background:#fff;color:var(--text)}.desktop-toolbar .name-input{background:#fffc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}.tool-toggle{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--r-md);overflow:hidden}.tool-toggle button{border:0;border-radius:0;padding:.5rem .7rem;background:var(--surface);color:var(--text-2)}.tool-toggle button:active:not(:disabled){transform:none}.tool-toggle button+button{border-left:1px solid var(--border)}.tool-toggle button:hover{background:#f7f5f6}.tool-toggle button.on{background:var(--brand);color:#fff}.chk{font-size:.82rem;color:var(--text-2);display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.chk input{accent-color:var(--accent)}.icon{flex-shrink:0}.status{margin:0;font-size:.85rem;font-weight:500}.status.ok{color:#2e9e58}.status.warn{color:#b8860b}.status.err{color:var(--danger)}.stage-stack{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.pane{padding:1.1rem;min-width:0}.pane h4{margin:0 0 .75rem;font-size:.85rem;font-weight:600;color:var(--text)}.pane-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.6rem}.pane-head h4{margin:0}.hint-keys{font-size:.72rem;color:var(--text-3)}kbd{background:#f4f4f5;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:var(--r-sm);padding:.05rem .35rem;font:.72rem var(--font-mono);color:var(--text-2)}.preview-canvas{width:100%;max-height:80vh;object-fit:contain;background:repeating-conic-gradient(#f0f0ef,#f0f0ef 25%,#e6e6e5 0%,#e6e6e5 50%) 0 / 22px 22px;border:1px solid var(--border);border-radius:var(--r-md)}.zoombox{position:relative;overflow:hidden;border-radius:var(--r-md);touch-action:none}.zoombox-content{transform-origin:0 0}.desktop img,.desktop canvas{image-rendering:auto;image-rendering:high-quality}.window .zoombox,.panel-cell .zoombox{flex:1;min-height:0;display:flex;border-radius:0;align-items:center;justify-content:center}.window .zoombox-content,.panel-cell .zoombox-content{flex:1;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center}.window .quad-editor,.panel-cell .quad-editor{flex:1;min-width:0;min-height:0;align-items:center;justify-content:center}.window .qe-frame,.panel-cell .qe-frame{display:flex;max-width:100%;max-height:100%;min-height:0}.window .qe-frame img,.panel-cell .qe-frame img{max-height:100%;max-width:100%;width:auto;height:auto;border-radius:0;border:0;display:block}.window .zoombox:has(.preview-fit),.panel-cell .zoombox:has(.preview-fit){align-items:stretch}.window .zoombox:has(.preview-fit) .zoombox-content,.panel-cell .zoombox:has(.preview-fit) .zoombox-content{align-items:stretch}.window .preview-fit{flex:1;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.panel-cell .preview-fit{min-width:0;min-height:0;max-width:100%;max-height:100%;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.window .preview-canvas,.panel-cell .preview-canvas{width:auto;height:auto;max-height:100%;max-width:100%;object-fit:contain;border-radius:0;border:0}.zoombox.grabbable{cursor:grab}.zoombox.grabbable:active{cursor:grabbing}.zoombox-reset{position:absolute;top:8px;right:8px;z-index:5;font-size:.72em;padding:.25rem .55rem;background:#ffffffe6;border:1px solid var(--border-strong);border-radius:var(--r-sm);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.radius-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.7rem;flex-wrap:wrap}.radius-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.9em;font-weight:500;color:var(--text-2);user-select:none;-webkit-user-select:none}.radius-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:150px;height:4px;border-radius:99px;background:var(--border-strong);accent-color:var(--accent);cursor:pointer;padding:0;border:0}.radius-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;background:var(--brand);border:2px solid #fff;box-shadow:var(--shadow-sm);cursor:grab;transition:transform var(--dur-fast) var(--ease-out)}.radius-slider:active::-webkit-slider-thumb{transform:scale(1.15);cursor:grabbing}.radius-slider::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:var(--brand);border:2px solid #fff;cursor:grab}.radius-val{font-variant-numeric:tabular-nums;font-weight:500;color:var(--text);min-width:2.4em}.ratio-chip{background:#f4f4f5;color:var(--text-2);font-size:.74em}.fit-frame-btn{border:0;cursor:pointer;font-family:inherit;transition:background .12s,color .12s}.fit-frame-btn:hover{background:var(--accent);color:#fff}.fit-frame-btn:active{transform:translateY(1px)}.overlay-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem;flex-wrap:wrap}.overlay-label{font-size:.9em;font-weight:500;color:var(--text-2)}.overlay-chip{font-size:.74em;padding:.24rem .58rem;border-radius:99px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);cursor:pointer}.overlay-chip:hover:not(:disabled){border-color:var(--accent);background:var(--surface)}.overlay-chip.on,.overlay-chip.on:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.quad-editor{display:flex;justify-content:center;max-width:100%;-webkit-user-select:none;user-select:none;touch-action:none}.qe-frame{position:relative;display:inline-block;line-height:0;border-radius:var(--r-md);overflow:hidden}.qe-frame img{display:block;max-width:100%;max-height:80vh;height:auto;width:auto;border-radius:var(--r-md);border:1px solid var(--border)}.qe-frame.z-corner{cursor:grab}.qe-frame.z-move{cursor:move}.quad-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.qe-dim{fill:var(--edit-dim)}.qe-outline{fill:none;stroke:#ffffff59;stroke-width:1;transition:stroke var(--dur-fast) var(--ease-out)}.qe-frame.z-move .qe-outline,.qe-frame.z-corner .qe-outline{stroke:#ffffffd9}.handle{position:absolute;width:var(--edit-dot);height:var(--edit-dot);transform:translate(-50%,-50%);border-radius:50%;background:var(--edit-dot-fill);border:none;box-shadow:none;pointer-events:none;transition:transform var(--dur-fast, .12s) var(--ease-out, ease),background var(--dur-fast, .12s) var(--ease-out, ease)}.handle.hover{transform:translate(-50%,-50%) scale(1.35)}.handle.sel{width:var(--edit-dot-sel);height:var(--edit-dot-sel);background:var(--edit-dot-sel-fill)}.handle.sel.hover{transform:translate(-50%,-50%) scale(1.35)}.crop-hint{margin:.5rem 0 0;text-align:center;font-family:var(--font-ui);font-size:11px;line-height:1.3;color:var(--text-3);letter-spacing:.01em}.crop-expand-btn,.crop-expand-btn:hover,.crop-expand-btn:focus,.crop-expand-btn:active{background:#14141880!important;border:none!important;box-shadow:none!important;color:#fff!important}.crop-expand-btn{position:absolute;top:8px;right:8px;z-index:4;width:26px;height:26px;padding:0;display:grid;place-items:center;border-radius:var(--r-sm);cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transform-origin:center;transition:transform var(--dur-fast) var(--ease-out)}.crop-expand-btn:hover{transform:scale(.9)}.crop-expand-btn:active{transform:scale(.84)}.crop-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:clamp(1rem,4vh,3rem);background:#1414186b;backdrop-filter:blur(6px) saturate(1.05);-webkit-backdrop-filter:blur(6px) saturate(1.05);animation:modal-scrim-in var(--dur) var(--ease-out)}.crop-modal{display:inline-flex;flex-direction:column;max-width:96vw;max-height:94vh;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);font-family:var(--font-ui);overflow:hidden;animation:modal-in var(--dur-appear) var(--ease-out)}.crop-modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.3rem .4rem;flex:0 0 auto}.crop-modal-title{margin:0;font-family:var(--font-ui);font-size:1.15rem;font-weight:500;line-height:1.1;letter-spacing:-.02em;color:var(--text)}.crop-modal-sub{margin:0;padding:0 1.3rem 1.1rem;flex:0 0 auto;text-align:center;font-size:11.5px;line-height:1.3;color:var(--text-3);letter-spacing:.01em}.crop-modal-close{flex:0 0 auto;width:30px;height:30px;padding:0;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--r-sm);background:transparent;color:var(--text-2);cursor:pointer;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.crop-modal-close:hover{color:var(--text);border-color:var(--border-strong)}.crop-modal-close:active{transform:scale(.92)}.crop-modal-body{flex:0 0 auto;display:flex;justify-content:center;padding:.4rem 1.3rem .6rem;min-height:0}.crop-modal-body>.zoombox{display:inline-flex;overflow:visible}.crop-modal-body .zoombox-content{display:inline-flex}.crop-modal-body .fold-editor{display:inline-flex;flex-direction:column;align-items:center}.crop-modal-body .fold-img{max-height:78vh}.window .fold-editor,.panel-cell .fold-editor{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem}.fold-editor{max-width:100%;-webkit-user-select:none;user-select:none;touch-action:none;font-family:var(--font-ui)}.fold-frame{position:relative;display:inline-block;line-height:0;max-width:100%;border-radius:var(--r-md);overflow:hidden}.fold-img{display:block;max-width:100%;max-height:76vh;height:auto;width:auto;border-radius:var(--r-md);border:1px solid var(--border)}.fold-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.fold-dim{fill:var(--edit-dim)}.fold-panel{fill:none;stroke:#ffffff59;stroke-width:1}.fold-rib{stroke:#fff6;stroke-width:1}.fold-rib.is-fold{stroke:#78a0fff2;stroke-width:2;stroke-dasharray:4 3}.fold-handle{fill:var(--edit-dot-fill);stroke:none;cursor:grab;transform-box:fill-box;transform-origin:center;transition:transform var(--dur-fast, .12s) var(--ease-out, ease),fill var(--dur-fast, .12s) var(--ease-out, ease)}.fold-handle:hover{transform:scale(1.35)}.fold-handle.on{fill:var(--edit-dot-sel-fill)}.fold-tan-arm{stroke:var(--edit-dot-sel-fill, rgba(0,0,0,.6));stroke-width:1;stroke-dasharray:3 2}.fold-tan-dot{fill:var(--edit-dot-sel-fill, rgba(0,0,0,.6));stroke:none;cursor:grab}.fold-add{animation:fold-add-pop var(--dur-fast, .12s) var(--ease-out, ease)}.fold-add-bg{fill:var(--brand, #1c1c22);stroke:none}.fold-add-plus{stroke:#fff;stroke-width:1.1;stroke-linecap:round}@keyframes fold-add-pop{0%{opacity:0}to{opacity:1}}.fold-del-bg{fill:var(--danger, #e5484d);stroke:none}.fold-del-x{stroke:#fff;stroke-width:1.1;stroke-linecap:round}.fold-del.is-disabled .fold-del-bg{fill:var(--text-3, #8a8a94)}.fold-del.is-disabled{opacity:.5}.fold-type-bg{fill:var(--brand, #1c1c22);stroke:none}.fold-type-icon{fill:none;stroke:#fff;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}.fold-del,.fold-type{transform-box:fill-box;transform-origin:center}.fold-badge--in{animation:fold-badge-in .26s cubic-bezier(.34,1.56,.64,1) both}.fold-badge--out{animation:fold-badge-out .18s cubic-bezier(.4,0,1,.5) both}@keyframes fold-badge-in{0%{opacity:0;transform:scale(.2)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@keyframes fold-badge-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.4)}}.fold-badge-btn{transform-box:fill-box;transform-origin:center;transition:transform var(--dur-fast, .12s) var(--ease-out, ease)}.fold-badge-btn:hover{transform:scale(.86)}.fold-del.is-disabled .fold-badge-btn:hover{transform:none}.fold-tools{display:flex;align-items:center;gap:.6rem;font-size:.82rem;color:var(--text-3)}.fold-tool{font-family:var(--font-ui);font-size:.8rem;padding:.3rem .6rem;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);cursor:pointer}.fold-tool:disabled{opacity:.4;cursor:default}.fold-count{opacity:.8}.window .scene-crop-editor,.panel-cell .scene-crop-editor{flex:1;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center}.scene-crop-editor{max-width:100%;-webkit-user-select:none;user-select:none;touch-action:none}.sc-frame{position:relative;display:inline-block;line-height:0;padding:22px;max-width:100%;max-height:100%;box-sizing:border-box;cursor:crosshair}.sc-inner{position:relative;display:inline-block;line-height:0;max-width:100%;max-height:100%}.sc-frame img{display:block;max-width:100%;max-height:calc(80vh - 44px);width:auto;height:auto;border-radius:0;border:0}.sc-frame.z-corner{cursor:grab}.sc-frame.z-move{cursor:move}.sc-frame.z-new{cursor:crosshair}.sc-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.sc-dim{fill:#0c0c108c}.sc-grid{fill:none;stroke:#ffffff59;stroke-width:1}.sc-rect{fill:none;stroke:#ffffffe6;stroke-width:1.5}.sc-handle{position:absolute;width:9px;height:9px;transform:translate(-50%,-50%);background:#fff;border-radius:2px;box-shadow:0 1px 4px #00000073;pointer-events:none}.prop-controls{flex-direction:column;align-items:stretch;gap:.6rem}.roller{position:relative;width:100%;--roller-item-w: 76px;--roller-item-h: 2.4em}.roller-frame{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--roller-item-w);height:var(--roller-item-h);border-radius:var(--r-md);border:1px solid var(--border);background:#7878800a;pointer-events:none;z-index:1}.roller-track{display:flex;align-items:center;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-x;cursor:grab;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%,#000 76%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 24%,#000 76%,transparent 100%)}.roller-track::-webkit-scrollbar{display:none}.roller-track:active{cursor:grabbing}.roller-pad{flex:0 0 calc(50% - var(--roller-item-w) / 2)}.roller-item{flex:0 0 var(--roller-item-w);scroll-snap-align:center;display:flex;align-items:center;justify-content:center;height:var(--roller-item-h);border:0;background:transparent;cursor:pointer;font-family:var(--font-ui);font-size:.89em;font-weight:350;color:var(--text-3);transition:color .18s var(--ease-out),font-weight .18s var(--ease-out);white-space:nowrap;--d: 1;opacity:calc(1 - var(--d) * .55)}.roller-item.on{color:var(--text);font-weight:450}@media (prefers-reduced-motion: reduce){.roller-track{scroll-behavior:auto}.roller-item{transition:none;transform:none;opacity:1}}.window--growy{transition:height .28s cubic-bezier(.22,1,.36,1)}.window--growy.dragging{transition:none}.window--growy.is-open .window-body,.window--growy.is-open .window-body--drag:has(>.win-controls.wrap:not(.settings)){align-items:flex-start}.window--growy .window-body--drag>.win-controls.wrap.prop-controls:not(.settings){flex-direction:column;align-items:stretch;gap:.5rem}.window--growy.is-open .window-body--drag>.win-controls.wrap.prop-controls:not(.settings){justify-content:flex-start}.prop-fields{display:flex;align-items:center;gap:.4rem;animation:prop-fields-in .28s cubic-bezier(.22,1,.36,1) both}@keyframes prop-fields-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.window--growy{transition:none}.prop-fields{animation:none}}.prop-num{width:56px;padding:.28rem .4rem;font-family:var(--font-ui);font-size:.82em;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text)}.prop-num:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.prop-sep{color:var(--text-2);font-weight:600}.prop-unit{padding:.28rem .35rem;font-family:var(--font-ui);font-size:.8em;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);cursor:pointer}.prop-unit:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.prop-out{font-family:var(--font-ui);font-size:.78em;color:var(--text-2);white-space:nowrap}.window-body--drag .prop-controls{flex-direction:row;align-items:center;flex-wrap:wrap}.crop-stack{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:.5rem}.crop-stack>.zoombox{flex:1;min-height:0}.panel-cell--preview .crop-stack{position:relative;gap:0}.panel-cell--preview .crop-stack>.zoombox{flex:1}.panel-cell--preview .crop-stack>.prop-controls{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:6;flex-direction:row;align-items:center;flex-wrap:nowrap;justify-content:center;gap:.4rem;width:max-content;max-width:calc(100% - 24px);background:#ffffffeb;border:0;border-radius:var(--r-lg, 18px);box-shadow:none;padding:.5rem .7rem}.panel-cell--preview .crop-stack>.prop-controls .roller-item{color:var(--text-2)}.panel-cell--preview .crop-stack>.prop-controls .roller-item.on{color:var(--text)}.panel-cell--preview .crop-stack>.prop-controls .roller{width:calc(var(--roller-item-w) * 3.5);--roller-item-h: calc(3em - 5px) }.device-controls{flex:none;gap:.5rem;flex-wrap:nowrap}.device-controls>.prop-out{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}.device-select{flex:1 1 auto;min-width:0;padding:.28rem .4rem;font-family:var(--font-ui);font-size:.8em;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);cursor:pointer}.device-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.preview-hint{text-align:center;font-size:.8em;color:var(--text-2);padding:.35rem .5rem}.loupe{position:fixed;z-index:9999;border-radius:50%;overflow:hidden;border:.5px solid rgba(255,255,255,.18);box-shadow:0 6px 22px #18181b59;pointer-events:none;background:#fff}.loupe-img{position:absolute;top:0;right:0;bottom:0;left:0;background-repeat:no-repeat;image-rendering:auto}.loupe-outline{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.loupe-outline path{fill:none;stroke:#ffffffd9;stroke-width:1.5}.loupe-outline path.loupe-dim{fill:var(--edit-dim);stroke:none}.loupe-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.loupe-overlay .fold-dim{fill:var(--edit-dim)}.loupe-overlay .fold-panel{fill:none;stroke:#ffffff59;stroke-width:1.2}.loupe-overlay .fold-rib{stroke:#fff6;stroke-width:1.2}.loupe-overlay .fold-rib.is-fold{stroke:#78a0fff2;stroke-dasharray:4 3}.loupe-overlay .fold-handle{fill:var(--edit-dot-fill);stroke:none}.loupe-overlay .fold-handle.on{fill:var(--edit-dot-sel-fill)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.btn-file:active,button:active,.navbar-tab:active{transform:none!important}}@media (prefers-reduced-transparency: reduce){.navbar,.window-head,.window-body,.win-controls,.desktop-toolbar,.desktop-params,.flow-path~*,body:before{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.navbar{background:#fbfbfc}.window-head,.window-body{background:#fff}.win-controls{background:#fafafa}}@media (prefers-contrast: more){.window{border-color:var(--text-3)}.window-body{background:#fff}.dropzone{border-color:var(--text-3);color:var(--text-2)}.flow-line{stroke:var(--text-2);opacity:1}}.catalog{flex:1;min-width:0;font-family:var(--font-ui);padding:2.4rem clamp(1.5rem,4vw,3.5rem);overflow-y:auto;max-height:100vh}.catalog-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem}.catalog-title{font-family:var(--font-mono);font-size:1.55rem;font-weight:500;letter-spacing:-.01em;color:var(--text)}.catalog-head button.primary{border-radius:99px}.catalog-head-actions{display:flex;align-items:center;gap:.8rem}.seg{display:inline-flex;gap:2px;padding:3px;border-radius:99px;background:var(--brand-weak)}.seg-item{border:0;background:transparent;color:var(--text-2);cursor:pointer;padding:.35rem .8rem;border-radius:99px;font-size:.82rem;font-weight:450;letter-spacing:-.005em;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.seg-item:hover:not(.on){color:var(--text);background:transparent}.seg-item.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.catalog-grid{display:grid;gap:1.3rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:start}.card-create{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;padding:1.5rem;background:transparent;border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);color:var(--text-2);cursor:pointer;min-height:210px;transition:border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out),background var(--dur) var(--ease-out)}.card-create:hover{border-color:var(--accent);color:var(--text);background:var(--brand-weak)}.card-create-plus{display:grid;place-items:center;width:54px;height:54px;border-radius:99px;background:var(--brand-weak);color:var(--text)}.card-create-label{font-family:var(--font-ui);font-size:.88rem;font-weight:450;letter-spacing:-.005em}.card-create--grid{min-height:0;aspect-ratio:4/3}.catalog-empty{display:flex;flex-direction:column;align-items:flex-start;gap:1.1rem;padding:1rem 0}.catalog-empty .card-create{width:min(340px,100%)}.mockup-card{position:relative;overflow:hidden;cursor:pointer;aspect-ratio:4/3;border-radius:var(--r-lg);background:var(--brand-weak);border:1px solid var(--border);transition:transform var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.mockup-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.mockup-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mockup-card-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.mockup-card-noimg{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--text-3)}.mockup-card-del{position:absolute;top:8px;right:8px;width:28px;height:28px;padding:0;z-index:2;display:grid;place-items:center;border-radius:99px;background:#ffffffd9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);color:var(--text-2);opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.mockup-card:hover .mockup-card-del{opacity:1}.mockup-card-del:hover{color:var(--danger);border-color:var(--danger)}.mockup-card-overlay{position:absolute;inset:auto 0 0 0;z-index:1;display:flex;flex-direction:column;gap:.4rem;padding:1.4rem .85rem .8rem;background:linear-gradient(to top,#0000009e,#00000047 45%,#0000)}.mockup-card-meta{display:flex;align-items:center;gap:.5rem}.mockup-card-swatch{width:13px;height:13px;border-radius:99px;flex:0 0 auto;border:1px solid rgba(255,255,255,.5)}.mockup-card-name{font-size:.88rem;font-weight:500;letter-spacing:-.005em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px rgba(0,0,0,.35)}.mockup-card-tags{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.mockup-card-type,.mockup-card-cat,.mockup-card-vis{font-size:.68rem;padding:.12rem .5rem;border-radius:99px;background:#ffffff38;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mockup-card-cat{background:transparent;border:1px solid rgba(255,255,255,.4)}.mockup-card-vis{display:inline-flex;align-items:center;gap:.25rem}.mockup-card-vis.is-public{background:#34c778e6}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:1.5rem;background:#1414186b;backdrop-filter:blur(6px) saturate(1.05);-webkit-backdrop-filter:blur(6px) saturate(1.05);animation:modal-scrim-in var(--dur) var(--ease-out)}@keyframes modal-scrim-in{0%{opacity:0}to{opacity:1}}.modal{width:min(560px,100%);max-height:calc(100vh - 3rem);overflow-y:auto;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);font-family:var(--font-ui);animation:modal-in var(--dur-appear) var(--ease-out)}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:1.5rem 1.5rem .3rem}.modal-head-text{display:flex;flex-direction:column;min-width:0}.modal-eyebrow{font-size:.68rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.modal-title{margin:0 0 .3rem;font-family:var(--font-ui);font-size:1.4rem;font-weight:500;line-height:1.1;letter-spacing:-.02em;color:var(--text)}.modal-subtitle{margin:0;font-family:var(--font-ui);font-size:.85rem;font-weight:400;line-height:1.4;letter-spacing:-.003em;color:var(--text-3)}.modal-body{padding:1.8rem 1.5rem 1.6rem;display:flex;flex-direction:column;gap:1.2rem}.field{display:flex;flex-direction:column;gap:.5rem;min-width:0}.field-row{display:flex;gap:1rem}.field-row .field{flex:1}.field-label{font-size:.78rem;font-weight:450;letter-spacing:-.003em;color:var(--text-2)}.field-label em{color:var(--text-3);font-style:normal;font-weight:400;font-size:.95em}.field-note{font-size:.74rem;font-weight:400;color:var(--text-3)}.field-note--warn{color:#b45309;margin-top:.35rem}@media (prefers-color-scheme: dark){.field-note--warn{color:#fbbf24}}.field .name-input{width:100%}.step-viewport{position:relative;overflow:hidden;transition:height var(--dur-step) var(--ease-out)}.step-layer{min-width:0}.step-viewport--modal .step-layer{display:flex;flex-direction:column;gap:1.2rem}.step-viewport--head{flex:1;min-width:0}.step-in{opacity:1}.step-out{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;animation:step-vanish var(--dur-step) cubic-bezier(.4,0,.2,1) both}@keyframes step-vanish{0%{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(7px)}}@keyframes step-appear{0%{opacity:0;filter:blur(7px)}to{opacity:1;filter:blur(0)}}.step-viewport.is-swapping>.step-in{position:absolute;inset:0 0 auto 0;animation:step-appear var(--dur-step) cubic-bezier(.4,0,.2,1) both}@media (prefers-reduced-motion: reduce){.step-viewport{transition:none}.step-viewport.is-swapping>.step-in,.step-out{animation:none!important;filter:none!important}.step-viewport .step-out{display:none}}.type-pills{display:flex;flex-wrap:wrap;gap:.5rem}.type-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .95rem .5rem .75rem;border-radius:99px;background:var(--surface);border:1px solid var(--border-strong);color:var(--text-2);cursor:pointer;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.type-pill .icon{flex:0 0 auto}.type-pill:hover:not(.is-disabled){border-color:var(--border-strong);color:var(--text)}.type-pill.on{border-color:var(--accent);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent);transition:none}.type-pill.is-disabled{opacity:.5;cursor:not-allowed}.type-pill-label{font-size:.85rem;font-weight:400;letter-spacing:-.005em}.type-pill-badge{font-size:.6rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.08rem .38rem;border-radius:99px;background:var(--brand-tint);color:var(--text)}.modal-drop{border:1.5px dashed var(--border-strong);border-radius:var(--r-md);min-height:176px;display:flex}.modal-drop .dropzone{flex:1}.modal-thumb{position:relative;flex:1;border-radius:var(--r-md);overflow:hidden;background:var(--brand-weak)}.modal-thumb img{width:100%;height:176px;object-fit:cover;display:block}.modal-thumb-x{position:absolute;top:6px;right:6px;width:24px;height:24px;padding:0;display:grid;place-items:center;border-radius:99px;background:#ffffffe6;border:1px solid var(--border);color:var(--text-2)}.modal-error{color:var(--danger);font-size:.82rem}.modal-actions{display:flex;justify-content:space-between;gap:.6rem;padding:1.4rem 1.5rem 1.5rem}.modal-actions button{border-radius:99px}.modal-actions .ghost{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;font-weight:400;letter-spacing:-.005em}.modal--sm{width:min(420px,100%)}.otp{display:flex;gap:.5rem}.otp-box{flex:1;min-width:0;aspect-ratio:1 / 1.15;max-width:52px;text-align:center;font-size:1.4rem;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;caret-color:var(--accent);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-md);padding:0;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.otp-box:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.otp-box:not(:placeholder-shown){border-color:var(--border-strong)}.linklike{display:inline;padding:0;border:0;background:none;color:var(--text-2);font:inherit;text-decoration:underline;cursor:pointer}.linklike:hover:not(:disabled){color:var(--text);background:none}.linklike:disabled{opacity:.5;cursor:default}.vis-toggle.is-public{color:var(--text)}.vis-toggle.is-public .icon{color:#34c778}@media (prefers-reduced-motion: reduce){.modal-scrim,.modal{animation:none}}@media (prefers-reduced-transparency: reduce){.modal-scrim{backdrop-filter:none;-webkit-backdrop-filter:none;background:#14141899}}@media (max-width: 560px){.field-row{flex-direction:column}}.splash{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;gap:1rem;grid-auto-flow:row;background:var(--surface);z-index:2000}.splash-logo{width:44px;height:44px;opacity:.9}.splash-dot{width:26px;height:26px;border-radius:99px;border:2.5px solid var(--border);border-top-color:var(--text);animation:splash-spin .7s linear infinite}@keyframes splash-spin{to{transform:rotate(360deg)}}.login{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--surface);font-family:var(--font-ui)}.login-form{display:flex;flex-direction:column;align-items:center;padding:2rem clamp(1.5rem,5vw,4rem);overflow-y:auto}.login-form-inner{margin:auto 0}.login-form-inner{width:100%;max-width:340px;display:flex;flex-direction:column}.login-logo{width:88px;height:88px;margin:0 auto 3.5rem;display:block}.login-title{margin:0;font-family:"Red Hat Mono",var(--font-mono);font-size:1.7rem;font-weight:500;line-height:1;letter-spacing:-.02em;color:var(--text);text-align:center}.login-subtitle{font-size:.9rem;color:var(--text-3);text-align:center;margin:.55rem 0 1.8rem;line-height:1.5}.login-social{display:flex;gap:.7rem;margin-bottom:1.3rem}.login-social-btn{flex:1;justify-content:center;gap:.5rem;font-size:.82rem;font-weight:450;border:1px solid var(--border);border-radius:99px;padding:.6rem .5rem;background:var(--surface);color:var(--text)}.login-social-btn:disabled{opacity:.55}.login-social-mark{font-weight:700}.login-divider{display:flex;align-items:center;gap:.8rem;color:var(--text-3);font-size:.78rem;margin-bottom:1.3rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.login-email{width:100%;margin-bottom:.8rem}.login-cta{width:100%;justify-content:center;border-radius:99px;padding:.7rem;margin-bottom:1.2rem;font-size:.85rem}.login-error{font-size:.8rem;color:var(--danger);margin-bottom:.8rem;text-align:center}.login-switch{font-size:.82rem;color:var(--text-3);text-align:center}.crossfade{position:relative;display:inline-block}.crossfade-out{position:absolute;top:0;right:0;bottom:0;left:0;white-space:nowrap;animation:crossfade-out .36s cubic-bezier(.4,0,.2,1) forwards}.crossfade-in{display:inline-block;animation:crossfade-in .36s cubic-bezier(.4,0,.2,1)}@keyframes crossfade-out{0%{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(6px)}}@keyframes crossfade-in{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:blur(0)}}.login-title .crossfade{display:block;width:100%}.login-title .crossfade-out{left:0;right:0;text-align:center}.login-title .crossfade-in{display:block}.login-subtitle{position:relative}.login-subtitle-ghost{visibility:hidden}.login-subtitle-fade{position:absolute;top:0;right:0;bottom:0;left:0}.login-subtitle-fade .crossfade-in,.login-subtitle-fade .crossfade-out{display:block;left:0;right:0;text-align:center}.login-subtitle-fade .crossfade-in{position:relative}@media (prefers-reduced-motion: reduce){.crossfade-out{display:none}.crossfade-in{animation:none}}.login-actions{display:flex;gap:.6rem;margin-bottom:1.2rem}.login-actions .ghost{flex:0 0 auto;border-radius:99px;padding:.7rem 1.1rem;font-size:.85rem;font-weight:400;letter-spacing:-.005em}.login-actions .login-cta{flex:1;margin-bottom:0}.login-email-hint{color:var(--text-2);font-weight:450}.login .otp{margin-bottom:1.2rem}.login-footer{display:flex;justify-content:center;gap:.6rem;margin-top:auto;padding-top:1.5rem;font-size:.76rem;color:var(--text-3);flex:0 0 auto}.login-footer a{color:var(--text-3);text-decoration:none}.login-footer a:hover{color:var(--text)}.login-hero{position:relative;overflow:hidden;background:#d4d4d8}.login-hero-img{width:100%;height:100%;object-fit:cover;display:block}@media (max-width: 800px){.login{grid-template-columns:1fr}.login-hero{display:none}}.modal--gate{width:min(460px,100%)}.onb-avatar-row{display:flex;align-items:center;gap:1rem}.onb-avatar{position:relative;width:56px;height:56px;border-radius:99px;flex:0 0 auto;display:grid;place-items:center;background:var(--text);color:#fff;font-size:1.3rem;font-weight:600;font-family:var(--font-ui)}.onb-avatar img{border-radius:99px}.onb-avatar-x{position:absolute;top:-3px;right:-3px;width:20px;height:20px;padding:0;z-index:1;display:grid;place-items:center;border-radius:99px;background:var(--surface);border:1px solid var(--border);color:var(--text-2);box-shadow:var(--shadow-sm)}.onb-avatar-x:hover{color:var(--danger);border-color:var(--danger)}.onb-avatar.sm{width:40px;height:40px;font-size:1rem}.onb-avatar img{width:100%;height:100%;object-fit:cover}.onb-avatar-drop{display:flex;flex-direction:column;gap:.4rem}.avatar-picker{display:flex;align-items:center;gap:.6rem}.avatar-picker .ghost{padding:.35rem .8rem;font-size:.8rem;border-radius:99px}.username-field{display:flex;align-items:center;gap:.1rem;position:relative;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);padding:0 .8rem;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.username-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.username-field.u-ok{border-color:#34c778}.username-field.u-taken,.username-field.u-invalid{border-color:var(--danger)}.username-at{color:var(--text-3);font-size:.95rem}.username-input{border:0!important;box-shadow:none!important;padding-left:.1rem!important;background:transparent;flex:1}.username-status{display:grid;place-items:center;width:18px}.username-status .u-dot{width:12px;height:12px;border-radius:99px;border:2px solid var(--border);border-top-color:var(--text-2);animation:splash-spin .7s linear infinite}.u-ok .username-status{color:#34c778}.u-taken .username-status,.u-invalid .username-status{color:var(--danger)}.onb-summary{display:flex;align-items:center;gap:.8rem;padding:.3rem 0 .4rem}.onb-summary-name{font-size:.95rem;font-weight:500;color:var(--text)}.onb-summary-user{font-size:.82rem;color:var(--text-3)}.onb-terms{display:flex;align-items:flex-start;gap:.6rem;font-size:.85rem;color:var(--text-2);line-height:1.5;cursor:pointer}.onb-terms input{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:.15rem 0 0;flex:0 0 auto;width:18px;height:18px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);cursor:pointer;position:relative;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.onb-terms input:checked{background:var(--text);border-color:var(--text)}.onb-terms input:checked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:no-repeat center/11px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 4 6 12l-3-3'/%3E%3C/svg%3E")}.onb-terms a{color:var(--text);text-decoration:underline}.modal-actions-right{display:inline-flex;align-items:center;gap:.6rem}.fpanel-*,ScreenFit .sfit-*,+ gate/modal sueltos). Restaurados desde el build dist/ tras una reversión accidental. ============================================================================ */ .gate-behind{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.gate-behind[inert]{pointer-events:none}.caveman{flex:1;min-width:0;font-family:var(--font-ui);color:var(--text);padding:2.6rem var(--content-pad-x);overflow-y:auto;max-height:100vh}.caveman-head{display:flex;flex-direction:column;gap:1.2rem;margin-bottom:2.2rem}.caveman-title{font-family:var(--font-mono);font-size:2rem;font-weight:500;letter-spacing:-.015em}.caveman-search{display:flex;align-items:center;gap:.6rem;width:min(440px,100%);padding:.55rem .85rem;border-radius:12px;background:var(--field-fill);box-shadow:inset 0 0 0 1px #ffffff24;border:0;color:var(--text-3);font-size:.85rem}.caveman-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;color:var(--text)}.caveman-search input::placeholder{color:var(--text-3)}.caveman-pills{display:flex;flex-wrap:nowrap;gap:.5rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;margin-left:calc(-1 * var(--gutter, 0px));margin-right:calc(-1 * var(--gutter, 0px));padding-left:var(--gutter, 0px);padding-right:var(--gutter, 0px)}.caveman-pills::-webkit-scrollbar{display:none}.caveman-pill{flex:0 0 auto;scroll-snap-align:start}.caveman-pill{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--border);background:transparent;color:var(--text-2);padding:.4rem .85rem;border-radius:99px;cursor:pointer;font-size:.84rem;font-weight:450;letter-spacing:-.005em;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.caveman-pill:hover:not(.on){border-color:var(--border-strong);color:var(--text);background:transparent}.caveman-pill.on{background:transparent;border-color:var(--brand);color:var(--brand);font-weight:550}.caveman-pill:disabled{opacity:.45;cursor:default}.caveman-pill:disabled:hover{border-color:var(--border);color:var(--text-2)}.caveman-msg{color:var(--text-3);font-size:.95rem;padding:2rem 0}.caveman-open-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:60vh;color:var(--text-3);font-family:var(--font-ui)}.caveman-masonry{position:relative;width:100%}.caveman-item{position:absolute;top:0;left:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.caveman-img{display:block;width:100%;height:auto;border-radius:var(--r-lg);background:var(--brand-weak)}.caveman-img--empty{aspect-ratio:4/3;display:grid;place-items:center;color:var(--text-3)}.caveman-author{display:flex;align-items:center;gap:.55rem;padding:0 .15rem}.caveman-avatar{width:19px;height:19px;border-radius:99px;object-fit:cover;flex:none;background:var(--brand-weak);border:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.caveman-avatar--empty{display:grid;place-items:center;color:var(--text-3)}.caveman-username{font-size:.86rem;font-weight:450;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.caveman-open{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;border-radius:var(--r-lg);transition:transform var(--dur) var(--ease-out)}.caveman-open:hover{transform:translateY(-2px)}.caveman-open:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.caveman-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.caveman-thumb{position:relative;border-radius:var(--r-lg)}.caveman-del{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:99px;background:#0000008c;color:#fff;cursor:pointer;opacity:0;transform:scale(.9);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.caveman-item:hover .caveman-del,.caveman-del:focus-visible{opacity:1;transform:scale(1)}.caveman-del:hover{background:var(--danger)}.caveman-vis{display:grid;place-items:center;flex:none;color:var(--text-3)}.caveman-more{display:flex;justify-content:center;align-items:center;min-height:48px;padding:1rem 0 2rem}.caveman-more-dot{width:22px;height:22px;border-radius:99px;border:2px solid var(--border);border-top-color:var(--brand);animation:caveman-spin .7s linear infinite}@keyframes caveman-spin{to{transform:rotate(360deg)}}.caveman-skeleton{column-width:260px;column-gap:12px}@media (max-width:800px){.caveman-skeleton{column-width:auto;column-count:2}}.caveman-skel-item{break-inside:avoid;margin:0 0 12px;display:flex;flex-direction:column;gap:.4rem}.caveman-skel-img{border-radius:var(--r-lg);background:var(--field-fill)}.caveman-skel-author{display:flex;align-items:center;gap:.55rem;padding:0 .15rem}.caveman-skel-avatar{width:19px;height:19px;border-radius:99px;background:var(--field-fill);flex:none}.caveman-skel-name{height:9px;width:42%;border-radius:99px;background:var(--field-fill)}.caveman-skeleton :is(.caveman-skel-img,.caveman-skel-avatar,.caveman-skel-name){animation:caveman-pulse 1.4s ease-in-out infinite}@keyframes caveman-pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion: reduce){.caveman-more-dot,.caveman-skeleton :is(.caveman-skel-img,.caveman-skel-avatar,.caveman-skel-name){animation:none}}.fill-editor{flex:1;min-width:0;display:flex;flex-direction:column;font-family:var(--font-ui);color:var(--text);max-height:100vh;overflow:hidden}.fill-head{display:flex;align-items:center;gap:1rem;padding:1.1rem clamp(1.2rem,4vw,2.4rem);border-bottom:.5px solid rgba(24,24,27,.07)}.fill-back{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--border);background:var(--surface);color:var(--text-2);padding:.45rem .8rem;border-radius:99px;cursor:pointer;font:inherit;font-size:.84rem;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.fill-back:hover{border-color:var(--border-strong);color:var(--text)}.fill-title{font-family:var(--font-mono);font-size:1.1rem;font-weight:500;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto;min-width:0}.fill-head-spacer{flex:1 1 auto}.fill-author{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-2);font-size:.86rem;flex:none}.fill-avatar{width:24px;height:24px;border-radius:99px;object-fit:cover;background:var(--brand-weak);border:1px solid var(--border)}.fill-avatar--empty{display:grid;place-items:center;color:var(--text-3)}.fill-body{flex:1;min-height:0;display:flex;gap:1.5rem;padding:clamp(1.2rem,3vw,2rem)}.fill-stage{flex:1;min-width:0;min-height:0;position:relative;overflow:hidden;display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;padding:1rem;background:#00000009;border:1px solid var(--border);border-radius:var(--r-lg);cursor:grab;touch-action:none}.fill-stage.is-panning{cursor:grabbing}.fill-canvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:var(--r-md);transform-origin:center center;will-change:transform}.fill-stage:not(.is-panning) .fill-canvas{transition:transform .12s ease-out}.fill-zoom{position:absolute;bottom:.8rem;right:.8rem;z-index:3;display:inline-flex;align-items:center;gap:.15rem;padding:.25rem;border-radius:99px;background:var(--bg-cool-2)}.fill-zoom-btn{width:30px;height:30px;padding:0;line-height:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:99px;cursor:pointer;color:var(--text-2);background:transparent}.fill-zoom-btn:hover:not(:disabled){background:#00000014;color:var(--text)}.fill-zoom-btn:disabled{opacity:.38;cursor:default}.fill-zoom-btn .icon{display:block}.fill-zoom-val{min-width:3.1em;text-align:center;font-size:.74rem;font-family:Red Hat Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;color:var(--text-2);-webkit-user-select:none;user-select:none}.fill-loading{display:grid;place-items:center}.fill-badge{position:absolute;top:.8rem;left:.8rem;display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .6rem;border-radius:99px;font-size:.78rem;color:var(--text-2);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.fill-ratio{flex:none;display:inline-flex;align-items:center;gap:.55rem;font-size:.72rem;font-family:Red Hat Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;color:var(--text-3);-webkit-user-select:none;user-select:none}.fill-side{width:320px;flex:none;display:flex;flex-direction:column;gap:.8rem;align-self:stretch;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:.3rem;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.16) transparent}.fill-side::-webkit-scrollbar{width:4px}.fill-side::-webkit-scrollbar-track{background:transparent}.fill-side::-webkit-scrollbar-thumb{background:#00000024;border-radius:99px}.fill-side::-webkit-scrollbar-thumb:hover{background:#00000042}.fill-download{margin-top:auto;position:sticky;bottom:0;z-index:2}.fpanel{display:flex;flex-direction:column;gap:.5rem}.fpanel.is-disabled{opacity:.5;pointer-events:none}.fpanel-section{display:flex;flex-direction:column;gap:.1rem;font-size:.91rem;font-weight:500;letter-spacing:normal;color:var(--text);text-transform:none;margin:.9rem 0 .35rem .1rem}.fpanel-section:first-child{margin-top:0}.fpanel-section-sub{font-size:.76rem;font-weight:400;color:var(--text-3);letter-spacing:normal}.fpanel-chips{display:flex;gap:.4rem;padding:.2rem 0 .5rem;flex-wrap:wrap}.fpanel-row{position:relative;display:flex;align-items:center;gap:.5rem;min-height:40px;padding:0 1rem;border-radius:var(--r-md);background:#00000009;overflow:hidden}.fpanel-label{font-size:.8rem;font-weight:450;color:var(--text-2);white-space:nowrap;z-index:3;pointer-events:none}.fpanel-val{margin-left:auto;font-size:.72rem;font-weight:500;color:var(--text-3);font-family:Red Hat Mono,ui-monospace,monospace;letter-spacing:-.01em;font-variant-numeric:tabular-nums;z-index:3;pointer-events:none}.fpanel-row--slider:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(to right,rgba(0,0,0,.06) 0,rgba(0,0,0,.06) var(--fill, 0%),transparent var(--fill, 0%));pointer-events:none}.fpanel-row--slider:after{content:"";position:absolute;z-index:1;pointer-events:none;top:50%;transform:translateY(-50%);left:clamp(2px,calc(var(--fill, 0%) - 4px),calc(100% - 4px));width:2px;height:18px;border-radius:2px;background:var(--text-3)}.fpanel-slider{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:ew-resize;z-index:2}.fpanel-slider:disabled{cursor:default}.fpanel-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:100%;background:transparent;border:0;box-shadow:none}.fpanel-slider::-moz-range-thumb{width:12px;height:100%;background:transparent;border:0;box-shadow:none}.fpanel-slider::-moz-range-track{background:transparent}.fpanel-row--slider.has-track:before{background:var(--track);opacity:.9}.fpanel-swatch{margin-left:auto;z-index:3;pointer-events:none;width:20px;height:20px;flex-shrink:0;border-radius:var(--r-sm);border:1px solid var(--border-strong);box-shadow:inset 0 0 0 1px #ffffff80}.fpanel-section-line{display:flex;align-items:center;gap:.5rem}.fpanel-section-line .overlay-chip.mini{margin-left:auto}.fpanel-sub-inset{margin:.3rem 0 .1rem .1rem}.panel-meta{flex:0 0 auto;display:flex;flex-direction:column;gap:.4rem;padding:.6rem .7rem;border-bottom:1px solid var(--border)}.panel-meta-row{display:flex;align-items:center;gap:.4rem;min-width:0}.panel-meta .pm-name{flex:1;min-width:0;font-size:.82rem;padding:.35rem .6rem}.panel-meta--col1 .pm-name{width:100%;background:var(--surface);color:var(--text);font:inherit;border:1px solid var(--border);border-radius:var(--r-md);padding:.7rem .8rem;font-size:.9rem;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.panel-meta--col1 .pm-name::placeholder{color:var(--text-3)}.panel-meta--col1 .pm-name:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.panel-meta .pm-cat{flex:1;min-width:0;font-size:.8rem;padding:.3rem .5rem}.panel-meta-row>.fpanel-row--select{flex:1;min-width:0}.panel-meta-row>.fpanel-row--select .fpanel-label{display:none}.panel-meta-row>.fpanel-row--select .fpanel-select{flex:1;min-width:0;justify-content:space-between}.panel-meta .pm-back,.panel-meta .pm-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:99px;border:1px solid var(--border);background:var(--surface, #fff);color:var(--text-2);cursor:pointer;padding:0}.panel-meta .pm-back:hover,.panel-meta .pm-icon:hover{color:var(--text);border-color:var(--border-strong)}.panel-meta .vis-toggle.is-public .icon{color:#34c778}.panel-meta .pm-publish{flex:0 0 auto;display:inline-flex;align-items:center;gap:.35rem;align-self:stretch;padding:0 .95rem;border-radius:99px;border:1px solid var(--border);background:var(--surface, #fff);color:var(--text-2);cursor:pointer;font-family:var(--font-ui);font-size:.85rem;font-weight:450;white-space:nowrap;width:max-content;overflow:hidden;transition:width .32s var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.panel-meta .pm-publish>span{white-space:nowrap}.panel-meta .pm-publish:hover{color:var(--text);border-color:var(--border-strong)}.panel-meta .pm-publish .icon{flex:none}.panel-meta .pm-publish.is-published{color:var(--text);border-color:var(--border-strong)}.panel-meta .color-field{flex:0 0 auto}.panel-meta-actions{display:flex;align-items:center;gap:.4rem}.panel-meta-actions .pm-save{flex:1;justify-content:center}.panel-meta-actions .pm-publish{flex:0 0 auto}.panel-meta-actions .pm-export{flex:1.4;justify-content:center}.panel-meta--col1 .pm-save{background:var(--brand);border-color:var(--brand);color:#fff;border-radius:99px;padding:.7rem;font-size:.85rem;font-weight:450}.panel-meta--col1 .pm-save:hover:not(:disabled){background:var(--brand-strong);border-color:var(--brand-strong)}.panel-meta--col1 .pm-export{border-radius:99px;padding:.7rem;font-size:.85rem}.panel-meta .pm-status{font-size:.78rem}.panel-meta--col1{flex:0 0 auto;width:100%;box-sizing:border-box;border-top:1px solid var(--border, #e4e4e7);border-bottom:0;border-radius:0 0 var(--r-lg, 18px) var(--r-lg, 18px);padding:.8rem}.panel-cell--settings .settings-scroll{padding:.7rem;display:flex;flex-direction:column;gap:.6rem}.settings-fpanel{padding:0!important}.settings-fpanel .brand-row{padding:0 .1rem}.settings-fpanel .settings-warn{margin:.1rem 0}.source-rows{display:flex;flex-direction:column;gap:.35rem;padding-bottom:.6rem;border-bottom:1px solid var(--border, #e4e4e7)}.source-rows .fill-side-hint{margin:.25rem 0 .05rem}.source-rows .fill-side-hint:first-child{margin-top:0}.fpanel-row--select{cursor:pointer}.fpanel-row--select.is-disabled{opacity:.5;pointer-events:none}.fpanel-select{margin-left:auto;z-index:3;pointer-events:none;position:relative;display:inline-flex;align-items:center;gap:.35rem;padding-right:1.05rem}.fpanel-select-val{font-size:.78rem;font-weight:500;color:var(--text)}.fpanel-select-native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:transparent;cursor:pointer;font:inherit;z-index:4}.fpanel-select-native:disabled{cursor:default}.fpanel-select-native option{color:var(--text);background:var(--surface)}.fpanel-select-caret{position:absolute;right:0;width:12px;height:16px;pointer-events:none;background:no-repeat center / 12px 16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='16' fill='none' stroke='%238a8a94' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l3-3 3 3'/%3E%3Cpath d='M3 10l3 3 3-3'/%3E%3C/svg%3E")}.fpanel-row--toggle{width:100%;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.fpanel-row--toggle:disabled{cursor:default}.fpanel-toggle-text{display:flex;flex-direction:column;gap:.05rem;min-width:0;z-index:1}.fpanel-toggle-hint{font-size:.7rem;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fpanel-switch{margin-left:auto;flex:none;z-index:1;width:34px;height:20px;border-radius:999px;background:#00000024;transition:background .18s ease}.fpanel-knob{display:block;width:16px;height:16px;margin:2px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .18s cubic-bezier(.4,0,.2,1)}.fpanel-row--toggle.is-on .fpanel-switch{background:var(--brand, #2f6df6)}.fpanel-row--toggle.is-on .fpanel-knob{transform:translate(14px)}.fill-side-head{display:flex;flex-direction:column;gap:.1rem}.fill-side-title{font-size:.91rem;font-weight:500;margin:0}.fill-side-hint{font-size:.76rem;color:var(--text-3);margin:0}.fill-capture{display:flex;align-items:center;gap:.6rem;width:100%;min-height:52px;padding:.5rem .6rem;text-align:left;border:0;border-radius:var(--r-md);background:#00000009;cursor:pointer}.fill-capture:hover{background:#0000000f}.fill-capture.is-dragover{background:color-mix(in srgb,var(--accent, #6366f1) 12%,#ffffff);box-shadow:inset 0 0 0 1.5px var(--accent, #6366f1)}.fill-capture.is-dragover .fill-capture-thumb{background:color-mix(in srgb,var(--accent, #6366f1) 16%,#ffffff);color:var(--accent, #6366f1)}.fill-capture.is-dragover .fill-capture-name{color:var(--accent, #6366f1)}.fill-capture--empty:disabled{cursor:default;opacity:.6}.fill-capture--empty:disabled:hover{background:#00000009}.fill-capture-thumb{flex:0 0 auto;width:36px;height:36px;line-height:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;overflow:hidden;background:#0000000f}.fill-capture-thumb img{display:block;width:100%;height:100%;object-fit:cover}.fill-capture-thumb--empty{color:var(--text-3)}.fill-capture-thumb--empty .icon{display:block}.col1-source--big .fill-capture--empty{min-height:72px;padding:.8rem .9rem;gap:.8rem}.col1-source--big .fill-capture--empty .fill-capture-thumb--empty{width:48px;height:48px;border-radius:10px}.col1-source--big .fill-capture--empty .fill-capture-thumb--empty .icon{width:16px;height:16px}.col1-source--big .fill-capture-text .fill-capture-name{font-size:.9rem}.fill-capture-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.1rem}.fill-capture-sub{font-size:.72rem;font-weight:400;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fill-capture-name{flex:1 1 auto;min-width:0;font-size:.8rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fill-capture-act{flex:0 0 auto;width:28px;height:28px;padding:0;line-height:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;cursor:pointer;color:var(--text-2);background:transparent}.fill-capture-act:hover{background:#00000014;color:var(--text)}.fill-capture-act .icon{display:block}.fill-crop-stage{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);place-items:center}.modal-actions--end{justify-content:flex-end}.fill-crop .modal-body{padding:1.4rem 1.5rem .8rem}.fill-crop .modal-actions{padding:.4rem 1.5rem 1.2rem}.fill-crop .modal-actions .primary{padding:.5rem 1rem}.sfit{display:flex;flex-direction:column;gap:.9rem;width:100%;min-width:0}.sfit-stage{position:relative;overflow:hidden;width:100%;min-width:0;height:56vh;max-height:520px;background:transparent;touch-action:none;-webkit-user-select:none;user-select:none}.sfit-imglayer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,.15) 1.5%,rgba(0,0,0,.55) 3.5%,rgba(0,0,0,.88) 5%,#000 6.5%,#000 93.5%,rgba(0,0,0,.88) 95%,rgba(0,0,0,.55) 96.5%,rgba(0,0,0,.15) 98.5%,rgba(0,0,0,0) 100%),linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,.15) 1.5%,rgba(0,0,0,.55) 3.5%,rgba(0,0,0,.88) 5%,#000 6.5%,#000 93.5%,rgba(0,0,0,.88) 95%,rgba(0,0,0,.55) 96.5%,rgba(0,0,0,.15) 98.5%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to bottom,#0000,#00000026 1.5%,#0000008c 3.5%,#000000e0,#000 6.5%,#000 93.5%,#000000e0,#0000008c 96.5%,#00000026 98.5%,#0000),linear-gradient(to right,#0000,#00000026 1.5%,#0000008c 3.5%,#000000e0,#000 6.5%,#000 93.5%,#000000e0,#0000008c 96.5%,#00000026 98.5%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.sfit-img{display:block;cursor:move;pointer-events:auto}.sfit-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.sfit-rect{fill:none;stroke:#a0a0a8d9;stroke-width:1.5}.sfit-grid{fill:none;stroke:#a0a0a873;stroke-width:1}.sfit-boxline{fill:none;stroke:var(--brand);stroke-width:1.5;opacity:.9}.sfit-handle{position:absolute;width:6px;height:6px;transform:translate(-50%,-50%);background:#000;border:0;border-radius:50%;box-shadow:none;z-index:3;touch-action:none}.sfit-handle:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.sfit-handle--n,.sfit-handle--s{cursor:ns-resize}.sfit-handle--e,.sfit-handle--w{cursor:ew-resize}.sfit-handle--nw,.sfit-handle--se{cursor:nwse-resize}.sfit-handle--ne,.sfit-handle--sw{cursor:nesw-resize}.fill-download{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:99px;padding:.6rem 1rem;font-family:var(--font-ui)}.fill-download:disabled{opacity:.38;cursor:default}.fill-error{font-size:.82rem;color:var(--danger)}@media (max-width: 800px){.preview-topbar .caveman-pill span{display:none}.preview-topbar .caveman-pill{width:32px;height:32px;padding:0;justify-content:center;border-radius:var(--r-md);gap:0}.editor-panels-layout{display:flex;flex-direction:column;position:relative;overflow:hidden}.editor-panels-layout:before,.editor-panels-layout:after{content:"";position:fixed;left:0;right:0;z-index:0;pointer-events:none}.editor-panels-layout:before{top:0;height:env(safe-area-inset-top);background:#ffffffd9;backdrop-filter:blur(30px) saturate(150%);-webkit-backdrop-filter:blur(30px) saturate(150%)}.editor-panels-layout:after{bottom:0;height:env(safe-area-inset-bottom);background:#ffffffeb;backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%)}.editor-panels-layout>.panel-cell--preview{order:-1;flex:0 0 var(--preview-h, 60vh);width:100%;min-height:0;z-index:1;will-change:flex-basis;transition:flex-basis .08s linear}.editor-panels-layout>.panel-cell--preview .preview-stage{padding-top:calc(56px + env(safe-area-inset-top));touch-action:pan-y}.navbar--rail{top:calc(12px + env(safe-area-inset-top))}.preview-topbar{top:calc(10px + env(safe-area-inset-top))}.panel-meta--col1 .panel-meta-row{display:none}.editor-panels-layout>.col1-stack{position:relative;margin-top:0;left:auto;right:auto;bottom:auto;top:auto;flex:1 1 auto;width:100%;height:auto;max-height:none;min-height:0;z-index:3;border-radius:0;background:#ffffffe6;backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);box-shadow:0 -6px 24px #0000001f;opacity:0;transform:translateY(28px);transition:opacity .26s var(--ease-out),transform .34s cubic-bezier(.4,0,.2,1)}.editor-panels-layout>.col1-stack.is-open{flex:1 1 auto;width:100%;opacity:1;transform:translateY(0)}.editor-panels-layout>.col1-stack>*{width:100%}.editor-panels-layout.is-collapsing .col1-stack .col1-scroll>.thin-scroll{overflow-y:hidden}.col1-scroll>.thin-scroll{gap:6px;padding:6px}.col1-stack .panel-cell--fold,.col1-stack .panel-cell--settings{padding:.8rem}.panel-meta--col1{padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom))}.preview-sources{padding:.5rem .2rem;gap:.5rem}.preview-source{flex:1 1 0}.preview-source .fill-capture{min-height:52px}}.mobile-block{flex:1;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:calc(1.5rem + env(safe-area-inset-top)) 1.5rem calc(1.5rem + env(safe-area-inset-bottom));background:#ffffffeb}.mobile-block-card{max-width:340px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:2rem 1.5rem;font-family:var(--font-ui)}.mobile-block-face{--p: 7px;display:block;width:calc(var(--p) * 9);height:calc(var(--p) * 9);position:relative;margin-bottom:.8rem;transform:rotate(270deg);transform-origin:center}.mobile-block-face i{position:absolute;top:0;left:0;width:var(--p);height:var(--p);background:transparent;box-shadow:calc(var(--p)*2) calc(var(--p)*3) var(--text),calc(var(--p)*6) calc(var(--p)*3) var(--text),calc(var(--p)*1) calc(var(--p)*8) var(--text),calc(var(--p)*7) calc(var(--p)*8) var(--text),calc(var(--p)*2) calc(var(--p)*7) var(--text),calc(var(--p)*6) calc(var(--p)*7) var(--text),calc(var(--p)*3) calc(var(--p)*6) var(--text),calc(var(--p)*5) calc(var(--p)*6) var(--text),calc(var(--p)*4) calc(var(--p)*6) var(--text)}.mobile-block-title{margin:0;font-size:1.15rem;font-weight:600;letter-spacing:-.02em;color:var(--text)}.mobile-block-text{margin:0;font-size:.9rem;line-height:1.45;color:var(--text-2)}.mobile-block-btn{margin-top:.4rem;display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.1rem;border:0;border-radius:99px;cursor:pointer;background:var(--brand);color:#fff;font-family:var(--font-ui);font-size:.9rem;font-weight:500;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.mobile-block-btn:hover{background:var(--brand-strong)}.mobile-block-btn:active{transform:scale(.96)}.profile-caps{display:flex;flex-direction:column;gap:.1rem;margin-top:.4rem}.cap-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;border-top:1px solid var(--border)}.cap-meta{display:flex;flex-direction:column;gap:.2rem;min-width:0}.cap-title{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:500;color:var(--text)}.cap-desc{font-size:.78rem;color:var(--text-3);line-height:1.35}.cap-actions{display:inline-flex;align-items:center;gap:.5rem;flex:0 0 auto}.cap-open{font-size:.8rem;padding:.3rem .7rem}.cap-toggle{position:relative;width:40px;height:23px;border-radius:99px;border:0;cursor:pointer;background:var(--border-strong);transition:background var(--dur-fast) var(--ease-out);flex:0 0 auto}.cap-toggle.on{background:var(--brand)}.cap-toggle:disabled{opacity:.5;cursor:default}.cap-toggle-knob{position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) var(--ease-out)}.cap-toggle.on .cap-toggle-knob{transform:translate(17px)}.cap-confirm{width:min(440px,100%);padding:1.6rem 1.6rem 1.3rem}.cap-confirm .modal-title{font-size:1.2rem;margin-bottom:.5rem}.modal-text{margin:0;font-size:.88rem;line-height:1.5;color:var(--text-2)}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.4rem}.modal-actions .ghost,.modal-actions .primary{border-radius:99px;padding:.5rem 1.1rem}.dash{max-width:820px;margin:0 auto;padding:2rem 1.5rem 4rem;font-family:var(--font-ui)}.dash--wide{max-width:none;padding:0;flex:1;min-width:0}.dash--wide .dash-inner{max-width:none;padding:2.6rem var(--content-pad-x) 4rem}.dash-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.6rem}.dash-hero-txt{min-width:0}.dash--wide .dash-inner{padding-top:18px}.dash--wide .dash-title{font-size:1.15rem;line-height:34px}.dash-loading{display:grid;place-items:center;min-height:40vh}.dash-hero{margin-bottom:1.6rem}.dash-title{margin:0;font-size:1.6rem;font-weight:500;letter-spacing:-.02em;color:var(--text)}.dash-sub{margin:.3rem 0 0;font-size:.88rem;color:var(--text-2)}.dash-sub em{color:var(--text-3);font-style:normal}.dash-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.8rem;margin-bottom:1.6rem}.stat{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.stat-num{font-size:1.3rem;font-weight:500;color:var(--text);letter-spacing:-.02em;text-transform:capitalize}.stat-lbl{font-size:.74rem;color:var(--text-3);display:inline-flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}.stat-delta{font-size:.72rem;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.stat-delta--up{color:var(--good, #16a34a)}.stat-delta--down{color:var(--bad, #dc2626)}.stat-delta--flat{color:var(--text-3)}.dash--wide .dash-stats{gap:1rem}.dash--wide .stat{padding:1.2rem 1.3rem;border-radius:var(--r-lg)}.dash--wide .stat-num{font-size:1.7rem}.dash--wide .stat-lbl{font-size:.78rem}.stat--accent{background:var(--brand-weak);border-color:transparent}.stat--accent .stat-num{color:var(--brand-strong)}.dash-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.dash-actions .primary,.dash-actions .ghost{display:inline-flex;align-items:center;gap:.35rem;border-radius:99px}.dash-note{font-size:.8rem;color:var(--text-3);margin:.2rem 0 1rem}.dash-section{margin:1.6rem 0 .8rem;font-size:1rem;font-weight:600;color:var(--text)}.dash-empty{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:2.4rem 1rem;color:var(--text-3);text-align:center;border:1px dashed var(--border-strong);border-radius:var(--r-md)}.dash-empty p{margin:0;font-size:.86rem}.tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.tier-card{display:flex;flex-direction:column;gap:.4rem;padding:1.4rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);text-align:center}.tier-name{margin:0;font-size:1.05rem;font-weight:600;color:var(--text)}.tier-price{margin:.2rem 0;font-size:1.5rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.tier-price span{font-size:.8rem;font-weight:400;color:var(--text-3)}.tier-slots{margin:0 0 .8rem;font-size:.82rem;color:var(--text-2)}.tier-card .primary{border-radius:99px}.placement-list,.creator-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.placement-row,.creator-row{display:flex;align-items:center;gap:.8rem;padding:.7rem .8rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.placement-thumb,.creator-thumb{width:46px;height:46px;flex:0 0 auto;object-fit:cover;border-radius:var(--r-sm);background:var(--brand-weak)}.placement-meta,.creator-meta{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.placement-label{font-size:.88rem;font-weight:500;color:var(--text)}.placement-link{font-size:.76rem;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.placement-end{flex:0 0 auto;font-size:.8rem;padding:.35rem .8rem}.creator-meta{flex-direction:row;align-items:center;justify-content:space-between}.creator-name{background:none;border:0;padding:0;cursor:pointer;text-align:left;font-family:var(--font-ui);font-size:.9rem;font-weight:500;color:var(--text)}.creator-name:hover{text-decoration:underline}.ad-status{flex:0 0 auto;font-size:.72rem;font-weight:400;padding:.2rem .6rem;border-radius:99px}.ad-status.rented{color:var(--brand-strong);background:var(--brand-weak)}.ad-status.free{color:var(--text-3);background:var(--field-fill)}.creator-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.creator-card{display:flex;flex-direction:column}.creator-card-media{position:relative;display:block;width:100%;padding:0;border:0;cursor:pointer;aspect-ratio:4 / 3;border-radius:var(--r-lg);overflow:hidden;background:var(--field-fill);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.creator-card-media:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.creator-card-media img{width:100%;height:100%;object-fit:cover;display:block}.creator-card-media .ad-status{position:absolute;top:.55rem;left:.55rem;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.creator-card-media .ad-status.free{background:#0000006b;color:#fff}.creator-card-foot{padding:.55rem .2rem 0}.creator-card-name{font-size:.85rem;font-weight:500;color:var(--text);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-charts{display:block;margin-bottom:1.8rem}.dash--wide{--dash-gap: 1rem}.dash-charts--split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--dash-gap);align-items:stretch;margin-bottom:var(--dash-gap)}@media (max-width: 900px){.dash-charts--split{grid-template-columns:1fr}}.dash-row2{display:grid;grid-template-columns:40fr 60fr;gap:var(--dash-gap);align-items:start}@media (max-width: 900px){.dash-row2{grid-template-columns:1fr}}.dash-stats--grid{grid-template-columns:1fr 1fr;gap:var(--dash-gap);margin-bottom:0}.dash-stats--grid .stat{aspect-ratio:1 / 1;justify-content:center;align-items:flex-start;border-radius:26px;background:var(--surface);border:1px solid rgba(0,0,0,.055)}.mock-table{background:var(--surface);border:1px solid rgba(0,0,0,.055);border-radius:26px;padding:1.1rem 1.2rem;font-family:var(--font-ui)}.mock-table-head{font-size:.92rem;font-weight:500;color:var(--text);margin-bottom:.6rem}.mock-rows{list-style:none;margin:0;padding:0}.mock-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.55rem .5rem;margin:0 -.5rem;cursor:pointer;border-radius:12px}.mock-row+.mock-row{border-top:1px solid var(--border)}.mock-row:hover{background:var(--field-fill)}.mock-row-thumb{width:40px;height:40px;object-fit:cover;border-radius:9px;background:var(--field-fill)}.mock-row-main{display:inline-flex;align-items:center;gap:.5rem;min-width:0}.mock-row-name{font-size:.88rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mock-row-rev{font-size:.84rem;font-weight:500;color:var(--text);white-space:nowrap}.side-cards{display:flex;flex-direction:column;gap:1rem;min-width:0}.side-card{background:var(--surface);border:1px solid rgba(0,0,0,.055);border-radius:26px;padding:1.2rem 1.3rem 1.3rem;font-family:var(--font-ui);flex:1}.side-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.side-card-title{display:inline-flex;align-items:center;gap:.5rem;font-size:.92rem;font-weight:500;color:var(--text)}.side-card-range{font-size:.8rem;color:var(--text-3);white-space:nowrap}.reach{display:flex;flex-direction:column;gap:.7rem}.reach-row{display:grid;grid-template-columns:68px 1fr;align-items:center;gap:.7rem}.reach-lbl{font-size:.82rem;color:var(--text-2)}.reach-track{position:relative;height:20px}.reach-grid{position:absolute;top:-2px;bottom:12px;width:1px;border-left:1px dashed var(--border);transform:translate(-1px)}.reach-bar{position:absolute;left:0;top:0;bottom:0;min-width:3px;cursor:pointer;background:var(--brand);border-radius:4px;transition:width .4s var(--ease-out);outline:none}.reach-val{position:absolute;left:calc(100% + .4rem);top:50%;transform:translateY(-50%);padding:.15rem .45rem;border-radius:var(--r-sm);background:var(--text);color:#fff;font-size:.72rem;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease-out);z-index:3}.reach-bar:hover .reach-val,.reach-bar:focus-visible .reach-val{opacity:1}.reach-axis{position:relative;height:.8rem;margin-left:calc(68px + .7rem);margin-top:.1rem}.reach-axis span{position:absolute;transform:translate(-50%);font-size:.64rem;color:var(--text-3)}.rentals-line{margin:0 0 1rem;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.rentals-num{font-size:2.1rem;font-weight:600;letter-spacing:-.02em;color:var(--text);line-height:1}.rentals-sub{font-size:.82rem;color:var(--text-3)}.rentals-bars{display:flex;align-items:stretch;gap:3px;height:40px}.rentals-bar{flex:1;min-width:2px;border-radius:5px;background:var(--field-fill)}.rentals-bar.on{background:var(--brand)}.dotchart{position:relative;background:var(--surface);border:1px solid rgba(0,0,0,.055);border-radius:26px;padding:1.4rem 1.6rem 1.3rem;font-family:var(--font-ui)}.dotchart-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.1rem;margin-bottom:1.2rem;border-bottom:1px solid rgba(0,0,0,.07)}.dotchart-lead{display:flex;flex-direction:column;gap:.35rem;min-width:0}.dotchart-eyebrow{font-size:.74rem;font-weight:500;letter-spacing:.1em;color:var(--text-3)}.dotchart-metric-select{position:relative;display:inline-flex}.dotchart-metric-btn{display:inline-flex;align-items:center;gap:.2rem;cursor:pointer;border:0;background:transparent;padding:0;font-family:var(--font-ui);font-size:1rem;font-weight:400;color:var(--text-3);transition:color var(--dur-fast) var(--ease-out)}.dotchart-metric-btn:hover{color:var(--text-2)}.dotchart-metric-menu{position:absolute;top:calc(100% + .4rem);left:0;z-index:5;list-style:none;margin:0;padding:.35rem;min-width:190px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md)}.dotchart-metric-opt{display:flex;align-items:center;gap:.7rem;width:100%;text-align:left;cursor:pointer;border:0;background:transparent;padding:.6rem .7rem;border-radius:10px;font-family:var(--font-ui);font-size:.9rem;font-weight:400;color:var(--text);transition:background var(--dur-fast) var(--ease-out)}.dotchart-metric-opt svg{color:var(--text-2);flex:0 0 auto}.dotchart-metric-opt:hover{background:var(--field-fill)}.dotchart-metric-opt.on{background:var(--field-fill);font-weight:500}.dotchart-figure-anim{display:inline-flex;align-items:baseline;gap:.5rem;animation:dotchart-fig-in .32s var(--ease-out) both}@keyframes dotchart-fig-in{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:blur(0)}}@media (prefers-reduced-motion: reduce){.dotchart-figure-anim{animation:none}}.dotchart-big{display:flex;align-items:baseline;gap:.5rem;font-size:1.7rem;font-weight:500;letter-spacing:-.02em;color:var(--text);line-height:1}.dotchart-unit{font-size:1rem;font-weight:500;color:var(--text-3)}.dotchart-delta{font-size:.74rem;font-weight:500;vertical-align:middle}.dotchart-delta.up{color:#16a34a}.dotchart-delta.down{color:#ef4444}.dotchart-range{display:inline-flex;gap:1.1rem;padding-top:.3rem;flex:0 0 auto}.dotchart-range-btn{border:0;background:transparent;cursor:pointer;padding:0;font-family:var(--font-ui);font-weight:400;font-size:.82rem;letter-spacing:0;text-transform:none;color:var(--text-3);transition:color var(--dur-fast) var(--ease-out)}.dotchart-range-btn:hover{color:var(--text-2)}.dotchart-range-btn.on{color:var(--text);font-weight:500}.dotchart-plot{position:relative;width:100%}.dotchart-svg{display:block;max-width:100%;height:auto}.dotchart-svg rect{cursor:crosshair}.dotchart .dot-anim{animation:dot-pop .01s steps(1,end) both}@keyframes dot-pop{0%{visibility:hidden}to{visibility:visible}}.dotchart .dot{fill:var(--text-3);opacity:.16;transition:fill .3s var(--ease-out),opacity .3s var(--ease-out)}.dotchart .dot.past{fill:var(--text-3);opacity:.16}@media (prefers-reduced-motion: reduce){.dotchart .dot-anim{animation:none}}.dotchart .dot.on,.dotchart .dot.hot{fill:var(--text);opacity:1}.dotchart-plot.is-hovering .dot.on{fill:var(--text-3);opacity:.16}.dotchart-plot.is-hovering .dot.hot{fill:var(--text);opacity:1}.dotchart-tip{position:absolute;transform:translate(14px,-50%);pointer-events:none;display:flex;flex-direction:column;gap:.1rem;background:var(--text);color:#fff;padding:.3rem .6rem;border-radius:var(--r-md);box-shadow:0 4px 12px #0000002e;white-space:nowrap;z-index:2}.dotchart-tip-day{font-size:.68rem;opacity:.65}.dotchart-tip-val{font-size:.9rem;font-weight:400}.dotchart-tip-val span{opacity:.7}.dotchart-foot{display:flex;align-items:baseline;justify-content:space-between;margin-top:1rem;font-size:.86rem;letter-spacing:.02em}.dotchart-foot-item{display:inline-flex;gap:.4rem;color:var(--text)}.dotchart-foot-item.muted{color:var(--text-3)}.dotchart-foot-lbl{text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}.dotchart-foot-val{font-weight:600}.dotchart-demo{position:absolute;top:1.1rem;right:1.6rem;font-size:.64rem;color:var(--text-3);background:#0000000d;padding:.12rem .5rem;border-radius:99px}.browser{flex:1;min-width:0;padding:2.6rem var(--content-pad-x) 4rem;font-family:var(--font-ui)}.browser-head{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.browser-head .dash-title{flex:1;font-size:1.3rem}.browser-slots{font-size:.8rem;color:var(--text-3);flex:0 0 auto}.browser-filters{margin-bottom:1.2rem}.browser-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.8rem}.browser-card{display:flex;flex-direction:column;gap:.4rem;padding:0;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:pointer;overflow:hidden;text-align:left;transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.browser-card:hover:not(:disabled){transform:translateY(-2px);border-color:var(--brand)}.browser-card:disabled{opacity:.5;cursor:default}.browser-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--brand-weak)}.browser-card-name{padding:.1rem .6rem .6rem;font-size:.82rem;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser-sentinel{display:grid;place-items:center;min-height:40px;margin-top:1rem}.place-ad-close{position:static}.place-ad-body{gap:1rem}.place-ad-drop{min-height:150px;align-items:center;justify-content:center;cursor:pointer}.place-ad-drop-hint{display:inline-flex;flex-direction:column;align-items:center;gap:.4rem;color:var(--text-3);font-size:.84rem}.place-ad-fields{display:flex;flex-direction:column;gap:1rem}.ad-banner{display:inline-flex;align-items:center;gap:.55rem;margin-left:auto;padding:.35rem .6rem;border:1px solid var(--border);border-radius:99px;background:var(--surface);text-decoration:none;max-width:260px;transition:border-color var(--dur-fast) var(--ease-out)}a.ad-banner:hover{border-color:var(--brand)}.ad-banner-img{width:26px;height:26px;flex:0 0 auto;object-fit:cover;border-radius:50%;background:var(--brand-weak)}.ad-banner-meta{display:inline-flex;align-items:center;gap:.4rem;min-width:0}.ad-banner-tag{flex:0 0 auto;font-size:.62rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);border:1px solid var(--border-strong);border-radius:4px;padding:.05rem .3rem}.ad-banner-label{font-size:.8rem;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal--wide{width:min(880px,100%)}.ad-campaign .modal-actions{justify-content:space-between;padding:1.4rem 1.5rem 1.5rem;margin-top:0}.ad-campaign-formats{max-width:100%}.ad-campaign-custom{display:flex;align-items:center;gap:.6rem}.ad-campaign-custom .field-input{flex:1;min-width:0}.ad-campaign-x{color:var(--text-3);font-size:.9rem;flex:0 0 auto}.ad-campaign-preview{position:relative;max-height:260px}.ad-campaign-preview img{width:100%;height:100%;max-height:260px;object-fit:contain;display:block}.ad-campaign-safe{position:absolute;border:1.5px dashed rgba(255,255,255,.9);box-shadow:0 0 0 1px #00000059;border-radius:2px;pointer-events:none}.ad-campaign-fit{margin:0;font-size:.78rem;line-height:1.45;padding:.55rem .7rem;border-radius:var(--r-sm, 6px);border:1px solid transparent}.ad-campaign-fit--ok{color:#15803d;background:#22c55e14;border-color:#22c55e40}.ad-campaign-fit--warn{color:#b45309;background:#f59e0b17;border-color:#f59e0b47}.ad-campaign-fit--bad{color:#b91c1c;background:#ef444414;border-color:#ef444440}@media (prefers-color-scheme: dark){.ad-campaign-fit--ok{color:#4ade80}.ad-campaign-fit--warn{color:#fbbf24}.ad-campaign-fit--bad{color:#f87171}}.ad-campaign-count{margin:0;font-size:.82rem;color:var(--text-2)}.ad-campaign-count strong{color:var(--text);font-weight:600}.ad-campaign-count-cap{color:var(--text-3)}.browser--multi{padding:0;max-height:44vh;overflow-y:auto}.browser--multi .browser-filters{margin-bottom:.8rem;position:sticky;top:0;z-index:1;background:var(--surface);padding-block:.2rem}.browser--multi .browser-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}.browser-card{position:relative}.browser-card.on{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.browser-card-check{position:absolute;top:.4rem;right:.4rem;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface);color:transparent;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.browser-card.on .browser-card-check{background:var(--brand);border-color:var(--brand);color:#fff}.queue-bar{position:relative;height:4px;border-radius:99px;background:var(--brand-weak);overflow:hidden}.queue-bar-fill{position:absolute;inset:0 auto 0 0;background:var(--brand);border-radius:99px;transition:width var(--dur-step) var(--ease-out)}.placement-baking{font-style:normal;font-weight:400;color:var(--text-3)}
