.pf{--pf-bg:#f7f1e7;--pf-bg-soft:#fcf8f1;--pf-panel:#fffcf6db;--pf-panel-strong:#fffffff2;--pf-line:#dfd3c4;--pf-line-strong:#ccbda9;--pf-text:#25343f;--pf-muted:#6c7a84;--pf-soft:#95a1a9;--pf-accent:#2a6f97;--pf-accent-strong:#194d6f;--pf-accent-soft:#2a6f971f;--pf-highlight:#e8a84f;--pf-shadow:0 18px 50px #60462214;--pf-dur-press:.12s;--pf-dur-hover:.16s;--pf-dur-feedback:.18s;--pf-ease-standard:cubic-bezier(.2, 0, 0, 1);--pf-ease-press:cubic-bezier(.2, .8, .2, 1);--pf-ease-snap:cubic-bezier(.16, 1, .3, 1);color:var(--pf-text);-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 0 0,#ffffffe6,#0000 32%),linear-gradient(#fcf9f2 0%,#f3ebdf 100%);flex-direction:column;width:100%;min-height:100vh;font-family:IBM Plex Sans,Avenir Next,Segoe UI,system-ui,sans-serif;display:flex;position:relative}.pf.pf-dark{--pf-bg:#161b20;--pf-bg-soft:#1f262c;--pf-panel:#1c2228e6;--pf-panel-strong:#222930f5;--pf-line:#34404a;--pf-line-strong:#46545f;--pf-text:#edf3f7;--pf-muted:#aab7c1;--pf-soft:#7d8c98;--pf-accent:#69b6d8;--pf-accent-strong:#9ad7ef;--pf-accent-soft:#69b6d829;--pf-highlight:#f0b65b;background:linear-gradient(#15191e 0%,#20262c 100%)}.pf.pf-dark .pf-menu,.pf.pf-dark .pf-rpanel,.pf.pf-dark .pf-toolbar,.pf.pf-dark .pf-modal,.pf.pf-dark .pf-mobile-menu-sheet{background:linear-gradient(#1f262df5,#181e24fa)}.pf.pf-dark .pf-menu-popover{background:#1c2228fa;border-color:#46545ff2;box-shadow:0 18px 50px #00000047}.pf.pf-dark .pf-menu-item kbd{background:#12171ccc;border-color:#46545fe6}.pf *{box-sizing:border-box;margin:0;padding:0}.pf button,.pf input,.pf select{font:inherit}.pf button,.pf .pf-swatch{will-change:transform, box-shadow, background-color, border-color, color}.pf button:active,.pf .pf-swatch:active{transition-duration:var(--pf-dur-press);transition-timing-function:var(--pf-ease-press)}.pf button:focus-visible,.pf input:focus-visible,.pf select:focus-visible{outline-offset:2px;outline:2px solid #2a6f9761}.pf ::selection{background:#2a6f9724}.pf ::-webkit-scrollbar{width:8px;height:8px}.pf ::-webkit-scrollbar-track{background:#dfd3c473}.pf ::-webkit-scrollbar-thumb{background:#a59682bf;border-radius:999px}.pf ::-webkit-scrollbar-thumb:hover{background:#7a6c5ad1}.pf-menu{border-bottom:1px solid var(--pf-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:5;background:linear-gradient(#ffffffeb,#fcf8f1e0);flex-shrink:0;align-items:center;gap:10px;min-height:56px;padding:10px 14px;display:flex;position:sticky;top:0;box-shadow:0 1px #ffffffb3,0 10px 28px #6e542e0f}.pf-menu-group,.pf-menu-r,.pf-menu-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pf-menu-brand{letter-spacing:.28em;text-transform:uppercase;color:var(--pf-accent-strong);background:#2a6f9714;border:1px solid #2a6f971f;border-radius:999px;padding:7px 10px;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:600}.pf-menu-sep{background:linear-gradient(180deg, transparent, var(--pf-line), transparent);align-self:stretch;width:1px}.pf-mbtn{min-height:34px;color:var(--pf-text);letter-spacing:.02em;cursor:pointer;transition:transform var(--pf-dur-hover) var(--pf-ease-standard), border-color var(--pf-dur-hover) var(--pf-ease-standard), background var(--pf-dur-hover) var(--pf-ease-standard), box-shadow var(--pf-dur-hover) var(--pf-ease-standard), color var(--pf-dur-hover) var(--pf-ease-standard);background:#fffc;border:1px solid #c9bca9d9;border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-size:11px;font-weight:500;display:inline-flex}.pf-mbtn:hover{color:var(--pf-accent-strong);background:#fffffffa;border-color:#2a6f9733;transform:translateY(-1px);box-shadow:0 8px 20px #80603414}.pf-mbtn:active{color:var(--pf-accent-strong);background:#f0f8fcfa;transform:scale(.97);box-shadow:inset 0 0 0 1px #2a6f971f}.pf-mbtn.primary{color:var(--pf-accent-strong);background:linear-gradient(#2a6f9729,#2a6f9714);border-color:#2a6f9733}.pf-mbtn.dis{opacity:.42;pointer-events:none;box-shadow:none}.pf-compact-icon{justify-content:center;width:34px;padding:0}.pf-menu-dropdown{display:inline-flex;position:relative}.pf-menu-trigger{min-height:34px;color:var(--pf-text);letter-spacing:.02em;cursor:pointer;transition:background var(--pf-dur-hover) var(--pf-ease-standard), border-color var(--pf-dur-hover) var(--pf-ease-standard), color var(--pf-dur-hover) var(--pf-ease-standard);background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:5px;padding:0 10px;font-size:11px;font-weight:650;display:inline-flex}.pf-menu-trigger:hover,.pf-menu-trigger.active{color:var(--pf-accent-strong);background:#2a6f9714;border-color:#2a6f9724}.pf-menu-popover{z-index:10020;background:#fffcf7fa;border:1px solid #ccbda9eb;border-radius:12px;min-width:210px;padding:6px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 50px #49381c29}.pf-menu-item{width:100%;min-height:34px;color:var(--pf-text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:0 10px;font-size:12px;display:flex}.pf-menu-item:hover{color:var(--pf-accent-strong);background:#2a6f971a}.pf-menu-item:disabled{opacity:.42;cursor:default}.pf-menu-item:disabled:hover{color:var(--pf-text);background:0 0}.pf-menu-item kbd{color:var(--pf-muted);letter-spacing:0;background:#ffffff94;border:1px solid #ccbda9b8;border-radius:6px;padding:2px 5px;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:10px}.pf-menu-rule{background:var(--pf-line);height:1px;margin:5px 4px}.pf-zoom{min-width:64px;color:var(--pf-muted);text-align:center;letter-spacing:.08em;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:11px}.pf-menu-meta{margin-left:auto}.pf-menu-chip{min-height:30px;color:var(--pf-muted);letter-spacing:.08em;text-transform:uppercase;background:#ffffff9e;border:1px solid #ccbda9cc;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:10px;font-weight:600;display:inline-flex}.pf-menu-chip-button{cursor:pointer}.pf-menu-chip-button:hover{color:var(--pf-accent-strong);background:#ffffffe6;border-color:#2a6f9733}.pf-mobile-menu-btn{width:36px;height:36px;color:var(--pf-text);cursor:pointer;background:#ffffffd1;border:1px solid #c9bca9d9;border-radius:12px;justify-content:center;align-items:center;display:none}.pf-mobile-menu-backdrop{z-index:10000;background:#25343f3d;justify-content:center;align-items:flex-start;padding:12px;display:flex;position:fixed;inset:0}.pf-mobile-menu-sheet{background:#fffcf7fa;border:1px solid #ccbda9e6;border-radius:18px;width:min(420px,100%);overflow:hidden;box-shadow:0 24px 70px #49381c2e}.pf-mobile-menu-head{border-bottom:1px solid var(--pf-line);justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.pf-mobile-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px;display:grid}.pf-icon-btn{min-width:32px;min-height:32px;color:var(--pf-text);cursor:pointer;background:#ffffffd1;border:1px solid #c9bca9d9;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.pf-menu-chip.accent{color:var(--pf-accent-strong);background:#2a6f971a;border-color:#2a6f972e}.pf-body{flex:1;min-height:0;display:flex;overflow:hidden}.pf-toolbar{border-right:1px solid var(--pf-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffbf6ad;flex-direction:column;flex-shrink:0;align-items:center;gap:8px;width:72px;padding:16px 10px;display:flex}.pf-tbtn{width:48px;height:48px;color:var(--pf-muted);cursor:pointer;transition:transform var(--pf-dur-hover) var(--pf-ease-standard), border-color var(--pf-dur-hover) var(--pf-ease-standard), background var(--pf-dur-hover) var(--pf-ease-standard), color var(--pf-dur-hover) var(--pf-ease-standard), box-shadow var(--pf-dur-hover) var(--pf-ease-standard);background:#ffffffbd;border:1px solid #0000;border-radius:16px;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:0 8px 18px #8c6a3d0d}.pf-tbtn:hover{color:var(--pf-text);background:#fffffff5;border-color:#c9bca9cc;transform:translateY(-1px)}.pf-tbtn.active{color:var(--pf-accent-strong);background:linear-gradient(#2a6f972e,#fffffff5);border-color:#2a6f9733;box-shadow:0 10px 26px #2a6f9724}.pf-tbtn:active{background:linear-gradient(#2a6f9738,#fffffff0);transform:scale(.95)}.pf-tbtn.muted{opacity:.52}.pf-tbtn .pf-shortcut{color:var(--pf-soft);font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:8px;position:absolute;bottom:6px;right:6px}.pf-toolbar-sep{background:linear-gradient(90deg, transparent, var(--pf-line), transparent);width:34px;height:1px;margin:2px 0}.pf-color-wells{flex-direction:column;align-items:center;gap:0;margin-top:2px;display:flex}.pf-color-well{cursor:pointer;width:42px;height:42px;transition:transform var(--pf-dur-hover) var(--pf-ease-standard), box-shadow var(--pf-dur-hover) var(--pf-ease-standard), border-color var(--pf-dur-hover) var(--pf-ease-standard);background:#ffffffeb;border:1px solid #ccbda9eb;border-radius:14px;position:relative;overflow:hidden;box-shadow:0 12px 26px #81663714}.pf-color-well:hover{border-color:#2a6f972e;transform:translateY(-1px)scale(1.02);box-shadow:0 14px 28px #8166371f}.pf-color-well:active{transform:scale(.97)}.pf-color-well.primary{z-index:2}.pf-color-well.secondary{margin-top:-10px;margin-left:12px}.pf-color-button-label{letter-spacing:.12em;color:#101820ad;z-index:2;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:8px;font-weight:600;position:absolute;top:6px;left:8px}.pf-color-button-swatch{border-radius:10px;position:absolute;inset:8px;box-shadow:inset 0 0 0 1px #ffffff8a}.pf-color-input{opacity:0;cursor:pointer;position:absolute;inset:0}.pf-swap-colors{width:34px;height:28px;color:var(--pf-muted);cursor:pointer;background:#ffffffd9;border:1px solid #ccbda9cc;border-radius:999px;margin-top:8px;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:11px;transition:all .15s}.pf-swap-colors:hover{color:var(--pf-accent-strong);background:#fffffffa;border-color:#2a6f972e}.pf-swap-colors:active{background:#f0f8fcfa;transform:scale(.95)}.pf-viewport{cursor:crosshair;touch-action:none;background:radial-gradient(circle at 100% 0,#ffffff9e,#0000 26%),linear-gradient(#ece4d8 0%,#e2d8c9 100%);flex:1;position:relative;overflow:hidden}.pf-viewport:before{content:"";pointer-events:none;border:1px solid #ffffff57;border-radius:22px;transition:border-color .12s,border-width .12s;position:absolute;inset:16px}.pf-viewport.pf-viewport-drag-hover:before{background:#2a6f970d;border:2px dashed #2a6f97b8}.pf-viewport canvas{display:block;position:absolute;top:0;left:0}.pf-rpanel{border-left:1px solid var(--pf-line);background:linear-gradient(#ffffffdb,#fcf8f1eb);flex-direction:column;flex-shrink:0;width:320px;display:flex;overflow:hidden;box-shadow:inset 1px 0 #ffffff8c}.pf-section{border-bottom:1px solid var(--pf-line)}.pf-section-head{letter-spacing:.16em;text-transform:uppercase;color:var(--pf-muted);justify-content:space-between;align-items:center;padding:12px 16px 10px;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:600;display:flex}.pf-section-toggle{cursor:pointer;text-align:left;background:0 0;border:0;width:100%}.pf-section-toggle:hover{color:var(--pf-ink)}.pf-section-head-meta{align-items:center;gap:8px;display:inline-flex}.pf-section-body{padding:0 16px 12px}.pf-section-lead{color:var(--pf-muted);margin-bottom:14px;font-size:12px;line-height:1.5}.pf-tool-summary{background:linear-gradient(#ffffffd9,#fbf5ecf2);border:1px solid #ccbda9a6;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;padding:14px;display:flex;box-shadow:0 10px 26px #745a300d}.pf-tool-summary-title{color:var(--pf-text);margin-bottom:4px;font-size:14px;font-weight:700}.pf-tool-summary-body{color:var(--pf-muted);font-size:12px;line-height:1.5}.pf-tool-summary-hint{color:var(--pf-soft);margin-top:8px;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:10px}.pf-kbd{height:30px;color:var(--pf-accent-strong);background:#ffffffb8;border:1px solid #ccbda9bf;border-radius:999px;flex-shrink:0;align-items:center;padding:0 10px;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:10px;display:inline-flex}.pf-field-help{color:var(--pf-muted);margin-top:4px;font-size:11px;line-height:1.45}.pf-field-help.warn{color:#98602f}.pf-field-help strong{color:var(--pf-text);font-weight:600}.pf-prop-row{align-items:center;gap:10px;margin-bottom:12px;display:flex}.pf-prop-label{width:64px;color:var(--pf-muted);letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:10px}.pf-prop-val{flex:1}.pf-input,.pf-select{width:100%;min-height:38px;color:var(--pf-text);background:#ffffffe6;border:1px solid #ccbda9e6;border-radius:12px;outline:none;padding:0 12px;font-size:12px;transition:border-color .15s,box-shadow .15s,background .15s}.pf-input:focus,.pf-select:focus{background:#fff;border-color:#2a6f9766;box-shadow:0 0 0 4px #2a6f9714}.pf-input.pf-field-error,.pf-select.pf-field-error{animation:pf-field-shake var(--pf-dur-feedback) var(--pf-ease-standard);border-color:#d064457a;box-shadow:0 0 0 4px #d064451f}.pf-slider{-webkit-appearance:none;width:100%;height:6px;transition:box-shadow var(--pf-dur-hover) var(--pf-ease-standard), transform var(--pf-dur-hover) var(--pf-ease-standard);background:linear-gradient(90deg,#2a6f972e,#ccbda959);border-radius:999px;outline:none}.pf-slider:hover{box-shadow:0 0 0 4px #2a6f9714}.pf-slider:active{transform:scaleY(1.08)}.pf-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--pf-accent);cursor:pointer;width:16px;height:16px;transition:transform var(--pf-dur-press) var(--pf-ease-press), box-shadow var(--pf-dur-hover) var(--pf-ease-standard), background var(--pf-dur-hover) var(--pf-ease-standard);border:2px solid #fff;border-radius:50%;box-shadow:0 4px 12px #2a6f9747}.pf-slider:active::-webkit-slider-thumb{transform:scale(1.08);box-shadow:0 6px 16px #2a6f9757}.pf-select{padding-right:30px;font-size:11px}.pf-checkbox-row{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.pf-checkbox-row input{accent-color:var(--pf-accent)}.pf-checkbox-row span{color:var(--pf-text);font-size:12px}.pf-recent-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.pf-brush-presets{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.pf-brush-presets .pf-chip-btn.active{background:var(--pf-accent,#2a6f97);color:#fff;border-color:var(--pf-accent,#2a6f97)}.pf-chip-btn{min-height:30px;color:var(--pf-muted);cursor:pointer;letter-spacing:.04em;transition:border-color var(--pf-dur-hover) var(--pf-ease-standard), background var(--pf-dur-hover) var(--pf-ease-standard), color var(--pf-dur-hover) var(--pf-ease-standard), transform var(--pf-dur-hover) var(--pf-ease-standard), box-shadow var(--pf-dur-hover) var(--pf-ease-standard);background:#ffffffd6;border:1px solid #ccbda9d1;border-radius:999px;padding:0 10px;font-size:10px;font-weight:600}.pf-chip-btn:hover{color:var(--pf-accent-strong);background:#fffffffa;border-color:#2a6f9733;transform:translateY(-1px)}.pf-chip-btn:active{background:#f0f8fcfa;transform:scale(.97)}.pf-chip-btn.swatch{min-width:34px;padding:0}.pf-chip-btn.swatch:before{content:"";background:currentColor;border:1px solid #ffffffe0;border-radius:999px;width:18px;height:18px;margin:0 auto;display:block;box-shadow:inset 0 0 0 1px #1a283414}.pf-next-grid{gap:10px;display:grid}.pf-next-card{text-align:left;cursor:pointer;width:100%;transition:transform var(--pf-dur-hover) var(--pf-ease-standard), border-color var(--pf-dur-hover) var(--pf-ease-standard), box-shadow var(--pf-dur-hover) var(--pf-ease-standard), background var(--pf-dur-hover) var(--pf-ease-standard);background:linear-gradient(#ffffffeb,#fcf8f1f5);border:1px solid #ccbda9b8;border-radius:16px;padding:12px 13px;display:block}.pf-next-card:hover{border-color:#2a6f972e;transform:translateY(-1px);box-shadow:0 12px 24px #46361a14}.pf-next-card:active{background:linear-gradient(#f0f8fcfa,#fcf8f1f5);transform:scale(.98)}.pf-next-title{color:var(--pf-text);font-size:12px;font-weight:700}.pf-next-detail{color:var(--pf-muted);margin-top:4px;font-size:11px;line-height:1.45}.pf-swatches{grid-template-columns:repeat(8,1fr);gap:6px;display:grid}.pf-swatch{aspect-ratio:1;cursor:pointer;border:1px solid #ccbda9d6;border-radius:12px;width:100%;transition:transform .14s,box-shadow .14s,border-color .14s;position:relative}.pf-swatch:hover{border-color:#2a6f972e;transform:translateY(-1px)scale(1.04);box-shadow:0 10px 20px #8060341f}.pf-swatch:active{transform:scale(.96)}.pf-swatch.primary:after,.pf-swatch.secondary:before{content:"";pointer-events:none;border-radius:9px;position:absolute;inset:3px}.pf-swatch.primary:after{box-shadow:inset 0 0 0 2px #ffffffeb,0 0 0 2px #2a6f97b3}.pf-swatch.secondary:before{box-shadow:inset 0 0 0 1px #ffffffe6,0 0 0 1px #16324fb8}.pf-hex-row{gap:8px;margin-top:12px;display:flex}.pf-layer-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 16px 14px;display:grid}.pf-layer-actions .pf-layer-abtn:nth-child(-n+2){grid-column:span 2}.pf-layer-abtn{min-height:38px;color:var(--pf-text);cursor:pointer;white-space:nowrap;transition:transform var(--pf-dur-hover) var(--pf-ease-standard), border-color var(--pf-dur-hover) var(--pf-ease-standard), background var(--pf-dur-hover) var(--pf-ease-standard), color var(--pf-dur-hover) var(--pf-ease-standard), box-shadow var(--pf-dur-hover) var(--pf-ease-standard);background:#ffffffdb;border:1px solid #ccbda9e6;border-radius:12px;justify-content:center;align-items:center;gap:5px;font-size:11px;font-weight:600;display:inline-flex}.pf-layer-abtn:hover{color:var(--pf-accent-strong);background:#fffffffa;border-color:#2a6f9729}.pf-layer-abtn:active{background:#f0f8fcfa;transform:scale(.97)}.pf-layer-abtn:disabled{opacity:.42;pointer-events:none}.pf-layer-controls{border-bottom:1px solid var(--pf-line);align-items:center;gap:8px;padding:0 16px 14px;display:flex}.pf-layers-list{flex:1;padding:12px;overflow-y:auto}.pf-layer{cursor:pointer;transition:background var(--pf-dur-hover) var(--pf-ease-standard), border-color var(--pf-dur-hover) var(--pf-ease-standard), transform var(--pf-dur-hover) var(--pf-ease-snap), box-shadow var(--pf-dur-hover) var(--pf-ease-standard), opacity var(--pf-dur-hover) var(--pf-ease-standard);border:1px solid #0000;border-radius:16px;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.pf-layer+.pf-layer{margin-top:8px}.pf-layer:hover{background:#ffffffb8;border-color:#ccbda9b3}.pf-layer.active{background:linear-gradient(#2a6f971f,#fffffff2);border-color:#2a6f9738;transform:translateY(-1px);box-shadow:0 14px 28px #2a6f971f}.pf-layer.suggested{border-color:#e8a84f57;box-shadow:0 0 0 2px #e8a84f1f}.pf-layer.dragging{opacity:.74;transform:scale(.985);box-shadow:0 18px 34px #4f3c1e1f}.pf-layer.drop-target{border-color:#2a6f974d;transform:translate(6px)scale(1.01);box-shadow:0 0 0 2px #2a6f971f,0 12px 24px #2a6f9714}.pf-layer.cue-success{animation:pf-confirm var(--pf-dur-feedback) var(--pf-ease-snap)}.pf-layer.cue-error{animation:pf-field-shake var(--pf-dur-feedback) var(--pf-ease-standard);border-color:#d0644566;box-shadow:0 0 0 2px #d064451f}.pf-layer-icon{background:#ffffffdb;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.pf-layer-vis{width:30px;height:30px;color:var(--pf-muted);cursor:pointer;transition:transform var(--pf-dur-press) var(--pf-ease-press), border-color var(--pf-dur-hover) var(--pf-ease-standard), background var(--pf-dur-hover) var(--pf-ease-standard), color var(--pf-dur-hover) var(--pf-ease-standard), box-shadow var(--pf-dur-hover) var(--pf-ease-standard);background:0 0;border:1px solid #0000;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.pf-layer-vis:hover{color:var(--pf-accent-strong);background:#ffffffe0;border-color:#ccbda9b3}.pf-layer-vis:active,.pf-layer-lock:active,.pf-anchor-btn:active,.pf-mobile-tab:active{transform:scale(.95)}.pf-layer-main{min-width:0}.pf-layer-name{color:var(--pf-text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.pf-layer-meta{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.pf-layer-type,.pf-layer-tag{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;min-height:18px;padding:0 7px;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:8px;display:inline-flex}.pf-layer-type{color:var(--pf-muted);background:#ffffffe6}.pf-layer-tag{color:var(--pf-accent-strong);background:#2a6f9714}.pf-inline-actions{flex-wrap:wrap;gap:8px;display:flex}.pf-inline-actions .pf-layer-abtn{flex:1;min-width:0}.pf-mini-grid{gap:8px;display:flex;overflow-x:auto}.pf-mini-grid.four{grid-template-columns:none}.pf-mini-grid>*{min-width:64px}.pf-layer-row{padding:0 16px 12px}.pf-layer-drop-target{border-color:#2a6f974d;box-shadow:0 0 0 2px #2a6f9714}.pf-layer-lock{width:30px;height:30px;color:var(--pf-muted);cursor:pointer;transition:transform var(--pf-dur-press) var(--pf-ease-press), border-color var(--pf-dur-hover) var(--pf-ease-standard), background var(--pf-dur-hover) var(--pf-ease-standard), color var(--pf-dur-hover) var(--pf-ease-standard), box-shadow var(--pf-dur-hover) var(--pf-ease-standard);background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.pf-layer-lock:hover{color:var(--pf-accent-strong);background:#ffffffe0;border-color:#ccbda9b3}.pf-modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10000;background:#1b1b1b3d;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.pf-modal{background:linear-gradient(#fffffff5,#fcf8f1fa);border:1px solid #ccbda9d1;border-radius:24px;width:min(520px,100%);overflow:hidden;box-shadow:0 24px 70px #402f1624}.pf-modal-head{border-bottom:1px solid var(--pf-line);padding:18px 20px 12px}.pf-modal-title{color:var(--pf-text);font-size:16px;font-weight:700}.pf-modal-copy{color:var(--pf-muted);margin-top:6px;font-size:13px;line-height:1.5}.pf-modal-body{padding:18px 20px}.pf-modal-actions{justify-content:flex-end;gap:10px;padding:0 20px 20px;display:flex}.pf-command-modal{width:min(640px,100%)}.pf-command-list{gap:8px;max-height:360px;margin-top:12px;display:grid;overflow:auto}.pf-command-item{min-height:40px;color:var(--pf-text);cursor:pointer;background:#ffffffd6;border:1px solid #ccbda9cc;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;display:flex}.pf-command-item:hover{color:var(--pf-accent-strong);border-color:#2a6f973d}.pf-command-item:disabled{opacity:.45;pointer-events:none}.pf-command-item small{color:var(--pf-muted);text-transform:uppercase;letter-spacing:.08em;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:9px}.pf-floating-panel{z-index:9000;border:1px solid var(--pf-line);background:var(--pf-panel-strong);width:min(280px,100vw - 32px);box-shadow:var(--pf-shadow);border-radius:16px;padding:14px;position:fixed;bottom:68px;right:24px}.pf-floating-head,.pf-history-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.pf-floating-head{margin-bottom:12px}.pf-history-row{min-height:32px;color:var(--pf-muted);font-size:12px}.pf-history-row strong{color:var(--pf-text)}.pf-anchor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.pf-anchor-btn{min-height:42px;color:var(--pf-text);cursor:pointer;background:#ffffffd9;border:1px solid #ccbda9e6;border-radius:12px;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:11px}.pf-anchor-btn.active{color:var(--pf-accent-strong);background:#2a6f971a;border-color:#2a6f9747}.pf-anchor-btn{transition:transform var(--pf-dur-hover) var(--pf-ease-standard), border-color var(--pf-dur-hover) var(--pf-ease-standard), background var(--pf-dur-hover) var(--pf-ease-standard), color var(--pf-dur-hover) var(--pf-ease-standard), box-shadow var(--pf-dur-hover) var(--pf-ease-standard)}.pf-anchor-btn:hover{border-color:#2a6f972e;transform:translateY(-1px);box-shadow:0 8px 18px #2a6f9714}.pf-draft-banner{background:#fff6e4e6;border:1px solid #e8a84f52;border-radius:16px;margin:14px 16px 0;padding:12px 14px}.pf-draft-banner strong{margin-bottom:4px;font-size:12px;display:block}.pf-draft-banner p{color:#7d5c2e;font-size:12px;line-height:1.5}.pf-draft-actions{gap:8px;margin-top:10px;display:flex}.pf-mobile-tabs{scroll-snap-type:x mandatory;gap:8px;padding:12px 16px 0;display:none;overflow-x:auto}.pf-mobile-tab{scroll-snap-align:start;min-height:34px;color:var(--pf-muted);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:#ffffffc7;border:1px solid #ccbda9d6;border-radius:999px;flex:none;padding:0 12px;font-size:10px;font-weight:700}.pf-mobile-tab.active{color:var(--pf-accent-strong);background:#2a6f971a;border-color:#2a6f9733}.pf-mobile-tab{transition:transform var(--pf-dur-hover) var(--pf-ease-standard), border-color var(--pf-dur-hover) var(--pf-ease-standard), background var(--pf-dur-hover) var(--pf-ease-standard), color var(--pf-dur-hover) var(--pf-ease-standard), box-shadow var(--pf-dur-hover) var(--pf-ease-standard)}.pf-mobile-tab:hover{color:var(--pf-accent-strong);background:#ffffffeb;border-color:#2a6f972e}.pf-starter{pointer-events:none;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.pf-starter-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;background:#fffcf7eb;border:1px solid #ccbda9db;border-radius:24px;width:min(420px,100%);padding:22px;box-shadow:0 24px 70px #49381c1f}.pf-starter-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--pf-soft);font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:10px}.pf-starter-title{color:var(--pf-text);margin-top:8px;font-size:24px;line-height:1.1}.pf-starter-copy{color:var(--pf-muted);margin-top:10px;font-size:13px;line-height:1.6}.pf-starter-actions{gap:10px;margin-top:18px;display:grid}.pf-status{border-top:1px solid var(--pf-line);min-height:34px;color:var(--pf-muted);letter-spacing:.04em;background:#ffffffdb;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:8px 14px;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:10px;display:flex}.pf-status-accent{color:var(--pf-accent-strong)}.pf-status-badge{color:var(--pf-accent-strong);background:#2a6f9717;border:1px solid #2a6f9747;border-radius:999px;padding:2px 7px;font-weight:700}.pf-status-hints{margin-left:auto}.pf-status-help{width:28px;height:28px;color:var(--pf-accent-strong);cursor:pointer;background:#ffffffd1;border:1px solid #ccbda9d6;border-radius:999px;margin-left:auto;font-weight:700}.pf-help-sheet{z-index:10000;background:#25343f38;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.pf-help-card{background:#fffcf7fa;border:1px solid #ccbda9e6;border-radius:18px;width:min(460px,100%);overflow:hidden;box-shadow:0 24px 70px #49381c2e}.pf-help-card .pf-modal-head{justify-content:space-between;align-items:center;display:flex}.pf-help-row{color:var(--pf-muted);grid-template-columns:88px minmax(0,1fr);gap:10px;font-size:12px;line-height:1.45;display:grid}.pf-help-row+.pf-help-row{margin-top:10px}.pf-toast{color:var(--pf-text);letter-spacing:.04em;z-index:9999;box-shadow:var(--pf-shadow);animation:pf-toast-in .14s var(--pf-ease-snap);background:#fffffff5;border:1px solid #2a6f9729;border-radius:14px;padding:10px 16px;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:11px;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.pf-toast.success{background:#f5fcfffa;border-color:#2a6f9738}.pf-toast.error{animation:pf-toast-in .14s var(--pf-ease-snap), pf-toast-shake var(--pf-dur-feedback) var(--pf-ease-standard);background:#fff5f1fa;border-color:#d064455c}.pf-context-menu{z-index:10001;background:#fffcf7fa;border:1px solid #ccbda9eb;border-radius:12px;min-width:190px;padding:6px;position:fixed;box-shadow:0 18px 50px #49381c29}.pf-context-item{width:100%;min-height:32px;color:var(--pf-text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:0 10px;font-size:12px;display:flex}.pf-context-item.active,.pf-context-item:hover{color:var(--pf-accent-strong);background:#2a6f971a}.pf-context-item.danger{color:#9a4d38}.pf-context-item:disabled{opacity:.42;cursor:default}.pf-context-sep{background:var(--pf-line);height:1px;margin:5px 4px}.pf-color-inline{background:#fffc;border:1px solid #ccbda9d6;border-radius:8px;width:38px;height:28px}.pf-export-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pf-export-grid label{color:var(--pf-muted);text-transform:uppercase;letter-spacing:.08em;gap:5px;font-size:10px;display:grid}.pf-error-shell{min-height:100vh;color:var(--pf-text,#25343f);background:linear-gradient(#fcf9f2 0%,#f3ebdf 100%);place-items:center;padding:24px;font-family:IBM Plex Sans,Avenir Next,Segoe UI,system-ui,sans-serif;display:grid}.pf-error-card{background:#fffcf7f5;border:1px solid #ccbda9e6;border-radius:18px;width:min(560px,100%);padding:22px;box-shadow:0 24px 70px #49381c24}.pf-error-card h1{margin-top:18px;font-size:24px}.pf-error-card p{color:var(--pf-muted,#6c7a84);margin-top:8px}.pf-error-card pre{color:#8c3d2a;white-space:pre-wrap;background:#ffffffb8;border-radius:12px;max-height:180px;margin-top:14px;padding:12px;font-size:12px;overflow:auto}.pf-error-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}@keyframes pf-toast-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes pf-confirm{0%{transform:translateY(0)scale(1)}55%{transform:translateY(-1px)scale(1.02)}to{transform:translateY(0)scale(1)}}@keyframes pf-field-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}60%{transform:translate(3px)}}@keyframes pf-toast-shake{0%,to{transform:translate(-50%)translateY(0)}25%{transform:translate(calc(-50% - 3px))translateY(0)}60%{transform:translate(calc(3px - 50%))translateY(0)}}.pf-feedback-success{animation:pf-confirm var(--pf-dur-feedback) var(--pf-ease-snap)}.pf-feedback-error{animation:pf-field-shake var(--pf-dur-feedback) var(--pf-ease-standard);background:#fff4f0fa!important;border-color:#d0644566!important}@media (width<=1100px){.pf-rpanel{width:288px}}@media (width<=920px){.pf-menu{padding:10px 12px}.pf-menu-meta{order:3;width:100%;margin-left:0}.pf-body{flex-direction:column}.pf-toolbar{border-right:none;border-bottom:1px solid var(--pf-line);flex-direction:row;justify-content:flex-start;width:100%;padding:10px 12px;overflow-x:auto}.pf-toolbar-sep{background:linear-gradient(180deg, transparent, var(--pf-line), transparent);width:1px;height:34px;margin:0 2px}.pf-color-wells{flex-direction:row;align-items:center;margin-top:0;margin-left:4px}.pf-color-well.secondary{margin-top:0;margin-left:-10px}.pf-swap-colors{margin-top:0;margin-left:8px}.pf-rpanel{border-left:none;border-top:1px solid var(--pf-line);width:100%;max-height:40vh}.pf-mobile-tabs{display:flex}.pf-viewport{min-height:360px}.pf-starter{align-items:flex-end;padding:18px}.pf-starter-card{border-radius:20px;width:100%;padding:18px}}@media (prefers-reduced-motion:reduce){.pf *,.pf :before,.pf :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}@media (width<=640px){.pf-menu{flex-wrap:nowrap;align-items:center;gap:8px}.pf-mobile-menu-btn{flex:none;display:inline-flex}.pf-menu-group,.pf-menu-r{width:auto}.pf-menu-group{flex-wrap:nowrap;flex:1;min-width:0}.pf-menu-group .pf-menu-brand,.pf-menu-group .pf-menu-sep,.pf-menu-group .pf-menu-dropdown,.pf-menu-group .pf-mobile-sheet-only{display:none}.pf-menu-r{flex:none}.pf-menu-r .pf-mbtn:not(:last-child),.pf-menu-r .pf-zoom,.pf-menu-meta{display:none}.pf-zoom{min-width:52px}.pf-layer-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.pf-swatches{grid-template-columns:repeat(6,1fr)}.pf-mini-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-modal-backdrop{padding:12px}.pf-modal-actions{flex-direction:column-reverse}}.pf-color-picker-popover{z-index:10020;border:1px solid var(--pf-line);background:#fffffffa;border-radius:10px;padding:12px;position:fixed;overflow:auto;box-shadow:0 18px 54px #20181033}.pf-color-picker-tabs,.pf-color-picker-save{gap:8px;display:flex}.pf-color-picker-tabs{gap:6px;margin-bottom:10px}.pf-color-picker-body,.pf-color-picker-tab-body,.pf-color-picker-palettes,.pf-color-picker-palette,.pf-color-picker-field{display:grid}.pf-color-picker-body{gap:10px}.pf-color-picker-tab-body,.pf-color-picker-palettes{gap:8px}.pf-color-picker-palette,.pf-color-picker-field{gap:5px}.pf-color-picker-field{color:var(--pf-muted);font-size:11px}.pf-color-picker-sv{border:1px solid var(--pf-line);border-radius:8px;height:118px}.pf-color-picker-hue{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}@media (prefers-reduced-motion:reduce){.pf *,.pf :before,.pf :after{transition:none!important;animation:none!important}}
