html,body,#root{height:100%}#root{display:flex;flex-direction:column}body{font-family:Arial,sans-serif;margin:0;padding:20px;background:#f5f5f5;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden;color:inherit}h1{margin:0 0 16px}.main-layout{display:flex;gap:20px;align-items:stretch;margin-top:20px;flex:1;min-height:0}.panel{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 6px #0000001a}.controls{width:380px;font-size:14px;flex-shrink:0;overflow-y:auto}.controls h2{margin-top:0;margin-bottom:12px;font-size:18px}input[type=text],input[type=number],select{width:100%;padding:7px 8px;box-sizing:border-box;font-size:14px;border-radius:4px;border:1px solid #ccc}.cp-section-label{font-size:13px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.cp-divider{border:none;border-top:1px solid #ddd;margin:14px 0}.cp-sublabel{font-size:12px;color:#999}.cp-grid-row{display:flex;gap:10px;align-items:flex-start}.cp-col-2{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1}.cp-field{display:flex;flex-direction:column;gap:4px}.cp-field input[type=number]{width:67%}.cp-field label{font-size:12px;color:#aaa}.cp-build-area{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}.cp-warning{font-size:11px;color:#e07000;text-align:center;max-width:120px;line-height:1.3}.cp-sash-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:13px}.cp-sash-row{display:flex;align-items:center;gap:8px}.cp-sash-row input[type=number]{width:70px;flex-shrink:0}.cp-border-row{display:flex;align-items:center;gap:8px}.cp-border-row input[type=number]{width:100px;flex-shrink:0}.cp-color-val{flex:1;max-width:80px;height:32px;border-radius:4px;border:1px solid rgba(255,255,255,.15);cursor:pointer;position:relative;overflow:hidden;display:flex;align-items:center;padding:0 6px;min-width:0}.cp-color-val--wide{flex:1}.cp-sash-row .cp-color-val,.cp-border-row .cp-color-val{margin-left:auto}.cp-color-val-text{font-size:11px;font-family:monospace;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.6);pointer-events:none;z-index:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-color-val input[type=color]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;padding:0;border:none}.cp-fabric-slot{margin-bottom:8px}.cp-fabric-row{display:flex;gap:8px;align-items:center}.cp-file-btn{flex:1;padding:7px 10px;border:1px solid #555;border-radius:4px;background:transparent;color:inherit;font-size:13px;cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-file-btn:hover{border-color:#07c}.cp-file-btn--loaded{border-color:#07c;color:#07c}.cp-select-btn{flex-shrink:0;width:70px}.cp-select-btn--active{background:#2a9d4e!important}.cp-select-btn--active:hover{background:#21883f!important}.mode-toggle{display:flex;border-radius:6px;overflow:hidden;border:1px solid #555;margin-top:2px}.mode-toggle button{flex:1;padding:9px 16px;border:none;background:transparent;color:#999;cursor:pointer;font-size:14px;font-weight:500;transition:background .15s,color .15s}.mode-toggle button.active{background:#07c;color:#fff}.mode-toggle button:hover:not(.active):not(:disabled){background:#0077cc26;color:inherit}.mode-toggle button:disabled{opacity:.4;cursor:not-allowed}.cp-section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cp-active-color-wrap{display:flex;align-items:center;gap:6px;cursor:pointer}.cp-active-color-box{width:32px;height:24px;border-radius:4px;border:2px solid #0077cc;position:relative;overflow:hidden;cursor:pointer}.cp-active-color-box input[type=color]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;padding:0;border:none}.cp-palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cp-palette-swatch{height:44px;border-radius:6px;border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:border-color .15s,transform .1s}.cp-palette-swatch:hover{transform:scale(1.03)}.cp-palette-swatch--active{border-color:#07c;box-shadow:0 0 0 1px #07c}.cp-swatch-hex{font-size:11px;font-family:monospace;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.6);pointer-events:none}.cp-import-export-row{display:flex;gap:8px;align-items:center}.cp-import-export-row .cp-file-btn{flex:1}.toggle-switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-switch .slider{position:absolute;inset:0;background:#555;border-radius:24px;transition:background .2s}.toggle-switch .slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s}.toggle-switch input:checked+.slider{background:#07c}.toggle-switch input:checked+.slider:before{transform:translate(18px)}.btn-primary{padding:9px 14px;border:none;border-radius:4px;background:#07c;color:#fff;font-weight:700;cursor:pointer;font-size:14px;white-space:nowrap;transition:background .15s}.btn-primary:hover{background:#005fa3}.btn-primary:disabled{background:#555;cursor:not-allowed;opacity:.5}.grid-wrapper{flex:1;min-width:0;display:flex;flex-direction:column}.zoom-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.tool-mode-group{display:flex;gap:4px}.tool-btn{padding:6px 14px;border:1px solid #ccc;border-radius:4px;background:#f0f0f0;cursor:pointer;font-size:14px;font-weight:700}.tool-btn.active{background:#07c;color:#fff;border-color:#07c}.tool-btn:hover:not(.active){background:#e0e0e0}body.dark .tool-btn{background:#3a3a3a;border-color:#666;color:#e6e6e6}body.dark .tool-btn.active{background:#07c;color:#fff;border-color:#07c}#quiltOuter{flex:1;min-height:0;border:1px solid #ccc;background:#fff;border-radius:8px;overflow:hidden;position:relative}#calcPanel{position:fixed;top:80px;right:0;height:calc(100% - 100px);width:400px;background:#fff;box-shadow:-2px 0 6px #00000026;border-radius:8px 0 0 8px;display:flex;flex-direction:column;transform:translate(390px);transition:transform .25s ease;z-index:9999;overflow:visible}#calcPanel.open{transform:translate(0)}#calcTab{position:absolute;left:-50px;top:40%;width:50px;height:140px;background:#07c;color:#fff;writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:8px 0 0 8px;font-weight:700;font-size:14px}#calcPanelInner{padding:16px;overflow-y:auto;flex:1}#calcPanelInner label{display:block;margin-top:12px;font-size:14px}#calcPanelInner input[type=number]{width:100%;padding:6px;box-sizing:border-box;font-size:14px;margin-top:4px}#calcPanelInner button{margin-top:12px;padding:10px;width:100%;border:none;border-radius:4px;background:#07c;color:#fff;font-weight:700;cursor:pointer;font-size:14px}#calcPanelInner button:hover{background:#005fa3}.calc-output{margin-top:8px;font-family:Consolas,monospace;white-space:pre-line;font-size:13px;background:#fafafa;border:1px solid #eee;padding:6px;border-radius:4px;min-height:24px}#stripCalcOutput{line-height:1.4}body.dark{background:#1e1e1e;color:#e6e6e6}body.dark .panel,body.dark #calcPanel{background:#2b2b2b;color:#e6e6e6}body.dark input[type=text],body.dark input[type=number],body.dark select{background:#3a3a3a;color:#fff;border:1px solid #555}body.dark .cp-divider{border-color:#444}body.dark .cp-file-btn{border-color:#555;color:#ccc}body.dark .mode-toggle{border-color:#555}body.dark .mode-toggle button{color:#bbb}body.dark .calc-output{background:#3a3a3a;border-color:#555;color:#fff}.dark-toggle{position:absolute;top:20px;right:20px;background:#07c;color:#fff;padding:8px 14px;border-radius:6px;border:none;cursor:pointer;font-size:14px}body.dark .dark-toggle{background:#444}body.dark #quiltOuter{background:#2b2b2b;border-color:#555}body{--page: #f3eee5;--surface: #fffaf1;--field: #f3ede2;--line: #dcd0c1;--text: #403731;--muted: #76695f;--accent: #654383;--hover: #513269;--canvas: #e8dfd2;--shadow: 0 8px 30px #493a2c10;background:var(--page);color:var(--text);padding:22px 28px 12px;font-family:Segoe UI,sans-serif;font-size:14px;color-scheme:light}body.dark{--page: #211e20;--surface: #2d282b;--field: #373033;--line: #51464b;--text: #f5ece0;--muted: #c3b3b3;--accent: #b08bcc;--hover: #c3a0dc;--canvas: #252124;--shadow: 0 8px 30px #0002;background:var(--page);color:var(--text);color-scheme:dark}body:not(.dark){background:var(--page);color:var(--text);color-scheme:light}body:not(.dark) .panel,body:not(.dark) #calcPanel{background:var(--surface);color:var(--text)}body:not(.dark) input[type=text],body:not(.dark) input[type=number],body:not(.dark) select{background:var(--field);color:var(--text);border-color:var(--line)}body:not(.dark) #quiltOuter{background-color:var(--canvas);border-color:var(--line)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}:focus-visible{outline:3px solid #c58d48;outline-offset:3px}.studio-header,.studio-brand,.header-actions,.studio-intro,.studio-footer{display:flex;align-items:center;justify-content:space-between;gap:18px}.studio-header{padding-bottom:20px;border-bottom:1px dashed var(--line)}.studio-brand{justify-content:flex-start;gap:12px}.quilt-mark{display:grid;place-items:center;width:60px;height:60px;flex-shrink:0;border-radius:50%;background:#f4ecde;border:1px dashed #b4a08d}.quilt-mark svg{width:100%;height:100%;padding:3px}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:700;color:var(--muted)}h1{margin:2px 0 0;font-size:23px;letter-spacing:-.6px;font-weight:650}.studio-intro{padding:18px 0}.studio-intro h2{margin:0 0 4px;font:24px Georgia,serif;letter-spacing:-.5px}.studio-intro p{margin:0;color:var(--muted);font-size:13px}.local-badge{font-size:12px;color:var(--muted)}.tutorial-button{border:1px solid rgba(101,67,131,.32);background:linear-gradient(145deg,#c49ae233,#7749971f);color:var(--text);border-radius:999px;padding:9px 16px;cursor:pointer;letter-spacing:.02em}.tutorial-button:hover{background:#c49ae233;border-color:#e0bef1a6;transform:translateY(-1px)}.block-count{padding:10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:30px;white-space:nowrap;font-size:12px}.block-count span{margin:0 5px;color:var(--muted)}.dark-toggle,body.dark .dark-toggle{position:static;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 16px}.main-layout{margin-top:0;gap:18px}.panel,body.dark .panel{background:var(--surface);color:var(--text);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:18px;padding:20px}.controls{width:355px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.controls h2{font-size:17px;margin-bottom:22px}.controls-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.controls-title-row h2{margin:0}.reset-grid-button{padding:8px 14px;border-radius:999px}.settings-group h4{margin:16px 0 10px;font-size:13px}.region-upload{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 18px}.region-upload>span{flex-basis:100%}.zoom-row button[aria-pressed=true]{background:var(--accent);color:var(--page);border-color:var(--accent)}.cp-section-label{color:var(--accent);font-size:11px;letter-spacing:.12em;font-weight:750;margin-bottom:12px}.cp-divider,body.dark .cp-divider{border-color:var(--line);border-top-style:dashed;margin:22px 0}.cp-field label,.cp-sublabel,.cp-help-text{color:var(--muted);line-height:1.5}.cp-help-text{font-size:12px;margin:0 0 14px}.cp-field input[type=number]{width:100%}input[type=number],select,body.dark input[type=number],body.dark select{padding:9px 10px;background:var(--field);border:1px solid var(--line);color:var(--text);border-radius:8px;min-height:38px}.cp-col-2{gap:10px}.cp-grid-row{gap:12px}.cp-build-area{flex-shrink:1}.cp-warning{color:#bb8550;font-size:10px}.cp-border-row,.cp-fabric-row{margin-bottom:8px}.cp-color-val{height:36px;border-radius:8px;border:1px solid var(--line)}.btn-primary,#calcPanelInner button{background:var(--accent);color:var(--page);border-radius:8px;font-weight:650;padding:10px 12px}.btn-primary:hover,#calcPanelInner button:hover{background:var(--hover)}body.dark .btn-primary,body.dark #calcPanelInner button,body.dark #calcTab,body.dark .mode-toggle button.active{background:#69458a;color:#fff5ff}body.dark .btn-primary:hover,body.dark #calcPanelInner button:hover{background:#7b559d}.cp-file-btn,body.dark .cp-file-btn{background:var(--field);border:1px dashed var(--line);border-radius:8px;color:var(--text);padding:10px;min-width:0}.cp-file-btn:hover{border-color:var(--accent)}.cp-file-btn--loaded,body.dark .cp-file-btn--loaded{border-style:solid;border-color:var(--accent);color:var(--accent)}.cp-select-btn--active{background:var(--accent)!important;color:var(--page)}.cp-clear-btn{border:1px solid var(--line);background:var(--field);color:var(--text);border-radius:8px;padding:8px}.mode-toggle,body.dark .mode-toggle{padding:4px;border-radius:10px;border:1px solid var(--line);background:var(--field)}.mode-toggle button,body.dark .mode-toggle button{border-radius:7px;color:var(--muted)}.mode-toggle button.active{background:var(--accent);color:var(--page)}.toggle-switch input:checked+.slider{background:var(--accent)}.cp-palette-swatch{border-radius:10px;height:50px}.cp-palette-swatch--active{border-color:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--accent)}.grid-wrapper{padding:14px}.zoom-row{flex-wrap:wrap;gap:12px;padding:0 2px 12px;margin:0;font-size:12px}.zoom-row button{background:var(--field);color:var(--text);border:1px solid var(--line);padding:8px 12px;border-radius:8px}.zoom-row>button{border-color:#65438352;background:linear-gradient(145deg,#c49ae233,#7749971f);color:var(--text)}.zoom-row>button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.zoom-row>button:hover:not(:disabled){background:linear-gradient(145deg,#c49ae252,#77499733);border-color:var(--accent)}.zoom-row strong{color:var(--muted);font-weight:500;margin-left:auto}.zoom-row input[type=range]{width:110px;accent-color:var(--accent)}.block-number-toggle{display:flex;align-items:center;gap:6px;color:var(--muted)}input[type=checkbox]{accent-color:var(--accent)}#quiltOuter,body.dark #quiltOuter{border:1px solid var(--line);border-radius:12px;background-color:var(--canvas);background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:16px 16px}#quiltOuter canvas{box-shadow:0 10px 35px #0002}.studio-footer{padding-top:12px;font-size:11px;color:var(--muted)}#calcPanel,body.dark #calcPanel{top:175px;height:calc(100% - 205px);width:360px;transform:translate(100%);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px 0 0 16px}#calcTab{top:24px;left:-35px;width:35px;height:145px;border:0;background:var(--accent);color:var(--page);font-size:12px;letter-spacing:.03em}#calcPanelInner{padding:22px}#calcPanelInner h2{font:23px Georgia,serif}#calcPanelInner h3{font-size:15px}#calcPanelInner hr{border:0;border-top:1px solid var(--line);margin:24px 0}.calc-output,body.dark .calc-output{background:var(--field);color:var(--text);border-color:var(--line);border-radius:9px;padding:12px;line-height:1.7}@media(max-width:1000px){body{padding:16px}.controls{width:320px;padding:16px}.studio-footer{flex-wrap:wrap;gap:4px}}@media(max-width:720px){body{overflow:auto;height:auto;padding:12px}#root{height:auto}h1{font-size:18px}.quilt-mark{width:38px;height:38px}.eyebrow{font-size:8px}.studio-header{gap:8px}.dark-toggle{padding:8px;font-size:11px}.studio-intro{align-items:flex-start;flex-direction:column;gap:12px}.studio-intro h2{font-size:22px}.main-layout{flex-direction:column}.grid-wrapper{order:-1;flex:none;height:62vh;min-height:400px}.controls{width:100%;overflow:visible}.studio-footer{line-height:1.6}#calcPanel,body.dark #calcPanel{width:min(360px,calc(100vw - 42px));top:110px;height:calc(100dvh - 130px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}.cp-collapse{display:flex;align-items:center;width:100%;min-height:36px;padding:8px 10px;margin:4px 0 12px;border:1px solid rgba(194,145,224,.28);border-radius:10px;background:#c291e017;color:#d8b8ee;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-align:left;cursor:pointer}.cp-collapse:hover{background:#c291e02b;border-color:#c291e080}.settings-group{padding:8px 0 14px}.settings-group>label{display:flex;flex-direction:column;gap:6px;margin:8px 0}.settings-group .cp-col-2 label{gap:6px}.cp-active-color-wrap{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;margin:12px 0;color:#d8cfe0;font-size:.82rem}.cp-active-color-wrap input[type=color]{width:54px;height:34px;padding:3px;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:#312b33;cursor:pointer}.cp-active-color-wrap span{grid-column:1 / -1;color:#b9a9c3;font-family:ui-monospace,monospace}.cp-palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0 14px}.cp-palette-swatch{min-height:46px;border:1px solid rgba(255,255,255,.16);border-radius:12px;color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.35);cursor:pointer;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}.cp-palette-swatch:hover{transform:translateY(-2px);filter:saturate(1.12);box-shadow:0 6px 14px #0000003d}.cp-palette-swatch:active{transform:translateY(0)}.mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0 14px}.mode-toggle button{border-radius:9px;padding:8px;border:1px solid rgba(194,145,224,.28);background:#ffffff0d;color:#cfc4d6;cursor:pointer}.mode-toggle button.active{background:#a96fd0;color:#fff;border-color:#c18ee7;box-shadow:0 4px 12px #a96fd040}.paint-group{padding:12px;margin:8px 0 14px;border:1px solid rgba(194,145,224,.22);border-radius:14px;background:linear-gradient(145deg,#c291e01a,#ffffff06);box-shadow:inset 0 1px #ffffff0a}.paint-group .cp-collapse{margin:0 0 12px;background:transparent;border:0;border-bottom:1px solid rgba(194,145,224,.22);border-radius:0;padding:4px 2px 11px}.paint-group .cp-help-text{margin:0 2px 12px;line-height:1.45;color:#cbbcd5}.paint-group .mode-toggle{padding:4px;border-radius:11px;background:#0000002e;border:1px solid rgba(255,255,255,.08)}.paint-group .mode-toggle button{border:0}.paint-group .cp-active-color-wrap{padding:10px;border-radius:10px;background:#00000029;border:1px solid rgba(255,255,255,.08)}.paint-group .cp-palette-grid{gap:8px}.paint-group .cp-fabric-row{display:grid;grid-template-columns:1fr auto;gap:7px;margin:8px 0;padding:8px;border-radius:10px;background:#00000024;border:1px solid rgba(255,255,255,.07)}.paint-group .cp-fabric-row .cp-file-btn{min-width:0}.paint-group .cp-fabric-row .btn-primary{min-width:54px;padding:7px 10px}.controls{padding:18px 14px}.controls h2,#calcPanelInner h2{letter-spacing:-.02em;color:#fff8ff}.controls .settings-group{margin:10px 0;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#ffffff06}.controls .settings-group>label{color:#d9cede;font-size:.82rem}.controls input[type=number],.controls input[type=text]{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:#302a32;color:#fff;padding:9px 10px;outline:none}.controls input[type=number]:focus,.controls input[type=text]:focus{border-color:#bf8ee6;box-shadow:0 0 0 3px #bf8ee629}.controls input[type=color]{width:100%;height:38px;padding:3px;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:#302a32;cursor:pointer}.controls .btn-primary,.controls .cp-file-btn{border-radius:9px;transition:transform .15s ease,box-shadow .15s ease}.controls .btn-primary:hover,.controls .cp-file-btn:hover{transform:translateY(-1px);box-shadow:0 5px 12px #0003}#calcPanelInner{border:1px solid rgba(194,145,224,.25);border-radius:16px;background:linear-gradient(145deg,#302832,#211e24);box-shadow:0 18px 40px #00000047;padding:20px}#calcPanelInner label{display:flex;flex-direction:column;gap:7px;color:#ded2e4;font-size:.84rem;margin:13px 0}#calcPanelInner input[type=number]{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:#29242b;color:#fff;padding:10px;outline:none}#calcPanelInner input[type=number]:focus{border-color:#bf8ee6;box-shadow:0 0 0 3px #bf8ee629}#calcPanelInner button{border-radius:9px;padding:10px 13px;background:#a96fd0;color:#fff;border:0;font-weight:700;cursor:pointer}#calcPanelInner button:hover{background:#b980df}.calc-output{margin:10px 0;padding:12px;border-radius:10px;background:#0000002e;border:1px solid rgba(255,255,255,.07);color:#eee3f2;line-height:1.55}.calc-help{margin:-6px 0 16px;color:#cbbcd5;font-size:.84rem;line-height:1.4}#calcPanelInner h3{color:#d8b8ee;margin-top:18px}#calcPanelInner hr{border:0;border-top:1px solid rgba(255,255,255,.1);margin:18px 0}.calc-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0 18px;padding:4px;border-radius:11px;background:#0003}.calc-tabs button{border:0!important;background:transparent!important;color:#cbbcd5!important;padding:9px!important}.calc-tabs button.active{background:#a96fd0!important;color:#fff!important}#fabricTotalsTab{position:absolute;right:0;top:155px;writing-mode:vertical-rl;border:0;border-radius:10px 0 0 10px;padding:14px 9px;background:#8d5caf;color:#fff;font-weight:700;cursor:pointer}#fabricTotalsTab[aria-expanded=true]{background:#b47bd8}.calc-tabs{display:none}#fabricTotalsPanel{position:fixed;right:0;top:22%;width:320px;max-height:60vh;overflow:auto;padding:20px;transform:translate(105%);transition:transform .22s ease;z-index:20;border:1px solid rgba(194,145,224,.3);border-radius:16px 0 0 16px;background:#28222a;box-shadow:0 18px 45px #00000059}#fabricTotalsPanel.open{transform:translate(0)}.fabric-totals-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.fabric-totals-head button{border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff14;color:#fff;padding:7px 10px;cursor:pointer}#calcPanel{right:44px}#calcPanel{right:0}#fabricTotalsTab{top:330px;right:0;border-radius:10px 0 0 10px}@media(max-width:760px){#calcPanel{right:0}}#calcPanel,body.dark #calcPanel{position:fixed;right:0;left:auto;top:120px;width:min(390px,calc(100vw - 46px));height:calc(100dvh - 150px);transform:translate(100%);border-radius:18px 0 0 18px;z-index:30;overflow:visible}#calcPanel.open,body.dark #calcPanel.open{transform:translate(0)}#calcTab{position:absolute;left:auto;right:-38px;top:0;width:38px;height:150px;border-radius:0 10px 10px 0;writing-mode:vertical-rl;transform:rotate(180deg);z-index:31}#fabricTotalsTab{position:fixed;right:0;top:286px;width:38px;min-height:140px;border-radius:10px 0 0 10px;writing-mode:vertical-rl;transform:rotate(180deg);z-index:32}#calcPanelInner{height:100%;overflow-y:auto;box-sizing:border-box;border-radius:18px 0 0 18px}#fabricTotalsPanel{top:120px;right:0;width:min(390px,calc(100vw - 46px));max-height:calc(100dvh - 150px);border-radius:18px 0 0 18px;z-index:40}#calcTab{left:-38px;right:auto}#calcTab{position:fixed;right:0;left:auto;top:120px;width:38px;height:150px;border-radius:10px 0 0 10px;writing-mode:vertical-rl;transform:rotate(180deg);z-index:50}#fabricTotalsTab{position:fixed;right:0;top:286px;z-index:50}#calcTab{right:min(390px,calc(100vw - 46px));left:auto;top:120px;border-radius:10px 0 0 10px;transform:none;writing-mode:vertical-rl}#fabricTotalsTab{right:min(390px,calc(100vw - 46px));top:286px;border-radius:10px 0 0 10px;transform:none;writing-mode:vertical-rl}@media(max-width:760px){#calcTab,#fabricTotalsTab{right:min(390px,calc(100vw - 46px))}}#calcTab,#fabricTotalsTab{right:0}#calcTab.tab-attached,#fabricTotalsTab.tab-attached{right:min(390px,calc(100vw - 46px))}@media(max-width:760px){#calcTab.tab-attached,#fabricTotalsTab.tab-attached{right:min(390px,calc(100vw - 46px))}}:root{--space-1: 6px;--space-2: 10px;--space-3: 14px;--space-4: 18px;--space-5: 24px;--radius-sm: 9px;--radius-md: 14px;--radius-lg: 18px;--lavender: #c49ae2;--cream: #fff8e8}*{box-sizing:border-box}body{color:#f4edf5;background:#1e1a20}button,input{font:inherit}button{transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}button:focus-visible,input:focus-visible{outline:2px solid var(--lavender);outline-offset:2px}.studio-header{padding:22px 28px 18px;border-bottom:1px solid rgba(196,154,226,.2)}.studio-intro{padding:22px 28px 16px;max-width:1500px;margin:0 auto}.main-layout{gap:22px;padding:0 22px 22px;max-width:1500px;margin:0 auto}.panel{border-radius:var(--radius-lg);border:1px solid rgba(196,154,226,.22);box-shadow:0 18px 45px #0000002e}.controls{padding:18px}.controls h2{margin:0 0 18px;color:var(--cream)}.settings-group{margin:12px 0;padding:14px;border-radius:var(--radius-md)}.grid-wrapper{padding:18px}.zoom-row{gap:10px;padding:0 0 14px}.zoom-row button{border-radius:var(--radius-sm)}.cp-divider{margin:16px 0;border-color:#c49ae226}.cp-fabric-row{gap:8px;margin:8px 0}.cp-file-btn,.btn-primary{min-height:38px;border-radius:var(--radius-sm)}.studio-footer{max-width:1500px;margin:0 auto;padding:12px 28px 22px;color:#b9a9c3}.studio-intro,.main-layout,.studio-footer{max-width:none;width:100%}.studio-footer{display:flex;align-items:center;gap:18px}.footer-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex:1}.footer-actions button{position:relative;min-width:132px;border:1px solid rgba(196,154,226,.34);background:linear-gradient(145deg,#c49ae229,#77499721);color:#f7f0f8;border-radius:999px;padding:10px 16px;font:600 12px/1.1 inherit;letter-spacing:.02em;cursor:pointer;box-shadow:0 5px 16px #00000024,inset 0 1px #ffffff14;transition:background .15s ease,transform .15s ease,border-color .15s ease,box-shadow .15s ease}.footer-actions button:first-child:before{content:"♥";color:#e2b9ef;margin-right:7px}.footer-actions button:last-child:before{content:"✦";color:#e2b9ef;margin-right:7px}.footer-actions button:hover{background:linear-gradient(145deg,#c49ae247,#7749973d);border-color:#e0bef1b8;transform:translateY(-2px);box-shadow:0 8px 20px #351c454d,inset 0 1px #ffffff1f}.footer-actions button:active{transform:translateY(0)}@media(max-width:900px){.studio-footer{flex-wrap:wrap}.footer-actions{order:3;flex-basis:100%}}.main-layout{grid-template-columns:minmax(300px,360px) minmax(0,1fr)}.grid-wrapper{min-width:0;min-height:680px}.studio-intro{margin-top:-42px;padding-top:0;padding-bottom:18px;position:relative;z-index:1}@media(max-width:760px){.studio-intro{margin-top:0;padding-top:16px}}.studio-intro{margin-top:0;padding-top:18px;padding-bottom:14px}.studio-header{position:relative;min-height:116px}.header-actions{position:fixed;top:22px;right:28px;z-index:100;pointer-events:auto}.header-actions button{position:relative;z-index:21;pointer-events:auto}.header-actions{width:212px;justify-content:flex-end}.header-actions .tutorial-button{width:78px;text-align:center;white-space:nowrap}.header-actions .dark-toggle{width:104px;text-align:center;white-space:nowrap}.studio-intro{position:absolute;top:40px;left:360px;right:300px;margin:0;padding:0}.studio-intro h2{margin:0 0 5px;font-size:1.55rem}.studio-intro p{margin:0}@media(max-width:900px){.studio-intro{position:static;padding:16px 20px}}@media(max-width:720px){.header-actions{top:14px;right:14px;gap:8px}}body:not(.dark) .controls h2,body:not(.dark) #calcPanelInner h2{color:var(--text)}body:not(.dark) .controls .settings-group{border-color:#65438324;background:#65438309}body:not(.dark) .controls .settings-group>label{color:var(--text)}body:not(.dark) #calcPanelInner{border-color:var(--line);background:var(--surface);box-shadow:var(--shadow)}body:not(.dark) #calcPanelInner label{color:var(--text)}body:not(.dark) #calcPanelInner input[type=number]{border-color:var(--line);background:var(--field);color:var(--text)}body:not(.dark) #calcPanelInner h3{color:var(--accent)}body:not(.dark) #calcPanelInner hr{border-top-color:var(--line)}body:not(.dark) .cp-collapse{background:#6543830d;border-color:#65438333;color:var(--accent)}body:not(.dark){background:var(--page);color:var(--text)}body:not(.dark) .studio-footer{color:var(--muted)}body:not(.dark) .footer-actions button{color:var(--accent);box-shadow:0 5px 16px #493a2c1a,inset 0 1px #ffffffa6}body:not(.dark) .calc-output{background:var(--field);color:var(--text);border-color:var(--line)}body:not(.dark) #fabricTotalsPanel{background:var(--surface);color:var(--text);border-color:var(--line);box-shadow:var(--shadow)}body:not(.dark) .fabric-totals-head button{background:var(--field);color:var(--text);border-color:var(--line)}body:not(.dark) .controls input[type=color]{background:var(--field);border-color:var(--line)}body:not(.dark) .cp-color-val{border:1px solid var(--line);box-shadow:none}body:not(.dark) .cp-color-val-text{color:var(--text);text-shadow:none}.fabric-totals-help{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.55}.fabric-totals-help h3{margin:0 0 8px;color:var(--accent);font-size:14px}.fabric-totals-help p{margin:7px 0}body:not(.dark) .paint-group{background:#6543830b;border-color:#6543832e}body:not(.dark) .paint-group .mode-toggle{background:var(--field);border-color:var(--line)}body:not(.dark) .paint-group .cp-active-color-wrap,body:not(.dark) .paint-group .cp-fabric-row{background:var(--field);border-color:var(--line)}#calcTab,#fabricTotalsTab{top:135px}#fabricTotalsTab{top:301px}#calcPanel:not(.open),#fabricTotalsPanel:not(.open){pointer-events:none}#calcPanel.open,#fabricTotalsPanel.open{pointer-events:auto}.tutorial-backdrop{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;background:#19121d94;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tutorial-card{width:min(460px,100%);padding:28px;border:1px solid rgba(196,154,226,.42);border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 24px 70px #00000059}.tutorial-kicker{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.16em}.tutorial-progress{float:right;color:var(--muted);font-size:12px}.tutorial-card h2{margin:24px 0 8px;font:25px Georgia,serif}.tutorial-card p{min-height:72px;margin:0;color:var(--muted);line-height:1.65}.tutorial-tip{display:flex;flex-direction:column;gap:4px;margin-top:16px;padding:11px 13px;border-left:3px solid var(--accent);border-radius:0 9px 9px 0;background:#c49ae21a;color:var(--muted);font-size:12px;line-height:1.5}.tutorial-tip strong{color:var(--accent);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.tutorial-dots{display:flex;gap:7px;margin:24px 0}.tutorial-dots span{width:8px;height:8px;border-radius:50%;background:var(--line)}.tutorial-dots span.active{width:24px;border-radius:99px;background:var(--accent)}.tutorial-actions{display:flex;justify-content:flex-end;gap:9px}.tutorial-actions button{border:1px solid var(--line);border-radius:999px;padding:9px 15px;background:var(--field);color:var(--text)}.tutorial-actions .tutorial-next{border-color:var(--accent);background:var(--accent);color:#fff}.tutorial-actions .tutorial-skip{margin-right:auto;background:transparent;color:var(--muted)}
