@font-face{font-family:Inter;src:url(/fonts/Inter-variable.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}:root{font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f2f2f0;--app:#121211;--surface:#1c1c1b;--raised:#242420;--canvas:#161615;--line:#2a2a28;--muted:#5a5a56;--secondary:#8a8a86;--accent:#e8f53a;--green:var(--accent);background:#121211;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-width:0;min-height:100%;margin:0}body{font-size:12px;line-height:1.35}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;transition:background .15s,border-color .15s,color .15s}button:disabled{opacity:.35;cursor:not-allowed}button:hover:not(:disabled){border-color:#48483e}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}svg{flex-shrink:0;width:16px;height:16px}img{display:block}button img{flex-shrink:0}button{touch-action:manipulation}button,input,select{max-width:100%}button{overflow-wrap:anywhere}[hidden],.hidden{display:none!important}.header{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:12px;height:48px;padding:0 16px;display:flex}.brand{color:inherit;flex-shrink:0;align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{background:var(--accent);width:22px;height:22px;color:var(--canvas);border-radius:4px;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.brand-mark svg{width:16px;height:16px}.brand b{letter-spacing:0;font-size:13px;font-weight:600;line-height:16px;display:block}.brand small{letter-spacing:.6px;color:var(--muted);font-size:9px;font-weight:500;line-height:11px;display:block}.project-title{border-left:1px solid var(--line);white-space:nowrap;flex:1;align-items:center;gap:12px;min-width:0;height:20px;padding-left:12px;font-size:13px;font-weight:500;display:flex}.private-badge{color:var(--secondary);background:var(--raised);border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:10px;line-height:12px}.header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.history{gap:8px;display:flex}.btn,.icon-btn{border:1px solid var(--line);background:var(--raised);border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:30px;padding:6px 10px;font-size:12px;font-weight:500;line-height:16px;display:flex}.icon-btn{min-width:34px;padding:6px 8px}.btn svg,.btn img,.icon-btn svg,.icon-btn img{width:16px;height:16px}.btn.primary,.primary{background:var(--accent);border-color:var(--accent);color:var(--canvas);font-weight:600}.primary:hover:not(:disabled){background:#f0fa69;border-color:#f0fa69}.subtle{color:var(--secondary)}.language-switch{background:var(--raised);border:1px solid var(--line);border-radius:6px;flex-shrink:0;padding:2px;display:flex}.language-switch button{color:var(--secondary);background:0 0;border:0;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600;line-height:14px}.language-switch button.active{background:var(--accent);color:var(--canvas)}.workspace{grid-template-columns:280px minmax(0,1fr) 300px;height:calc(100dvh - 48px);min-height:0;display:grid}.left-panel,.right-panel{background:var(--surface);scrollbar-width:thin;scrollbar-color:#3c3c35 transparent;overscroll-behavior:contain;min-width:0;overflow-y:auto}.left-panel{border-right:1px solid var(--line);flex-direction:column;gap:16px;padding:16px 14px;display:flex}.right-panel{border-left:1px solid var(--line);flex-direction:column;gap:12px;padding:16px 12px;display:flex}.panel-title{flex-direction:column;flex-shrink:0;gap:2px;padding:0;display:flex}.panel-title>span{font-size:14px;font-weight:600}.panel-title small{color:var(--muted);letter-spacing:.5px;font-size:9px;font-weight:500}.control-section{flex-shrink:0;min-width:0;padding:0}h3{flex-direction:column;gap:2px;margin:0 0 8px;font-size:12px;font-weight:600;line-height:15px;display:flex}h3>span{color:var(--muted);letter-spacing:.4px;font-size:9px;font-weight:500}.shape-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.choice{border:1px solid var(--line);background:var(--raised);min-width:0;min-height:79px;color:var(--secondary);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 8px 8px;font-size:11px;font-weight:500;line-height:14px;display:flex}.choice.selected{background:var(--accent);border-color:var(--accent);color:var(--canvas);font-weight:600}.shape-preview{background:var(--canvas);border-radius:4px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.shape-preview img{object-fit:contain;width:40px;height:40px}.shape-preview svg{width:28px;height:28px}.choice.selected .shape-preview{background:#d4e02e}.choice>svg{width:28px;height:28px}.upload-shape{background:var(--raised);border:1px solid var(--line);color:var(--secondary);border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:38px;margin-top:8px;padding:10px 12px;font-size:12px;font-weight:500;line-height:16px;display:flex}.upload-shape img,.upload-shape svg{width:16px;height:16px}.upload-shape span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.upload-shape.active{border-color:var(--accent);color:var(--accent)}.arrangement-grid .choice{gap:6px;min-height:76px;padding:8px}.arrangement-grid .shape-preview{width:56px;height:36px}.arrangement-grid .choice img{object-fit:contain;width:48px;height:28px}.arrangement-grid .choice>img{padding:0}.preset{background:var(--raised);border:1px solid var(--line);text-align:left;border-radius:6px;align-items:center;gap:10px;width:100%;min-height:46px;margin:0 0 8px;padding:8px;display:flex}.preset>img,.preset-preview{object-fit:contain;border-radius:3px;flex-shrink:0;width:40px;height:28px;display:block}.preset>span:nth-child(2){flex:1;min-width:0}.preset b{margin-bottom:2px;font-size:12px;font-weight:500;line-height:15px;display:block}.preset small{color:var(--muted);font-size:10px;line-height:13px}.preset>span:last-child:not(:nth-child(2)){color:var(--secondary)}.preset-section{flex:1}.preset-actions{align-items:stretch;gap:8px;display:flex}.preset-actions button,.reset-btn{background:var(--raised);border:1px solid var(--line);color:var(--secondary);border-radius:6px;min-width:0;padding:8px 10px;font-size:11px;line-height:14px}.preset-actions button{flex:1}.reset-btn{text-align:center;width:100%;margin:0}.text-btn{color:var(--accent);background:0 0;border:0;padding:8px 0 0;font-size:11px}.micro{color:var(--muted);overflow-wrap:anywhere;margin:8px 0 0;font-size:10px;line-height:1.5}.local-note{color:var(--muted);gap:8px;margin-top:auto;padding-top:8px;font-size:10px;display:flex}.local-note small{margin-top:3px;font-size:9px;display:block}.status-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.main-panel{background:var(--app);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.canvas-toolbar{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:10px 12px;display:flex}.view-tabs{border:1px solid var(--line);background:var(--raised);border-radius:6px;gap:2px;min-width:0;padding:3px;display:flex}.view-tabs button{color:var(--secondary);white-space:nowrap;background:0 0;border:0;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:500;line-height:16px}.view-tabs button.active{background:var(--accent);color:var(--canvas);font-weight:600}.zoom-tools{color:var(--secondary);flex-shrink:0;align-items:center;gap:6px;font-size:12px;display:flex}.zoom-tools button{background:var(--raised);border:1px solid var(--line);color:#f2f2f0;border-radius:4px;place-items:center;min-width:28px;height:28px;padding:4px 7px;font-size:14px;display:grid}.zoom-tools #zoom-fit{color:var(--secondary);min-width:40px;font-size:11px}.zoom-tools span{text-align:center;min-width:34px}.canvas-area{background:var(--app);flex:1;justify-content:center;align-items:center;min-height:0;padding:8px 24px;display:flex;position:relative;overflow:auto}.artboard-wrap{width:min(100%,440px);max-width:100%;aspect-ratio:var(--ratio,4/3);transform:scale(var(--zoom,1));transform-origin:50%;flex-shrink:0;position:relative}#artboard{background:var(--canvas);border:1px solid var(--line);border-radius:8px;width:100%;height:100%;overflow:hidden}#artboard>svg{width:100%;height:100%;display:block}.dimension{color:var(--muted);pointer-events:none;z-index:1;font-size:10px;font-weight:500;line-height:13px;position:absolute}.dimension.top{text-align:center;white-space:nowrap;top:12px;left:50%;transform:translate(-50%)}.dimension.side{writing-mode:horizontal-tb;white-space:nowrap;top:50%;left:12px;transform:translateY(-50%)}.dimension:before,.dimension:after{display:none}.canvas-status{border-top:1px solid var(--line);min-height:38px;color:var(--muted);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:6px 12px;font-size:10px;line-height:14px;display:flex}.canvas-hint,#canvas-hint{text-align:left;color:var(--muted);overflow-wrap:anywhere;min-width:0;margin:0;font-size:10px;line-height:14px;position:static}.status-meta{color:var(--secondary);flex-shrink:0;align-items:center;gap:12px;display:flex}.status-meta>span{align-items:center;gap:5px;display:flex}.canvas-status strong{font-weight:500}.footer-generate,#footer-generate{background:var(--accent);color:var(--canvas);white-space:nowrap;border:0;border-radius:4px;padding:5px 8px;font-size:10px;font-weight:600}.gradient-overlay line{stroke:var(--accent);stroke-dasharray:1.5 1.5;stroke-width:.3px;opacity:.55}.gradient-overlay circle{fill:var(--canvas);stroke:var(--accent);stroke-width:.5px}.gradient-overlay text{text-anchor:middle;fill:var(--accent);pointer-events:none;font-family:Inter,sans-serif;font-weight:600}.gradient-overlay g{cursor:grab;touch-action:none;outline:none}.gradient-overlay g:active{cursor:grabbing}.gradient-overlay g:focus-visible circle{stroke-width:1.5px;stroke:#fff}.right-panel .control-section{background:var(--raised);border:1px solid var(--line);border-radius:6px;padding:12px}.right-panel .control-section h3{margin:0 0 10px}.section-toggle{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:4px 0;display:flex}.section-titles{flex-direction:column;gap:1px;min-width:0;display:flex}.section-titles b{font-size:12px;font-weight:600;line-height:15px}.section-titles small{letter-spacing:.4px;color:var(--muted);font-size:9px;font-weight:500;line-height:11px}.section-toggle .chevron{flex-shrink:0;width:12px;height:12px;transition:transform .15s}.section-toggle[aria-expanded=false] .chevron{transform:rotate(-90deg)}.right-panel .control-section:has(.section-toggle[aria-expanded=false]) h3{margin-bottom:0}.section-content{min-width:0}.field{min-width:0;margin:0 0 10px;display:block}.field:last-of-type{margin-bottom:0}.field-head{min-height:21px;color:var(--secondary);justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:11px;font-weight:500;display:flex}.field-head>span:first-child{min-width:0}.range-value{background:var(--canvas);border:1px solid var(--line);border-radius:4px;flex-shrink:0;align-items:center;gap:4px;min-height:21px;padding:2px 6px;display:flex}.field em,.dimensions em{color:var(--muted);font-size:10px;font-style:normal}input[type=number]{appearance:textfield;border:1px solid var(--line);background:var(--canvas);color:#f2f2f0;border-radius:4px;width:58px;min-width:0;padding:5px 7px;font-size:11px;font-weight:500}input::-webkit-inner-spin-button{appearance:none;margin:0}input::-webkit-outer-spin-button{appearance:none;margin:0}.range-value input[type=number]{text-align:right;background:0 0;border:0;border-radius:0;width:35px;padding:0;line-height:14px}.range-value:focus-within{border-color:var(--accent)}.range-line{align-items:center;gap:8px;display:flex}input[type=range]{appearance:none;background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--fill,0%),#343430 var(--fill,0%),#343430 100%);cursor:pointer;width:100%;min-width:0;height:4px;accent-color:var(--accent);border-radius:999px;margin:7px 0 8px;padding:0;display:block}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:2px solid var(--raised);width:10px;height:10px;box-shadow:0 0 0 1px var(--accent);border-radius:50%}input[type=range]::-moz-range-thumb{border:2px solid var(--raised);background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 1px var(--accent);border-radius:50%}input[type=range]:focus-visible{outline-offset:5px}.dimensions{align-items:center;gap:8px;display:flex}.dimensions>label{min-width:0;color:var(--secondary);flex:1;font-size:11px;font-weight:500}.dimensions>span{display:none}.dimensions label div{background:var(--canvas);border:1px solid var(--line);border-radius:4px;justify-content:space-between;align-items:center;gap:4px;margin-top:4px;padding:6px 8px;display:flex}.dimensions input{text-align:left;background:0 0;border:0;flex:1;width:100%;min-width:0;padding:0;font-size:12px}.dimensions label div:focus-within{border-color:var(--accent)}.toggle{min-height:28px;color:var(--secondary);cursor:pointer;align-items:center;gap:8px;margin-top:10px;padding:4px 0;font-size:11px;font-weight:500;display:flex;position:relative}.toggle span{flex:1;min-width:0}.toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle i{background:#48483f;border-radius:999px;flex-shrink:0;width:36px;height:20px;transition:background .15s;display:block;position:relative}.toggle i:after{content:"";background:var(--secondary);border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle input:checked+i{background:var(--accent)}.toggle input:checked+i:after{background:var(--canvas);transform:translate(16px)}.toggle i img{width:36px;height:20px;display:none;position:absolute;inset:0}.toggle input:checked+i:has(img){background:0 0}.toggle input:checked+i:has(img):after{display:none}.toggle input:checked+i img{display:block}.toggle input:focus-visible+i{outline:2px solid var(--accent);outline-offset:3px}.section-content>.toggle:first-child{margin-top:0}.color-pair{flex-direction:column;gap:10px;margin:10px 0;display:flex}.color-pair>label{cursor:pointer;align-items:center;gap:8px;width:100%;min-width:0;display:flex}.color-pair>span{display:none}.color-meta{min-width:0;color:var(--secondary);flex-direction:column;gap:1px;font-size:11px;font-weight:500;display:flex}.color-meta code{font:inherit;color:#f2f2f0}.color-pair input{appearance:none;border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;width:22px;height:22px;padding:0}.color-pair input::-webkit-color-swatch-wrapper{padding:0}.color-pair input::-webkit-color-swatch{border:0;border-radius:3px}.color-pair input::-moz-color-swatch{border:0;border-radius:3px}.select-label{color:var(--secondary);flex-direction:column;gap:4px;margin:0 0 10px;font-size:11px;font-weight:500;display:flex}.select-label select{background:var(--canvas);color:#f2f2f0;border:1px solid var(--line);border-radius:4px;width:100%;min-width:0;padding:6px 8px;font-size:12px}.kernel-badge{background:var(--canvas);border:1px solid var(--line);color:var(--secondary);border-radius:4px;align-items:center;gap:8px;margin-top:10px;padding:8px;font-size:10px;display:flex}.kernel-badge>span{color:var(--accent);font-size:23px}.kernel-badge small{color:var(--muted);margin-top:3px;font-size:9px;display:block}#validation{color:#c6be73;background:#29281c;flex-shrink:0;max-height:72px;font-size:10px;line-height:1.5;overflow:auto}#validation:empty{display:none}#validation span{padding:7px 12px;display:block}#validation .warn{color:#e7ad7a}.canvas-empty{background:var(--raised);color:#e7c47a;border:1px solid #665a36;border-radius:6px;max-width:min(350px,90%);padding:20px;font-size:12px;line-height:1.6;position:absolute}.three-placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:20px;display:flex}.three-placeholder>span{color:var(--accent);font-size:42px}.three-placeholder h3{margin:12px 0 0;font-size:16px}.three-placeholder p{color:var(--secondary);margin:10px 0 18px;font-size:12px}.three-placeholder small{color:var(--muted);margin-top:12px;font-size:10px}#cad-canvas{object-fit:contain;width:100%;height:100%}.toast{z-index:30;opacity:0;pointer-events:none;background:var(--raised);border:1px solid var(--line);color:#f2f2f0;border-radius:6px;max-width:calc(100vw - 24px);padding:10px 16px;font-size:12px;line-height:1.6;transition:all .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);box-shadow:0 8px 32px #0005}.toast.visible{opacity:1;transform:translate(-50%)}.toast.error{color:#e7ba83;border-color:#87643b}dialog{background:var(--surface);color:#f2f2f0;border:1px solid var(--line);border-radius:12px;width:min(560px,100% - 32px);padding:24px;box-shadow:0 30px 100px #0008}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0009}.dialog-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dialog-head small{color:var(--muted);letter-spacing:1.5px;font-size:9px}.dialog-head h2{margin:8px 0 0;font-size:22px;font-weight:600}.dialog-desc{color:var(--secondary);margin:16px 0 20px;font-size:11px;line-height:1.7}.export-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.export-options button{text-align:left;background:var(--raised);border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:16px 12px;display:flex}.export-options b{width:100%;font-size:14px;font-weight:600}.export-options b span{color:var(--secondary);border:1px solid var(--line);vertical-align:middle;border-radius:4px;margin-left:7px;padding:2px 4px;font-size:8px;font-weight:400}.export-options small{color:var(--secondary);flex:1;font-size:10px;line-height:1.7}.export-options svg{color:var(--accent)}.export-info{background:var(--raised);border-radius:6px;margin-top:20px;padding:12px}.export-info b{font-size:11px;font-weight:600}.export-info p{color:var(--secondary);margin-bottom:0;font-size:10px;line-height:1.7}#export-progress{color:var(--accent);min-height:14px;margin-bottom:0;font-size:11px}@media (max-width:1190px){.workspace{grid-template-columns:240px minmax(0,1fr) 270px}.left-panel{padding:16px 12px}.right-panel{padding:16px 10px}.canvas-toolbar{flex-wrap:wrap;gap:8px}.view-tabs button{padding:6px 8px;font-size:11px}.zoom-tools{margin-left:auto}.private-badge{display:none}.status-meta{gap:8px}.canvas-status{flex-wrap:wrap}.project-title{font-size:12px}.header{gap:10px}.header-actions,.history{gap:6px}}@media (max-width:900px){.header{flex-wrap:wrap;row-gap:8px;height:auto;min-height:48px;padding:8px 12px}.project-title{flex:1}.header-actions{margin-left:auto}.workspace{grid-template-columns:210px minmax(0,1fr) 240px;height:calc(100dvh - 94px)}.left-panel{gap:14px;padding:14px 10px}.right-panel{padding:14px 8px}.right-panel .control-section{padding:10px}.canvas-area{padding:8px 14px}.canvas-toolbar{padding:10px}.view-tabs{width:100%}.view-tabs button{white-space:normal;flex:1;padding:6px}.status-meta{flex-wrap:wrap}.canvas-status{align-items:flex-start}.status-meta #save-status{max-width:120px}}@media (max-width:760px){.header{min-height:56px}.brand{gap:8px}.brand b{font-size:12px}.project-title{display:none}.header-actions{gap:5px}.history{gap:4px}.btn{min-height:34px;padding:7px}.icon-btn{min-width:32px;min-height:34px;padding:6px}.header-actions .btn span{display:none}.header-actions .primary span{display:inline}.language-switch button{padding:6px}.workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:auto;min-height:0}.main-panel{border-bottom:1px solid var(--line);grid-area:1/1/auto/-1;height:64dvh;min-height:380px}.canvas-toolbar{flex-wrap:nowrap;min-height:54px}.view-tabs{flex:1;width:auto}.view-tabs button{white-space:nowrap;padding:7px;font-size:11px}.zoom-tools{gap:4px}.zoom-tools button{min-width:30px;height:32px}.canvas-area{padding:12px 20px;overflow:auto}.artboard-wrap{max-width:100%}.canvas-status{gap:6px;min-height:48px;font-size:9px}.canvas-hint,#canvas-hint{flex:1;font-size:9px}.status-meta{justify-content:flex-end;gap:6px;max-width:55%;font-size:9px}.left-panel{border-right:0;grid-area:2/1;padding:16px 12px;overflow:visible}.right-panel{grid-area:2/2;padding:16px 10px;overflow:visible}.left-panel,.right-panel{min-width:0}.choice{min-height:80px}.preset b{font-size:11px}.preset small{font-size:9px}.preset-actions{flex-direction:column}.micro{font-size:10px}.local-note{display:none}.field-head{gap:4px}.range-value{padding:3px 4px}.range-value input[type=number]{width:30px}.toggle,.section-toggle{min-height:36px}input[type=range]{margin-top:12px;margin-bottom:13px}input[type=range]::-webkit-slider-thumb{width:14px;height:14px}input[type=range]::-moz-range-thumb{width:12px;height:12px}.footer-generate,#footer-generate{min-height:30px}.toast{bottom:12px}}@media (max-width:460px){.header{padding:8px}.brand small{font-size:8px}.header-actions{gap:4px}.history{gap:3px}.header-actions .btn{padding:6px}.header-actions .primary span{display:none}.icon-btn{min-width:28px;padding:5px}.language-switch button{padding:5px}.canvas-toolbar{flex-wrap:wrap;gap:6px}.view-tabs{flex:initial;width:100%}.zoom-tools{margin-left:auto}.main-panel{height:65dvh;min-height:390px}.workspace{flex-direction:column;display:flex}.main-panel{order:0}.left-panel{border-bottom:1px solid var(--line);order:1}.right-panel{border-left:0;order:2;grid-template-columns:minmax(0,1fr);padding:12px;display:grid}.left-panel{padding:16px}.shape-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.choice{padding:8px 4px;font-size:10px}.shape-preview,.shape-preview img{width:36px;height:36px}.arrangement-grid .shape-preview{width:48px}.arrangement-grid .choice img{max-width:44px}.preset-section{flex:initial}.preset-actions{flex-direction:row}.preset-actions button{min-height:40px}.status-meta{gap:4px;max-width:58%}.status-meta #save-status{max-width:90px}.export-options{gap:8px}.export-options button{padding:12px 10px}dialog{padding:20px}.dialog-head h2{font-size:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}#left-controls{flex-direction:column;flex:1;gap:16px;min-height:0;display:flex}#right-controls{flex-direction:column;gap:10px;display:flex}.rectangle-preview{border:1.5px solid #8a8a86;border-radius:2px;width:28px;height:22px}.choice.selected .rectangle-preview{border-color:#161615}.footer-generate small{opacity:.7;margin-left:6px;font-size:9px;font-weight:400}.thickness-input{border:1px solid var(--line);background:var(--canvas);border-radius:4px;justify-content:space-between;align-items:center;padding:6px 8px;display:flex}.thickness-input input{background:0 0;border:0;width:100%;padding:0;font-size:12px}.thickness-input em{color:var(--muted);font-size:11px;font-style:normal}.limits-details{color:var(--muted);margin-top:8px;font-size:10px}.limits-details summary{cursor:pointer}.gradient-overlay .handle-hit{fill:#0000;stroke:#0000;pointer-events:all}.gradient-overlay [data-handle=gradientStart] circle:not(.handle-hit){fill:var(--accent)}.gradient-overlay [data-handle=gradientStart] text{fill:#161615}.gradient-overlay line{stroke-dasharray:none}#right-controls{flex-shrink:0}@media (max-width:460px){.shape-preview,.shape-preview img{width:40px;height:40px}.arrangement-grid .choice img{width:48px;max-width:none;height:28px}.arrangement-grid .shape-preview{width:48px;height:36px}.footer-generate small{display:none}}.right-panel{gap:10px;padding-top:15px}.panel-title>span{line-height:17px}.panel-title small{line-height:13px}.field-head{min-height:19px;margin-bottom:0}.range-value{min-height:19px}.range-value input[type=number]{line-height:13px}.field input[type=range]{margin:6px 0 0}.color-meta,.select-label{line-height:13px}.canvas-toolbar{min-height:54px}.canvas-status{min-height:49px}.canvas-area{padding-top:15px}.dimension{background:var(--canvas);padding:0 3px}.preset-actions button{white-space:nowrap;text-overflow:ellipsis;padding:8px 6px;font-size:10px;overflow:hidden}@media (max-width:760px){.field input[type=range]{margin-top:12px;margin-bottom:6px}.canvas-status{min-height:49px}}.export-download-icon{background:var(--accent);border-radius:4px;flex-shrink:0;place-items:center;width:24px;height:24px;display:grid}.export-download-icon img{width:16px;height:16px}.site-nav{background:var(--app);border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;height:42px;padding:0 20px;font-size:12px;display:flex}.site-nav>div{align-items:center;gap:20px;min-width:0;display:flex}.site-nav a{color:var(--secondary);white-space:nowrap;padding:12px 0;text-decoration:none}.site-nav a.active{color:var(--accent);border-bottom:2px solid var(--accent)}#identity-label{color:var(--secondary);text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}#unread-badge:not(:empty){background:var(--accent);color:var(--app);border-radius:8px;padding:1px 5px;font-size:10px;display:inline-flex}.workspace{height:calc(100dvh - 90px)}.community-page{max-width:1140px;margin:auto;padding:48px 32px 72px;font-size:14px;line-height:1.6}.community-page .btn,#community-dialog .btn{width:max-content;min-height:36px;padding:8px 14px;text-decoration:none}.page-heading{margin:0 0 36px}.page-heading small,.profile-card small,.section-heading small,.guide-card>small{letter-spacing:2px;color:var(--accent);font-size:10px}.page-heading h1{letter-spacing:-1px;margin:6px 0 8px;font-size:32px;font-weight:550}.page-heading p,.section-note,.section-heading span{color:var(--secondary)}.page-empty{text-align:center;border:1px dashed #37372f;border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:56px 24px;display:flex}.page-empty h2{margin:0;font-size:21px;font-weight:500}.page-empty p{max-width:530px;color:var(--secondary);margin:0}.empty-symbol{color:var(--accent);font-size:32px;line-height:1.6}.page-empty details{text-align:left;color:var(--secondary);max-width:480px;font-size:12px}.profile-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:24px;margin-bottom:44px;padding:28px;display:flex}.profile-card>div:nth-child(2){flex:1;min-width:0}.profile-avatar{background:var(--accent);width:72px;height:72px;color:var(--app);border-radius:50%;flex-shrink:0;place-items:center;font-size:30px;font-weight:600;display:grid}.profile-card h1{overflow-wrap:anywhere;margin:4px 0 6px;font-size:25px;line-height:1.4}.user-bio{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px}.local-note,.fine-print{color:var(--secondary);font-size:12px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin:0 0 12px;display:flex}.section-heading h2{margin:4px 0;font-size:22px}.section-heading span{margin-left:8px;font-size:14px;font-weight:400}.inline-actions{flex-wrap:wrap;gap:8px;display:flex}.works-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.work-card{border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden}.work-art{height:130px;color:var(--app);background:radial-gradient(circle,#a7b72a 3px,#0000 3.5px) 50%/16px 16px;place-items:center;display:grid}.work-art span{background:var(--accent);border-radius:3px;padding:4px 10px;font-size:28px;font-weight:600}.work-copy{padding:18px}.work-copy h3{overflow-wrap:anywhere;font-size:17px;line-height:1.5;display:block}.work-copy p{color:var(--secondary);margin:0 0 16px;font-size:11px}.work-copy .btn{min-height:32px;padding:6px 9px;font-size:11px}.notice-list{flex-direction:column;gap:16px;display:flex}.notice-card{background:var(--surface);border:1px solid var(--line);color:inherit;border-radius:10px;padding:28px 50px 28px 28px;text-decoration:none;display:block;position:relative}.notice-card:hover{border-color:#545742}.notice-card h2{margin:8px 0;font-size:21px;font-weight:500}.notice-card p{color:var(--secondary);overflow-wrap:anywhere;margin:0}.notice-meta{color:var(--secondary);font-size:11px}.notice-meta b{color:var(--accent);margin-left:12px;font-weight:500}.notice-arrow{color:var(--accent);font-size:22px;position:absolute;top:28px;right:25px}.text-card{background:var(--surface);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:12px;padding:30px}.text-card h2{margin:24px 0 10px;font-size:18px;font-weight:500}.text-card h2:first-child{margin-top:0}.text-card p{color:#b3b3a9;line-height:1.85}.text-card .btn{margin-top:24px}.guide-card{margin-top:28px}.notice-body{white-space:pre-wrap;font-size:15px;line-height:1.9}.back-link{color:var(--secondary);margin-bottom:28px;text-decoration:none;display:block}#community-dialog{background:var(--surface);border:1px solid #3b3d30;border-radius:12px;width:calc(100% - 32px);max-width:560px;max-height:88dvh;padding:28px;overflow:auto}#community-dialog form{flex-direction:column;gap:18px;display:flex}#community-dialog h2{margin:0;font-size:21px;line-height:1.4}.community-field{flex-direction:column;gap:7px;font-size:13px;display:flex}textarea,.community-field input,.community-field select,.user-search input{font:inherit;color:inherit;background:var(--app);border:1px solid #3c3c35;border-radius:6px;width:100%;min-height:40px;padding:10px}textarea{resize:vertical;min-height:100px}textarea[name=body]{min-height:190px}.form-actions{justify-content:flex-end;gap:8px;display:flex}.form-error,.inline-error{color:#f5ac8e;white-space:pre-wrap;font-size:13px}.form-error:empty{display:none}.privacy-consent{color:var(--secondary);text-align:left;align-items:flex-start;gap:8px;max-width:500px;font-size:12px;display:flex}.privacy-consent input{width:15px;height:15px;min-height:15px;accent-color:var(--accent);flex-shrink:0;margin-top:3px}.privacy-consent a{color:var(--accent)}.management-tabs{gap:10px;margin-bottom:30px;display:flex}.user-search{max-width:500px;margin:0 0 24px}.user-search label{color:var(--secondary);margin-bottom:6px;font-size:12px;display:block}.user-search>div{gap:8px;display:flex}.table-wrap{border:1px solid var(--line);border-radius:8px;margin-bottom:16px;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:600px;font-size:12px}th,td{border-bottom:1px solid var(--line);padding:16px;font-weight:400}th{color:var(--secondary);background:var(--surface)}td b{font-weight:500}td small{color:var(--secondary);overflow-wrap:anywhere;max-width:250px;font-size:10px;display:block}.status-pill{color:#cfdf85;background:#292e1a;border-radius:4px;padding:3px 8px;display:inline-block}.status-pill.suspended{color:#ecc0a1;background:#3d2d24}.community-page button{flex-shrink:0}body:has(.community-page:not([hidden])) .header #save-account{display:none}@media (max-width:1100px){.header{flex-wrap:wrap;height:auto;min-height:48px;padding:10px 14px}.header-actions{flex-wrap:wrap}.header .project-title{display:none}.workspace{height:calc(100dvh - 110px)}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.site-nav{flex-wrap:wrap;gap:0;height:auto;min-height:44px;padding:0 14px}.site-nav>div{gap:16px}.site-nav>div:last-child{font-size:11px}.site-nav a{padding:10px 0}.workspace{height:auto}.community-page{padding:30px 18px 60px}.page-heading{margin-bottom:24px}.page-heading h1{font-size:28px}.profile-card{flex-wrap:wrap;gap:14px;padding:20px}.profile-avatar{width:52px;height:52px;font-size:22px}.profile-card h1{font-size:20px}.profile-card>.btn{margin-left:66px}.section-heading{flex-wrap:wrap;gap:10px}.works-grid{grid-template-columns:1fr}.page-empty{padding:36px 16px}.notice-card,.text-card{padding:22px}.notice-card{padding-right:40px}.notice-card h2{font-size:19px}.notice-arrow{top:22px;right:18px}#identity-label{display:none}.user-bio{font-size:13px}.local-note{font-size:10px}.header-actions{gap:5px}.header-actions .btn{padding:5px 7px;font-size:11px}.brand{gap:8px}.brand b{font-size:12px}.language-switch button{padding:4px 6px}}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;max-width:480px;margin:0 auto;padding:32px}.auth-card small{letter-spacing:2px;color:var(--accent);font-size:10px}.auth-card h2{margin:6px 0 12px;font-size:27px}.auth-card p{color:var(--secondary);line-height:1.7}.auth-card form{flex-direction:column;gap:18px;display:flex}.auth-card .management-tabs{margin:24px 0}.auth-card .text-btn{margin-top:18px}.auth-card .config-warning{color:#d7d3a4;border:1px solid #57543c;border-radius:6px;padding:12px;font-size:12px}.auth-divider{color:var(--secondary);align-items:center;gap:12px;margin:28px 0 16px;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.google-login{width:100%!important}.auth-card .fine-print{margin-bottom:0}.auth-card input:disabled{opacity:.45}@media (max-width:460px){.auth-card{padding:22px}.site-nav>div{gap:12px}}#export-files{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.ready-download{color:var(--accent);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:4px;padding:6px 8px;font-size:11px;text-decoration:none}.community-page a.btn{color:inherit}.community-page a.btn.primary{color:var(--canvas)}@media (max-width:760px){.profile-card{grid-template-columns:52px minmax(0,1fr);align-items:start;display:grid}.profile-card>.btn{grid-column:2;margin-left:0}.profile-card>div:nth-child(2){width:100%}.profile-card small{letter-spacing:1.4px}.profile-avatar{margin-top:8px}}.profile-actions{flex-direction:column;gap:8px;display:flex}@media (max-width:760px){.profile-actions{grid-column:2}}.trial-intro{grid-template-columns:1.5fr 1fr;align-items:center;gap:48px;padding:16px 0 36px;display:grid}.trial-intro small,.trial-settings>small,.trial-unlock small{color:var(--accent);letter-spacing:2px;font-size:10px}.trial-intro h1{margin:16px 0;font-size:clamp(30px,4vw,48px);line-height:1.25}.trial-intro p,.trial-unlock p{color:var(--secondary);font-size:13px;line-height:1.9}.trial-intro .btn{align-items:center;gap:28px;margin-top:16px;display:inline-flex}.trial-intro aside{border-left:1px solid var(--line);padding:24px 32px}.trial-intro aside h2{margin:20px 0 12px;font-size:18px}.trial-intro aside p{color:var(--muted);font-size:12px}.trial-pill{color:var(--accent);border:1px solid #e8f53a55;border-radius:20px;padding:5px 10px;font-size:11px;display:inline-block}.trial-playground{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:280px minmax(0,1fr);display:grid;overflow:hidden}.trial-settings{border-right:1px solid var(--line);padding:26px 24px}.trial-settings h2{margin:12px 0 22px;font-size:17px}.trial-presets{gap:8px;margin:0 0 28px;display:grid}.trial-presets .btn{text-align:left;justify-content:flex-start}.trial-presets .btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:#e8f53a0b}.trial-field{color:var(--secondary);margin:22px 0;font-size:12px;display:block;position:relative}.trial-field output{float:right;color:var(--accent);font-size:11px}.trial-field input{margin-top:14px}.trial-colors{border:0;gap:10px;margin:24px 0 16px;padding:0;display:flex}.trial-colors legend{color:var(--secondary);margin-bottom:12px;font-size:12px}.trial-swatch{border:3px solid var(--surface);background:var(--swatch);outline:1px solid var(--line);border-radius:50%;width:28px;height:28px}.trial-swatch[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}.trial-stage{background-color:#171715;background-image:radial-gradient(#41413b 1px,#0000 1px);background-size:16px 16px;flex-direction:column;justify-content:center;min-width:0;padding:24px;display:flex}.trial-stage-heading,.trial-stage-footer{color:var(--muted);justify-content:space-between;gap:12px;font-size:10px;line-height:1.5;display:flex}.trial-stage-heading span:first-child{letter-spacing:1.5px}.trial-stage canvas{aspect-ratio:180/136;background:var(--canvas);border:1px solid var(--line);width:100%;max-width:640px;height:auto;margin:24px auto;display:block}.trial-unlock{border:1px solid var(--line);background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;gap:32px;margin-top:24px;padding:32px;display:flex}.trial-unlock h2{margin:12px 0;font-size:21px}.trial-unlock p{max-width:650px}.trial-unlock>.btn{flex-shrink:0}.trial-formats{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.trial-formats span{border:1px solid var(--line);color:var(--secondary);border-radius:4px;padding:5px 9px;font-size:10px}.trial-footnote{color:var(--muted);margin:20px 0;font-size:11px;line-height:1.9}.editor-gate-title{max-width:640px;margin:0 auto 24px}.editor-gate-title h1{margin:12px 0;font-size:28px}.editor-gate-title p{color:var(--secondary);font-size:13px;line-height:1.9}.editor-gate-title>a{color:var(--accent);margin-top:10px;font-size:12px;display:inline-block}@media (max-width:760px){.trial-intro{grid-template-columns:1fr;gap:20px;padding-bottom:24px}.trial-intro aside{border-left:0;border-top:1px solid var(--line);padding:16px 0 0}.trial-intro aside h2{margin:12px 0 8px}.trial-playground{grid-template-columns:1fr}.trial-settings{border-right:0;border-bottom:1px solid var(--line);padding:22px 18px}.trial-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.trial-presets .btn{text-align:center;padding:10px 6px;font-size:11px}.trial-stage{padding:18px 12px}.trial-stage-heading,.trial-stage-footer{font-size:9px}.trial-unlock{flex-direction:column;align-items:flex-start;gap:16px;padding:24px 18px}.trial-unlock h2{font-size:20px}.trial-unlock>.btn{text-align:center;width:100%}}
