:root,html[data-theme=dark]{--bg: #060607;--panel: rgba(17, 17, 19, .55);--panel-border: rgba(255, 255, 255, .09);--txt: #f2f2f2;--txt-dim: var(--txt-2);--acc: #2ce080;--acc-dim: rgba(44, 224, 128, .35);--r-lg: 18px;--r-md: 12px;--r-sm: 8px;--muted: var(--muted);--txt-2: var(--txt-2);--soft: var(--soft);--hov: var(--hov);--hov-strong: var(--hov-strong);--brd: var(--brd);--brd-faint: var(--brd-faint);--field: var(--soft);--dot-c: rgba(255, 255, 255, .13);--sh: 0 10px 34px rgba(0, 0, 0, .5);--inset-hi: inset 0 1px 0 var(--hov);--hint-bg: rgba(10, 10, 12, .4);--opt: var(--opt);--sb: var(--hov-strong);--sbh: var(--brd);--warn: #ffc46b;--star: #ffd166;--overlay: rgba(4, 4, 5, .55)}html[data-theme=light]{--bg: #eef1ef;--panel: rgba(255, 255, 255, .66);--panel-border: rgba(22, 28, 25, .1);--txt: #15181a;--txt-dim: #5c645f;--acc: #10a862;--acc-dim: rgba(16, 168, 98, .32);--muted: #87908a;--txt-2: #4c544f;--soft: rgba(22, 28, 25, .045);--hov: rgba(22, 28, 25, .06);--hov-strong: rgba(22, 28, 25, .11);--brd: rgba(22, 28, 25, .16);--brd-faint: rgba(22, 28, 25, .06);--field: rgba(22, 28, 25, .045);--dot-c: rgba(22, 28, 25, .2);--sh: 0 10px 30px rgba(30, 42, 36, .12);--inset-hi: inset 0 1px 0 rgba(255, 255, 255, .7);--hint-bg: rgba(255, 255, 255, .55);--opt: #ffffff;--sb: rgba(22, 28, 25, .16);--sbh: rgba(22, 28, 25, .28);--warn: #8a5b00;--star: #cf9500;--overlay: rgba(238, 241, 239, .66)}@media(prefers-color-scheme:light){html:not([data-theme=dark]){--bg: #eef1ef;--panel: rgba(255, 255, 255, .66);--panel-border: rgba(22, 28, 25, .1);--txt: #15181a;--txt-dim: #5c645f;--acc: #10a862;--acc-dim: rgba(16, 168, 98, .32);--muted: #87908a;--txt-2: #4c544f;--soft: rgba(22, 28, 25, .045);--hov: rgba(22, 28, 25, .06);--hov-strong: rgba(22, 28, 25, .11);--brd: rgba(22, 28, 25, .16);--brd-faint: rgba(22, 28, 25, .06);--field: rgba(22, 28, 25, .045);--dot-c: rgba(22, 28, 25, .2);--sh: 0 10px 30px rgba(30, 42, 36, .12);--inset-hi: inset 0 1px 0 rgba(255, 255, 255, .7);--hint-bg: rgba(255, 255, 255, .55);--opt: #ffffff;--sb: rgba(22, 28, 25, .16);--sbh: rgba(22, 28, 25, .28);--warn: #8a5b00;--star: #cf9500;--overlay: rgba(238, 241, 239, .66)}}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%}body{background:var(--bg);color:var(--txt);font-family:Inter,ui-sans-serif,system-ui,Segoe UI,Roboto,sans-serif;font-size:13px;overflow:hidden;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;user-select:text;font:inherit}button{font:inherit}::selection{background:var(--acc-dim)}.glass{background:var(--panel);backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);border:1px solid var(--panel-border);border-radius:var(--r-lg);box-shadow:var(--sh),var(--inset-hi)}.app{height:100%;position:relative}.app:before{content:"";position:fixed;inset:0;background:radial-gradient(900px 480px at 72% -10%,rgba(44,224,128,.07),transparent 60%),radial-gradient(700px 520px at 10% 112%,rgba(255,255,255,.035),transparent 60%);pointer-events:none;z-index:0}.stage{position:absolute;inset:0;overflow:hidden;touch-action:none}.stage.tool-rect,.stage.tool-ellipse,.stage.tool-line,.stage.tool-text{cursor:crosshair}.stage.tool-hand{cursor:grab}.stage.panning{cursor:grabbing!important}.stage.tool-select .shape{cursor:pointer}.dots{position:absolute;inset:-2px;pointer-events:none;background-image:radial-gradient(circle,var(--dot-c) 1px,transparent 1.2px)}.scene{position:absolute;inset:0;width:100%;height:100%;display:block}.shape text{-webkit-user-select:none;user-select:none}.hitarea,.hitline{fill:#000;fill-opacity:0;stroke:none;pointer-events:all}.stage.tool-select .shape{cursor:default}.frame-label{pointer-events:all;cursor:default}.crop-frame{fill:#2ce08008;stroke:var(--acc);stroke-width:1;stroke-dasharray:6 5}.handle.cropping{border-radius:50%}.stage.dropping .dots{background-image:radial-gradient(circle,rgba(44,224,128,.35) 1px,transparent 1.2px)}.prop-row{display:flex;align-items:center;gap:6px;min-width:0}.grow{flex:1;min-width:0}.btn-row{display:flex;gap:6px}.abtn{background:var(--hov);border:1px solid var(--panel-border);color:var(--txt-dim);padding:5px 10px;border-radius:var(--r-sm);cursor:pointer;font-size:12px;transition:.15s}.abtn:hover{color:var(--txt);background:var(--hov-strong)}.abtn.acc{border-color:var(--acc-dim);color:var(--acc)}.abtn.acc:hover{background:#2ce0801f}.twig{width:8px;height:1px;background:#3c3c44;flex:none;margin-left:-6px}.lname.frame{color:var(--txt);font-weight:600}.hintlist.tight{padding:8px 0 2px;line-height:1.5}.sel-box{fill:#2ce0800a;stroke:var(--acc);stroke-width:1.2}.marquee{fill:#2ce08012;stroke:var(--acc);stroke-width:1;stroke-dasharray:5 4}.draft-shape{pointer-events:none}.handle{fill:#0c0c0d;stroke:var(--acc);stroke-width:1.4}.handle:hover{fill:var(--acc)}.handle.n,.handle.s{cursor:ns-resize}.handle.e,.handle.w{cursor:ew-resize}.handle.nw,.handle.se{cursor:nwse-resize}.handle.ne,.handle.sw{cursor:nesw-resize}.rot-line{stroke:var(--acc);stroke-width:1}.rot-handle,.end-handle{fill:#0c0c0d;stroke:var(--acc);stroke-width:1.4;cursor:grab}.rot-handle:hover,.end-handle:hover{fill:var(--acc)}.text-edit{position:absolute;z-index:30;background:transparent;border:none;outline:1px dashed var(--acc);padding:0 2px;line-height:1.25;white-space:pre;border-radius:2px}.topbar{position:fixed;top:14px;left:14px;right:14px;display:flex;align-items:center;justify-content:space-between;z-index:40;pointer-events:none;gap:10px}.cluster{display:flex;align-items:center;gap:4px;padding:6px;pointer-events:auto}.tools{position:absolute;left:50%;transform:translate(-50%)}.logo{display:flex;align-items:center;gap:8px;font-weight:700;letter-spacing:.14em;font-size:12px;padding:0 4px 0 8px}.logo-dot{width:10px;height:10px;border-radius:3px;background:var(--acc);box-shadow:0 0 12px var(--acc-dim)}.doc-name{background:transparent;border:none;outline:none;color:var(--txt-dim);width:150px;padding:4px 6px;border-radius:var(--r-sm)}.doc-name:focus{color:var(--txt);background:var(--hov)}.status{width:7px;height:7px;border-radius:50%;background:var(--muted);margin:0 6px;transition:.3s}.status.on{background:var(--acc);box-shadow:0 0 8px var(--acc-dim)}.tbtn,.ibtn{width:34px;height:34px;display:grid;place-items:center;background:transparent;border:none;border-radius:var(--r-md);color:var(--txt-dim);cursor:pointer;transition:background .15s,color .15s}.tbtn:hover,.ibtn:hover{background:var(--hov);color:var(--txt)}.tbtn.active{background:var(--acc);color:#04120a}.tbtn svg,.ibtn svg{width:17px;height:17px}.sep{width:1px;height:18px;background:var(--panel-border);margin:0 4px}.layers{position:fixed;left:14px;top:70px;width:216px;max-height:calc(100vh - 170px);display:flex;flex-direction:column;z-index:30;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px 8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-dim)}.count{color:var(--muted)}.rows{overflow-y:auto;padding:0 6px 8px}.row{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--r-md);cursor:pointer;color:var(--txt-dim);position:relative}.row:hover{background:var(--soft)}.row.sel{background:#2ce08017;color:var(--txt)}.row.sel:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2px;border-radius:2px;background:var(--acc)}.row.hidden{opacity:.38}.glyph{width:16px;text-align:center;font-size:13px;flex:none}.lname{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.mini{border:none;background:transparent;color:inherit;opacity:0;cursor:pointer;width:20px;height:20px;display:grid;place-items:center;border-radius:6px;flex:none}.row:hover .mini{opacity:.75}.mini:hover{background:var(--hov-strong);opacity:1!important}.mini svg{width:12px;height:12px}.empty{color:var(--muted);text-align:center;padding:22px 10px;line-height:1.7;font-size:12px}.props{position:fixed;right:14px;top:70px;width:238px;max-height:calc(100vh - 170px);overflow-y:auto;z-index:30;padding-bottom:8px}.section{padding:10px 14px 2px}.section h4{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-weight:600}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:6px}.field{display:flex;align-items:center;gap:6px;background:var(--soft);border:1px solid transparent;border-radius:var(--r-sm);padding:5px 8px;min-width:0}.field:focus-within{border-color:var(--acc-dim);background:var(--hov)}.field span{font-size:10px;color:var(--muted);flex:none}.field input{background:transparent;border:none;outline:none;color:var(--txt);width:100%;min-width:0;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px}input[type=number]::-webkit-inner-spin-button{opacity:.25}.ta{width:100%;background:var(--soft);border:1px solid transparent;border-radius:var(--r-sm);color:var(--txt);padding:6px 8px;outline:none;resize:none;line-height:1.4}.ta:focus{border-color:var(--acc-dim)}.palette{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.swatch{width:20px;height:20px;border-radius:7px;border:1px solid var(--brd);cursor:pointer;flex:none;padding:0;transition:transform .12s}.swatch:hover{transform:scale(1.12)}.swatch.cur{outline:2px solid var(--acc);outline-offset:1px}.swatch.none{background:repeating-linear-gradient(45deg,#232323 0 4px,#0d0d0d 4px 8px)}.picker{position:relative;width:20px;height:20px;border-radius:7px;overflow:hidden;border:1px dashed var(--brd);flex:none;cursor:pointer}.picker input{position:absolute;inset:-6px;width:34px;height:34px;cursor:pointer;border:none;padding:0;background:none}.hex{flex:1;min-width:0;margin-top:8px;background:var(--soft);border:1px solid transparent;border-radius:var(--r-sm);color:var(--txt);padding:5px 8px;outline:none;font-family:ui-monospace,Consolas,monospace;font-size:12px}.hex:focus{border-color:var(--acc-dim)}.hex-in{background:transparent;border:none;outline:none;color:var(--txt);width:100%;min-width:0;font-family:ui-monospace,Consolas,monospace;font-size:12px}input[type=range]{accent-color:var(--acc);width:100%;height:18px}.cpick{position:relative;flex:none}.cp-trigger{width:22px;height:22px;border-radius:7px;border:1px solid var(--brd);cursor:pointer;padding:0;transition:transform .12s}.cp-trigger:hover{transform:scale(1.1)}.cp-trigger.none{background:repeating-linear-gradient(45deg,#232323 0 4px,#0d0d0d 4px 8px)}.cp-pop{position:absolute;left:0;top:calc(100% + 8px);width:196px;padding:10px;z-index:70;cursor:default}.cp-sv{position:relative;width:100%;height:120px;border-radius:8px;cursor:crosshair;overflow:hidden}.cp-sv-w{position:absolute;inset:0;background:linear-gradient(to right,#fff,#fff0)}.cp-sv-b{position:absolute;inset:0;background:linear-gradient(to top,#000,#0000)}.cp-thumb{position:absolute;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0000008c,0 1px 4px #00000080;pointer-events:none;box-sizing:border-box}.cp-hue{position:relative;height:12px;margin-top:10px;border-radius:999px;cursor:pointer;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.cp-hthumb{position:absolute;top:1px;width:10px;height:10px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0000008c;box-sizing:border-box;pointer-events:none}.cp-row{display:flex;gap:6px;margin-top:10px;align-items:center}.cp-hex{flex:1;min-width:0;background:var(--hov);border:1px solid transparent;border-radius:var(--r-sm);color:var(--txt);padding:5px 8px;outline:none;font-family:ui-monospace,Consolas,monospace;font-size:12px}.cp-hex:focus{border-color:var(--acc-dim)}.cp-none{background:var(--hov);border:1px solid var(--panel-border);color:var(--txt-dim);padding:5px 9px;border-radius:var(--r-sm);cursor:pointer;font-size:11px}.cp-none:hover{color:var(--txt);background:var(--hov-strong)}.cp-swatches{display:flex;gap:5px;margin-top:10px;flex-wrap:wrap}.range-row{display:flex;align-items:center;gap:8px}.range-row output{font-family:ui-monospace,monospace;font-size:11px;color:var(--txt-dim);width:38px;text-align:right;flex:none}.hintlist{color:var(--muted);line-height:2.1;font-size:12px;padding:6px 16px 12px}kbd{background:var(--hov);border:1px solid var(--panel-border);border-bottom-width:2px;padding:1px 5px;border-radius:5px;font-family:inherit;font-size:10px;color:var(--txt-dim)}.multi-note{color:var(--txt-dim);padding:14px 16px;line-height:1.8}.statusbar{position:fixed;left:14px;right:14px;bottom:14px;display:flex;justify-content:space-between;align-items:center;z-index:30;pointer-events:none;gap:10px}.zoomer{display:flex;align-items:center;padding:4px;pointer-events:auto}.zval{min-width:54px;text-align:center;background:transparent;border:none;color:var(--txt-dim);cursor:pointer;font-family:ui-monospace,monospace;font-size:12px;padding:6px 4px;border-radius:var(--r-sm)}.zval:hover{color:var(--txt);background:var(--hov)}.hints{color:var(--muted);font-size:11px;background:var(--hint-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:7px 12px;border-radius:999px;border:1px solid var(--soft);pointer-events:auto}@media(max-width:980px){.hints{display:none}.props{width:212px}.layers{width:190px}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:var(--sb);border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:var(--sbh)}.landing{position:absolute;inset:0;z-index:10;overflow-y:auto;padding:26px clamp(20px,5vw,72px) 60px}.logo.big{font-size:15px}.logo.huge{font-size:22px;justify-content:center}.l-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:34px}.l-left{display:flex;align-items:center;gap:10px}.star{color:#ffd166;text-shadow:0 0 8px rgba(255,209,102,.55);font-size:13px}.star-btn{background:transparent;border:1px solid var(--panel-border);color:var(--muted);width:28px;height:28px;border-radius:8px;cursor:pointer;font-size:14px;transition:.15s}.star-btn:hover{border-color:#ffd166;color:#ffd166}.star-btn.on{color:#04120a;background:#ffd166;border-color:#ffd166;box-shadow:0 0 10px #ffd16666}.offline-badge{font-size:11px;padding:6px 11px;border-radius:999px;background:#ffb0201a;border:1px solid rgba(255,176,32,.4);color:#ffb020;white-space:nowrap}.notice{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:200;padding:10px 16px;font-size:13px;color:#ffc46b;border-color:#ffb02059;max-width:min(520px,calc(100vw - 40px));text-align:center}.admin-sec{margin-bottom:30px}.admin-sec h3{margin-bottom:12px;font-size:14px}.admin-sec .count{color:var(--muted);font-size:12px;margin-left:6px}.table{width:100%;border-collapse:collapse;overflow:hidden}.table th{text-align:left;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:10px 14px 6px;border-bottom:1px solid var(--panel-border)}.table td{padding:9px 14px;border-bottom:1px solid var(--brd-faint);font-size:12.5px}.table tr:last-child td{border-bottom:none}.role-tag{font-size:9px;letter-spacing:.08em;text-transform:uppercase;background:#2ce0801f;color:var(--acc);border-radius:5px;padding:2px 5px;margin-left:6px}.dim{color:var(--muted)}.welcome{position:absolute;inset:0;z-index:10;overflow-y:auto;padding:0 clamp(20px,5vw,64px) 40px}.w-nav{display:flex;align-items:center;justify-content:space-between;padding:22px 0}.hero-w{display:grid;grid-template-columns:minmax(320px,1fr) minmax(420px,1.15fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(20px,4vh,56px) 0 clamp(36px,6vh,80px)}@media(max-width:960px){.hero-w{grid-template-columns:1fr}}.pill{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);background:#2ce08017;border:1px solid var(--acc-dim);border-radius:999px;padding:5px 12px;margin-bottom:18px}.hero-copy h1{font-size:clamp(34px,4.6vw,58px);line-height:1.08;letter-spacing:-.02em;font-weight:800}.hero-copy h1 em{font-style:normal;color:var(--acc);text-shadow:0 0 26px var(--acc-dim)}.hero-copy p{margin-top:16px;color:var(--txt-2);font-size:15px;line-height:1.75;max-width:46ch}.hero-btns{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}.hero-btns.center{justify-content:center}.ghost-btn{padding:11px 16px;font-size:13px}.keys-row{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:28px}.kpair{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:var(--txt-2)}.mock{border-radius:20px;overflow:hidden;animation:floaty 7s ease-in-out infinite}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.mock-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--panel-border);background:#ffffff08}.mock-bar i{width:10px;height:10px;border-radius:50%;background:#3a3a41}.mock-bar i:first-child{background:#2ce080b3}.mock-bar span{margin-left:8px;font-size:11px;color:var(--muted);font-family:ui-monospace,monospace}.mock-body{display:grid;grid-template-columns:128px 1fr 118px;min-height:300px}.mock-layers,.mock-props{padding:12px;border-right:1px solid var(--soft);display:flex;flex-direction:column;gap:7px}.mock-props{border-right:none;border-left:1px solid var(--soft)}.mock-layers b,.mock-props b{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;font-weight:600}.ml{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--txt-2);padding:4px 6px;border-radius:6px}.ml.on{background:#2ce0801a;color:var(--txt);box-shadow:inset 2px 0 0 var(--acc)}.ml.i1{padding-left:14px}.gl{width:9px;height:9px;border-radius:3px;flex:none}.gl.g{background:#26262b;border:1px solid #4a4a52}.gl.r{background:#2ce080}.gl.o{background:#707070;border-radius:50%}.gl.l{background:none;height:2px;align-self:center}.gl.t{color:#c4c4c4;font-size:9px;width:auto}.mp{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--soft);border-radius:7px;padding:5px 8px}.mp span{font-size:10px;color:var(--muted)}.mp i{font-style:normal;font-family:ui-monospace,monospace;font-size:11px;color:var(--txt)}.mp .sw{width:14px;height:14px;border-radius:4px;background:var(--acc)}.range{position:relative;height:4px;border-radius:4px;background:#ffffff1a;margin:4px 2px}.range i{position:absolute;left:55%;top:-3px;width:10px;height:10px;border-radius:50%;background:var(--acc)}.mock-canvas{position:relative;background-image:radial-gradient(circle,var(--hov-strong) 1px,transparent 1.2px);background-size:22px 22px;background-position:14px 18px;overflow:hidden}.m-frame-label{position:absolute;left:34px;top:30px;font-size:10px;color:#6f6f7a}.m-frame{position:absolute;inset:44px 26px 30px 34px;border-radius:10px;background:#101013;border:1px solid #26262b;overflow:hidden}.m-shape,.m-rect,.m-circ,.m-line{position:absolute}.m-rect.f1{left:12%;top:16%;width:44%;height:38%;border-radius:8px;background:linear-gradient(135deg,#1e1e23,var(--opt));border:1px solid var(--hov);animation:drift1 9s ease-in-out infinite}.m-circ.f2{right:12%;bottom:16%;width:27%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 30%,#2ce080d9,#2ce08040);animation:drift2 11s ease-in-out infinite}.m-line.f3{left:12%;bottom:24%;width:46%;height:2px;background:repeating-linear-gradient(90deg,#2ce080 0 6px,transparent 6px 11px);opacity:.8}@keyframes drift1{0%,to{transform:translate(0)}50%{transform:translate(6%,-8%)}}@keyframes drift2{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}.m-guide-v{position:absolute;left:33%;top:0;bottom:0;width:1px;background:var(--acc);opacity:.55;animation:guideblink 3.2s ease-in-out infinite}@keyframes guideblink{0%,to{opacity:.15}50%{opacity:.65}}.m-sel{position:absolute;left:12%;top:16%;width:44%;height:38%;border:1.2px solid var(--acc);pointer-events:none}.m-sel .h{position:absolute;width:7px;height:7px;background:#0c0c0d;border:1.3px solid var(--acc)}.h.a{left:-4px;top:-4px}.h.b{right:-4px;top:-4px}.h.c{left:-4px;bottom:-4px}.h.d{right:-4px;bottom:-4px}.rot{position:absolute;left:50%;top:-20px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:#0c0c0d;border:1.3px solid var(--acc)}.rot:before{content:"";position:absolute;left:50%;top:8px;width:1px;height:9px;background:var(--acc)}.feats{padding:clamp(20px,4vh,48px) 0}.feats h2{text-align:center;font-size:clamp(24px,3vw,34px);letter-spacing:-.01em;margin-bottom:clamp(20px,3vh,40px)}.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.feat{padding:22px 20px;transition:transform .18s,border-color .18s}.feat:hover{transform:translateY(-4px);border-color:var(--acc-dim)}.ficon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:var(--acc);background:#2ce08014;border:1px solid var(--acc-dim);margin-bottom:14px}.ficon svg{width:19px;height:19px}.feat h4{font-size:14.5px;margin-bottom:8px}.feat p{color:var(--txt-2);font-size:12.5px;line-height:1.7}.bottom-cta{margin:clamp(16px,3vh,36px) auto 0;max-width:720px;text-align:center;padding:clamp(26px,4vh,44px)}.bottom-cta h3{font-size:clamp(20px,2.4vw,28px);margin-bottom:10px}.bottom-cta p{color:var(--txt-2);margin-bottom:22px;line-height:1.7}.w-foot{text-align:center;color:var(--muted);font-size:11.5px;padding:34px 0 10px}.particles{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.welcome>*:not(.particles){position:relative;z-index:1}.w-nav-actions{display:flex;align-items:center;gap:10px}.nav-link{background:none;border:none;color:var(--txt-dim);cursor:pointer;font-size:13px;padding:6px 4px}.nav-link:hover{color:var(--txt)}.reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,3vw,40px);border-top:1px solid var(--brd-faint);border-bottom:1px solid var(--brd-faint);padding:clamp(20px,3vh,34px) 0;margin-bottom:clamp(24px,5vh,60px)}.reasons .r{display:flex;flex-direction:column;gap:6px}.reasons b{font-size:14px;font-weight:650}.reasons span{color:var(--txt-2);font-size:12.5px;line-height:1.65}@media(max-width:780px){.reasons{grid-template-columns:1fr;gap:18px}}.sec-sub{text-align:center;color:var(--txt-2);margin:-12px 0 clamp(22px,3vh,36px);font-size:14px}.flow{padding:clamp(10px,2vh,26px) 0 clamp(30px,5vh,56px)}.flow h2,.feats h2,.privacy h2{text-align:center;font-size:clamp(24px,3vw,32px);letter-spacing:-.01em;margin-bottom:clamp(18px,3vh,36px)}.steps{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.step{display:flex;gap:14px;padding:18px 16px;align-items:flex-start}.step-n{font-family:ui-monospace,Consolas,monospace;font-size:22px;font-weight:700;color:var(--acc);line-height:1}.step h4{font-size:13.5px;margin-bottom:6px}.step p{color:var(--txt-2);font-size:12px;line-height:1.65}.hotband{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px 16px;padding:14px 20px;max-width:860px;margin:0 auto clamp(28px,5vh,54px)}.hb-title{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.hb-more{color:var(--muted);font-size:11.5px}.privacy{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,44px);max-width:720px;margin:0 auto clamp(30px,6vh,64px);align-items:center}.lock-badge{width:84px;height:84px;border-radius:24px;display:grid;place-items:center;color:var(--acc);background:#2ce08012;border:1px solid var(--acc-dim);box-shadow:0 0 40px var(--acc-dim)}.lock-badge svg{width:38px;height:38px}.privacy-copy ul{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:9px}.privacy-copy li{color:var(--txt-2);font-size:13px;line-height:1.6;padding-left:18px;position:relative}.privacy-copy li:before{content:"—";position:absolute;left:0;color:var(--acc)}@media(max-width:700px){.privacy{grid-template-columns:1fr}}html[data-theme=light] .app:before{background:radial-gradient(900px 480px at 72% -10%,rgba(16,168,98,.07),transparent 60%),radial-gradient(700px 520px at 10% 112%,rgba(20,40,30,.05),transparent 60%)}html[data-theme=light] .mock-bar{background:#ffffff8c}html[data-theme=light] .mock-bar i{background:#d3d8d4}html[data-theme=light] .mock-bar i:first-child{background:var(--acc)}html[data-theme=light] .m-frame{background:#fbfcfb;border-color:#161c191f}html[data-theme=light] .m-frame-label{color:#9aa19b}html[data-theme=light] .m-rect.f1{background:linear-gradient(135deg,#e9ece9,#f7f8f7);border-color:#161c1914}html[data-theme=light] .m-circ.f2{background:radial-gradient(circle at 32% 30%,#10a862cc,#10a86233)}html[data-theme=light] .gl.g{background:#f0f2f0;border-color:#c6ccc7}html[data-theme=light] .thumb{background:radial-gradient(140px 70px at 70% 20%,rgba(16,168,98,.08),transparent 60%),#161c1908}html[data-theme=light] .mono{background:linear-gradient(135deg,#fff,#eef1ee);border-color:#161c191a}html[data-theme=light] .swatch.none,html[data-theme=light] .cp-trigger.none{background:repeating-linear-gradient(45deg,#e6ebe8 0 4px,#f7f8f7 4px 8px)}html[data-theme=light] .offline-badge{color:#8a5b00;border-color:#8a5b004d;background:#ffb0201f}html[data-theme=light] .notice{border-color:#8a5b004d}html[data-theme=light] .mock-canvas{background-image:radial-gradient(circle,rgba(22,28,25,.14) 1px,transparent 1.2px)}.l-actions{display:flex;align-items:center;gap:10px}.cta{background:var(--acc);color:#04120a;border:none;border-radius:12px;padding:9px 16px;font-weight:600;font-size:13px;cursor:pointer;transition:transform .12s,box-shadow .15s}.cta:hover{transform:translateY(-1px);box-shadow:0 6px 22px var(--acc-dim)}.big-cta{padding:12px 22px;font-size:14px}.folders{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:24px}.chip{background:var(--soft);border:1px solid var(--panel-border);color:var(--txt-dim);border-radius:999px;padding:7px 14px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:.15s}.chip:hover{color:var(--txt);border-color:var(--brd)}.chip.cur{background:#2ce0801f;border-color:var(--acc-dim);color:var(--acc)}.chip.over{border-color:var(--acc);color:var(--acc);box-shadow:0 0 0 2px var(--acc-dim)}.chip-count{font-size:10px;min-width:16px;height:16px;padding:0 4px;display:inline-grid;place-items:center;border-radius:8px;background:var(--hov)}.card{transition:transform .15s,border-color .15s,opacity .15s}.card[draggable=true]:active{cursor:grabbing}.drag-hint{position:absolute;top:8px;left:10px;color:var(--muted);font-size:14px;letter-spacing:1px;-webkit-user-select:none;user-select:none}.card:hover .drag-hint{color:var(--txt-2)}.chip.ghost{border-style:dashed;color:var(--muted)}.chip-x{opacity:0;transition:.15s;font-size:13px;line-height:1}.chip:hover .chip-x{opacity:.7}.chip-x:hover{opacity:1!important;color:#ff6b6b}.chip-input{background:var(--hov);border:1px solid var(--acc-dim);outline:none;border-radius:999px;padding:7px 14px;color:var(--txt);font-size:12px;width:150px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}.card{position:relative;border-radius:var(--r-lg);overflow:hidden;cursor:pointer;text-align:left;padding:0;display:flex;flex-direction:column;transition:transform .15s,border-color .15s}.card:hover{transform:translateY(-3px);border-color:#2ce08059}.thumb{height:118px;display:grid;place-items:center;background:radial-gradient(140px 70px at 70% 20%,rgba(44,224,128,.12),transparent 60%),#ffffff08;border-bottom:1px solid var(--panel-border)}.mono{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#1d1d21,#101013);border:1px solid var(--hov-strong);color:var(--acc);font-size:20px;font-weight:700}.card-body{padding:12px 14px 30px;min-width:0}.pname{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pmeta{margin-top:4px;font-size:11px;color:var(--muted);font-family:ui-monospace,monospace}.card-tools{position:absolute;right:8px;bottom:8px;display:flex;gap:2px;align-items:center;opacity:0;transition:.15s;background:#0c0c0ebf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--panel-border);border-radius:10px;padding:2px}.card:hover .card-tools{opacity:1}.card-tools .mini{opacity:1;width:24px;height:24px}.mini.danger:hover{color:#ff7b7b;background:#ff6b6b1f}.move-sel{background:transparent;border:none;color:var(--txt-dim);font-size:11px;max-width:86px;outline:none;cursor:pointer}.move-sel option{background:var(--opt);color:var(--txt)}.card-rename{width:100%;background:transparent;border:none;outline:none;color:var(--txt);font-size:13px;font-weight:600}.add-card{min-height:190px;display:grid;place-items:center;font-size:34px;color:var(--muted);cursor:pointer;border-style:dashed!important;background:#ffffff05}.add-card:hover{color:var(--acc);border-color:var(--acc-dim)!important}.hero{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;gap:18px;padding:9vh 20px 40px;text-align:center}.hero-sub{color:var(--txt-2);line-height:1.8}.smart-guide{stroke:var(--acc);stroke-width:1;stroke-dasharray:4 4;pointer-events:none}.sel-box,.marquee,.crop-frame,.draft-shape,.rot-line{pointer-events:none}.badge{position:absolute;z-index:25;padding:3px 8px;border-radius:7px;font-family:ui-monospace,Consolas,monospace;font-size:11px;color:var(--acc);pointer-events:none;white-space:nowrap}.ctxmenu{position:absolute;z-index:80;min-width:190px;padding:5px;display:flex;flex-direction:column}.ctx-item{background:transparent;border:none;color:var(--txt-dim);text-align:left;padding:7px 10px;border-radius:8px;cursor:pointer;font-size:12px;white-space:nowrap}.ctx-item:hover{background:var(--hov);color:var(--txt)}.ctx-item.danger{color:#ff8585}.ctx-item.danger:hover{background:#ff6b6b1f}.ctx-item.dis{opacity:.35;pointer-events:none}.ctx-sep{height:1px;background:var(--panel-border);margin:4px 6px}.shape.locked{pointer-events:none}.row .mini.onlock{color:var(--acc)}.stage.tool-select .shape:not(.locked):hover rect:not(.hitarea),.stage.tool-select .shape:not(.locked):hover ellipse,.stage.tool-select .shape:not(.locked):hover text{filter:drop-shadow(0 0 .6px rgba(44,224,128,.9))}.presets{position:fixed;bottom:62px;left:50%;transform:translate(-50%);z-index:45;display:flex;align-items:center;gap:6px;padding:7px 10px}.presets-label{font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.preset{background:var(--soft);border:1px solid transparent;color:var(--txt-dim);border-radius:9px;padding:5px 10px;cursor:pointer;font-size:12px;display:flex;flex-direction:column;align-items:center;gap:1px;transition:.15s}.preset:hover{color:var(--acc);border-color:var(--acc-dim)}.preset small{font-size:9px;color:var(--muted);font-family:ui-monospace,monospace}.presets-hint{font-size:11px;color:var(--muted);margin-left:4px}.align-row{display:flex;gap:4px}.albtn{width:30px;height:30px;display:grid;place-items:center;background:var(--soft);border:1px solid transparent;border-radius:8px;color:var(--txt-dim);cursor:pointer;transition:.15s}.albtn:hover{color:var(--txt);border-color:var(--panel-border)}.albtn svg{width:15px;height:15px}.dash-sel{background:var(--soft);border:1px solid transparent;outline:none;color:var(--txt);padding:5px 6px;border-radius:var(--r-sm);font-size:12px;cursor:pointer}.dash-sel option{background:var(--opt)}.dash-sel:focus{border-color:var(--acc-dim)}.font-sel{max-width:100%}.left-cluster{display:flex;align-items:center;gap:8px;pointer-events:auto}.saved{padding:7px 12px;font-size:11px;color:var(--acc);border-radius:999px}.pages{position:fixed;bottom:62px;left:50%;transform:translate(-50%);z-index:44;display:flex;align-items:center;gap:4px;padding:5px 7px;max-width:min(80vw,640px);overflow-x:auto}.page-chip{background:transparent;border:1px solid transparent;color:var(--txt-dim);border-radius:9px;padding:5px 10px;cursor:pointer;font-size:12px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;transition:.15s}.page-chip:hover{background:var(--hov);color:var(--txt)}.page-chip.cur{background:#2ce0801f;border-color:var(--acc-dim);color:var(--acc)}.page-x{opacity:.45;font-size:12px;line-height:1}.page-chip:hover .page-x{opacity:.9}.page-x:hover{color:#ff7b7b!important}.page-add{width:24px;height:24px;border-radius:8px;border:1px dashed var(--brd);background:transparent;color:var(--txt-dim);cursor:pointer;flex:none}.page-add:hover{color:var(--acc);border-color:var(--acc-dim)}.page-input{background:var(--hov);border:1px solid var(--acc-dim);outline:none;border-radius:8px;padding:5px 8px;color:var(--txt);font-size:12px;width:120px}.user-chip{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px;background:var(--soft);border:1px solid var(--panel-border)}.uava{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--acc);color:#04120a;font-weight:700;font-size:12px}.uava img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.uname{font-size:12px;color:var(--txt);white-space:nowrap}.uname small{color:var(--muted)}.auth-wrap{position:absolute;inset:0;z-index:50;display:grid;place-items:center}.auth-card{width:min(360px,calc(100vw - 32px));padding:30px 28px 22px;display:flex;flex-direction:column;gap:12px;text-align:left}.auth-sub{color:var(--txt-2);margin-top:-6px}.afield{display:flex;flex-direction:column;gap:5px}.afield span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--txt-2)}.afield input{background:var(--hov);border:1px solid transparent;border-radius:var(--r-md);color:var(--txt);padding:10px 12px;outline:none;transition:border-color .15s}.afield input:focus{border-color:var(--acc-dim);background:var(--hov)}.aerr{background:#ff5a5a1a;border:1px solid rgba(255,107,107,.35);color:#ff9b9b;border-radius:var(--r-sm);padding:8px 10px;font-size:12px}.cta.wide{width:100%;padding:11px;font-size:13px}.cta:disabled{opacity:.45;cursor:default;transform:none!important;box-shadow:none!important}.aswap{background:none;border:none;color:var(--acc);cursor:pointer;font-size:12px;padding:2px;text-align:center}.aswap:hover{text-decoration:underline}.aguest{background:none;border:none;color:var(--muted);cursor:pointer;font-size:11px;padding:4px;text-align:center}.aguest:hover{color:var(--txt-dim)}.help-overlay{position:fixed;inset:0;z-index:100;background:#0404058c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center}.help{width:min(720px,calc(100vw - 40px));max-height:calc(100vh - 80px);overflow-y:auto;padding:22px 26px}.help-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.help-head h3{font-size:15px;font-weight:700;letter-spacing:.04em}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 34px}.help-grid h4{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin:14px 0 8px}.hrow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;color:var(--txt-dim);font-size:12px;border-bottom:1px dashed var(--soft)}.hrow kbd{flex:none;max-width:46%;text-align:right}
