@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#171917;--panel:#20221f;--line:#34372f;--text:#f0efe6;--muted:#92978a;--accent:#d8e7a6;--red:#db5038;font-family:'DM Sans',sans-serif;font-size:13px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,a,summary{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a,summary{touch-action:manipulation}button{color:inherit;cursor:pointer}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}a{color:inherit;text-decoration:none}button{border:1px solid var(--line);background:transparent;border-radius:6px;transition:background .15s,color .15s}button:hover:not(:disabled){background:#363b30}.topbar{height:83px;padding:0 30px;display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{display:block;width:27px;height:27px;border-radius:50%;background:var(--red);box-shadow:inset 3px 0 0 #f47754}.brand strong{font-family:'Space Grotesk',sans-serif;font-size:21px;letter-spacing:.13em;line-height:1.1}.brand strong span{display:block;font-size:9px;letter-spacing:.45em;color:var(--muted);margin-top:4px}.project-name{font-size:12px;color:#c9ccbf}.project-name span{padding:0 11px;color:#646b5b}.header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.save-state{font-size:10px;color:var(--muted);margin-right:14px}.button{padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:600}.primary{background:var(--accent);border-color:var(--accent);color:#22271b}.primary:hover:not(:disabled){background:#e5f3bf;color:#171b10}.secondary{background:#292d25}.workspace{display:grid;grid-template-columns:265px minmax(350px,1fr) 268px;min-height:calc(100svh - 125px);max-width:2100px;margin:auto}.panel{padding:29px 23px;background:var(--panel)}.layers-panel{border-right:1px solid var(--line);display:flex;flex-direction:column}.eyebrow{font-size:9px;letter-spacing:.17em;font-weight:700;color:var(--muted)}h1{font-family:'Space Grotesk',sans-serif;font-size:31px;line-height:1.12;letter-spacing:-1px;font-weight:500;margin:15px 0 12px}.intro{color:var(--muted);font-size:12px;line-height:1.6;margin:0 0 36px}h2{font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:500;margin:0}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-heading>span{font-size:9px;color:var(--muted)}.layer-list{display:flex;flex-direction:column;gap:8px}.layer-card{display:flex;align-items:center;padding:10px 9px;gap:10px;border:1px solid var(--line);border-radius:8px;min-height:66px;cursor:pointer}.layer-card:hover{background:#2c3028}.layer-card.active{border-color:var(--accent);background:#2e3428}.thumbnail{width:40px;height:43px;background-color:#e7e2d6;border-radius:4px;object-fit:contain;padding:3px;flex-shrink:0}.layer-meta{flex:1}.layer-meta strong{font-size:12px;font-weight:500;display:block}.layer-meta span{font-size:9px;color:var(--muted);display:block;margin-top:4px}.eye{border:0;padding:7px;color:var(--muted);font-size:15px;line-height:1}.layer-order{display:flex;gap:7px;margin-top:11px}.layer-order button{padding:9px 8px;flex:1;font-size:10px}.guitar-settings{margin-top:34px;border-top:1px solid var(--line);padding-top:23px}.field-label{font-size:11px;color:#bec4b3;display:block;margin-bottom:12px}.swatches{display:flex;gap:10px;margin:14px 0 24px}.swatches button{width:27px;height:27px;background:var(--swatch);border:3px solid var(--panel);outline:1px solid #626956;border-radius:50%;padding:0}.swatches button.chosen{outline:2px solid var(--accent)}.custom-color{width:27px;height:27px;position:relative;display:grid;place-items:center;border:1px solid #626956;border-radius:50%;color:var(--muted);overflow:hidden;cursor:pointer}.custom-color input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.check{display:flex;align-items:center;gap:8px;font-size:10px;color:#b7bdad;margin:15px 0;cursor:pointer}.check input{accent-color:var(--accent);width:13px;height:13px;margin:0}.panel-footer{margin-top:auto;padding-top:36px;display:flex;gap:10px;font-size:10px;color:var(--muted);line-height:1.7}.red-dot{width:6px;height:6px;border-radius:50%;background:var(--red);margin-top:6px;flex-shrink:0}.canvas-area{display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 45%,#343b2f 0,#242a22 38%,#191e19 85%);min-width:0}.canvas-top{display:flex;align-items:center;justify-content:space-between;padding:19px 22px;font-size:9px;letter-spacing:.09em;color:#9da891}.live-dot{display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;vertical-align:middle;margin-right:7px}.view-model{color:#65715d;letter-spacing:0;margin-left:4px}.undo-buttons{display:flex;gap:5px}.undo-buttons button{height:28px;width:30px;font-size:17px;border-color:#424b39;color:#c2ccb5}.stage{display:flex;align-items:center;justify-content:center;flex:1;position:relative;min-height:450px;overflow:hidden}.stage svg{width:100%;height:min(76svh,850px);overflow:visible;touch-action:none;user-select:none;-webkit-user-select:none}.loading{position:absolute;inset:0;display:grid;place-items:center;background:#20271f;color:var(--accent)}.loading[hidden]{display:none}.canvas-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 21px;border-top:1px solid #3d4733;min-height:58px}.zoom-controls{display:flex;gap:4px;align-items:center}.zoom-controls button{padding:7px 9px;font-size:10px;border-color:#424b39;background:#252c21}.zoom-controls button:first-child,.zoom-controls button:nth-child(3){font-size:17px;padding:2px 9px}.interaction-hint{font-size:9px;color:#86977b;line-height:1.6}.properties-panel{border-left:1px solid var(--line)}.selected-title{display:flex;align-items:center;justify-content:space-between;margin:18px 0 27px}.selected-title h2{font-size:23px;letter-spacing:-.5px}.selected-title>span{font-size:10px;color:var(--muted)}.property-group{border-bottom:1px solid var(--line);padding:0 0 24px;margin:0 0 24px}.control-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;font-size:11px;color:#bec4b3}.control-heading>div{background:#2b2f26;border:1px solid #3b4134;border-radius:4px;padding:6px 7px;display:flex;gap:3px;color:#949e87}.control-heading input{width:42px;border:0;background:none;color:var(--text);text-align:right;outline:none;font-size:11px;-moz-appearance:textfield}.control-heading input::-webkit-inner-spin-button{display:none}input[type=range]{width:100%;height:3px;accent-color:var(--accent);cursor:pointer;margin:5px 0 0}.angle-presets{display:flex;gap:5px;margin-top:17px}.angle-presets button{font-size:9px;flex:1;padding:7px 3px}.position-grid{display:flex;gap:9px}.position-grid label{display:flex;align-items:center;border:1px solid #3b4134;background:#2b2f26;padding:8px;border-radius:4px;width:50%;gap:8px;color:var(--muted);font-size:10px}.position-grid input{min-width:0;width:100%;background:none;border:0;color:var(--text);outline:none}.text-button{border:0;color:var(--accent);font-size:10px;margin-top:12px;padding:3px 0}.utility-buttons{display:flex;flex-direction:column;gap:8px}.utility-buttons button{padding:10px;font-size:10px}.utility-buttons button:last-child{color:var(--muted)}.more-options{margin-top:23px;font-size:10px;border-top:1px solid var(--line);padding-top:20px}.more-options summary{cursor:pointer;color:#bec4b3;margin-bottom:10px}.more-options button,.more-options a{display:block;padding:8px 0;border:0;font-size:10px;text-align:left;width:100%;color:var(--muted)}.more-options a:hover{color:var(--accent)}.note{font-size:9px;color:#7e8872;line-height:1.7;margin:24px 0 0}.site-footer{padding:14px 30px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);font-size:9px;color:#747f69;letter-spacing:.03em}.site-footer b{font-weight:400;color:var(--red);padding:0 8px}.site-footer>a{font-size:8px}.site-footer>a:hover{color:var(--accent)}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,15px);padding:13px 21px;background:var(--accent);color:#22271b;border-radius:7px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:10;box-shadow:0 10px 35px #0005}#toast.visible{opacity:1;transform:translate(-50%,0)}dialog{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:30px;width:min(480px,90vw)}dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}dialog h2{font-size:24px;margin-top:15px}dialog p{line-height:1.7;color:var(--muted);font-size:12px}dialog input{width:100%;border:1px solid var(--line);background:var(--bg);color:#b9c6a7;border-radius:6px;padding:12px;font-size:11px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.selection-box{fill:none;stroke:#c8e595;stroke-width:1.4;vector-effect:non-scaling-stroke;pointer-events:none}.transform-handle{fill:#d8e7a6;stroke:#1b2717;stroke-width:1;cursor:nwse-resize}.rotate-handle{cursor:grab}.art-layer{cursor:move}.art-layer.locked{cursor:default}@media(min-width:1700px){.workspace{grid-template-columns:285px minmax(350px,1fr) 285px}.panel{padding:34px 28px}.stage svg{height:80svh}}@media(max-width:1180px){.workspace{grid-template-columns:225px minmax(300px,1fr) 230px}.panel{padding:25px 17px}.save-state{display:none}.topbar{gap:22px;padding:0 22px}.interaction-hint{display:none}.project-name{font-size:10px}.header-actions .button{padding:10px 12px}}@media(max-width:900px){.workspace{grid-template-columns:200px minmax(300px,1fr)}.properties-panel{grid-column:1/-1;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:16px 25px;align-items:start}.properties-panel>.eyebrow{display:none}.selected-title{grid-column:1/-1;margin:0}.property-group{margin:0;padding-bottom:20px}.note{margin:0}.more-options{margin:0}.stage svg{height:72svh}.project-name{display:none}.site-footer>span:nth-child(2){display:none}.utility-buttons{align-self:start}.panel-footer{margin-top:25px}}@media(max-width:580px){.topbar{height:72px;padding:0 15px;gap:10px}.brand strong{font-size:17px}.brand-mark{width:22px;height:22px}.header-actions{gap:7px}.header-actions .button{font-size:10px;padding:9px 10px}.workspace{display:flex;flex-direction:column}.layers-panel{padding:19px 15px;display:block;border:0;border-bottom:1px solid var(--line)}.layers-panel h1,.intro,.layers-panel>.eyebrow,.layers-panel>.section-heading,.guitar-settings,.panel-footer{display:none}.layer-list{flex-direction:row;gap:7px}.layer-card{flex:1;min-width:0;padding:7px;gap:6px;min-height:54px}.thumbnail{width:29px;height:35px}.layer-meta strong{font-size:10px}.layer-meta span{font-size:8px}.eye{font-size:12px;padding:2px}.layer-order{margin-top:9px}.layer-order button{padding:6px;font-size:9px}.canvas-top{padding:14px}.stage{min-height:390px}.stage svg{height:65svh;min-height:390px}.canvas-bottom{padding:12px}.properties-panel{display:grid;grid-template-columns:1fr 1fr;padding:22px 18px;gap:20px}.property-group{padding-bottom:20px}.selected-title{grid-column:1/-1}.selected-title h2{font-size:21px}.more-options{grid-column:1/-1}.note{grid-column:1/-1}.site-footer{padding:14px 18px;font-size:8px}.view-model{font-size:8px}.site-footer a{max-width:135px;text-align:right;line-height:1.5}}
:root .workspace{height:calc(100svh - 125px);min-height:0;grid-template-rows:minmax(0,1fr)}.panel{min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#48523c transparent}.canvas-area{min-height:0;overflow:hidden}.stage{min-height:0;height:0}.stage svg{height:100%;max-height:100%}@media(max-width:900px){:root .workspace{height:auto;min-height:0;grid-template-rows:auto}.canvas-area{height:650px;min-height:650px}.stage svg{height:100%;min-height:0}.panel{overflow-y:visible}}@media(max-width:580px){.canvas-area{height:570px;min-height:480px}.stage svg{height:100%;min-height:0}}

.download-choice{border:1px solid var(--line);border-radius:9px;padding:17px;margin:15px 0}.download-choice h3{font-size:15px;font-weight:500;margin:0}.download-choice p{font-size:11px;margin:9px 0 15px}.download-choice>div{display:flex;gap:8px;flex-wrap:wrap}.download-choice .button{font-size:11px;padding:10px 12px}.template-download{display:block;color:var(--accent);font-size:11px;margin:20px 0 0}#exportDialog{max-height:90svh;overflow:auto}#exportDialog .dialog-actions{margin-top:16px}
