:root,:root[data-theme=darkroom]{--bg: #0c0b09;--bg-1: #14120f;--bg-2: #1c1915;--bg-sunken: #080706;--line: rgba(255, 244, 230, .09);--line-strong: rgba(255, 244, 230, .18);--line-top: rgba(255, 244, 230, .14);--line-bottom: rgba(0, 0, 0, .45);--brand: #d98e35;--brand-deep: #8a5518;--brand-lift: #ffb35c;--brand-glow: rgba(255, 179, 92, .32);--on-brand: #1a1206;--amber: #e8a33d;--amber-soft: rgba(232, 163, 61, .14);--ok: #58bd8a;--ok-soft: rgba(88, 189, 138, .13);--danger: #e5484d;--danger-soft: rgba(229, 72, 77, .13);--text: #f5efe6;--text-dim: #a89d8d;--text-faint: #6b6155;--glass-bg: rgba(20, 18, 15, .55);--glass-blur: blur(28px) saturate(1.8);--glass-edge: inset 0 1px 0 rgba(255, 244, 230, .16), inset 0 -1px 0 rgba(0, 0, 0, .35), 0 0 0 1px rgba(255, 244, 230, .07);--glass-hi: linear-gradient( 180deg, rgba(255, 244, 230, .08), transparent 32% );--font: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-disp: "Noto Serif SC", Georgia, "Songti SC", serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Consolas, monospace;--r-xs: 4px;--r-sm: 10px;--r: 16px;--r-lg: 24px;--r-xl: 32px;--r-full: 999px;--sh-1: 0 1px 2px rgba(0, 0, 0, .3);--sh-2: 0 6px 20px rgba(0, 0, 0, .35);--sh-3: 0 18px 50px rgba(0, 0, 0, .5);--t-fast: .13s;--t: .24s;--t-slow: .46s;--spring: cubic-bezier(.34, 1.56, .64, 1);--ease: cubic-bezier(.22, 1, .36, 1);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--glow-a: rgba(217, 142, 53, .14);--glow-b: rgba(140, 90, 40, .1);--grid-line: transparent;--wf-dot: rgba(255, 255, 255, .055);color-scheme:dark}:root[data-theme=workshop]{--bg: #f4f4f0;--bg-1: #fdfdfb;--bg-2: #ecece6;--bg-sunken: #e9e9e2;--line: #d9d9d2;--line-strong: #16161a;--line-top: #e4e4dd;--line-bottom: #cfcfc7;--brand: #ff5a1f;--brand-deep: #c23a0a;--brand-lift: #ff7a45;--brand-glow: rgba(255, 90, 31, .25);--on-brand: #ffffff;--amber: #d97706;--amber-soft: rgba(217, 119, 6, .12);--ok: #15803d;--ok-soft: rgba(21, 128, 61, .1);--danger: #dc2626;--danger-soft: rgba(220, 38, 38, .1);--text: #16161a;--text-dim: #5c5c66;--text-faint: #9a9aa4;--glass-bg: rgba(253, 253, 251, .88);--glass-blur: blur(10px);--glass-edge: inset 0 -2px 0 rgba(22, 22, 26, .9);--glass-hi: none;--r-xs: 2px;--r-sm: 3px;--r: 4px;--r-lg: 6px;--r-xl: 8px;--sh-1: 2px 2px 0 rgba(22, 22, 26, .9);--sh-2: 4px 4px 0 rgba(22, 22, 26, .9);--sh-3: 7px 7px 0 rgba(22, 22, 26, .85);--glow-a: transparent;--glow-b: transparent;--grid-line: rgba(22, 22, 26, .055);--wf-dot: rgba(22, 22, 26, .14);color-scheme:light}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:32px 32px;color:var(--text);font-family:var(--font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;transition:background-color var(--t-slow),color var(--t-slow)}.bg-glow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.bg-glow:before,.bg-glow:after{content:"";position:absolute;border-radius:50%;filter:blur(140px);will-change:transform}.bg-glow:before{width:62vw;height:62vw;background:radial-gradient(circle,var(--glow-a),transparent 68%);top:-22vw;left:-14vw;animation:float-a 34s ease-in-out infinite alternate}.bg-glow:after{width:52vw;height:52vw;background:radial-gradient(circle,var(--glow-b),transparent 70%);bottom:-20vw;right:-12vw;animation:float-b 42s ease-in-out infinite alternate}@keyframes float-a{to{transform:translate3d(9vw,6vh,0) scale(1.12)}}@keyframes float-b{to{transform:translate3d(-8vw,-5vh,0) scale(1.16)}}.card{position:relative;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--line);border-top-color:var(--line-top);border-radius:var(--r);box-shadow:var(--glass-edge),var(--sh-1);background-image:var(--glass-hi)}.card-2{background:var(--bg-2);border:1px solid var(--line);border-top-color:var(--line-top);border-radius:var(--r)}.glass{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--line);box-shadow:var(--glass-edge)}.tilt{transform:perspective(900px) rotateX(calc((var(--my, .5) - .5) * -4deg)) rotateY(calc((var(--mx, .5) - .5) * 4deg)) translateZ(0);transition:transform var(--t) var(--ease)}.spot{position:relative;overflow:hidden}.spot:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(380px circle at calc(var(--mx, .5) * 100%) calc(var(--my, .5) * 100%),rgba(36,145,107,.13),transparent 62%);opacity:0;transition:opacity var(--t);pointer-events:none}.spot:hover:before{opacity:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border:1px solid var(--line);border-top-color:var(--line-top);border-radius:var(--r-sm);background:var(--bg-2);color:var(--text);font:inherit;font-weight:500;letter-spacing:.01em;cursor:pointer;white-space:nowrap;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast) var(--spring),box-shadow var(--t-fast)}.btn:hover:not(:disabled){background:#1a2225;border-color:var(--line-strong);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0) scale(.985)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,var(--brand-lift),var(--brand));border-color:transparent;color:var(--on-brand);font-weight:650;box-shadow:inset 0 1px #ffffff38,var(--sh-1)}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,var(--brand-lift),var(--brand-deep));box-shadow:inset 0 1px #ffffff42,0 0 24px var(--brand-glow)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--bg-2);border-color:var(--line)}.btn-danger{color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.btn-sm{padding:6px 12px;font-size:13px;border-radius:var(--r-xs)}.btn-lg{padding:13px 26px;font-size:15.5px;border-radius:var(--r-sm)}input,textarea,select{width:100%;padding:10px 13px;background:var(--bg-sunken);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font:inherit;transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--brand-lift);box-shadow:0 0 0 3px #24916b29;background:#06080a}input:disabled,textarea:disabled,select:disabled{opacity:.5;cursor:not-allowed}textarea{resize:vertical;min-height:104px;line-height:1.6}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ba5a2' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M6 9.5l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:34px}.field-label{display:block;margin-bottom:6px;color:var(--text-dim);font-size:12.5px;font-weight:500;letter-spacing:.02em}input[type=range]{padding:0;background:transparent;border:none;accent-color:var(--brand-lift);cursor:pointer}input[type=checkbox]{width:auto;accent-color:var(--brand-lift);cursor:pointer}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:var(--r-full);border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#ffffff2e;background-clip:content-box}.skeleton{position:relative;overflow:hidden;background:var(--bg-1);border-radius:var(--r)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:sweep 1.5s linear infinite}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes develop{0%{opacity:0;filter:blur(14px) saturate(.6);transform:scale(.965)}to{opacity:1;filter:blur(0) saturate(1);transform:scale(1)}}.develop{animation:develop .62s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.rise{animation:rise .52s var(--ease) both;animation-delay:var(--stagger, 0ms)}@keyframes marquee-up{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes marquee-down{0%{transform:translateY(-50%)}to{transform:translateY(0)}}@keyframes slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.pulse{animation:pulse 1.7s ease-in-out infinite}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.prog-flow{position:relative;background-image:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.22) 45%,transparent 70%),linear-gradient(90deg,var(--brand),var(--brand-lift));background-size:180% 100%,100% 100%;animation:prog-flow 1.9s linear infinite}@keyframes prog-flow{0%{background-position:160% 0,0 0}to{background-position:-60% 0,0 0}}@keyframes flash{0%{box-shadow:0 0 0 0 var(--brand-glow)}to{box-shadow:0 0 0 18px transparent}}.flash{animation:flash .9s var(--ease)}a{color:inherit;text-decoration:none}h1,h2,h3{letter-spacing:-.02em;line-height:1.2;margin:0}.tnum{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono)}:focus-visible{outline:2px solid var(--brand-lift);outline-offset:2px;border-radius:var(--r-xs)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--sp-3)}.b-3{grid-column:span 3}.b-4{grid-column:span 4}.b-5{grid-column:span 5}.b-6{grid-column:span 6}.b-7{grid-column:span 7}.b-8{grid-column:span 8}.b-9{grid-column:span 9}.b-12{grid-column:span 12}.r-2{grid-row:span 2}@media (max-width: 1080px){.b-3,.b-4,.b-5{grid-column:span 6}.b-7,.b-8,.b-9{grid-column:span 12}}@media (max-width: 680px){.bento{gap:var(--sp-2)}.b-3,.b-4,.b-5,.b-6,.b-7,.b-8,.b-9{grid-column:span 12}.r-2{grid-row:span 1}}.row-hover{transition:box-shadow var(--t-fast)}.row-hover:hover{box-shadow:inset 0 0 0 999px #ffffff06}@media (max-width: 900px){.hide-narrow{display:none}}@keyframes wf-flow{to{stroke-dashoffset:-36}}.wf-flow{animation:wf-flow .9s linear infinite}.wf-node{position:absolute;cursor:grab;-webkit-user-select:none;user-select:none;transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}.wf-node:active{cursor:grabbing}.wf-node--sel{box-shadow:0 0 0 2px var(--brand-lift),var(--shadow-2)}.wf-node--drag{transform:scale(1.022);box-shadow:var(--shadow-3);transition:none}.wf-node--target{box-shadow:0 0 0 2px var(--amber)}.wf-anchor{position:absolute;border-radius:50%;border:1.5px solid var(--line-strong);background:var(--bg-2);padding:0;cursor:crosshair;transition:transform var(--t-fast),background var(--t-fast),border-color var(--t-fast)}.wf-anchor:hover,.wf-anchor--on{transform:scale(1.35);background:var(--amber);border-color:var(--amber)}.wf-linking .wf-anchor{background:var(--brand);border-color:var(--brand-lift);box-shadow:0 0 7px var(--brand-lift)}.wf-marquee{position:absolute;border:1px solid var(--brand-lift);background:#1b6b4f1f;border-radius:2px;pointer-events:none}@keyframes wf-breathe{0%,to{box-shadow:0 0 0 1px var(--amber),0 0 #e8a33d52}50%{box-shadow:0 0 0 1px var(--amber),0 0 0 7px #e8a33d00}}.wf-node--running{animation:wf-breathe 1.9s ease-in-out infinite}.nav-studio{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-sm);font-size:13.5px;font-weight:600;white-space:nowrap;color:var(--brand-lift);border:1px solid color-mix(in srgb,var(--brand-lift) 42%,transparent);background:color-mix(in srgb,var(--brand) 9%,transparent);transition:background var(--t-fast),box-shadow var(--t-fast),border-color var(--t-fast)}.nav-studio:hover{background:color-mix(in srgb,var(--brand) 16%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--brand-lift) 24%,transparent)}.nav-studio--on{background:color-mix(in srgb,var(--brand) 20%,transparent);border-color:var(--brand-lift);box-shadow:0 0 12px color-mix(in srgb,var(--brand-lift) 30%,transparent)}:root[data-theme=workshop] .nav-studio{color:var(--brand);border-radius:var(--r);border-color:color-mix(in srgb,var(--brand) 55%,transparent);background:color-mix(in srgb,var(--brand) 7%,transparent)}:root[data-theme=workshop] .nav-studio:hover,:root[data-theme=workshop] .nav-studio--on{background:color-mix(in srgb,var(--brand) 13%,transparent);border-color:var(--brand);box-shadow:2px 2px #16161a8c}.masonry{columns:4 240px;column-gap:12px}.masonry-item{break-inside:avoid;margin-bottom:12px;border-radius:var(--r-sm);overflow:hidden;background:var(--bg-sunken);border:1px solid var(--line)}.masonry-item img,.masonry-item video{display:block;width:100%;height:auto;transition:transform var(--t) var(--ease)}.masonry-item:hover img,.masonry-item:hover video{transform:scale(1.03)}.lift{transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),border-color var(--t-fast)}.lift:hover{transform:translateY(-2px);box-shadow:var(--sh-2);border-color:var(--line-strong)}.media-badge{position:absolute;top:8px;left:8px;padding:2px 8px;border-radius:var(--r-full);background:#040506b8;color:var(--text);font-size:11px;letter-spacing:.04em;pointer-events:none}.media-badge-ref{background:var(--brand);color:var(--on-brand);font-weight:600}:root[data-theme=workshop] .media-badge-ref{background:var(--brand);color:#fff}.masonry-item video{background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.045) 50%,transparent 70%) var(--bg-sunken);background-size:200% 100%;animation:shimmer 1.6s linear infinite;min-height:120px}@keyframes shimmer{to{background-position:-200% 0}}@media (max-width: 900px){.auth-showcase{display:none!important}.ws-grid{grid-template-columns:minmax(0,1fr)!important}.masonry{columns:2 160px}}.wf-menu{position:relative}.wf-menu-pop{position:absolute;top:calc(100% + 6px);left:0;min-width:230px;padding:6px;z-index:40;display:none;flex-direction:column;gap:2px}.wf-menu:hover .wf-menu-pop,.wf-menu:focus-within .wf-menu-pop{display:flex}.wf-menu-item{all:unset;display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:var(--r-sm);cursor:pointer}.wf-menu-item:hover{background:var(--bg-2)}.wf-menu-item b{display:block;font-size:13px;font-weight:600;color:var(--text)}.wf-menu-item small{display:block;font-size:11.5px;color:var(--text-faint);line-height:1.5;max-width:200px}:root[data-theme=workshop] .media-badge{background:#16161ad9;color:#fff}:root[data-theme=workshop] .masonry-item video{background:linear-gradient(110deg,transparent 30%,rgba(22,22,26,.06) 50%,transparent 70%) #e5e5df;background-size:200% 100%}:root[data-theme=workshop] ::-webkit-scrollbar-thumb{background:#16161a40;border:3px solid transparent;background-clip:content-box}:root[data-theme=workshop] input:focus,:root[data-theme=workshop] textarea:focus,:root[data-theme=workshop] select:focus{box-shadow:0 0 0 3px #ff5a1f2e;background:#fff}:root[data-theme=workshop] .btn:hover:not(:disabled){background:#e6e6df}
