.i-icon{display:inline-block;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.i-icon-spin svg{animation:i-icon-spin 1s infinite linear}.i-icon-rtl{transform:scaleX(-1)}@keyframes i-icon-spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes i-icon-spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fest-page,.fest-overlay{--fest-bg: #0a0b0d;--fest-panel: #0a0b0d;--fest-accent: #3a3cfd;--fest-accent-soft: #7778ff;--fest-text: #f5f6f8;--fest-muted: rgba(245, 246, 248, .55);--glass-dark: rgba(255, 255, 255, .06);--glass-dark-border: rgba(255, 255, 255, .14);--glass-light: rgba(248, 249, 252, .72);--glass-light-border: rgba(255, 255, 255, .85);--fest-glass-r: 68;--fest-glass-g: 68;--fest-glass-b: 68;--fest-glass-alpha: .03;--fest-glass-blur: 35px;--fest-glass-saturation: 0;--fest-glass-contrast: .98;--fest-glass-border-alpha: .26;--fest-glass-specular: 0;--fest-glass-shadow-alpha: .13;--fest-glass-shadow-blur: 14px;--fest-glass-radius: 38px;--fest-overlay-alpha: .65;--fest-overlay-blur: 28px;--fest-pill-radius: 999px;--fest-button-stroke: linear-gradient( 90deg, rgb(255 255 255 / .2) 0%, rgb(255 255 255 / .4) 100% )}.fest-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;background:radial-gradient(52% 44% at 84% 92%,rgba(58,60,253,.2),transparent 68%),radial-gradient(46% 40% at 8% 100%,rgba(122,60,252,.16),transparent 70%),radial-gradient(60% 34% at 50% -6%,rgba(47,124,246,.1),transparent 65%),var(--fest-bg);color:var(--fest-text);font-family:Noto Sans SC Local,Noto Sans SC,PingFang SC,sans-serif;-webkit-font-smoothing:antialiased}html:has(.fest-page),body:has(.fest-page){background:#0a0b0d}.liquid-glass{position:relative;overflow:hidden;border:0;background:#ffffff0d;-webkit-backdrop-filter:blur(10px) saturate(1.1) contrast(1.04);backdrop-filter:blur(10px) saturate(1.1) contrast(1.04);box-shadow:inset 0 1px #ffffff57,inset 0 -1px #0003,inset 12px 0 18px #85acff0a,inset -12px 0 18px #f185ff09,0 12px 30px #00000038}.liquid-glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(140px circle at var(--lg-x, 50%) var(--lg-y, 50%),rgba(255,255,255,.1),transparent 70%);opacity:0;transition:opacity .35s ease;pointer-events:none}.liquid-glass:hover:before{opacity:1}.liquid-glass:after{content:"";position:absolute;inset:1px 8px auto;height:45%;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(179,219,255,.08) 48%,transparent);opacity:.27;filter:blur(4px);pointer-events:none}.fest-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vh,44px) clamp(16px,4vw,64px);background:rgb(4 5 8 / var(--fest-overlay-alpha));-webkit-backdrop-filter:blur(var(--fest-overlay-blur)) saturate(1.16);backdrop-filter:blur(var(--fest-overlay-blur)) saturate(1.16);color:var(--fest-text);font-family:Noto Sans SC Local,Noto Sans SC,PingFang SC,sans-serif;-webkit-font-smoothing:antialiased;animation:fest-overlay-in .3s cubic-bezier(.22,1,.36,1) both}@keyframes fest-overlay-in{0%{opacity:0}to{opacity:1}}.fest-overlay-inner{position:relative;display:flex;gap:20px;width:min(1220px,100%);height:min(780px,100%)}@keyframes fest-overlay-pop{0%{opacity:0;transform:translateY(18px) scale(.985)}}.fest-overlay .fest-panel{border:0;border-radius:var(--fest-glass-radius);background:rgb(var(--fest-glass-r) var(--fest-glass-g) var(--fest-glass-b) / var(--fest-glass-alpha));-webkit-backdrop-filter:blur(var(--fest-glass-blur)) saturate(var(--fest-glass-saturation)) contrast(var(--fest-glass-contrast));backdrop-filter:blur(var(--fest-glass-blur)) saturate(var(--fest-glass-saturation)) contrast(var(--fest-glass-contrast));box-shadow:0 4px var(--fest-glass-shadow-blur) rgb(0 0 0 / var(--fest-glass-shadow-alpha));animation:fest-panel-fade .76s linear both;will-change:opacity}.fest-overlay .fest-panel--preview{animation-delay:.02s}.fest-overlay .fest-panel--side{animation-delay:.08s}@keyframes fest-panel-fade{0%{opacity:0}18%{opacity:.04}58%{opacity:.68}to{opacity:1}}.fest-overlay .fest-panel:before,.fest-overlay .fest-panel:after{content:"";position:absolute;z-index:2;pointer-events:none}.fest-overlay .fest-panel:before{inset:1px 10px auto;height:72px;border-radius:calc(var(--fest-glass-radius) - 8px);background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(179,219,255,.08) 48%,transparent);opacity:.22;filter:blur(4px)}.fest-overlay .fest-panel:after{top:0;right:0;bottom:0;left:0;border-radius:inherit;box-sizing:border-box;padding:1px;background:radial-gradient(240px circle at var(--lg-x, -9999px) var(--lg-y, -9999px),rgba(255,255,255,.72),transparent 72%),linear-gradient(145deg,rgb(255 255 255 / calc(var(--fest-glass-border-alpha) * 1.15)),rgb(255 255 255 / calc(var(--fest-glass-border-alpha) * .72)) 48%,rgb(255 255 255 / calc(var(--fest-glass-border-alpha) * .52)),rgb(255 255 255 / calc(var(--fest-glass-border-alpha) * .9)));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.fest-overlay-dismiss{position:absolute;top:14px;right:14px;z-index:30;width:38px;height:38px;padding:0;border:none;border-radius:50%;color:#ffffffd9;font-size:15px;cursor:pointer;display:grid;place-items:center;transition:transform .15s ease}.fest-overlay-dismiss .fest-dismiss-icon{position:absolute;top:50%;left:50%;display:block;width:18px;height:18px;line-height:0;transform:translate(-50%,-50%);pointer-events:none}.fest-overlay-dismiss .fest-dismiss-icon svg{display:block;width:18px;height:18px}.fest-overlay-dismiss:hover{transform:scale(1.08)}.fest-history{position:fixed;top:22px;right:26px;z-index:58;display:flex;align-items:center;gap:9px;padding:12px 20px;border-radius:999px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;animation:fest-overlay-pop .35s cubic-bezier(.16,1,.3,1)}.fest-history .fh-dot{width:9px;height:9px;border-radius:50%;flex:none}.fest-history.is-running .fh-dot{border:2px solid rgba(255,255,255,.25);border-top-color:var(--fest-accent-soft, #7778ff);background:none;animation:fest-spin .9s linear infinite}.fest-history.is-done .fh-dot{background:#46e08a;box-shadow:0 0 8px #46e08acc}.fest-history.is-error .fh-dot{background:#ff5d5d;box-shadow:0 0 8px #ff5d5db3}.fest-history.is-idle .fh-dot{background:#ffffff8c}.fest-panel{background:#ffffff0d;-webkit-backdrop-filter:blur(10px) saturate(1.1) contrast(1.04);backdrop-filter:blur(10px) saturate(1.1) contrast(1.04);border:0;border-radius:26px;position:relative;overflow:hidden;min-height:0;box-shadow:inset 0 1px #ffffff1f,0 24px 56px #00000073,0 4px 14px #0000004d}.fest-panel--preview{flex:1.6;display:flex;min-width:0}.fest-panel--side{flex:0 1 540px;min-width:320px;max-width:560px;display:flex;flex-direction:column}@media(max-width:920px){.fest-overlay{padding:12px}.fest-overlay-inner{flex-direction:column;gap:12px}.fest-panel--preview{flex:1;min-height:0}.fest-panel--side{flex:none;min-width:0;max-width:none;width:100%;max-height:min(58%,520px)}.tone-form{padding:20px 20px 16px}.tone-form h2{margin-bottom:14px}.tone-footer{flex-wrap:wrap;padding-top:14px}.fest-overlay .fest-zoom{right:64px}}.glass{background:var(--glass-dark);-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);border:1px solid var(--glass-dark-border);box-shadow:inset 0 1px #ffffff1f,0 8px 28px #00000059}.glass-light{background:var(--glass-light);-webkit-backdrop-filter:blur(26px) saturate(160%);backdrop-filter:blur(26px) saturate(160%);border:1px solid var(--glass-light-border);box-shadow:inset 0 1px #ffffffe6,0 14px 38px #0a0b0d38;color:#17181c}.fest-overlay .glass,.fest-overlay .fest-cta,.fest-overlay .tone-color-pick{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.fest-overlay .fest-overlay-dismiss,.fest-overlay .fest-zoom,.fest-overlay .tone-tag,.fest-overlay .fest-cta{border:1px solid transparent;background:transparent}.fest-overlay .tone-tag,.fest-overlay .fest-cta{position:relative}.fest-overlay .fest-overlay-dismiss:before,.fest-overlay .fest-zoom:before,.fest-overlay .tone-tag:before,.fest-overlay .fest-cta:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:var(--fest-button-stroke);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.fest-overlay .fest-cta:not(:disabled){background:var(--fest-accent);background-clip:padding-box;box-shadow:0 10px 26px #3a3cfd73,inset 0 1px #ffffff59}.fest-overlay .tone-tag:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:radial-gradient(100px circle at var(--lg-x, -999px) var(--lg-y, -999px),rgba(255,255,255,.85),transparent 75%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:var(--lg-o, 0);transition:opacity .25s ease;pointer-events:none}.fest-overlay .fest-zoom{box-shadow:none;background:#0a0b0d59;-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%)}.fest-overlay .fest-overlay-dismiss:focus-visible,.fest-overlay .fest-zoom button:focus-visible,.fest-overlay .tone-tag:focus-visible,.fest-overlay .fest-cta:focus-visible,.fest-overlay .tone-swatch:focus-visible{outline:2px solid rgba(255,255,255,.82);outline-offset:3px}.fest-preview-scroll{position:relative;z-index:1;flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:0 16px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.fest-preview-scroll[data-pinching=true]{cursor:zoom-in;-webkit-user-select:none;user-select:none}.fest-preview-frame{position:relative;margin:26px 0;border-radius:14px;overflow:hidden;box-shadow:0 24px 64px #0000008c;flex:none}.fest-preview-frame iframe{border:0;display:block;background:#fff;transform-origin:top left}.fest-preview-frame .editor-selection-loading-beam{position:absolute!important;z-index:5;pointer-events:none}.fest-preview-frame .editor-selection-loading-beam[data-beam][data-active]:before,.fest-preview-frame .editor-selection-loading-beam[data-beam][data-fading]:before,.fest-preview-frame .editor-selection-loading-beam[data-beam][data-active]:after,.fest-preview-frame .editor-selection-loading-beam[data-beam][data-fading]:after{filter:none!important}.fest-preview-frame .editor-selection-loading-beam[data-beam] [data-beam-bloom]{filter:none!important}.fest-preview-frame .editor-selection-loading-beam[data-beam]:after,.fest-preview-frame .editor-selection-loading-beam[data-beam] [data-beam-bloom]{display:none!important}.editor-selection-loading-surface{display:block;width:100%;height:100%;border:0;border-radius:2px;background:transparent;box-shadow:none}.fest-zoom{position:absolute;top:18px;right:18px;z-index:5;display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--fest-pill-radius)}.fest-zoom button{width:26px;height:26px;border:none;border-radius:50%;background:transparent;color:#fff;font-size:15px;cursor:pointer;opacity:.74;transition:opacity .15s ease}.fest-zoom button:hover{background:transparent;opacity:1}.fest-zoom span{min-width:44px;text-align:center;font-size:12px;color:#fffc;font-variant-numeric:tabular-nums}.tone-form{position:relative;z-index:3;flex:1;display:flex;flex-direction:column;padding:30px 30px 24px;overflow-y:auto;min-height:0}.tone-form h2{margin:0 0 24px;font-size:23px;font-weight:600;letter-spacing:.02em}.tone-label{font-size:14px;color:var(--fest-muted);margin:22px 0 14px}.tone-label:first-of-type{margin-top:0}.tone-swatches{display:flex;gap:18px;flex-wrap:wrap}.tone-swatch{width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;position:relative;transition:transform .15s ease;box-shadow:inset 0 2px 5px #ffffff73,inset 0 -3px 6px #00000059}.tone-swatch:hover{transform:scale(1.12)}.tone-swatch.on{outline:none}.tone-swatch.on:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:inherit;padding:1px;background:var(--fest-button-stroke);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.tone-swatch .sw-name{position:absolute;top:calc(100% + 7px);left:50%;translate:-50% 0;font-size:11.5px;color:#ffffffbf;white-space:nowrap}.tone-swatches:has(.tone-swatch.on){margin-bottom:18px}.tone-swatch--custom{background:conic-gradient(from 210deg,#e03c31,#f4762c,#f5e663,#3cc76a,#2fd4c2,#2f7cf6,#8a3ffc,#e6399b,#e03c31);display:grid;place-items:center}.tone-swatch--custom .sw-plus{color:#fff;font-size:15px;line-height:1;text-shadow:0 1px 3px rgba(0,0,0,.55)}.tone-custom-row{display:flex;gap:10px;align-items:center;margin-top:14px}.tone-custom-row .tone-input{flex:1;margin-bottom:0}.tone-color-pick{width:46px;height:44px;padding:3px;flex:none;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;cursor:pointer}.tone-color-pick::-webkit-color-swatch-wrapper{padding:3px}.tone-color-pick::-webkit-color-swatch{border:none;border-radius:8px}.tone-input{width:100%;padding:16px 18px;border-radius:14px;font-size:15px;color:var(--fest-accent-soft);outline:none;margin-bottom:16px}.tone-input::placeholder{color:#ffffff4d}.tone-input:focus{border-color:var(--fest-accent-soft)}.tone-tags{display:flex;flex-wrap:wrap;gap:13px}.tone-tag{padding:12px 22px;border-radius:var(--fest-pill-radius);font-size:14.5px;color:#ffffffd1;cursor:pointer;transition:background .15s ease,border-color .15s ease}.tone-tag:hover{color:#fffffff5}.tone-tag.on{background:var(--fest-accent);background-clip:padding-box;color:#fff;font-weight:600;box-shadow:none}.tone-tag--add{color:#fff9}.tone-input--custom{margin-top:12px;margin-bottom:0}.tone-footer{margin-top:auto;padding-top:26px;display:flex;align-items:center;justify-content:space-between;gap:12px}.tone-sample{border:none;background:none;color:#ffffff73;font-size:12px;cursor:pointer;text-decoration:underline dotted;text-underline-offset:4px}.tone-sample:hover{color:#fffc}.fest-cta{padding:12px 34px;white-space:nowrap;border:none;border-radius:var(--fest-pill-radius);background:var(--fest-accent);color:#fff;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 10px 26px #3a3cfd73,inset 0 1px #ffffff59;transition:transform .15s ease,filter .15s ease,background .12s ease}.fest-cta:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}.fest-overlay .fest-cta:active:not(:disabled){background:var(--fest-accent);background-clip:padding-box;transform:scale(.98);filter:none}.fest-cta:disabled{opacity:.45;cursor:not-allowed}.gen-panel{flex:1;display:flex;flex-direction:column;padding:30px;min-height:0}.gen-panel h2{margin:0 0 6px;font-size:19px;font-weight:600}.gen-sub{font-size:12.5px;color:var(--fest-muted);margin-bottom:20px}.gen-steps{display:flex;flex-direction:column;gap:10px}.gen-step{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--fest-pill-radius);font-size:13.5px}.gen-step .st-ic{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;flex:none}.gen-step[data-st=pending]{opacity:.45}.gen-step[data-st=pending] .st-ic{border:1.5px dashed rgba(255,255,255,.4)}.gen-step[data-st=running] .st-ic{border:2px solid rgba(255,255,255,.25);border-top-color:var(--fest-accent-soft);animation:fest-spin .9s linear infinite}.gen-step[data-st=done] .st-ic{background:#46e08a2e;color:#46e08a}.gen-step[data-st=error] .st-ic{background:#ff5d5d29;color:#ff5d5d}.gen-step .st-detail{margin-left:auto;font-size:11.5px;color:var(--fest-muted);max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes fest-spin{to{rotate:360deg}}.gen-log{flex:1;margin-top:18px;border-radius:14px;padding:14px 16px;overflow-y:auto;font:11.5px/1.75 Fira Mono Local,ui-monospace,monospace;color:#ffffff9e;min-height:0;scrollbar-width:thin}.gen-log p{margin:0;word-break:break-all}.gen-footer{margin-top:16px;display:flex;align-items:center;gap:14px}.gen-cost{font-size:12px;color:var(--fest-muted);font-variant-numeric:tabular-nums}.gen-error{margin-top:14px;padding:12px 16px;border-radius:12px;background:#ff5d5d1f;border:1px solid rgba(255,93,93,.35);color:#ffb3b3;font-size:12.5px;line-height:1.6}.editor-page{--editor-ui-scale: 1;background:linear-gradient(124.106deg,#0b0b0f 1.827%,#0b0b0d 72.561%,#221c76 105.28%);cursor:var(--editor-cursor, default)}.editor-page button,.editor-page [role=button],.editor-page .editor-canvas{cursor:var(--editor-cursor, default)}.editor-immersive{flex:1;position:relative;display:flex;min-height:0}.editor-dots{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.6}.editor-canvas{flex:1;position:relative;overflow:auto;-ms-overflow-style:none;scrollbar-width:none;background:transparent}.editor-canvas::-webkit-scrollbar{display:none;width:0;height:0}.editor-canvas.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.editor-stage{position:relative;min-height:100%;display:flex;justify-content:center;padding:32px 60px 80px}.editor-frame-anchor{position:relative;flex:none}.editor-click-cursor{position:absolute;z-index:26;display:block;width:42px;height:45px;pointer-events:none;-webkit-user-select:none;user-select:none}.editor-page .editor-title-shell{position:absolute;top:calc(37px * var(--editor-ui-scale, 1));left:calc(49px * var(--editor-ui-scale, 1));z-index:10;width:298px;height:50px;transform:scale(var(--editor-ui-scale, 1));transform-origin:top left}.editor-page .editor-title-beam{width:100%;height:100%;transform-origin:center;transition:transform .18s cubic-bezier(.22,1,.36,1)}.editor-title{display:flex;align-items:center;gap:12px;width:100%;height:100%;padding:14px 18px;border-radius:26px;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;text-align:left}.editor-title .et-back{width:16px;height:22px;flex:0 0 16px;border:none;border-radius:6px;background:transparent;color:#fff;display:grid;place-items:center;transition:background .15s ease}.editor-title .figma-back-icon{width:7px;height:14px;transform:scaleX(-1)}.editor-title .et-back:hover{background:#ffffff1f}.editor-page .editor-title-beam:has(.editor-title:active){transform:scale(.985)}.editor-export-beam:has(.ee-btn:active){transform:scale(.985)}.editor-zoombar button:active{transform:scale(.96)}.editor-title-beam:has(.editor-title:focus-visible),.editor-export-beam:has(.ee-btn:focus-visible),.editor-thumbs .eth-item:focus-visible,.editor-zoombar button:focus-visible{outline:2px solid #3a3cfd;outline-offset:2px}.editor-title:focus-visible,.editor-export .ee-btn:focus-visible{outline:none}.editor-title .et-name{color:#fff;font-family:PingFang SC,sans-serif;font-size:16px;font-weight:500;line-height:22px;white-space:nowrap}.editor-export{position:absolute;top:calc(37px * var(--editor-ui-scale, 1));right:calc(36px * var(--editor-ui-scale, 1));z-index:12;width:132px;height:50px;transform:scale(var(--editor-ui-scale, 1));transform-origin:top right}.editor-export-beam{width:100%;height:100%;transform-origin:center;transition:transform .18s cubic-bezier(.22,1,.36,1)}.editor-export .ee-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;padding:14px 20px;border:0;border-radius:26px;overflow:hidden;color:#fff;font-family:PingFang SC,sans-serif;font-size:16px;font-weight:500;line-height:22px}.editor-export .figma-export-icon{width:18.5px;height:13.5px}.editor-title-beam.is-custom[data-beam][data-active]:after,.editor-title-beam.is-custom[data-beam][data-fading]:after,.editor-export-beam.is-custom[data-beam][data-active]:after,.editor-export-beam.is-custom[data-beam][data-fading]:after,.pd-border-beam.is-custom[data-beam][data-active]:after,.pd-border-beam.is-custom[data-beam][data-fading]:after{background:radial-gradient(ellipse 52% 170% at 10% 50%,color-mix(in srgb,var(--beam-custom-color) 82%,white 18%),transparent 70%),radial-gradient(ellipse 52% 170% at 90% 50%,var(--beam-custom-color),transparent 70%),linear-gradient(90deg,color-mix(in srgb,var(--beam-custom-color) 58%,transparent),var(--beam-custom-color),color-mix(in srgb,var(--beam-custom-color) 58%,transparent));filter:brightness(var(--beam-custom-brightness, 1)) saturate(var(--beam-custom-saturation, 1))}.editor-title-beam.is-custom[data-beam][data-active]:before,.editor-title-beam.is-custom[data-beam][data-fading]:before,.editor-export-beam.is-custom[data-beam][data-active]:before,.editor-export-beam.is-custom[data-beam][data-fading]:before,.pd-border-beam.is-custom[data-beam][data-active]:before,.pd-border-beam.is-custom[data-beam][data-fading]:before{background:radial-gradient(ellipse 42% 180% at 50% 50%,color-mix(in srgb,var(--beam-custom-color) 72%,white 28%),color-mix(in srgb,var(--beam-custom-color) 38%,transparent) 42%,transparent 72%),radial-gradient(ellipse 36% 150% at 50% 50%,var(--beam-custom-color),color-mix(in srgb,var(--beam-custom-color) 32%,transparent) 46%,transparent 74%);background-repeat:no-repeat;background-size:74% 100%,64% 100%;background-position:-65% 0,165% 0;-webkit-mask-image:none;mask-image:none;mix-blend-mode:screen;filter:blur(8px) brightness(var(--beam-custom-brightness, 1)) saturate(var(--beam-custom-saturation, 1));animation:custom-beam-inner-flow 3.4s cubic-bezier(.45,0,.55,1) infinite alternate;will-change:background-position,opacity,filter}.editor-title-beam.is-custom[data-beam] [data-beam-bloom],.editor-export-beam.is-custom[data-beam] [data-beam-bloom],.pd-border-beam.is-custom[data-beam] [data-beam-bloom]{background:linear-gradient(90deg,transparent,var(--beam-custom-color) 22%,var(--beam-custom-color) 78%,transparent);filter:blur(8px) brightness(var(--beam-custom-brightness, 1)) saturate(var(--beam-custom-saturation, 1))}@keyframes custom-beam-inner-flow{0%{background-position:-65% 0,165% 0}48%{background-position:32% 0,68% 0}to{background-position:165% 0,-65% 0}}@media(prefers-reduced-motion:reduce){.editor-title-beam.is-custom[data-beam]:before,.editor-export-beam.is-custom[data-beam]:before,.pd-border-beam.is-custom[data-beam]:before{animation:none!important;background-position:18% 0,82% 0}}.editor-thumbs{position:absolute;top:calc(108px * var(--editor-ui-scale, 1));left:calc(49px * var(--editor-ui-scale, 1));z-index:10;display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:482px;height:90px;gap:0;padding:14px 20px;border-radius:27px;overflow:hidden;transform:scale(var(--editor-ui-scale, 1));transform-origin:top left}.editor-thumbs .eth-item{width:61px;height:61px;flex:0 0 61px;border:none;border-radius:15px;padding:0;overflow:hidden;position:relative;z-index:1;background:#ffffff0a;transition:transform .15s ease,box-shadow .2s ease,filter .15s ease}.editor-thumbs .eth-item:hover{transform:translateY(-1px);filter:brightness(1.08)}.editor-thumbs .eth-item.on{box-shadow:inset 0 0 0 2px #3a3cfd}.editor-thumbs .eth-item img{display:block;width:100%;height:100%;object-fit:cover}.editor-title,.editor-thumbs,.editor-export .ee-btn{border:var(--pd-glass-border-width) solid rgb(255 255 255 / var(--pd-glass-border-alpha));background:linear-gradient(118deg,rgb(255 255 255 / var(--pd-glass-specular)) 0%,rgb(255 255 255 / var(--pd-glass-specular-soft)) 18%,transparent 42%),rgb(var(--pd-glass-r) var(--pd-glass-g) var(--pd-glass-b) / var(--pd-glass-alpha));background-clip:padding-box;-webkit-backdrop-filter:blur(var(--pd-glass-blur)) saturate(var(--pd-glass-saturation)) contrast(var(--pd-glass-contrast));backdrop-filter:blur(var(--pd-glass-blur)) saturate(var(--pd-glass-saturation)) contrast(var(--pd-glass-contrast));box-shadow:inset 0 1px rgb(255 255 255 / var(--pd-glass-specular-edge)),0 18px var(--pd-glass-shadow-blur) rgb(0 0 0 / var(--pd-glass-shadow-alpha))}.editor-zoombar{position:absolute;right:calc(36px * var(--editor-ui-scale, 1));bottom:calc(30px * var(--editor-ui-scale, 1));z-index:10;display:grid;grid-template-columns:repeat(4,32px);align-items:center;width:128px;height:32px;gap:0;padding:0;border-radius:13px;background:transparent;border:0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transform:scale(var(--editor-ui-scale, 1));transform-origin:bottom right}.editor-zoombar button{width:32px;height:32px;padding:0;border:none;border-radius:10px;background:transparent;color:#ffffffe6;font-size:12px;display:grid;place-items:center;position:relative;z-index:1}.editor-zoombar .ez-map svg{width:14px;height:14px}.editor-zoombar .figma-zoom-icon.is-minus{width:12px;height:1px}.editor-zoombar .figma-zoom-icon.is-plus{width:12px;height:12px}.editor-zoombar button:hover{background:#ffffff1f}.editor-zoombar .ez-pct{min-width:0;width:32px;height:32px;display:grid;place-items:center;text-align:center;font-family:Inter,SF Pro Text,PingFang SC,sans-serif;font-size:12px;font-weight:400;line-height:32px;color:#ffffffe6;font-variant-numeric:tabular-nums;position:relative;z-index:1}.editor-zoombar .ez-divider{position:absolute;top:11px;left:32px;width:1px;height:10px;background:#ffffff0a;margin:0}@media(max-width:1600px){.editor-page{--editor-ui-scale: .75}}@media(max-width:1280px){.editor-page{--editor-ui-scale: .64}}@media(max-width:1000px){.editor-page{--editor-ui-scale: .5}}.editor-log{position:absolute;left:28px;bottom:24px;z-index:9;display:flex;flex-direction:column;gap:11px;max-width:360px;pointer-events:none}.editor-log .el-row{margin:0;font-size:13.5px;line-height:1.4;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .6s ease}.editor-log .el-dots:after{content:"";display:inline-block;animation:el-dots 1.2s steps(1,end) infinite}@keyframes el-dots{0%{content:"."}33%{content:".."}66%{content:"..."}}.editor-log .el-check{color:#46e08a;margin-left:6px}.editor-log .el-cross{color:#ff5d5d;margin-left:6px}.editor-log .el-err{display:block;font-size:11.5px;line-height:1.35;color:#ff8484bf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prompt-dock{position:absolute;z-index:20;scroll-margin:20px;width:min(400px,calc(100vw - 32px));border:var(--pd-glass-border-width) solid rgb(255 255 255 / var(--pd-glass-border-alpha));border-radius:var(--pd-glass-radius);background:linear-gradient(118deg,rgb(255 255 255 / var(--pd-glass-specular)) 0%,rgb(255 255 255 / var(--pd-glass-specular-soft)) 18%,transparent 42%),rgb(var(--pd-glass-r) var(--pd-glass-g) var(--pd-glass-b) / var(--pd-glass-alpha));background-clip:padding-box;-webkit-backdrop-filter:blur(var(--pd-glass-blur)) saturate(var(--pd-glass-saturation)) contrast(var(--pd-glass-contrast));backdrop-filter:blur(var(--pd-glass-blur)) saturate(var(--pd-glass-saturation)) contrast(var(--pd-glass-contrast));box-shadow:inset 0 1px rgb(255 255 255 / var(--pd-glass-specular-edge)),0 18px var(--pd-glass-shadow-blur) rgb(0 0 0 / var(--pd-glass-shadow-alpha));animation:dock-in .2s ease;transition:border-color .16s ease,border-radius .26s cubic-bezier(.16,1,.3,1)}@keyframes dock-in{0%{opacity:0;translate:0 6px}}.prompt-dock.is-open{border-radius:min(var(--pd-glass-radius),26px)}.prompt-dock:focus-within{border-color:rgb(255 255 255 / calc(var(--pd-glass-border-alpha) + .08))}.prompt-dock--docked{top:auto;right:auto;left:50%;bottom:28px;transform:translate(-50%)}.prompt-dock .pd-border-beam{width:100%;border-radius:inherit}.prompt-dock .pd-bar{position:relative;z-index:1;display:flex;align-items:center;gap:5px;min-height:51px;padding:0 5px 0 7px;border-radius:inherit}.prompt-dock .pd-bar input{flex:1;min-width:0;border:none;background:none;outline:none;font-size:15px;color:#fff;margin-left:-3px}.prompt-dock .pd-bar input::placeholder{color:#ffffff6b}.prompt-dock .pd-sparkle,.prompt-dock .pd-mic,.prompt-dock .pd-send{width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:#ffffffd9;cursor:pointer;display:grid;place-items:center;flex:none;transition:background .15s ease,color .15s ease,transform .15s ease}.prompt-dock .pd-sparkle svg{width:20px;height:20px}.prompt-dock .pd-mic svg{width:20px;height:20px}.prompt-dock .pd-sparkle:hover{background:#ffffff1a}.prompt-dock .pd-sparkle.on{color:#fffffff2;background:#ffffff1f;transform:rotate(90deg)}.prompt-dock .pd-mic{color:#ffffff8c;cursor:default}.prompt-dock .pd-send{width:41px;height:41px;align-self:center;margin-right:0;padding:0;background:transparent;box-shadow:none}.prompt-dock .pd-send svg{display:block;width:41px;height:41px}.prompt-dock .pd-send:hover{transform:none}.prompt-dock .pd-sparkle:focus-visible,.prompt-dock .pd-send:focus-visible{outline:2px solid rgba(255,255,255,.92);outline-offset:2px}.prompt-dock .pd-settings{position:relative;z-index:1;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s cubic-bezier(.16,1,.3,1),opacity .3s ease}.prompt-dock.is-open .pd-settings{grid-template-rows:1fr;opacity:1}.prompt-dock .pd-settings-inner{overflow:hidden;min-height:0}.prompt-dock .pd-fields-wrap,.prompt-dock .pd-region{padding:2px 18px 14px}.prompt-dock .pd-target{margin:0 0 8px;font:11px/1.5 ui-monospace,monospace;color:#ffffff73;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prompt-dock .pd-region-sels{margin:0;font:11.5px/1.6 ui-monospace,monospace;color:#ffffff8c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prompt-dock .pd-fields{display:flex;flex-direction:column;gap:6px;max-height:190px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.prompt-dock .pd-row{display:flex;align-items:center;gap:8px}.prompt-dock .pd-row label{width:58px;flex:none;color:#fffc;font-size:11.5px}.prompt-dock .pd-row input[type=text]{flex:1;min-width:0;padding:6px 9px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;font-size:11.5px;color:#fff;outline:none}.prompt-dock .pd-row input[type=text]:focus{border-color:var(--fest-accent-soft, #7778ff)}.prompt-dock .pd-row input[type=color]{width:26px;height:26px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:7px;background:none;cursor:pointer;flex:none}.prompt-dock .pd-actions{margin-top:12px;display:flex;justify-content:space-between;align-items:center}.prompt-dock .pd-cancel{border:none;background:none;color:#fffc;font-size:12px;cursor:pointer}.prompt-dock .pd-cancel:hover{color:#fffc}.prompt-dock .pd-apply{padding:7px 20px;border:none;border-radius:999px;background:var(--fest-accent, #3a3cfd);color:#fff;font-size:12px;font-weight:600;cursor:pointer}.prompt-dock .pd-apply:disabled{opacity:.35;cursor:not-allowed}@media(prefers-reduced-motion:reduce){.fest-overlay,.fest-overlay .fest-panel,.fest-history{animation:none!important}.prompt-dock{animation:none}.prompt-dock [data-beam][data-active],.prompt-dock [data-beam][data-active]:before,.prompt-dock [data-beam][data-active]:after,.prompt-dock [data-beam][data-active] [data-beam-bloom]{animation:none!important}}.prompt-glass-tuner,.prompt-glass-tuner-launch{position:absolute;z-index:42;right:252px;bottom:78px;color:#f7f7fa;font-family:PingFang SC,Noto Sans SC Local,Noto Sans SC,sans-serif}.prompt-glass-tuner{width:280px;max-height:min(520px,calc(100vh - 112px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:#121318e0;-webkit-backdrop-filter:blur(24px) saturate(1.25);backdrop-filter:blur(24px) saturate(1.25);box-shadow:0 18px 46px #0000005c,inset 0 1px #ffffff1f}.prompt-glass-tuner__header{flex:none;display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:8px 10px 8px 13px;border-bottom:1px solid rgba(255,255,255,.08)}.prompt-glass-tuner__header>div{display:flex;flex-direction:column;gap:2px;min-width:0}.prompt-glass-tuner__header strong{font-size:12px;font-weight:600}.prompt-glass-tuner__header span{font-size:9px;color:#ffffff75}.prompt-glass-tuner button,.prompt-glass-tuner-launch{border:0;color:#ffffffbd;background:#ffffff14;cursor:pointer}.prompt-glass-tuner button:focus-visible,.prompt-glass-tuner-launch:focus-visible{outline:2px solid #7778ff;outline-offset:2px}.prompt-glass-tuner__header button{padding:6px 9px;border-radius:999px;font-size:10px}.prompt-glass-tuner__body{min-height:0;padding:7px 12px 9px;overflow-y:auto;scrollbar-width:none}.prompt-glass-tuner__body::-webkit-scrollbar{display:none}.prompt-glass-tuner__color,.prompt-glass-tuner__range{min-height:27px;font-size:10px;color:#ffffffa8}.prompt-glass-tuner__color{display:flex;align-items:center;justify-content:space-between;gap:10px}.prompt-glass-tuner__range{display:grid;grid-template-columns:70px minmax(0,1fr) 42px;align-items:center;gap:7px}.prompt-glass-tuner__color-value{display:flex;align-items:center;gap:7px}.prompt-glass-tuner__color input{width:23px;height:23px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:7px;background:transparent}.prompt-glass-tuner__color code,.prompt-glass-tuner__range output{color:#ffffffe6;font:10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.prompt-glass-tuner__range input{width:100%;height:12px;margin:0;accent-color:#7778ff}.prompt-glass-tuner__range output{text-align:right}.prompt-glass-tuner__footer{flex:none;display:flex;justify-content:flex-end;gap:6px;padding:8px 10px;border-top:1px solid rgba(255,255,255,.08)}.prompt-glass-tuner__footer button{padding:6px 8px;border-radius:9px;font-size:10px}.prompt-glass-tuner__footer button:last-child{color:#fff;background:#3a3cfd}.prompt-glass-tuner-launch{padding:9px 13px;border:1px solid rgba(255,255,255,.16);border-radius:999px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 8px 24px #00000047;font-size:11px}@media(max-width:820px){.prompt-glass-tuner{width:260px}.prompt-glass-tuner,.prompt-glass-tuner-launch{right:16px;bottom:64px}}.export-wrap{position:relative}.export-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:30;min-width:190px;border-radius:14px;padding:6px;display:flex;flex-direction:column}.export-menu button{border:none;background:none;color:#fff;text-align:left;font-size:13px;padding:10px 12px;border-radius:9px;cursor:pointer;display:flex;justify-content:space-between;gap:12px}.export-menu button:hover{background:#ffffff1a}.export-menu button:disabled{opacity:.5;cursor:wait}.export-menu small{color:var(--fest-muted)}:root{--bg: #0b0b0d;--panel: #17181b;--panel-2: #1f2024;--panel-3: #26272c;--line: #2b2c31;--accent: #c6f24e;--accent-dim: rgba(198, 242, 78, .14);--accent-glow: rgba(198, 242, 78, .35);--text: #f5f5f2;--text-2: #8a8b90;--text-3: #5c5d63;--danger: #ff6b5e;--radius: 16px;--radius-s: 10px;--font-display: "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:var(--font-display);font-size:14px;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}::-webkit-scrollbar-track{background:transparent}button{font-family:inherit;border:none;cursor:pointer;background:none;color:inherit}input,textarea{font-family:inherit;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-s);color:var(--text);padding:10px 12px;font-size:13px;outline:none;width:100%;transition:border-color .15s}input:focus,textarea:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--text-3)}.app{display:flex;height:100vh;overflow:hidden}.topbar{position:fixed;top:0;left:0;right:0;height:52px;display:flex;align-items:center;gap:14px;padding:0 20px;background:#0b0b0dd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:50}.topbar .logo{font-weight:800;font-size:16px;letter-spacing:.08em}.topbar .logo em{color:var(--accent);font-style:normal}.topbar .skill-switch{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:12.5px;color:var(--text-2);cursor:pointer;transition:border-color .15s}.topbar .skill-switch:hover{border-color:var(--accent);color:var(--text)}.main{display:flex;flex:1;min-width:0;margin-top:52px;height:calc(100vh - 52px)}.preview-panel{flex:1;display:flex;flex-direction:column;min-width:0;padding:20px 20px 14px;gap:14px}.stage{flex:1;min-height:0;border-radius:var(--radius);background:radial-gradient(ellipse at 30% 20%,#16171a,#0e0e11 70%);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.stage img,.stage video{max-width:92%;max-height:88%;border-radius:8px;box-shadow:0 24px 80px #0000008c}.stage .empty{text-align:center;color:var(--text-3)}.stage .empty h2{font-size:34px;letter-spacing:.12em;color:var(--text-2);margin:0 0 10px;font-weight:800}.stage .empty p{font-size:13px;line-height:1.8}.stage .version-tag{position:absolute;top:14px;left:16px;display:flex;gap:8px;align-items:center;z-index:5}.badge{font-size:11px;font-weight:700;letter-spacing:.06em;padding:4px 10px;border-radius:999px;background:#00000080;border:1px solid var(--line);color:var(--text-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.badge.acc{color:var(--accent);border-color:#c6f24e66}.text-artifact{max-width:78%;max-height:86%;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:30px 34px}.text-artifact h3{margin:0 0 18px;font-size:13px;letter-spacing:.18em;color:var(--accent);font-weight:800}.text-artifact .dir{border-top:1px solid var(--line);padding:14px 2px}.text-artifact .dir h4{margin:0 0 6px;font-size:15px}.text-artifact .dir h4 span{color:var(--text-3);font-weight:400;font-size:12px;margin-left:8px}.text-artifact .dir p{margin:3px 0;color:var(--text-2);font-size:12.5px;line-height:1.7}.text-artifact .dir .pal{display:inline-flex;gap:5px;margin-top:6px}.text-artifact .dir .pal i{width:16px;height:16px;border-radius:4px;display:inline-block}.stage .progress-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#0b0b0db8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10}.spinner{width:42px;height:42px;border-radius:50%;border:3px solid var(--panel-3);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress-overlay .msg{color:var(--text);font-size:14px;letter-spacing:.04em}.progress-overlay .sub{color:var(--text-3);font-size:12px}.filmstrip{height:118px;max-width:100%;display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:4px 2px 8px;flex-shrink:0;scroll-padding-inline:4px}.filmstrip:empty{display:none}.filmstrip::-webkit-scrollbar{height:5px}.filmstrip::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.filmstrip::-webkit-scrollbar-thumb:hover{background:#4a4a52}.thumb{position:relative;height:100%;aspect-ratio:16 / 10;border-radius:var(--radius-s);border:1.5px solid var(--line);background:var(--panel);overflow:hidden;cursor:pointer;flex-shrink:0;transition:border-color .15s,transform .15s}.thumb:hover{transform:translateY(-2px)}.thumb.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-glow)}.thumb img,.thumb video{width:100%;height:100%;object-fit:cover}.thumb .t-text{padding:8px 10px;font-size:10px;color:var(--text-2);line-height:1.5;overflow:hidden;height:100%}.thumb .t-label{position:absolute;bottom:6px;left:6px;font-size:10px;font-weight:700;background:#000000a6;color:var(--text);border-radius:5px;padding:2px 7px;letter-spacing:.04em}.thumb .t-kind{position:absolute;top:6px;right:6px;font-size:9px;font-weight:800;background:var(--accent);color:#111;border-radius:4px;padding:1px 5px}.control-panel{width:400px;flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid var(--line);background:var(--bg);position:relative}.cp-scroll{flex:1;overflow-y:auto;padding:20px 18px 12px;display:flex;flex-direction:column;gap:14px}.cp-header h1{margin:0;font-size:21px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.cp-header p{margin:6px 0 0;color:var(--text-2);font-size:12.5px;line-height:1.7}.info-card{background:linear-gradient(135deg,var(--accent-dim),transparent 55%),var(--panel);border:1px solid rgba(198,242,78,.25);border-radius:var(--radius);padding:14px 16px}.info-card .ic-title{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--accent);display:flex;align-items:center;justify-content:space-between}.info-card .ic-hint{font-size:10px;font-weight:500;letter-spacing:.05em;color:var(--text-3);transition:opacity .2s}.info-card:hover .ic-hint{opacity:0}.info-card .ic-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.info-card .ic-detail>div{overflow:hidden}.info-card:hover .ic-detail{grid-template-rows:1fr}.info-card .ic-body{font-size:12.5px;color:var(--text-2);line-height:1.75;padding-top:8px}.info-card .ic-flow{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.info-card .ic-flow span{font-size:11px;background:var(--panel-2);border:1px solid var(--line);padding:3px 9px;border-radius:999px;color:var(--text-2)}.step-progress{display:flex;align-items:center;gap:0;padding:2px 0}.step-progress .sp-node{display:flex;flex-direction:column;align-items:center;gap:5px;flex:1;position:relative}.step-progress .sp-dot{width:22px;height:22px;border-radius:50%;background:var(--panel-2);border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:var(--text-3);z-index:2}.step-progress .sp-node.done .sp-dot{background:var(--accent);border-color:var(--accent);color:#111}.step-progress .sp-node.current .sp-dot{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.step-progress .sp-label{font-size:10px;color:var(--text-3);white-space:nowrap}.step-progress .sp-node.done .sp-label,.step-progress .sp-node.current .sp-label{color:var(--text-2)}.step-progress .sp-line{position:absolute;top:11px;left:calc(50% + 13px);right:calc(-50% + 13px);height:1.5px;background:var(--line);z-index:1}.step-progress .sp-node.done .sp-line{background:var(--accent)}.step-progress .sp-node:last-child .sp-line{display:none}.field{display:flex;flex-direction:column;gap:7px}.field>label{font-size:12px;font-weight:700;color:var(--text-2);letter-spacing:.03em;display:flex;align-items:center;gap:6px}.field>label .req{color:var(--accent)}.field>label .opt{color:var(--text-3);font-weight:400;font-size:11px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{font-size:12px;padding:6px 13px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);color:var(--text-2);transition:all .12s}.chip:hover{border-color:var(--text-3);color:var(--text)}.chip.on{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);font-weight:700}.chip.add{border-style:dashed}.segmented{display:flex;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-s);padding:3px;gap:3px}.segmented button{flex:1;font-size:12px;padding:7px 4px;border-radius:7px;color:var(--text-2);transition:all .12s}.segmented button.on{background:var(--panel-3);color:var(--accent);font-weight:700}.segmented .seg-add{flex:0 0 32px;color:var(--text-3);border:1px dashed var(--line);border-radius:7px}.segmented .seg-add:hover{color:var(--accent);border-color:var(--accent)}.color-row{display:flex;gap:8px;position:relative}.color-pop{position:absolute;bottom:38px;left:0;z-index:60;width:236px;padding:12px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 40px #0000008c;display:flex;flex-direction:column;gap:10px}.color-pop .cpp-palette{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.color-pop .cpp-cell{aspect-ratio:1;border-radius:6px;border:1.5px solid transparent;cursor:pointer;transition:transform .1s}.color-pop .cpp-cell:hover{transform:scale(1.12)}.color-pop .cpp-cell.on{border-color:var(--text);box-shadow:0 0 0 1.5px var(--accent)}.color-pop .cpp-sv{position:relative;height:110px;border-radius:8px;cursor:crosshair;touch-action:none}.color-pop .cpp-dot{position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #00000080;transform:translate(-50%,-50%);pointer-events:none}.color-pop .cpp-hue{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:12px;border-radius:6px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);outline:none;cursor:pointer}.color-pop .cpp-hue::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--panel);box-shadow:0 1px 4px #00000080;cursor:grab}.color-pop .cpp-foot{display:flex;align-items:center;gap:8px}.color-pop .cpp-preview{width:28px;height:28px;border-radius:7px;border:1px solid var(--line);flex-shrink:0}.color-pop .cpp-hex{flex:1;min-width:0;padding:6px 8px;font-size:12px;font-family:ui-monospace,monospace;border-radius:7px}.color-swatch{width:30px;height:30px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:transform .12s}.color-swatch:hover{transform:scale(1.1)}.color-swatch.on{border-color:var(--text);box-shadow:0 0 0 2px var(--accent)}.color-swatch.add{background:transparent;border:1.5px dashed var(--line);color:var(--text-3);font-size:14px;line-height:1}.color-swatch.add:hover{color:var(--accent);border-color:var(--accent)}.upload-box{border:1.5px dashed var(--line);border-radius:var(--radius);background:var(--panel);padding:22px;text-align:center;color:var(--text-3);font-size:12px;cursor:pointer;transition:border-color .15s;line-height:1.7}.upload-box:hover{border-color:var(--accent);color:var(--text-2)}.upload-box .up-icon{width:36px;height:36px;margin:0 auto 8px;border-radius:50%;background:var(--panel-3);display:flex;align-items:center;justify-content:center;font-size:16px}.upload-box img{max-height:90px;border-radius:8px}.decision-block{display:flex;flex-direction:column;gap:10px}.decision-title{font-size:13px;font-weight:800;letter-spacing:.06em;display:flex;align-items:center;gap:8px}.decision-title:before{content:"";width:8px;height:8px;background:var(--accent);border-radius:2px;transform:rotate(45deg)}.decision-sub{font-size:12px;color:var(--text-3);margin-top:-4px}.dcard{text-align:left;background:var(--panel);border:1.5px solid var(--line);border-radius:var(--radius);padding:13px 15px;transition:all .13s;position:relative}.dcard:hover{border-color:var(--text-3)}.dcard.on{border-color:var(--accent);background:linear-gradient(135deg,var(--accent-dim),transparent 60%),var(--panel);box-shadow:0 0 0 1px var(--accent-glow)}.dcard h4{margin:0 0 5px;font-size:13.5px;display:flex;align-items:center;gap:8px}.dcard h4 .score{font-size:10px;color:var(--accent);background:var(--accent-dim);padding:2px 7px;border-radius:999px;font-weight:800}.dcard p{margin:2px 0;font-size:12px;color:var(--text-2);line-height:1.65}.dcard .risk{color:var(--danger);opacity:.8;font-size:11.5px}.dcard .pal{display:flex;gap:5px;margin-top:7px}.dcard .pal i{width:15px;height:15px;border-radius:4px}.dcard-img{padding:0;overflow:hidden}.dcard-img img{width:100%;display:block}.dcard-img .cap{padding:9px 13px;font-size:12px;color:var(--text-2);display:flex;justify-content:space-between;align-items:center}.dcard-img.on .cap{color:var(--accent);font-weight:700}.dgrid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cp-actions{flex-shrink:0;display:flex;gap:12px;padding:14px 18px 18px;border-top:1px solid var(--line);background:var(--bg);align-items:center}.btn-generate{flex:1;height:50px;border-radius:14px;background:var(--accent);color:#101204;font-size:15px;font-weight:800;letter-spacing:.08em;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .15s;box-shadow:0 6px 24px #c6f24e38}.btn-generate:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-generate:disabled{background:var(--panel-3);color:var(--text-3);box-shadow:none;cursor:not-allowed;transform:none}.btn-chat{width:50px;height:50px;border-radius:50%;background:var(--panel-2);border:1.5px solid var(--line);font-size:19px;display:flex;align-items:center;justify-content:center;transition:all .15s;position:relative}.btn-chat:hover{border-color:var(--accent)}.btn-chat .dot{position:absolute;top:2px;right:2px;width:10px;height:10px;background:var(--accent);border-radius:50%;border:2px solid var(--bg)}.btn-ghost{height:40px;padding:0 18px;border-radius:11px;border:1px solid var(--line);background:var(--panel-2);color:var(--text-2);font-size:13px;font-weight:700;transition:all .13s}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-accent-s{height:40px;padding:0 20px;border-radius:11px;background:var(--accent);color:#101204;font-size:13px;font-weight:800}.btn-accent-s:disabled{background:var(--panel-3);color:var(--text-3);cursor:not-allowed}.chat-drawer{position:fixed;top:52px;right:0;bottom:0;width:430px;background:#131417;border-left:1px solid var(--line);display:flex;flex-direction:column;z-index:60;box-shadow:-30px 0 80px #00000080;transform:translate(100%);transition:transform .28s cubic-bezier(.2,.8,.25,1)}.chat-drawer.open{transform:translate(0)}.cd-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line)}.cd-head h3{margin:0;font-size:13px;font-weight:800;letter-spacing:.12em}.cd-head h3 em{color:var(--accent);font-style:normal}.cd-head button{color:var(--text-3);font-size:18px}.cd-head button:hover{color:var(--text)}.cd-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.cmsg{display:flex;flex-direction:column;gap:5px;max-width:92%}.cmsg.user{align-self:flex-end;align-items:flex-end}.cmsg .who{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--text-3)}.cmsg.user .who{color:var(--accent)}.cmsg .bubble{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:10px 13px;font-size:12.5px;line-height:1.7;color:var(--text-2);white-space:pre-wrap}.cmsg.user .bubble{background:var(--accent-dim);border-color:#c6f24e4d;color:var(--text)}.cmsg .bubble img{max-width:190px;border-radius:8px;display:block;margin-top:6px}.cmsg .bubble .keep{color:var(--text-3);font-size:11.5px}.cmsg .bubble b{color:var(--text)}.cd-input{border-top:1px solid var(--line);padding:12px 14px 14px;display:flex;flex-direction:column;gap:9px}.cd-quick{display:flex;gap:7px}.cd-quick .chip{font-size:11.5px;padding:5px 11px}.cd-row{display:flex;gap:9px}.cd-row textarea{resize:none;height:44px;padding:12px;border-radius:12px}.cd-row .send{width:44px;height:44px;flex-shrink:0;border-radius:12px;background:var(--accent);color:#101204;font-size:17px;font-weight:800}.cd-row .send:disabled{background:var(--panel-3);color:var(--text-3)}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.modal{width:640px;max-width:92vw;max-height:84vh;background:var(--panel);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;overflow:hidden}.modal .m-head{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal .m-head h3{margin:0;font-size:14px;letter-spacing:.1em;font-weight:800}.modal .m-body{padding:18px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.modal textarea{height:260px;resize:vertical;font-size:12px;line-height:1.7}.modal .m-tip{font-size:12px;color:var(--text-3);line-height:1.7}.modal .m-foot{padding:14px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.import-drop{border:1.5px dashed var(--line);border-radius:12px;padding:14px 16px;font-size:12px;color:var(--text-3);line-height:1.6;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.import-drop:hover,.import-drop.over{border-color:var(--accent);color:var(--text-2);background:#bef23c0a}.import-drop b{color:var(--text-2)}.m-refs{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.m-ref{position:relative;width:72px;height:48px;border-radius:8px;overflow:hidden;border:1px solid var(--line)}.m-ref img{width:100%;height:100%;object-fit:cover;display:block}.m-ref button{position:absolute;top:2px;right:2px;width:16px;height:16px;line-height:14px;font-size:9px;border-radius:50%;background:#000000a6;color:#fff;opacity:0;transition:opacity .15s}.m-ref:hover button{opacity:1}.m-refs-note{font-size:11px;color:var(--text-3);letter-spacing:.04em}.m-cats{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.m-cats-label{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--text-3)}.modal .tag{font-size:10px;color:var(--text-3);border:1px solid var(--line);padding:2px 8px;border-radius:999px;white-space:nowrap}.modal .tag.on{color:var(--accent);border-color:#c6f24e59}.modal .tag.warn{color:var(--danger);border-color:var(--danger)}.pv-meta{display:flex;align-items:center;gap:10px}.pv-name{flex:1;font-size:15px;font-weight:800;padding:8px 10px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-s);color:var(--text)}.pv-warnings{font-size:11.5px;line-height:1.8;color:var(--danger);background:#ff6b6b0f;border:1px solid rgba(255,107,107,.25);border-radius:var(--radius-s);padding:8px 12px}.pv-sec{display:flex;flex-direction:column;gap:6px}.pv-sec-title{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--text-3)}.pv-constraints{font-size:12px;line-height:1.7;color:var(--text-2);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-s);padding:8px 12px}.pv-row{display:flex;align-items:center;gap:8px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-s);padding:6px 10px}.pv-row input{flex:1;min-width:0;font-size:12px;padding:4px 8px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text)}.pv-row input:hover,.pv-row input:focus{border-color:var(--line);background:var(--panel)}.pv-row select{font-size:11px;padding:4px 6px;background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--text-2)}.pv-opts{font-size:10.5px;color:var(--text-3);white-space:nowrap}.pv-step-name{flex:1;font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-move,.pv-del{width:22px;height:22px;line-height:20px;text-align:center;font-size:11px;border-radius:6px;border:1px solid var(--line);color:var(--text-3)}.pv-move:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.pv-move:disabled{opacity:.3;cursor:not-allowed}.pv-del:hover{color:var(--danger);border-color:var(--danger)}.m-mode{display:flex;gap:0;border:1px solid var(--line);border-radius:var(--radius-s);overflow:hidden;align-self:flex-start}.m-mode button{padding:7px 16px;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--text-3);background:var(--panel-2);border:none}.m-mode button+button{border-left:1px solid var(--line)}.m-mode button.on{color:var(--accent);background:var(--panel)}.m-goal{font-size:12.5px;padding:10px 12px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-s);color:var(--text)}.pv-score{display:flex;align-items:center;gap:10px}.pv-score-bar{flex:1;height:6px;background:var(--panel-2);border:1px solid var(--line);border-radius:3px;overflow:hidden}.pv-score-bar i{display:block;height:100%;border-radius:3px;transition:width .3s}.pv-score-bar i[data-level=good]{background:var(--accent)}.pv-score-bar i[data-level=mid]{background:#f0b429}.pv-score-bar i[data-level=low]{background:var(--danger)}.pv-score-num{font-size:11.5px;font-weight:800;letter-spacing:.04em;color:var(--text-2);white-space:nowrap}.pv-score-gaps{font-size:11px;color:var(--text-3);white-space:nowrap}.gap-card{display:flex;flex-direction:column;gap:8px;background:var(--panel-2);border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:var(--radius-s);padding:10px 12px}.gap-q{font-size:12px;line-height:1.7;color:var(--text-2);display:flex;gap:8px;align-items:baseline}.gap-q .tag{flex:none}.gap-a{display:flex;gap:8px;align-items:center}.gap-a input{flex:1;min-width:0;font-size:12px;padding:6px 10px;background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--text)}.gap-a .btn-ghost{padding:5px 12px;font-size:11.5px}.gap-a .btn-ghost:disabled{opacity:.35;cursor:not-allowed}.gap-skip{font-size:11px;color:var(--text-3);padding:5px 8px;border-radius:6px}.gap-skip:hover{color:var(--text-2);background:var(--panel)}.pv-anchor{color:var(--accent)}.pv-reparse{margin-right:auto}.badge.mark-example{cursor:pointer;color:var(--text-3);transition:color .15s,border-color .15s}.badge.mark-example:hover{color:var(--accent);border-color:var(--accent)}.home{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(198,242,78,.05),transparent),var(--bg)}.home-topbar{height:52px;display:flex;align-items:center;gap:14px;padding:0 24px;flex-shrink:0}.home-topbar .logo{font-weight:800;font-size:16px;letter-spacing:.08em}.home-topbar .logo em{color:var(--accent);font-style:normal}.home-pill{font-size:11px;color:var(--accent);border:1px solid var(--line);border-radius:999px;padding:5px 12px;letter-spacing:.06em}.home-hero{display:flex;flex-direction:column;align-items:center;gap:14px;padding:52px 24px 44px}.hero-modules{display:flex;gap:10px;padding-bottom:8px}.hero-module{width:104px;height:104px;border-radius:26px;background:radial-gradient(120% 90% at 50% -10%,rgba(255,255,255,.09),transparent 55%),linear-gradient(165deg,#232428,#17181b 70%);border:1px solid var(--line);box-shadow:0 18px 34px #00000073,inset 0 1px #ffffff0f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;cursor:pointer;transition:transform .22s cubic-bezier(.34,1.4,.5,1),border-color .18s,box-shadow .18s}.hero-module:nth-child(1){transform:rotate(-9deg) translateY(12px)}.hero-module:nth-child(2){transform:rotate(-3.5deg) translateY(1px)}.hero-module:nth-child(3){transform:rotate(3.5deg) translateY(1px)}.hero-module:nth-child(4){transform:rotate(9deg) translateY(12px)}.hero-module:hover{transform:rotate(0) translateY(-8px) scale(1.06);border-color:var(--accent);box-shadow:0 26px 50px #0000008c,0 0 0 1px var(--accent),0 0 34px #c6f24e1f;z-index:2;position:relative}.hero-module .hm-icon{color:var(--text-2);line-height:0;transition:color .18s}.hero-module:hover .hm-icon{color:var(--accent)}.hero-module .hm-name{font-size:10.5px;color:var(--text-3);letter-spacing:.08em;transition:color .18s}.hero-module:hover .hm-name{color:var(--text)}.home-hero h1{margin-top:22px;font-size:26px;font-weight:800;letter-spacing:.12em;line-height:1.35;text-align:center}.home-hero p{font-size:12px;color:var(--text-3);letter-spacing:.1em}.hero-new{margin-top:4px;padding:9px 22px;border-radius:999px;background:var(--panel-3);border:1px solid var(--line);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.hero-new:hover{border-color:var(--accent);color:var(--accent)}.home-body{flex:1;padding:0 32px 48px;max-width:1280px;width:100%;margin:0 auto}.home-tabs{display:flex;gap:22px;margin-bottom:22px}.home-tabs button{padding:10px 2px 12px;font-size:13px;color:var(--text-3);border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .15s}.home-tabs button:hover{color:var(--text-2)}.home-tabs button.on{color:var(--text);font-weight:700;border-bottom-color:var(--accent)}.home-empty{padding:60px 0;text-align:center;color:var(--text-3);font-size:13px}.skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}.skill-card{text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:8px;background:transparent}.skill-card .sc-cover{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--panel);transition:border-color .18s,box-shadow .18s}.skill-card:hover .sc-cover{border-color:var(--accent);box-shadow:0 16px 40px #00000073}.skill-card .sc-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.skill-card:hover .sc-cover img{transform:scale(1.045)}.skill-card .sc-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(circle at 30% 20%,rgba(198,242,78,.07),transparent 60%),linear-gradient(150deg,var(--panel-2),var(--panel))}.skill-card .sc-ph-char{font-size:44px;font-weight:800;color:var(--panel-3);-webkit-text-stroke:1.5px var(--text-3)}.skill-card .sc-ph-note{font-size:10px;color:var(--text-3);border:1px dashed var(--line);border-radius:999px;padding:3px 10px;letter-spacing:.06em}.skill-card .sc-detail{position:absolute;top:0;right:0;bottom:0;left:0;padding:12px 14px;display:flex;flex-direction:column;gap:8px;justify-content:flex-end;background:linear-gradient(to top,rgba(5,5,7,.97) 0%,rgba(5,5,7,.88) 30%,rgba(5,5,7,.35) 62%,transparent);opacity:0;transition:opacity .22s}.skill-card:hover .sc-detail{opacity:1}.skill-card .sc-detail-text{margin:0;font-size:12px;color:var(--text);line-height:1.6;text-shadow:0 1px 6px rgba(0,0,0,.6);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.skill-card .sc-detail-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.skill-card .sc-meta{font-size:10.5px;color:var(--text-3);letter-spacing:.06em}.skill-card .sc-enter{font-size:11.5px;font-weight:700;color:var(--bg);background:var(--accent);border-radius:999px;padding:5px 14px;white-space:nowrap}.skill-card.is-ph .sc-cover img{filter:saturate(.82) brightness(.9)}.skill-card.is-ph:hover .sc-cover img{filter:saturate(1) brightness(1)}.skill-card.is-ph .sc-enter{background:var(--panel-3);color:var(--accent);border:1px solid var(--accent)}.skill-card .sc-info{display:flex;align-items:baseline;gap:10px;padding:0 2px}.skill-card .sc-name{font-size:14px;font-weight:700}.skill-card .sc-tagline{font-size:11.5px;color:var(--text-3)}.skill-card .sc-sub{font-size:10.5px;color:var(--text-3);opacity:.75;padding:0 2px;letter-spacing:.04em}.topbar .back-home{font-size:12px;color:var(--text-3);padding:6px 10px;border-radius:8px;border:1px solid var(--line);cursor:pointer;transition:color .15s,border-color .15s}.topbar .back-home:hover{color:var(--accent);border-color:var(--accent)}.skill-item{display:flex;justify-content:space-between;align-items:center;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px 15px;cursor:pointer;transition:border-color .13s}.skill-item:hover{border-color:var(--accent)}.skill-item.on{border-color:var(--accent);background:var(--accent-dim)}.skill-item h4{margin:0 0 3px;font-size:13px}.skill-item p{margin:0;font-size:11.5px;color:var(--text-3)}.skill-item .tag{font-size:10px;color:var(--accent);border:1px solid rgba(198,242,78,.35);padding:2px 8px;border-radius:999px}.done-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px}.done-card h4{margin:0;font-size:13px;color:var(--accent);letter-spacing:.08em}.done-card p{margin:0;font-size:12px;color:var(--text-2);line-height:1.7}.done-card .row{display:flex;gap:8px;flex-wrap:wrap}.engine-switch{display:flex;gap:2px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:2px;margin-right:10px}.engine-switch button{border:none;background:transparent;color:var(--text-3);font-size:12px;padding:4px 12px;border-radius:6px;cursor:pointer}.engine-switch button.on{background:var(--accent);color:#111;font-weight:600}.engine-switch button:disabled{opacity:.5;cursor:not-allowed}.engine-log{margin-top:14px;max-width:520px;max-height:180px;overflow:hidden;font:11px/1.7 ui-monospace,SFMono-Regular,monospace;color:var(--text-3);text-align:left;display:flex;flex-direction:column;justify-content:flex-end}.engine-log div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-artifact{width:100%;height:100%;display:flex;flex-direction:column;gap:8px;align-items:center}.page-toolbar{display:flex;gap:8px;align-items:center}.page-toolbar .badge{cursor:pointer;text-decoration:none}.page-frame{width:min(420px,90%);flex:1;min-height:0;border:1px solid var(--line);border-radius:14px;background:#fff}.pick-panel{width:min(520px,95%);background:var(--panel);border:1px solid var(--accent);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:6px}.pick-info{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--text-3)}.pick-info code{color:var(--accent)}.pick-input{display:flex;gap:6px}.pick-input input{flex:1;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;color:var(--text);font-size:12px;padding:6px 8px}.pick-input button{background:var(--accent);border:none;border-radius:6px;color:#111;font-size:12px;font-weight:600;padding:6px 12px;cursor:pointer}.pick-input button:disabled{opacity:.4;cursor:not-allowed}.report-match{display:flex;align-items:baseline;gap:10px;margin:6px 0 10px}.report-match .num{font-size:42px;font-weight:700;color:var(--accent)}.report-match .lbl{font-size:11px;letter-spacing:.1em;color:var(--text-3)}.doc-body{max-height:100%;overflow:auto}.doc-body .doc-h1{font-size:15px;margin:10px 0 4px}.doc-body .doc-h2{font-size:13px;margin:8px 0 3px;opacity:.9}.doc-body .doc-li{margin:1px 0 1px 8px}.doc-body .doc-td{font:11px/1.6 ui-monospace,monospace;opacity:.85;margin:0}.doc-body p{margin:2px 0;font-size:12.5px;line-height:1.7}@font-face{font-family:Montserrat Local;src:url(/skillops/fonts/Montserrat-Variable.ttf) format("truetype");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Noto Sans SC Local;src:url(/skillops/fonts/NotoSansSC-Variable.ttf) format("truetype");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Fira Mono Local;src:url(/skillops/fonts/FiraMono-Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Floane;src:url(/skillops/fonts/Floane-BoldItalic.otf) format("opentype");font-style:italic;font-weight:700;font-display:swap}@font-face{font-family:Coca-Cola Care Text Medium Local;src:url(/skillops/fonts/Coca-ColaCareFont-TextMedium.TTF) format("truetype");font-style:normal;font-weight:500;font-display:swap}html.is-skillops-homepage,html.is-skillops-homepage body{-ms-overflow-style:none;scrollbar-width:none}html.is-skillops-homepage::-webkit-scrollbar,html.is-skillops-homepage body::-webkit-scrollbar{display:none;width:0;height:0}.home,.skill-import-screen{--black: #000;--ink: #0b0d10;--paper: #f8f9fa;--accent: #3a3cfd;--accent-bright: #7778ff;--text: #f8f8f5;--muted: #8d949c;--line-dark: rgba(255, 255, 255, .14);--line-light: #e1e4e7;--font-display: "Montserrat Local", Montserrat, "Helvetica Neue", Arial, sans-serif;--font-ui: "Noto Sans SC Local", "Noto Sans SC", "PingFang SC", sans-serif;font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.home{min-height:100vh;overflow-x:clip;background:var(--black);color:var(--text)}.home *,.home *:before,.home *:after,.skill-import-screen *,.skill-import-screen *:before,.skill-import-screen *:after{box-sizing:border-box}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.fusion-hero-scroll{position:relative;isolation:isolate;height:220svh;background:var(--black)}.fusion-hero{position:sticky;top:0;width:100%;height:100svh;min-height:700px;overflow:hidden;background:var(--black);color:#fff}.spiral-scene-shell,.spiral-stage,.spiral-fallback{position:absolute;top:0;right:0;bottom:0;left:0}.spiral-scene-shell{z-index:1}.spiral-stage{touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}.spiral-stage:after{content:"";position:absolute;z-index:2;top:-2px;right:-2px;bottom:-2px;left:-2px;pointer-events:none;background:#000;opacity:1;visibility:visible;will-change:opacity;transition:opacity .82s cubic-bezier(.22,1,.36,1) .1s,visibility 0s linear .92s}.spiral-stage.is-ready:after{opacity:0;visibility:hidden}.spiral-stage[data-dragging=true]{cursor:grabbing}.spiral-stage[data-hovering-card=true]:not([data-dragging=true]){cursor:pointer}.spiral-stage:focus-visible{outline:1px solid rgba(58,60,253,.5);outline-offset:-12px}.spiral-canvas{display:block;width:100%;height:100%;opacity:0;transform:scale(.995);transform-origin:50% 66%;will-change:opacity,transform;transition:opacity .98s cubic-bezier(.22,1,.36,1) .14s,transform 1.08s cubic-bezier(.16,1,.3,1) .14s}.spiral-stage.is-ready .spiral-canvas{opacity:1;transform:scale(1)}.spiral-fallback{z-index:1;width:min(77.5vw,1487px);height:auto;max-height:82vh;margin:auto;object-fit:contain}.spiral-caption{position:absolute;z-index:7;left:var(--spiral-caption-x, calc(50% + clamp(118px, 9.8vw, 188px)) );top:var(--spiral-caption-y, 56%);width:fit-content;max-width:calc(100vw - 32px);min-height:40px;padding:10px 16px;display:flex;align-items:center;overflow:hidden;border:0;border-radius:999px;background:#ffffff0b;box-shadow:inset 0 1px #ffffff57,inset 0 -1px #0003,inset 12px 0 18px #85acff0a,inset -12px 0 18px #f185ff09,0 12px 30px #00000038;opacity:0;pointer-events:none;transform:translate3d(12px,-46%,0) scale(.975);transform-origin:left center;backdrop-filter:blur(5px) saturate(1.04) contrast(1.04);-webkit-backdrop-filter:blur(5px) saturate(1.04) contrast(1.04);transition:opacity .18s ease,transform .36s cubic-bezier(.16,1,.3,1)}.spiral-caption:before,.spiral-caption:after{content:"";position:absolute;pointer-events:none}.spiral-caption:before{top:-80%;right:-22%;bottom:-80%;left:-22%;background:linear-gradient(110deg,transparent 34%,rgba(255,255,255,.42) 49%,rgba(163,224,255,.2) 53%,transparent 67%);opacity:.21;transform:translate(-70%) rotate(-5deg);transition:transform .7s cubic-bezier(.16,1,.3,1)}.spiral-caption:after{inset:1px 8px auto;height:45%;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(179,219,255,.08) 48%,transparent);opacity:.27;filter:blur(4px)}.spiral-caption.is-visible{opacity:1;transform:translate3d(12px,-50%,0) scale(1)}.spiral-caption.is-visible:before{transform:translate(58%) rotate(-5deg)}.spiral-scene-shell[data-caption-side=left] .spiral-caption{transform:translate3d(calc(-100% - 12px),-46%,0) scale(.975);transform-origin:right center}.spiral-scene-shell[data-caption-side=left] .spiral-caption.is-visible{transform:translate3d(calc(-100% - 12px),-50%,0) scale(1)}.spiral-caption strong{position:relative;z-index:1;display:block;flex:1 1 auto;min-width:0;overflow:hidden;color:#fff;font-size:14px;font-weight:400;line-height:1.35;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;opacity:0;transform:translateY(4px);transition:opacity .22s ease,transform .36s cubic-bezier(.16,1,.3,1)}.spiral-caption.is-visible strong{opacity:1;transform:translateY(0)}.fusion-hero__wash{position:absolute;z-index:2;inset:0 0 auto;height:48%;pointer-events:none;background:linear-gradient(180deg,#000 9%,#000000d6 30%,#0000)}.fusion-title{position:absolute;z-index:3;top:-.105em;left:50%;width:100%;margin:0;color:#fff;font-family:var(--font-display);font-size:min(13.02vw,250px);font-weight:700;letter-spacing:-.04em;line-height:.892;text-align:center;transform:translate(-50%);pointer-events:none}.fusion-title__line{display:block;white-space:nowrap}.fusion-title__letter-mask{display:inline-block;overflow:hidden;vertical-align:top}.fusion-title__letter{display:inline-block;transform-origin:50% 100%;will-change:transform,opacity,filter;animation:hero-title-letter-reveal .86s cubic-bezier(.22,1,.36,1) var(--hero-letter-delay) both}.fusion-logo{position:absolute;z-index:8;left:clamp(18px,1.72vw,33px);bottom:calc(clamp(20px,3.8vh,41px) + 13px);color:#fff;font-family:Coca-Cola Care Text Medium Local,Noto Sans SC Local,sans-serif;font-size:22px;font-style:normal;font-weight:500;letter-spacing:0;line-height:1;text-decoration:none;animation:hero-chrome-in .76s .36s cubic-bezier(.16,1,.3,1) both}.fusion-logo em{color:#4b3eff;font-style:inherit}.fusion-actions{position:absolute;z-index:8;right:max(18px,calc(clamp(18px,2.24vw,43px) - (100vw - 100%)));bottom:clamp(20px,3.8vh,41px);display:flex;align-items:center;gap:26px;animation:hero-chrome-in .76s .44s cubic-bezier(.16,1,.3,1) both}.fusion-action{width:119px;min-height:48px;padding:0 21px;border-radius:53px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-family:"PingFang SC",var(--font-ui);font-size:14px;font-weight:500;line-height:1.4;text-decoration:none;white-space:nowrap;transition:background-color .16s ease,transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease}.fusion-action+.fusion-action{width:145px;padding-inline:19px}.fusion-action:hover,.fusion-action:focus-visible{background:var(--accent-bright);box-shadow:0 12px 34px #3a3cfd47;transform:translateY(-2px)}.arrow-icon{position:relative;display:block;flex:0 0 auto}.arrow-icon img{position:absolute;display:block;max-width:none}.arrow-icon--up{width:17px;height:17px}.arrow-icon--up img:first-child{top:18.51%;left:35.17%;width:46.32%;height:46.32%}.arrow-icon--up img:last-child{top:18.51%;left:19.64%;width:61.86%;height:61.86%}.hero-scroll-note{position:absolute;z-index:7;left:50%;bottom:26px;display:flex;align-items:center;gap:10px;color:#ffffff40;font-size:8px;font-weight:650;letter-spacing:.16em;transform:translate(-50%);animation:hero-scroll-note-in .76s .52s cubic-bezier(.16,1,.3,1) both}.hero-scroll-note i{width:32px;height:1px;overflow:hidden;background:#ffffff24}.hero-scroll-note i:after{content:"";display:block;width:45%;height:100%;background:var(--accent);animation:scroll-scan 2.2s ease-in-out infinite}.projects-section{--projects-gutter: clamp(18px, 1.72vw, 33px);--projects-left-gutter: var(--projects-gutter);--projects-right-gutter: var(--projects-gutter);position:relative;z-index:10;margin-top:-100svh;min-height:calc(100svh + 437px);padding:0 var(--projects-right-gutter) 24px var(--projects-left-gutter);overflow:clip;background:var(--paper);color:var(--ink);border-radius:34px 34px 0 0;box-shadow:0 -24px 70px #00000080,0 -1px #ffffff14}@supports (timeline-scope: --a){.home{timeline-scope:--projects-sheet}.projects-section{view-timeline:--projects-sheet block}.fusion-hero{animation:hero-recede linear both;animation-timeline:--projects-sheet;animation-range:entry 0% entry 100%}@keyframes hero-recede{to{scale:.93;opacity:.5;filter:brightness(.55) saturate(.85);border-radius:28px}}}.projects-header{position:relative;height:clamp(205px,16.62vw,319px);margin-left:calc(var(--projects-left-gutter) * -1);margin-right:calc(var(--projects-right-gutter) * -1)}.projects-header h2{position:absolute;top:clamp(28px,2.29vw,44px);left:1px;margin:0;color:#050505;font-family:var(--font-display);font-size:min(14.9vw,286px);font-weight:500;letter-spacing:0;line-height:.7797;white-space:nowrap}.projects-count{position:absolute;top:clamp(36px,2.86vw,55px);right:clamp(14px,1.35vw,26px);width:128px;height:clamp(43px,3.44vw,66px);font-family:Fira Mono Local,Fira Mono,monospace;font-size:clamp(50px,4.75vw,91px);font-weight:400;letter-spacing:0;line-height:clamp(116px,11.61vw,223px);text-align:right;display:flex;flex-direction:column;justify-content:center}.projects-header>.arrow-icon--down{position:absolute;top:clamp(92px,7.6vw,146px);right:-1px;width:clamp(78px,8.45vw,162px);height:clamp(68px,7.45vw,143px)}.arrow-icon--down img:first-child{top:37.83%;left:38.04%;width:40.59%;height:41%}.arrow-icon--down img:last-child{top:22.3%;left:22.51%;width:56.12%;height:56.53%}.projects-toolbar{position:sticky;z-index:32;top:23px;display:flex;align-items:stretch;justify-content:space-between;gap:24px;width:calc(100% + var(--projects-left-gutter) + var(--projects-right-gutter));height:54px;margin-left:calc(var(--projects-left-gutter) * -1);margin-bottom:29px;padding:0 calc(var(--projects-right-gutter) - 1px) 0 var(--projects-gutter);background:transparent}@media(min-width:821px){.projects-section{--projects-left-gutter: 0px;--projects-right-gutter: calc(var(--projects-gutter) * 2)}.projects-toolbar{padding-right:calc(var(--projects-gutter) - 1px);padding-left:var(--projects-gutter)}.skill-grid{position:relative;left:var(--projects-gutter)}}.home-tabs{position:relative;isolation:isolate;display:flex;width:min(1075px,calc(100% - 358px));height:54px;flex:0 1 1075px;align-items:center;justify-content:space-between;gap:0;padding:6px;overflow:visible;scrollbar-width:none}.home-tabs:before{position:absolute;pointer-events:none;content:""}.home-tabs:before{z-index:-2;top:0;right:0;bottom:0;left:0;border:1px solid rgba(224,226,229,.5);border-radius:30px;background:#fff;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.projects-toolbar.is-stuck .home-tabs:before{border-color:transparent;background:#fff3;box-shadow:0 4px 18px #0000001f;backdrop-filter:blur(15px) saturate(1.5) contrast(1.06);-webkit-backdrop-filter:blur(15px) saturate(1.5) contrast(1.06)}.home-tabs::-webkit-scrollbar{display:none}.home-tabs button{position:relative;z-index:1;display:inline-flex;flex:0 0 auto;height:42px;align-self:center;align-items:center;justify-content:center;padding:0 41px;border:1px solid transparent;border-radius:999px;background:transparent;color:#333;cursor:pointer;font-size:14px;font-weight:500;line-height:22px;white-space:nowrap;transform:translateY(-.5px);transition:background-color .16s ease,color .16s ease,transform .18s ease}.home-tabs button:first-child{width:fit-content;padding-inline:clamp(28px,1.8vw,34px)}.home-tabs button:hover{background:#e8e8e87a}.home-tabs button.on{border-color:transparent;background:#e8e8e8;color:#333;font-weight:500;box-shadow:none}.home-tabs button.on:before{content:none}.home-tabs button.on:after{content:none}.projects-toolbar.is-over-media .home-tabs button:not(.on){color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.22)}.projects-search-group{display:flex;width:310px;height:54px;flex:0 0 310px;align-items:center;gap:15px}.projects-search{position:relative;isolation:isolate;width:241px;height:54px;flex:0 0 241px;padding:0 17px;border:1px solid rgba(224,226,229,.5);border-radius:43px;background:#fff;display:flex;align-items:center;gap:15px;color:#333;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.projects-toolbar.is-stuck .projects-search,.projects-toolbar.is-stuck .projects-search-expand{border-color:transparent;background:#fff3;box-shadow:0 4px 18px #0000001f;backdrop-filter:blur(15px) saturate(1.5) contrast(1.06);-webkit-backdrop-filter:blur(15px) saturate(1.5) contrast(1.06)}.projects-toolbar.is-management-view .home-tabs,.projects-toolbar.is-management-view .projects-search,.projects-toolbar.is-management-view .projects-search-expand{--lg-edge-rgb: 72 78 92}.projects-search-expand{position:relative;display:grid;width:54px;height:54px;flex:0 0 54px;place-items:center;overflow:hidden;border:1px solid rgba(224,226,229,.5);border-radius:43px;background:#fff;box-shadow:none;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .16s ease}.projects-search-expand:hover,.projects-search-expand:focus-visible{background:#4b3eff;box-shadow:0 4px 18px #0000001f}.projects-search-expand:focus-visible{outline:2px solid rgba(58,60,253,.72);outline-offset:2px}.projects-search-expand>.search-expand-icon{position:absolute;width:17px;height:17px;transition:opacity .16s ease}.projects-search-expand>img.search-expand-icon{display:block}.projects-search-expand .is-light{opacity:0}.projects-search-expand .folder-outline,.projects-search-expand .folder-minus{position:absolute;display:block;max-width:none}.projects-search-expand .folder-outline{top:1.73px;left:1.02px;width:14.96px;height:14.25px}.projects-search-expand .folder-minus{top:9.17px;left:5.61px;width:5.75px;height:1.5px}.projects-search__icon{position:relative;width:17px;height:17px;flex:0 0 auto}.projects-search__icon img{position:absolute;display:block;max-width:none;transition:filter .16s ease}.projects-search__icon img:first-child{top:3.92%;left:3.92%;width:79.66%;height:79.66%}.projects-search__icon img:last-child{top:64.8%;left:64.8%;width:26.5%;height:26.5%}.projects-search__field{position:relative;display:grid;min-width:0;flex:1 1 0;align-items:center}.projects-search input,.projects-search__placeholder{grid-area:1 / 1}.projects-search input{position:relative;z-index:1;width:100%;height:28px;min-width:0;padding:0 4px;border:0;outline:0;background:transparent;color:#333;font-size:14px;font-weight:400;line-height:28px;caret-color:currentColor}.projects-search:has(input:focus-visible){outline:none}.projects-search__placeholder{position:relative;z-index:0;display:block;overflow:visible;pointer-events:none;padding:0 4px;color:#3339;font-size:14px;font-weight:400;line-height:28px;white-space:nowrap}.projects-toolbar.is-over-media .projects-search input,.projects-toolbar.is-over-media .projects-search__placeholder{color:#fff}.projects-toolbar.is-over-media .projects-search,.projects-toolbar.is-over-media .projects-search-expand{background:#0003}.projects-toolbar.is-over-media .projects-search__icon img{filter:brightness(0) invert(1)}.projects-toolbar.is-over-media .projects-search-expand .is-dark{opacity:0}.projects-toolbar.is-over-media .projects-search-expand .is-light{opacity:1}.projects-toolbar .projects-search-expand:hover .is-dark,.projects-toolbar .projects-search-expand:active .is-dark,.projects-toolbar .projects-search-expand:focus-visible .is-dark,.projects-toolbar .projects-search-expand.is-active .is-dark{opacity:0}.projects-toolbar .projects-search-expand:hover .is-light,.projects-toolbar .projects-search-expand:active .is-light,.projects-toolbar .projects-search-expand:focus-visible .is-light,.projects-toolbar .projects-search-expand.is-active .is-light{opacity:1}.projects-toolbar .projects-search-expand:hover,.projects-toolbar .projects-search-expand:active,.projects-toolbar .projects-search-expand:focus-visible,.projects-toolbar .projects-search-expand.is-active{border-color:transparent;background:#4b3eff;box-shadow:0 4px 18px #0000001f}.skill-grid{display:grid;grid-template-columns:repeat(4,minmax(0,455px));justify-content:space-between;gap:28px 12px}.projects-empty-state{grid-column:1 / -1;display:flex;min-height:280px;padding:48px 24px;align-items:center;justify-content:center;flex-direction:column;text-align:center}.projects-empty-state strong{color:#121820;font-size:18px;font-weight:600;line-height:28px}.projects-empty-state span{margin-top:8px;color:#1218208f;font-size:13px;line-height:20px}.projects-empty-state button{min-height:40px;margin-top:20px;padding:0 18px;border:0;border-radius:999px;background:#4b3eff;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .16s ease,transform .16s ease}.projects-empty-state button:hover{background:#3f33e8}.projects-empty-state button:active{transform:scale(.98)}.projects-empty-state button:focus-visible{outline:2px solid rgba(58,60,253,.72);outline-offset:3px}.management-page{min-height:100svh;padding:23px 39px 140px;background:var(--paper);color:#121820}.management-toolbar{position:sticky;z-index:32;top:23px;display:flex;width:calc(100% + 6px);margin-left:-6px;min-height:54px;align-items:center;justify-content:space-between;gap:24px}.management-tabs{--lg-edge-rgb: 72 78 92;display:flex;min-width:0;height:54px;flex:0 1 1075px;width:min(1075px,calc(100% - 303px));align-items:center;justify-content:space-between;gap:4px;overflow-x:auto;padding:6px 7px;border:0;border-radius:30px;background:#ffffffc7;box-shadow:0 4px 18px #0000001f;backdrop-filter:blur(15px) saturate(1.4);-webkit-backdrop-filter:blur(15px) saturate(1.4);scrollbar-width:none}.management-tabs::-webkit-scrollbar{display:none}.management-tabs button{min-width:max-content;min-height:42px;padding:0 clamp(18px,2vw,41px);border:0;border-radius:999px;background:transparent;color:#333;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .16s ease,color .16s ease}.management-tabs button:hover{background:#e8e8e88f}.management-tabs button.on{background:#e8e8e8}.management-tabs button:focus-visible{outline:2px solid rgba(58,60,253,.72);outline-offset:-2px}.management-search-group{flex:0 0 279px;width:279px}.management-search-group .projects-search{--lg-edge-rgb: 72 78 92;width:210px;flex-basis:210px;border-color:transparent;background:#ffffffc7;box-shadow:0 4px 18px #0000001f;backdrop-filter:blur(15px) saturate(1.4);-webkit-backdrop-filter:blur(15px) saturate(1.4)}.management-search-group .projects-search-expand{--lg-edge-rgb: 72 78 92;border-color:transparent;box-shadow:0 4px 18px #0000001f}.management-content{display:grid;gap:44px;margin-top:26px}.management-date-group h2{margin:0 0 7px;color:#000;font-size:22px;font-weight:400;line-height:30px}.management-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0 clamp(18px,1.512vw,29.027px)}.management-asset{position:relative;min-width:0;overflow:hidden;aspect-ratio:283 / 158;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:#eceef2;outline:0}.management-asset>img{display:block;width:100%;height:100%;object-fit:cover}.management-asset>img[src*=node980-01]{position:absolute;top:-136.5%;left:-2.53%;width:105.72%;height:1222.48%;max-width:none;object-fit:fill;transform:scaleX(-1)}.management-asset__delete{position:absolute;z-index:2;top:8px;right:8px;display:grid;width:30px;height:30px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;opacity:0;pointer-events:none;transform:scale(.88);transition:opacity .16s ease,transform .16s ease}.management-asset__delete img{display:block;width:30px;height:30px}.management-asset:hover .management-asset__delete,.management-asset:focus-within .management-asset__delete{opacity:1;pointer-events:auto;transform:scale(1)}.management-asset__delete:focus-visible{outline:2px solid #fff;outline-offset:2px}.management-empty-state{min-height:54svh}.projects-toolbar.is-management-view{margin-bottom:0}.projects-section>.management-content{width:calc(100vw - 78px);margin-top:26px;margin-left:39px}.skill-card{position:relative;container-type:inline-size;display:block;gap:normal;width:100%;max-width:455px;min-width:0}.skill-card .sc-cover{position:relative;display:block;overflow:hidden;width:100%;aspect-ratio:455 / 257;border:0;border-radius:12px;background:transparent;transform:translateZ(0);transition:box-shadow .22s ease,transform .28s cubic-bezier(.2,.8,.2,1)}.skill-card:hover .sc-cover,.skill-card:focus-within .sc-cover{box-shadow:0 18px 38px #14191f29;transform:translateY(-4px)}.sc-cover>img{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover;transition:filter .3s ease,transform .6s cubic-bezier(.2,.75,.2,1)}.skill-card:hover .sc-cover>img,.skill-card:focus-within .sc-cover>img{transform:scale(1.025)}.sc-cover>img.is-metadata-cropped{transform:scale(1.1525);transform-origin:center top}.skill-card:hover .sc-cover>img.is-metadata-cropped,.skill-card:focus-within .sc-cover>img.is-metadata-cropped{transform:scale(1.1813)}.sc-cover-action{position:absolute;z-index:5;top:0;right:0;bottom:0;left:0;width:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer}.sc-cover-action:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.sc-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 72% 25%,rgba(255,255,255,.16),transparent 30%),linear-gradient(145deg,#23262c,#111316)}.sc-fallback b{position:relative;z-index:1;color:#ffffff14;font-size:72px;font-weight:900;-webkit-text-stroke:1px rgba(255,255,255,.2)}.sc-fallback i{position:absolute;width:62%;aspect-ratio:1;border:24px solid currentColor;border-radius:36% 64% 46% 54%;color:var(--accent);opacity:.18;transform:rotate(24deg)}.sc-copy-button{display:block;width:100%;margin-top:14px;padding:0;border:0;background:transparent;color:#121820;cursor:pointer;text-align:left}.sc-copy-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sc-copy{display:flex;width:100%;min-width:0;flex-direction:column;gap:4px;overflow:hidden}.sc-name,.sc-description{display:block;width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-card .sc-name{color:#121820;font-size:14px;font-weight:500;line-height:20px}.sc-description{color:#667382;font-size:12px;font-weight:400;letter-spacing:.1px;line-height:18px}.project-composer{position:fixed;z-index:48;left:50%;bottom:max(40px,env(safe-area-inset-bottom));width:min(595px,calc(100% - 32px));height:65px;margin:0;padding:8px 12px 9px 9px;border:1px solid #ecedef;border-radius:47px;background:#fff;color:#94a1ad;box-shadow:0 4px 18px #0d141f1f;display:flex;align-items:center;gap:0;cursor:pointer;font-size:14px;font-weight:500;line-height:20px;text-align:left;opacity:0;pointer-events:none;visibility:hidden;transform:translate3d(-50%,18px,0) scale(.985);transition:box-shadow .18s ease,opacity .18s ease,visibility .18s ease,transform .28s cubic-bezier(.2,.8,.2,1)}.project-composer.is-visible{opacity:1;pointer-events:auto;visibility:visible;transform:translate3d(-50%,0,0) scale(1)}.project-composer.is-visible:hover,.project-composer.is-visible:focus-visible{box-shadow:0 18px 52px #141d262b;transform:translate3d(-50%,-2px,0) scale(1)}.composer-plus,.composer-send{flex:0 0 auto;width:48px;height:48px;border-radius:50%;display:grid;place-items:center}.composer-plus{border:1px solid #e5e8ec;background:#f4f5f7;color:#313a43;margin-right:24px}.composer-send{margin-left:19px;background:#4b3eff;color:#101407}.composer-plus img{width:18px;height:18px}.composer-send img{width:20px;height:20px}.composer-copy{width:435px;flex:0 0 435px;font-weight:400}.skill-import-screen{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:grid;overflow:hidden;place-items:center;background:#0000009e;-webkit-backdrop-filter:blur(12px) saturate(.88) brightness(.72);backdrop-filter:blur(12px) saturate(.88) brightness(.72);color:#f7f7fa}.skill-import-canvas{position:relative;width:min(1200px,100vw,178.571svh);aspect-ratio:1200 / 672;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:38px;background:#141414;transform:scale(.84);transform-origin:center}.skill-import-reference{position:absolute;top:4.464%;left:2.417%;width:47.167%;height:92.411%;overflow:hidden;border-radius:27px;background:#24202e}.skill-import-reference img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 50%}.skill-import-title{position:absolute;top:13.1%;left:54.5%;width:43%;margin:0;color:#fff;font-family:var(--font-ui);font-size:22px;font-weight:600;letter-spacing:1.2px;line-height:1.35;text-align:center}.skill-import-title span{color:#3a3cfd}.skill-import-dropzone{position:absolute;top:23.661%;left:54.5%;display:flex;width:43%;height:14.286%;min-height:76px;align-items:center;gap:12px;padding:14px 16px;border:1.5px dashed #3a3cfd;border-radius:14px;background:#0009;color:#f7f7fa;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.skill-import-dropzone:hover,.skill-import-dropzone.is-dragging{border-color:#7778ff;background:#3a3cfd17}.skill-import-dropzone.is-dragging{transform:scale(1.006)}.skill-import-plus{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border-radius:50%;background:#3a3cfd;color:#fff;font-family:var(--font-ui);font-size:23px;font-weight:400;line-height:1}.skill-import-upload-copy{display:grid;min-width:0;gap:4px}.skill-import-upload-copy strong,.skill-import-upload-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-import-upload-copy strong{color:#f7f7fa;font-size:14px;font-weight:500;line-height:1.4}.skill-import-upload-copy small{color:#a2a2ad;font-size:12px;font-weight:400;line-height:1.4}.skill-import-editor{position:absolute;top:42.113%;left:54.5%;width:43%;height:33.78%;min-height:190px;overflow:hidden;border:1.5px dashed #3a3cfd;border-radius:14px;background:#0009}.skill-import-editor-heading{position:absolute;z-index:1;top:12px;left:12px;right:12px;display:flex;height:28px;align-items:center;justify-content:space-between;gap:12px}.skill-import-editor-heading label{color:#f7f7fa;font-size:14px;font-weight:500;line-height:1}.skill-import-editor-heading span{display:inline-flex;flex:0 0 auto;min-width:118px;height:27px;align-items:center;justify-content:center;padding:0 12px;border-radius:999px;background:#3a3cfd;color:#fff;font-size:14px;font-weight:400;line-height:1}.skill-import-editor textarea{position:absolute;top:49px;right:12px;bottom:10px;left:12px;width:calc(100% - 24px);height:calc(100% - 59px);padding:0;resize:none;border:0;outline:0;background:transparent;color:#a2a2ad;font:400 14px/1.55 var(--font-ui);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}.skill-import-editor textarea:focus{color:#c6c6ce}.skill-import-actions{position:absolute;right:2.5%;bottom:3.125%;display:flex;width:43%;height:48px;align-items:center;justify-content:flex-end;gap:12px}.skill-import-actions button{height:48px;border-radius:999px;font-family:var(--font-ui);font-size:15px;font-weight:500;cursor:pointer;transition:background .16s ease,opacity .16s ease,transform .16s ease}.skill-import-actions button:hover:not(:disabled){transform:translateY(-1px)}.skill-import-actions button:active:not(:disabled){transform:translateY(0) scale(.98)}.skill-import-secondary{width:112px;border:1px solid rgba(255,255,255,.09);background:#303030d9;color:#f7f7fa}.skill-import-secondary:hover:not(:disabled){background:#3a3a3af0}.skill-import-primary{width:169px;background:#3a3cfd;color:#f7f7fa}.skill-import-primary:hover:not(:disabled){background:#4b4dff}.skill-import-actions button:disabled{opacity:.42;cursor:not-allowed}.skill-import-error{position:absolute;right:0;bottom:calc(100% + 7px);margin:0;color:#ff8178;font-size:12px;line-height:1.3}@media(max-width:900px){.skill-import-screen{display:block;overflow:auto}.skill-import-canvas{display:grid;width:100%;min-height:100svh;padding:20px;overflow:visible;aspect-ratio:auto;gap:18px;transform:none}.skill-import-reference,.skill-import-title,.skill-import-dropzone,.skill-import-editor,.skill-import-actions{position:static;width:100%}.skill-import-title{order:-1;font-size:20px;text-align:left}.skill-import-reference{height:min(34svh,300px);border-radius:22px}.skill-import-dropzone{height:96px}.skill-import-editor{height:227px}.skill-import-actions{height:auto;padding-bottom:max(8px,env(safe-area-inset-bottom))}}@media(max-width:520px){.skill-import-canvas{padding:16px}.skill-import-reference{height:220px}.skill-import-editor-heading span{min-width:106px;padding:0 9px;font-size:12px}.skill-import-actions button{flex:1 1 0;width:auto}}@keyframes hero-title-letter-reveal{0%{opacity:0;filter:blur(.045em);transform:translate3d(0,102%,0)}to{opacity:1;filter:blur(0);transform:translateZ(0)}}@keyframes hero-chrome-in{0%{opacity:0;transform:translate3d(0,14px,0) scale(.985)}}@keyframes hero-scroll-note-in{0%{opacity:0;transform:translate3d(-50%,10px,0)}}@keyframes scroll-scan{0%,to{transform:translate(-110%)}50%{transform:translate(220%)}}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}@media(max-width:1180px){.skill-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 12px}.projects-toolbar{align-items:flex-end}.projects-search-group{width:310px;flex-basis:310px}}@media(max-width:820px){.fusion-hero-scroll{height:195svh}.fusion-hero{min-height:660px}.fusion-title{top:5vh;font-size:13vw;line-height:.93}.fusion-hero__wash{height:44%}.hero-scroll-note{display:none}.fusion-actions{right:16px;bottom:18px;gap:8px}.fusion-action{min-height:42px;padding-inline:15px;font-size:11px}.fusion-logo{left:16px;bottom:30px;font-size:18px}.projects-section{padding-inline:18px}.projects-header{min-height:170px}.projects-header h2{padding-top:14px;font-size:20.3vw}.projects-count{top:86px;right:62px;font-size:48px}.projects-header>.arrow-icon--down{top:91px;right:-14px;width:74px;height:66px}.projects-toolbar{align-items:stretch;flex-direction:column;height:auto;gap:14px;margin-bottom:24px;padding-block:10px 12px}.home-tabs{width:calc(100vw - 36px);flex-basis:auto;gap:18px;overflow-x:auto;overflow-y:hidden}.home-tabs button{min-height:38px;font-size:12px}.projects-search-group{width:100%;flex-basis:auto}.projects-search{width:auto;flex:1 1 auto}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.fusion-title{top:8vh;font-size:13.5vw;letter-spacing:-.06em}.fusion-logo{bottom:76px}.fusion-actions{left:14px;right:14px;bottom:16px}.fusion-action{flex:1 1 0}.spiral-scene-shell[data-caption-side] .spiral-caption,.spiral-caption{left:50%;top:auto;bottom:145px;width:fit-content;max-width:calc(100vw - 28px);transform:translate(-50%,8px) scale(.975);transform-origin:center bottom}.spiral-scene-shell[data-caption-side] .spiral-caption.is-visible,.spiral-caption.is-visible{transform:translate(-50%) scale(1)}.projects-header{min-height:140px}.projects-header h2{font-size:20vw}.projects-count{top:72px;font-size:40px}.projects-header>.arrow-icon--down{top:74px;width:64px;height:57px}.skill-grid{grid-template-columns:1fr;gap:26px}.project-composer{width:calc(100% - 28px);min-height:68px;bottom:max(14px,env(safe-area-inset-bottom));padding:8px 10px 8px 12px}.project-composer>span:nth-child(2){width:auto;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-plus,.composer-send{width:42px;height:42px}}@media(max-width:1440px){.management-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}}@media(max-width:1180px){.management-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.management-tabs button{padding-inline:24px}}@media(max-width:820px){.management-page{padding:10px 18px 128px}.projects-section>.management-content{width:100%;margin-top:30px;margin-left:0}.management-toolbar{top:10px;align-items:stretch;flex-direction:column;gap:14px}.management-tabs{width:100%;flex:0 0 54px;justify-content:flex-start}.management-search-group{width:100%;flex-basis:54px}.management-search-group .projects-search{width:auto;flex:1 1 auto}.management-content{margin-top:30px}.management-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}@media(max-width:560px){.management-content{gap:30px}.management-date-group h2{margin-bottom:8px;font-size:16px;line-height:24px}.management-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.management-asset{border-radius:12px}.management-asset__delete{top:6px;right:6px;opacity:.86;pointer-events:auto;transform:none}}@media(hover:none){.management-asset__delete{opacity:.86;pointer-events:auto;transform:none}.sc-detail{background:linear-gradient(to top,rgba(5,6,8,.86),transparent 58%);opacity:1}.sc-detail-text,.sc-meta{display:none}.sc-detail-row{justify-content:flex-end}}@media(prefers-reduced-motion:reduce){.fusion-hero-scroll{height:100svh}.fusion-hero{position:relative}.projects-section{margin-top:0}.home *,.home *:before,.home *:after,.skill-import-screen *,.skill-import-screen *:before,.skill-import-screen *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.spiral-stage:after,.spiral-canvas{transition:none!important}}
