@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";
@font-face{font-family:Sweet;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2304-2@1.0/SUITE-SemiBold.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+AC00-D7A3}:root{--font-family:Sweet, Outfit, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--bg-base:#0b0f19;--bg-surface:#131b2e;--bg-surface-glass:#131b2eb3;--border-color:#ffffff14;--border-color-glow:#ff5e7e33;--color-primary:#ff6685;--color-primary-hover:#ff859d;--color-primary-glow:#ff668526;--bg-accent:#ff668526;--color-secondary:#00e5ff;--color-secondary-hover:#33ebff;--color-secondary-glow:#00e5ff26;--color-accent:#8e2de2;--color-accent-gradient:linear-gradient(135deg, #8e2de2 0%, #4a00e0 100%);--color-brand-gradient:linear-gradient(135deg, #ff5e7e 0%, #a124ff 100%);--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#8da0b6;--shadow-sm:0 .2rem .8rem #00000026;--shadow-md:0 .8rem 3rem #0000004d;--shadow-lg:0 1.2rem 4rem #00000073;--shadow-glow:0 0 1.5rem #ff5e7e40;--radius-sm:.8rem;--radius-md:1.4rem;--radius-lg:2rem;--grid-base-color:#00000073;--grid-5th-highlight:#00e5ff;--grid-10th-highlight:#ff5e7e}.light-theme{--bg-base:#fef9e7;--bg-surface:#fffdf0;--bg-surface-glass:#fffdf0d9;--border-color:#d6cea3;--border-color-glow:#8c7a5b26;--text-primary:#3e382e;--text-secondary:#5c5346;--text-muted:#736a5c;--shadow-sm:0 .2rem .8rem #8c7a5b0f;--shadow-md:0 .8rem 3rem #8c7a5b14;--shadow-lg:0 1.2rem 4rem #8c7a5b1f;--shadow-glow:0 0 1.5rem #8c7a5b1f;--color-primary:#473c25;--color-primary-hover:#75654a;--color-primary-glow:#8c7a5b26;--color-secondary:#5a6b5c;--color-secondary-hover:#485649;--color-secondary-glow:#5a6b5c26;--color-accent:#8c7a5b;--bg-accent:#efe9d3;--color-brand-gradient:linear-gradient(135deg, #8c7a5b 0%, #5a6b5c 100%);--grid-base-color:#00000026;--grid-5th-highlight:#5a6b5c;--grid-10th-highlight:#8c7a5b}html{font-size:62.5%}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-base);color:var(--text-primary);min-height:100vh;font-size:1.6rem;overflow-x:hidden}body.work-mode-active{overflow-x:auto}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.glassmorphism{background:var(--bg-surface-glass);-webkit-backdrop-filter:blur(1.2rem);border:1px solid var(--border-color);box-shadow:var(--shadow-md)}.app-layout{opacity:0;flex-direction:column;min-height:100vh;transition:opacity .5s ease-out;display:flex}.app-layout.ready{opacity:1}.main-content-wrapper{flex:1;width:100%;max-width:100%;margin:0 auto;padding:2rem}button{font-family:var(--font-family);border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.8rem;font-weight:500;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}button:disabled{opacity:.4;cursor:not-allowed}.divider{background-color:var(--border-color);width:1px;height:2.4rem;margin:0 .6rem}.divider-h{background-color:var(--border-color);height:1px;margin:.8rem 0}.brand-header{background-color:var(--bg-surface-glass);-webkit-backdrop-filter:blur(2rem);border-bottom:1px solid var(--border-color);z-index:100;justify-content:space-between;align-items:center;padding:1.6rem 2.4rem;display:flex;position:sticky;top:0}.light-theme .header-logo .logo-icon{background:url(../media/logo.2zzljmxt5_du2.svg) 50%/cover no-repeat}.header-logo{align-items:center;gap:1.2rem;margin-right:auto;display:flex}.header-logo .logo-icon{background:url(../media/logo_light.1p6le4zufw_5e.svg) 50%/cover no-repeat;border-radius:50%;width:4.8rem;height:4.8rem;position:relative}.header-logo .logo-text h1{letter-spacing:-.05rem;background:var(--color-brand-gradient);-webkit-text-fill-color:#0000;-webkit-background-clip:text;font-size:2rem;font-weight:700}.header-logo .logo-text .subtitle{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1rem;font-size:1.1rem}.header-controls{align-items:center;gap:1rem;display:flex}.mode-toggle-btn{color:var(--text-primary);border:1px solid var(--border-color);background-color:#ffffff0d;padding:.6rem 1rem}.mode-toggle-btn.editor-active{border-color:var(--color-primary);background-color:var(--color-primary-glow);box-shadow:0 0 1rem #ff5e7e1a}.mode-toggle-btn.viewer-active{border-color:var(--color-secondary);background-color:var(--color-secondary-glow);box-shadow:0 0 1rem #00e5ff1a}.mode-toggle-btn:hover{opacity:.9;transform:translateY(-.1rem)}.icon-btn-primary{background-color:var(--color-primary);color:#fff;padding:.6rem 1rem}.icon-btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-.1rem)}.icon-btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);background-color:#ffffff0d;padding:.6rem 1rem}.icon-btn-secondary:hover:not(:disabled){border-color:var(--text-secondary);background-color:#ffffff1a}a.icon-btn-secondary{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:.8rem;font-size:1.4rem;text-decoration:none;display:inline-flex}.icon-btn-accent{background:var(--color-brand-gradient);color:#fff;padding:.6rem 1rem}.icon-btn-accent:hover:not(:disabled){opacity:.9;transform:translateY(-.1rem)}.lang-toggle-btn-bold{font-weight:700}.file-input-hidden{display:none}.brand-footer-container{background-color:var(--bg-surface);border-top:1px solid var(--border-color);margin-top:auto;padding:4rem 2.4rem}.disclaimer-section{flex-direction:column;gap:1.2rem;max-width:140rem;margin:0 auto;display:flex}.disclaimer-section .disclaimer-header{color:#ff9500;align-items:center;gap:.8rem;display:flex}.disclaimer-section .disclaimer-header h4{font-size:1.3rem;font-weight:600}.disclaimer-section .disclaimer-text{color:var(--text-muted);font-size:1.1rem;line-height:1.6}.disclaimer-section .disclaimer-text strong{color:var(--text-secondary)}.footer-meta{color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;margin-top:1.2rem;font-size:1.1rem;display:flex}.footer-meta .footer-link{color:var(--text-secondary);text-decoration:underline;transition:all .25s cubic-bezier(.4,0,.2,1)}.footer-meta .footer-link:hover{color:var(--color-primary)}.editor-grid-layout{gap:1.2rem;min-width:1024px;height:auto;min-height:85rem;display:flex}.sidebar-col{flex-direction:column;gap:2.4rem;width:32rem;min-width:32rem;height:auto;display:flex}.canvas-col{flex-direction:column;gap:2.4rem;width:100%;height:85rem;display:flex;overflow:hidden}.settings-panel{border-radius:var(--radius-md);flex-direction:column;gap:1.6rem;padding:2rem;display:flex}.panel-tabs{border-radius:var(--radius-sm);background:#0003;padding:.4rem;display:flex}.panel-tabs .tab-btn{color:var(--text-secondary);border-radius:calc(var(--radius-sm) - 2px);background:0 0;flex:1;padding:.8rem 1.2rem;font-size:1.3rem}.panel-tabs .tab-btn.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.tab-content{min-height:18rem}.tab-content-settings{margin-top:1.2rem}.settings-section{flex-direction:column;gap:1.2rem;display:flex}.settings-section h3{color:var(--text-primary);border-left:.3rem solid var(--color-primary);border-left:.3rem solid var(--color-primary);margin-bottom:.4rem;padding-left:.8rem;font-size:1.4rem;font-weight:600}.input-control{flex-direction:column;flex:1;gap:.6rem;display:flex}.input-control label{color:var(--text-secondary);font-size:1.2rem}.input-control input[type=number],.input-control input[type=text]{border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);background:#0003;outline:none;padding:1rem 1.2rem;font-size:1.4rem;transition:all .2s}.input-control input[type=number]:focus,.input-control input[type=text]:focus{border-color:var(--color-primary);background:#00000059}.input-control .text-generator-textarea{border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:var(--radius-sm);resize:none;background:#0003;outline:none;padding:1rem 1.2rem;font-size:1.4rem;transition:all .2s}.input-control .text-generator-textarea:hover{border-color:var(--color-primary-hover,var(--color-primary));background:#00000059}.input-control .text-generator-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-glow);background:#00000059}.input-control select{border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);background:#0003;outline:none;padding:1rem 1.2rem;font-size:1.4rem;transition:all .2s}.custom-select-container{cursor:pointer;outline:none;width:100%;position:relative}.custom-select-container:focus .custom-select-trigger{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-glow)}.custom-select-container .custom-select-trigger{border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;background:#0003;justify-content:space-between;align-items:center;padding:1.1rem 1.2rem;font-size:1.4rem;transition:all .2s;display:flex}.custom-select-container .custom-select-trigger:hover{border-color:var(--color-primary-hover,var(--color-primary));background:#00000059}.custom-select-container .custom-select-trigger .select-arrow{color:var(--text-secondary);transition:transform .2s}.custom-select-container .custom-select-trigger .select-arrow.rotated{transform:rotate(180deg)}.custom-select-container .custom-select-dropdown{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;box-shadow:var(--shadow-md);z-index:100;max-height:25rem;margin:0;padding:.6rem;list-style:none;animation:.2s cubic-bezier(.4,0,.2,1) selectDropdownFadeIn;position:absolute;top:calc(100% + .6rem);left:0;overflow-y:auto}.custom-select-container .custom-select-dropdown::-webkit-scrollbar{width:6px}.custom-select-container .custom-select-dropdown::-webkit-scrollbar-track{background:0 0}.custom-select-container .custom-select-dropdown::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.custom-select-container .custom-select-option{color:var(--text-secondary);border-radius:calc(var(--radius-sm) - 4px);padding:.8rem 1.2rem;font-size:1.3rem;transition:all .2s}.custom-select-container .custom-select-option:hover{background:var(--color-primary-glow);color:var(--text-primary)}.custom-select-container .custom-select-option.is-selected{background:var(--color-primary);color:#fff}.light-theme .custom-select-container .custom-select-trigger{border:1px solid var(--border-color);color:var(--text-primary);background:#fff}.light-theme .custom-select-container .custom-select-trigger:hover{border-color:var(--color-primary);background:#f9f9f9}.light-theme .custom-select-container .custom-select-dropdown{border:1px solid var(--border-color);box-shadow:var(--shadow-md);background:#fff}.light-theme .custom-select-container .custom-select-option{color:var(--text-secondary)}.light-theme .custom-select-container .custom-select-option:hover{background:var(--color-primary-glow);color:var(--text-primary)}.light-theme .custom-select-container .custom-select-option.is-selected{background:var(--color-primary);color:#fff}.light-theme .text-generator-textarea{border:1px solid var(--border-color);color:var(--text-primary);background:#fff}.light-theme .text-generator-textarea:hover{border-color:var(--color-primary);background:#f9f9f9}.light-theme .text-generator-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-glow);background:#fff}@keyframes selectDropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.input-group-row{gap:1.2rem;display:flex}.input-group-margin{margin-top:.8rem}.primary-action-btn{background:var(--color-primary-glow);color:var(--color-primary);border:1px solid var(--color-primary);width:100%;padding:1rem}.primary-action-btn:hover{background:var(--color-primary);color:#fff}.primary-settings-action-btn{background:var(--color-primary-glow);width:100%;color:var(--color-primary);border:1px solid var(--color-primary);margin-top:1rem}.primary-settings-action-btn:hover{background:var(--color-primary);color:#fff}.accent-action-btn{background:var(--color-brand-gradient);color:#fff;width:100%;padding:1rem}.accent-action-btn:hover{filter:brightness(1.1)}.guide-selector{gap:.6rem;display:flex}.guide-btn{color:var(--text-secondary);border:1px solid var(--border-color);background-color:#ffffff08;flex:1;padding:.8rem;font-size:1.2rem}.guide-btn.selected{border-color:var(--color-primary);color:var(--color-primary);background:var(--bg-accent)}.danger-btn{color:#ef4444;background:#ef444426;border:1px solid #ef44444d;width:100%;padding:1rem}.danger-btn:hover{color:#fff;background:#ef4444}.dropzone{border:.2rem dashed var(--border-color);border-radius:var(--radius-sm);text-align:center;cursor:pointer;background:#0000001a;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;padding:2rem 1.2rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.dropzone:hover,.dropzone.drag-active{border-color:var(--color-secondary);background:var(--color-secondary-glow)}.dropzone .dropzone-icon{color:var(--text-muted);transition:color .2s}.dropzone:hover .dropzone-icon{color:var(--color-secondary)}.dropzone .dropzone-text{color:var(--text-secondary);font-size:1.2rem;line-height:1.4}.dropzone .dropzone-text span{color:var(--color-secondary);font-weight:500}.uploaded-preview{flex-direction:column;gap:1.2rem;margin-top:1.2rem;display:flex}.uploaded-preview img{object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:#000;width:100%;max-height:14rem}.quantize-controls{flex-direction:column;gap:.6rem;display:flex}input[type=range]{-webkit-appearance:none;background:var(--bg-accent);border-radius:.3rem;outline:none;width:100%;height:.6rem;margin:.8rem 0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-primary);cursor:pointer;border-radius:50%;width:1.6rem;height:1.6rem;transition:transform .1s}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.checkbox-row{gap:1.6rem;margin-top:.4rem;display:flex}.checkbox-container{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.8rem;display:flex}.checkbox-container input{cursor:pointer;accent-color:var(--color-primary);width:1.6rem;height:1.6rem}.checkbox-container .checkbox-label{color:var(--text-primary);font-size:1.3rem}.color-input-wrapper{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#0003;align-items:center;gap:.8rem;padding:.8rem;display:flex}.color-input-wrapper input[type=color]{cursor:pointer;background:0 0;border:none;width:2.4rem;height:2.4rem}.color-input-wrapper span{color:var(--text-secondary);font-size:1.3rem}.palette-editor-section{flex-direction:column;gap:1.2rem;display:flex}.palette-editor-section h3{border-left:.3rem solid var(--color-secondary);border-left:.3rem solid var(--color-secondary);padding-left:.8rem;font-size:1.4rem;font-weight:600}.palette-grid{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:#00000026;grid-template-columns:repeat(auto-fill,minmax(4.2rem,1fr));gap:.6rem;padding:1rem;display:grid}.palette-color-item{aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;border:.2rem solid #0000;width:100%;transition:transform .15s,border-color .15s;position:relative}.palette-color-item:hover{transform:scale(1.05)}.palette-color-item:hover .palette-color-delete-btn{opacity:1}.palette-color-item.active{border-color:#fff;box-shadow:0 0 .8rem #ffffff4d}.palette-color-item .palette-color-picker-hidden{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.palette-color-item .palette-color-delete-btn{color:#fff;width:1.6rem;height:1.6rem;box-shadow:var(--shadow-sm);opacity:0;z-index:5;background:#ef4444;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;top:-.4rem;right:-.4rem}.add-color-control{align-items:center;gap:.8rem;display:flex}.add-color-control input[type=color]{border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;background:0 0;width:3.2rem;height:3.2rem}.icon-btn-inline{color:var(--text-primary);border:1px solid var(--border-color);background:#ffffff0d;padding:.8rem 1.2rem;font-size:1.3rem}.icon-btn-inline:hover{border-color:var(--color-secondary);background:#ffffff26}.editor-container{background:var(--bg-surface-glass);-webkit-backdrop-filter:blur(1.2rem);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);flex-direction:column;gap:1.6rem;padding:1.6rem;display:flex}.editor-container:fullscreen{background-color:var(--bg-base)!important;box-sizing:border-box!important;flex-direction:column!important;gap:1rem!important;width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;padding:2.4rem!important;display:flex!important}.editor-container:fullscreen .editor-toolbar{flex-shrink:0!important}.editor-container:fullscreen .canvas-viewport{background-color:var(--bg-surface)!important;border:none!important;flex:1!important;min-height:0!important;max-height:none!important;display:block!important}.editor-toolbar{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#00000026;align-items:center;padding:.8rem 1.2rem;display:flex}.tool-group{gap:.6rem;display:flex}.tool-btn{color:var(--text-secondary);background:0 0;border:1px solid #0000;padding:.8rem 1.2rem;font-size:1.3rem}.tool-btn.active{background:var(--color-primary-glow);color:var(--color-primary);border-color:var(--color-primary-glow)}.tool-btn:hover:not(.active){color:var(--text-primary);background:#ffffff0d}.tool-btn.danger-btn-toolbar:hover{color:#ff3b30;background:#ff3b3026;border-color:#ff3b3033}.toolbar-divider{background-color:var(--border-color);width:1px;height:2rem}.view-mode-group{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:#0003;gap:.4rem;padding:.3rem;display:flex}.view-mode-btn{color:var(--text-secondary);border-radius:calc(var(--radius-sm) - .2rem);cursor:pointer;background:0 0;border:none;padding:.6rem 1.2rem;font-size:1.1rem;font-weight:500;transition:all .2s}.view-mode-btn.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.view-mode-btn:hover:not(.active){color:var(--text-primary);background:#ffffff08}.history-group{align-items:center;gap:.6rem;display:flex}.history-btn{width:3.2rem;height:3.2rem;color:var(--text-primary);border-radius:var(--radius-sm);background:0 0}.history-btn:hover:not(:disabled){background:#ffffff0d}.current-color-preview{align-items:center;gap:.8rem;display:flex}.current-color-preview .label{color:var(--text-secondary);font-size:1.2rem}.current-color-preview .color-swatch{border:1px solid #fff3;border-radius:.4rem;width:2rem;height:2rem}.current-color-preview .hex-val{color:var(--text-primary);font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:1.3rem}.canvas-viewport{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);background-image:radial-gradient(#ffffff08 1px,#0000 0);background-size:1.6rem 1.6rem;flex:1;width:100%;min-height:calc(100vh - 44rem);max-height:calc(100vh - 15rem);padding:2.4rem;position:relative;overflow:auto!important}.canvas-viewport:not(.has-scroll){justify-content:center;align-items:center;display:flex}.canvas-viewport.has-scroll{display:block}.canvas-viewport canvas{image-rendering:pixelated;image-rendering:crisp-edges;cursor:crosshair;background-color:#fff;margin:0 auto;display:block;box-shadow:0 .5rem 1.5rem #00000059;flex-shrink:0!important;max-width:none!important;max-height:none!important}.fullscreen-btn{border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;z-index:5;background:#131b2ed9;align-items:center;gap:.6rem;padding:.8rem 1.2rem;font-size:1.2rem;font-weight:500;transition:all .2s;display:flex}.fullscreen-btn:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.yarn-calculator-panel-sidebar{flex-direction:column;gap:1.2rem;width:100%;padding-top:.4rem;display:flex}.yarn-calculator-panel-sidebar .calc-inputs{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.yarn-calculator-panel-sidebar .stitches-summary{color:var(--text-primary);margin-top:.4rem;font-size:1.3rem}.yarn-calculator-panel-sidebar .stitches-summary strong{color:var(--color-secondary);font-size:1.4rem}.yarn-calculator-panel-sidebar .yarn-results-table-wrapper{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:#00000026;overflow-x:auto}.yarn-calculator-panel-sidebar .yarn-results-table{border-collapse:collapse;text-align:left;width:100%}.yarn-calculator-panel-sidebar .yarn-results-table th,.yarn-calculator-panel-sidebar .yarn-results-table td{border-bottom:1px solid var(--border-color);padding:.8rem .6rem;font-size:1.1rem}.yarn-calculator-panel-sidebar .yarn-results-table th{color:var(--text-secondary);background:#0003;font-size:1rem;font-weight:500}.yarn-calculator-panel-sidebar .yarn-results-table tr:last-child td{border-bottom:none}.yarn-calculator-panel-sidebar .yarn-results-table td.number{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.yarn-calculator-panel-sidebar .yarn-results-table td.highlight{color:var(--color-secondary);font-weight:600}.yarn-calculator-panel-sidebar .table-color-cell{align-items:center;gap:.6rem;display:flex}.yarn-calculator-panel-sidebar .table-color-swatch{border:1px solid #ffffff1a;border-radius:.3rem;flex-shrink:0;width:1.4rem;height:1.4rem}.yarn-calculator-panel-sidebar .table-color-hex{color:var(--text-secondary);font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.9rem;display:none}.yarn-calculator-panel-sidebar .yarn-calc-hint{color:var(--text-muted);margin-top:.4rem;font-size:1rem;line-height:1.4}.accordion-section{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface-glass);margin-bottom:.8rem;overflow:hidden}.accordion-header{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:#ffffff05;border:none;justify-content:space-between;align-items:center;padding:1.2rem 1.6rem;font-size:1.4rem;font-weight:600;transition:background .2s;display:flex}.accordion-header:hover{background:#ffffff0a}.header-title-wrapper{align-items:center;gap:1rem;display:flex}.accordion-body{border-top:1px solid var(--border-color);background:#0000001a;padding:.8rem 1.2rem}.light-theme .accordion-body{background:#00000005}.editor-bottom-ad-slot{border-radius:var(--radius-sm);border:1px dashed var(--border-color);background:#0000001a;flex-shrink:0;justify-content:center;align-items:center;width:100%;height:9rem;display:flex}.light-theme .editor-bottom-ad-slot{background:#00000005}.grid-color-picker-wrapper{justify-content:space-between;align-items:center;padding:.4rem 0;display:flex}.grid-color-label{color:var(--text-secondary);font-size:1.3rem;font-weight:500}.yarn-calculator-panel-sidebar .yarn-section-title{text-transform:uppercase;letter-spacing:.05rem;letter-spacing:.05rem;color:var(--text-secondary);margin-top:1.2rem;margin-bottom:.6rem;font-size:1.1rem;font-weight:600}.yarn-calculator-panel-sidebar .dmc-legend-list{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:#0000001a;flex-direction:column;gap:.6rem;padding:1rem;display:flex}.yarn-calculator-panel-sidebar .legend-item{border-bottom:1px dashed #ffffff0d;justify-content:space-between;align-items:center;padding:.4rem 0;font-size:1.1rem;display:flex}.yarn-calculator-panel-sidebar .legend-item:last-child{border-bottom:none}.yarn-calculator-panel-sidebar .legend-color-pair{align-items:center;gap:.8rem;width:100%;display:flex}.yarn-calculator-panel-sidebar .color-swatch-wrapper{flex:1;align-items:center;gap:.6rem;min-width:0;display:flex}.yarn-calculator-panel-sidebar .color-swatch{border:1px solid #ffffff1a;border-radius:.3rem;flex-shrink:0;width:1.4rem;height:1.4rem}.yarn-calculator-panel-sidebar .color-label{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:1rem;overflow:hidden}.yarn-calculator-panel-sidebar .arrow-separator{color:var(--text-muted);padding:0 .4rem;font-weight:700}.yarn-calculator-panel-sidebar .checklist-checkbox-cell{text-align:center;width:2.4rem;padding:.8rem .4rem}.yarn-calculator-panel-sidebar .checklist-checkbox-cell input[type=checkbox]{cursor:pointer;width:1.3rem;height:1.3rem;accent-color:var(--color-secondary)}.yarn-calculator-panel-sidebar tr.row-checked{opacity:.4;text-decoration:line-through;transition:opacity .2s,-webkit-text-decoration .2s,text-decoration .2s}.aspect-ratio-lock-btn{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:#ffffff0d;justify-content:center;align-self:flex-end;align-items:center;width:3.6rem;height:3.6rem;margin-bottom:.1rem;transition:all .2s;display:flex}.aspect-ratio-lock-btn.active{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-glow)}.aspect-ratio-lock-btn:hover{background:#ffffff1a}.viewer-grid-layout{gap:1.2rem;width:100%;min-width:102.4rem;display:flex}.viewer-layout{display:contents}.viewer-sidebar{border-radius:var(--radius-md);flex-direction:column;gap:1.6rem;max-width:32rem;height:fit-content;padding:2rem;display:flex}.viewer-sidebar .viewer-control-card h3{margin-bottom:.8rem;font-size:1.6rem;font-weight:600}.sidebar-header h3{color:var(--text-primary);font-size:1.6rem;font-weight:600}.counter-card{border:1px solid var(--border-color);border-radius:var(--radius-sm);text-align:center;background:#0003;flex-direction:column;gap:1rem;padding:2rem 1.6rem;display:flex}.counter-card .counter-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05rem;font-size:1.2rem}.counter-card .counter-value{color:var(--color-secondary);font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:4.2rem;font-weight:700}.counter-card .counter-value .unit{color:var(--text-secondary);font-size:1.6rem;font-weight:400}.counter-card .counter-controls{gap:.6rem;margin-top:1rem;display:flex}.counter-btn-large{border-radius:var(--radius-sm);flex-direction:column;flex:1;gap:.6rem;padding:1.4rem;font-size:1.3rem;display:flex}.counter-btn-large.increment{background:var(--color-secondary-glow);color:var(--color-secondary);border:1px solid var(--color-secondary)}.counter-btn-large.increment:hover{background:var(--color-secondary);color:#000;box-shadow:0 0 1.5rem #00e5ff40}.counter-btn-large.decrement{color:var(--text-secondary);border:1px solid var(--border-color);background:#ffffff08}.counter-btn-large.decrement:hover:not(:disabled){color:var(--text-primary);background:#ffffff14}.viewer-settings{flex-direction:column;gap:1.4rem;display:flex}.setting-toggle{flex-direction:column;gap:.6rem;display:flex}.setting-toggle span{color:var(--text-secondary);font-size:1.2rem}.direction-toggle-buttons{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:#0003;padding:.3rem;display:flex}.dir-btn{color:var(--text-secondary);border-radius:calc(var(--radius-sm) - .4rem);background:0 0;flex:1;padding:.8rem .6rem;font-size:1.1rem}.dir-btn.active{background:var(--bg-surface);color:var(--color-secondary);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.setting-row{align-items:center;display:flex}.toggle-container{cursor:pointer;align-items:center;gap:1rem;display:flex}.toggle-container input{accent-color:var(--color-secondary);width:1.6rem;height:1.6rem}.slider-label{color:var(--text-primary);font-size:1.2rem}.wakelock-toggle-btn{border:1px solid var(--border-color);width:100%;color:var(--text-secondary);background:#ffffff08;padding:1rem}.wakelock-toggle-btn.active{color:#fc0;background:#ffcc001a;border-color:#ffcc004d}.wakelock-toggle-btn:hover{background:#ffffff14}.secondary-action-btn{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0;padding:1rem}.secondary-action-btn:hover{color:var(--text-primary);background:#ffffff0d}.w-full{width:100%}.viewer-instructions{border-radius:var(--radius-sm);background:#00e5ff08;border:1px solid #00e5ff1a;padding:1.4rem}.viewer-instructions h4{color:var(--color-secondary);margin-bottom:.6rem;font-size:1.2rem}.viewer-instructions ul{flex-direction:column;gap:.6rem;list-style:none;display:flex}.viewer-instructions ul li{color:var(--text-secondary);padding-left:1rem;font-size:1.1rem;line-height:1.4;position:relative}.viewer-instructions ul li:before{content:"•";color:var(--color-secondary);position:absolute;left:0}.viewer-viewport-container{flex-direction:column;flex:1;gap:1.2rem;width:100%;display:flex;overflow:hidden}.viewer-progress-banner{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:1rem 1.6rem;font-size:1.3rem;display:flex}.viewer-progress-banner strong{color:var(--color-secondary)}.viewer-canvas-viewport{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);flex:1;min-height:calc(100vh - 44rem);max-height:calc(100vh - 15rem);padding:2.4rem;display:block;position:relative;overflow:auto!important}.viewer-canvas-viewport canvas{image-rendering:pixelated;image-rendering:crisp-edges;background-color:#fff;margin:0 auto;display:block;box-shadow:0 1rem 3rem #00000080;flex-shrink:0!important;max-width:none!important;max-height:none!important}.viewer-canvas-viewport:fullscreen{box-sizing:border-box!important;background-color:#080a10!important;justify-content:flex-start!important;align-items:flex-start!important;width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;padding:8rem 4rem 4rem!important;display:flex!important;overflow:auto!important}.viewer-canvas-viewport:fullscreen canvas{margin:0 auto 4rem;box-shadow:0 2rem 6rem #000000e6}.segmented-counter-row{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#0003;width:100%;height:5.4rem;display:flex;overflow:hidden}.segmented-counter-row .counter-btn{width:6rem;height:100%;color:var(--text-primary);cursor:pointer;background:#ffffff08;border:none;border-radius:0;justify-content:center;align-items:center;font-size:2.4rem;font-weight:700;transition:background .2s;display:flex}.segmented-counter-row .counter-btn:hover{background:#ffffff14}.segmented-counter-row .counter-btn.increment-btn{background:var(--color-primary-glow);color:var(--color-primary);border-left:1px solid var(--border-color)}.segmented-counter-row .counter-btn.increment-btn:hover{background:var(--color-primary);color:#fff}.segmented-counter-row .counter-btn.decrement-btn{border-right:1px solid var(--border-color)}.segmented-counter-row .counter-display-segment{background:#0000001a;flex:1;justify-content:center;align-items:center;display:flex}.segmented-counter-row .counter-display-segment .value{color:var(--color-primary);font-size:1.8rem;font-weight:700}.segmented-counter-row .counter-display-segment .label{color:var(--color-primary);margin-left:.2rem;font-size:1.8rem}.segmented-control{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:#0003;width:100%;padding:.4rem;display:flex}.segmented-control .segment-btn{color:var(--text-secondary);border-radius:calc(var(--radius-sm) - .4rem);cursor:pointer;text-align:center;background:0 0;border:none;flex:1;padding:1rem .8rem;font-size:1.2rem;font-weight:500;transition:all .2s}.segmented-control .segment-btn.active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.custom-checkbox-container{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:1.2rem;width:100%;padding:.4rem 0;display:flex}.custom-checkbox-container input{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.custom-checkbox-container .checkbox-checkmark{border:1px solid var(--border-color);background:#ffffff0d;border-radius:.4rem;flex-shrink:0;width:2rem;height:2rem;transition:all .2s;position:relative}.custom-checkbox-container .checkbox-checkmark:after{content:"";border:.2rem solid #fff;border-width:0 .2rem .2rem 0;width:.5rem;height:1rem;display:none;position:absolute;top:.2rem;left:.6rem;transform:rotate(45deg)}.custom-checkbox-container input:checked~.checkbox-checkmark{background:var(--color-primary);border-color:var(--color-primary)}.custom-checkbox-container input:checked~.checkbox-checkmark:after{display:block}.custom-checkbox-container .checkbox-text-label{color:var(--text-primary);font-size:1.3rem;font-weight:500}.switch-row{cursor:pointer;justify-content:space-between;align-items:center;width:100%;padding:.4rem 0;display:flex}.switch-label{color:var(--text-primary);font-size:1.3rem;font-weight:500}.toggle-switch{border:1px solid var(--border-color);background:#ffffff1a;border-radius:1.2rem;width:4.6rem;height:2.4rem;transition:background-color .25s;position:relative}.toggle-switch.active{background-color:var(--color-primary);border-color:var(--color-primary)}.toggle-switch .switch-knob{background:#fff;border-radius:50%;width:1.8rem;height:1.8rem;transition:transform .25s cubic-bezier(.4,0,.2,1);position:absolute;top:.2rem;left:.2rem;box-shadow:0 .2rem .4rem #0003}.toggle-switch.active .switch-knob{transform:translate(2.2rem)}.tips-panel-card{border:1px solid var(--border-color);border-left:.4rem solid var(--color-primary);border-radius:var(--radius-sm);background:#ffffff05;margin-top:.8rem;padding:1.6rem}.tips-panel-card h4{color:var(--color-primary);margin-bottom:.8rem;font-size:1.3rem;font-weight:600}.tips-panel-card ul{flex-direction:column;gap:.6rem;list-style:none;display:flex}.tips-panel-card ul li{color:var(--text-secondary);padding-left:1.2rem;font-size:1.2rem;line-height:1.4;position:relative}.tips-panel-card ul li:before{content:"•";color:var(--color-primary);position:absolute;left:0}.light-theme .tips-panel-card{background:#00000003}.fullscreen-floating-counter{z-index:9999;background:var(--bg-surface-glass);-webkit-backdrop-filter:blur(1.2rem);border:1px solid var(--border-color);pointer-events:auto;border-radius:3rem;align-items:center;gap:1.6rem;padding:1.2rem 2.4rem;display:flex;position:fixed;bottom:2.4rem;left:50%;transform:translate(-50%);box-shadow:0 1rem 3rem #00000080}.fullscreen-floating-counter .floating-counter-btn{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:4.4rem;height:4.4rem;font-size:2.4rem;font-weight:700;transition:all .2s;display:flex}.fullscreen-floating-counter .floating-counter-btn:hover{background:var(--color-secondary);border-color:var(--color-secondary);color:#fff;transform:scale(1.05)}.fullscreen-floating-counter .floating-counter-display{justify-content:center;align-items:baseline;gap:.4rem;min-width:8rem;display:flex}.fullscreen-floating-counter .floating-counter-display .floating-count-number{color:var(--color-secondary);font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:2.8rem;font-weight:700}.fullscreen-floating-counter .floating-counter-display .floating-count-unit{color:var(--text-secondary);font-size:1.4rem}.fullscreen-floating-counter .floating-counter-divider{background-color:var(--border-color);width:1px;height:2.4rem}.fullscreen-floating-counter .floating-minimize-btn,.fullscreen-floating-counter .floating-direction-btn,.fullscreen-floating-counter .floating-reset-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.8rem;transition:all .2s;display:flex}.fullscreen-floating-counter .floating-minimize-btn:hover,.fullscreen-floating-counter .floating-direction-btn:hover,.fullscreen-floating-counter .floating-reset-btn:hover{color:var(--text-primary);background:#ffffff1a}@media (min-width:1025px){.sidebar-toggle-btn{display:none!important}}@media (min-width:768px) and (max-width:1024px){.editor-grid-layout{grid-template-columns:1fr;min-width:100%}.viewer-grid-layout{flex-direction:column;gap:1.6rem;min-width:100%;position:relative}.header-controls svg{width:1.2rem;height:1.2rem}.header-controls button{padding:.6rem 1rem;font-size:1.2rem}.viewer-sidebar{z-index:10;width:34rem;box-shadow:var(--shadow-lg);background:var(--bg-surface-glass);-webkit-backdrop-filter:blur(1.6rem);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s;position:absolute;top:0;left:0}.viewer-sidebar.collapsed{opacity:0;pointer-events:none;transform:translate(-36rem)}.viewer-viewport-container{width:100%}.sidebar-toggle-btn{z-index:95;background:var(--bg-surface-glass);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-color);width:4rem;height:4rem;color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;position:absolute;top:1.6rem;left:1.6rem;display:flex!important}.sidebar-toggle-btn:hover{background:var(--color-primary-glow);border-color:var(--color-primary);color:var(--color-primary)}}@media (max-width:767px){.brand-header{flex-direction:column;align-items:stretch;gap:1.2rem;padding:1.2rem 1.6rem}.brand-header button{padding:.6rem 1.2rem}.brand-header .divider{display:none}.header-controls{flex-wrap:wrap;justify-content:center;gap:.8rem}.header-controls svg{display:none}.sidebar-col{width:100%}.main-content-wrapper{padding:1.2rem}.editor-grid-layout{flex-direction:column;min-width:100%}.calc-inputs{flex-direction:column;gap:1rem}.viewer-grid-layout{flex-direction:column;gap:1.6rem;min-width:100%;display:flex}.viewer-viewport-container{order:1;width:100%;margin-top:0;padding:0}.viewer-canvas-viewport{height:60rem;padding:.8rem;display:block;overflow:auto!important}.viewer-canvas-viewport canvas{flex-shrink:0!important;max-width:none!important;max-height:none!important}.canvas-viewport{max-height:40rem}.viewer-sidebar{max-width:unset;border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--bg-surface);border-top:1px solid var(--border-color);order:2;width:100%;margin:0;padding:1.6rem;box-shadow:0 -.4rem 2rem #00000026}.sidebar-toggle-btn{display:none!important}.editor-toolbar{flex-wrap:wrap;justify-content:space-evenly}.editor-toolbar .tool-group{width:100%}.editor-toolbar .tool-group svg{display:none}.editor-toolbar .tool-group button{white-space:nowrap;flex:1;padding:.8rem}.editor-toolbar .toolbar-divider{display:none}}.bottom-ad-wrapper{width:100%;max-width:140rem;margin:0 auto;padding:0 2.4rem 2.4rem}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ad-placeholder-container{background:linear-gradient(90deg, var(--bg-surface) 25%, var(--border-color) 50%, var(--bg-surface) 75%);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-sizing:border-box;background-size:200% 100%;flex-direction:column;justify-content:center;align-items:center;margin:0 auto;animation:1.5s linear infinite shimmer;display:flex;position:relative;overflow:hidden}.ad-placeholder-container .ad-label{color:var(--text-muted);letter-spacing:.1rem;font-size:.8rem;font-weight:600;position:absolute;top:.4rem}.ad-placeholder-container .ad-content-box{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;width:100%;height:100%;display:flex}.ad-placeholder-container .adsbygoogle{width:100%;height:100%;display:block}.ad-placeholder-container .ad-size{color:var(--text-secondary);font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:1.4rem;font-weight:700}.ad-placeholder-container .ad-size-hidden{display:none}.ad-placeholder-container .ad-sub{color:var(--text-muted);font-size:1rem}.ad-placeholder-container.ad-leaderboard{width:100%;height:9rem}.ad-placeholder-container.ad-rectangle{width:100%;height:25rem;margin-top:1rem}.ad-placeholder-container.ad-inline{width:100%;max-width:46.8rem;height:6rem;margin-top:1.2rem}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(.4rem);background-color:#00000080;justify-content:center;align-items:center;padding:1.6rem;animation:.2s cubic-bezier(.4,0,.2,1) forwards modalFadeIn;display:flex;position:fixed;inset:0}.modal-container{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;min-width:58rem;max-width:100%;box-shadow:var(--shadow-lg);max-height:85vh;color:var(--text-primary);flex-direction:column;animation:.2s cubic-bezier(.4,0,.2,1) forwards modalScaleUp;display:flex;position:relative;overflow:hidden}@media (max-width:768px){.modal-container{min-width:unset;width:100%}}@media (min-width:1024px){.modal-container{max-width:32rem}}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:2rem;display:flex}.modal-title{letter-spacing:-.05rem;color:var(--text-primary);margin:0;font-size:2rem;font-weight:700}.modal-close-btn{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.6rem;transition:all .2s;display:flex}.modal-close-btn:hover{color:var(--text-primary);background-color:#ffffff0d}.light-theme .modal-close-btn:hover{background-color:#0000000d}.modal-body{color:var(--text-secondary);flex:1;padding:2rem;font-size:1.4rem;line-height:1.6;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);background-color:#0000001a;justify-content:center;align-items:center;gap:1.2rem;padding:2rem;display:flex}.modal-footer button{flex:1;min-height:5.2rem}.light-theme .modal-footer{background-color:#00000005}.modal-btn-cancel{border-radius:var(--radius-md);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background-color:#0000;padding:1rem 1.8rem;font-size:1.4rem;font-weight:500;transition:all .2s}.modal-btn-cancel:hover{background-color:#ffffff0d}.light-theme .modal-btn-cancel:hover{background-color:#0000000d}.modal-btn-confirm{border-radius:var(--radius-md);background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;padding:1rem 1.8rem;font-size:1.4rem;font-weight:500;transition:all .2s}.modal-btn-confirm:hover{background-color:var(--color-primary-hover);transform:translateY(-.1rem);box-shadow:0 .4rem 1.2rem #ff5e7e4d}.modal-btn-confirm:active{transform:translateY(0)}.modal-alert-text{color:var(--text-primary);word-break:auto-phrase;margin:0;font-size:1.5rem;line-height:1.6}.landing{flex-direction:column;gap:8rem;max-width:120rem;margin:0 auto;padding:4rem 2.4rem 6rem;animation:.4s ease-out forwards fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.landing-hero{text-align:center;border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:1.6rem;padding:6rem 2rem;display:flex}@media (max-width:768px){.landing-hero{padding:0}}.landing-hero__logo{filter:drop-shadow(0 .8rem 2rem #473c2526);max-width:24rem;height:auto}.landing-hero__title{letter-spacing:-.1rem;background:var(--color-brand-gradient);-webkit-text-fill-color:#0000;-webkit-background-clip:text;max-width:80rem;font-size:4.4rem;font-weight:800;line-height:1.15}@media (max-width:76.8rem){.landing-hero__title{font-size:3.2rem}}.landing-hero__subtitle{color:var(--text-secondary);white-space:pre-line;max-width:65rem;font-size:2rem;line-height:1.6}@media (max-width:76.8rem){.landing-hero__subtitle{font-size:1.8rem}}.landing-hero__cta{border-radius:var(--radius-md);background-color:var(--color-primary);color:#fff;cursor:pointer;box-shadow:0 .4rem 1.4rem var(--color-primary-glow);border:none;margin-top:2.4rem;padding:1.6rem 3.6rem;font-size:1.8rem;font-weight:600;transition:transform .2s,box-shadow .2s,background-color .2s}.landing-hero__cta:hover{background-color:var(--color-primary-hover);transform:scale(1.05)}.landing-hero__cta:active{transform:scale(.98)}.features-section{flex-direction:column;gap:2.4rem;display:flex}.features-section__heading{text-align:center;color:var(--text-primary);padding-bottom:1.2rem;font-size:2rem;font-weight:700;position:relative}.features-section__heading:after{content:"";background:var(--color-brand-gradient);border-radius:.2rem;width:6rem;height:.3rem;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.features-grid{grid-template-columns:repeat(auto-fit,minmax(28rem,1fr));gap:2.4rem;width:100%;display:grid}.features-grid__card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:1.6rem;padding:3.2rem 2.4rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.features-grid__card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-.4rem)}.features-grid__icon{border-radius:var(--radius-sm);background-color:var(--bg-accent);width:4.8rem;height:4.8rem;color:var(--color-primary);justify-content:center;align-items:center;font-size:2.4rem;display:flex}.features-grid__title{color:var(--text-primary);font-size:2rem;font-weight:600}.features-grid__desc{color:var(--text-secondary);word-break:auto-phrase;font-size:1.5rem;line-height:1.6}.workflow-section{flex-direction:column;gap:2.4rem;display:flex}.workflow-section__heading{text-align:center;color:var(--text-primary);padding-bottom:1.2rem;font-size:2rem;font-weight:700;position:relative}.workflow-section__heading:after{content:"";background:var(--color-brand-gradient);border-radius:.2rem;width:6rem;height:.3rem;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.workflow-timeline{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:3.2rem;padding:2rem 0;display:flex;position:relative}@media (max-width:76.8rem){.workflow-timeline{flex-direction:column;align-items:center}}.workflow-timeline__item{text-align:center;background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;flex:1;align-items:center;padding:2.4rem;display:flex;position:relative}@media (max-width:76.8rem){.workflow-timeline__item{width:100%;max-width:40rem}}.workflow-timeline__item:not(:last-child):after{content:"";background-color:var(--border-color);width:1.6rem;height:.2rem;position:absolute;top:50%;right:-2.4rem;transform:translateY(-50%)}@media (max-width:76.8rem){.workflow-timeline__item:not(:last-child):after{width:.2rem;height:1.6rem;inset:auto auto -2.4rem 50%;transform:translate(-50%)}}.workflow-timeline__step-badge{background:var(--color-brand-gradient);color:#fff;width:3.6rem;height:3.6rem;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.6rem;font-size:1.8rem;font-weight:700;display:flex}.workflow-timeline__title{color:var(--text-primary);margin-bottom:.8rem;font-size:1.8rem;font-weight:600}.workflow-timeline__desc{color:var(--text-secondary);word-break:auto-phrase;font-size:1.4rem;line-height:1.5}@keyframes gaugeModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes gaugeModalScaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.gauge-modal-backdrop{z-index:11000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#2d282466;justify-content:center;align-items:center;padding:2.4rem;animation:.2s ease-out forwards gaugeModalFadeIn;display:flex;position:fixed;inset:0}.gauge-modal-container{background-color:var(--bg-surface);width:100%;max-width:100rem;max-height:90vh;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);border-radius:2rem;flex-direction:column;animation:.25s cubic-bezier(.16,1,.3,1) forwards gaugeModalScaleUp;display:flex;position:relative;overflow:hidden}header.gauge-calc-header{background-color:var(--color-primary-glow);border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:2rem;padding:1.2rem 3rem;display:flex;position:relative}header.gauge-calc-header .header-icon{background-color:var(--color-primary);color:#fff;width:5.2rem;height:5.2rem;box-shadow:0 .4rem 1.2rem var(--border-color-glow);border-radius:1.4rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}header.gauge-calc-header .header-text h1{color:var(--text-primary);margin-bottom:.4rem;font-family:inherit;font-size:2.4rem;font-weight:700}header.gauge-calc-header .header-text p{color:var(--text-secondary);font-size:1.3rem}header.gauge-calc-header .gauge-modal-close-btn{border:1px solid var(--border-color);background-color:var(--bg-surface);width:3.6rem;height:3.6rem;color:var(--text-secondary);cursor:pointer;border-radius:50%;outline:none;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:absolute;top:50%;right:3rem;transform:translateY(-50%)}header.gauge-calc-header .gauge-modal-close-btn:hover{color:var(--text-primary);border-color:var(--color-primary);background-color:var(--color-primary-glow)}@media (max-width:860px){header.gauge-calc-header{padding:2.4rem 2rem}header.gauge-calc-header .gauge-modal-close-btn{right:2rem}}.calculator-grid{border-top:none;flex:1;grid-template-columns:1.1fr .9fr;min-height:0;display:grid;overflow-y:auto}.calculator-grid::-webkit-scrollbar{width:.8rem}.calculator-grid::-webkit-scrollbar-track{background:0 0}.calculator-grid::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:.4rem}.calculator-grid::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width:860px){.calculator-grid{grid-template-columns:1fr}}.inputs-panel{flex-direction:column;gap:2.8rem;padding:3rem;display:flex}@media (max-width:860px){.inputs-panel{padding:2.4rem 2rem}}.unit-selector{background-color:var(--color-primary-glow);border-radius:10rem;padding:.4rem;display:flex;position:relative}.unit-selector .unit-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:10rem;flex:1;justify-content:center;align-items:center;gap:.8rem;padding:1.2rem 2rem;font-family:inherit;font-size:1.4rem;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.unit-selector .unit-btn.active{background-color:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.input-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);align-items:center;gap:.8rem;margin-bottom:1.6rem;font-size:1.3rem;font-weight:700;display:flex}.input-card{background-color:var(--bg-base);border:1px solid var(--border-color);border-radius:1.4rem;padding:2rem}.input-row{margin-bottom:2rem}.input-row:last-child{margin-bottom:0}.label-container{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.input-label{color:var(--text-primary);font-size:1.4rem;font-weight:600}.input-number-wrapper{align-items:center;gap:.8rem;display:flex}.input-number-wrapper .input-number{border:1px solid var(--border-color);width:8.5rem;color:var(--text-primary);text-align:right;background-color:var(--bg-surface);border-radius:.8rem;outline:none;padding:.6rem 1rem;font-family:inherit;font-size:1.4rem;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1)}.input-number-wrapper .input-number:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--border-color-glow)}.input-number-wrapper .input-unit{color:var(--text-secondary);width:4rem;font-size:1.3rem;font-weight:600}.slider-container{align-items:center;width:100%;display:flex}.slider-container .range-slider{appearance:none;background:var(--border-color);border-radius:.3rem;outline:none;width:100%;height:.6rem;transition:all .25s cubic-bezier(.4,0,.2,1)}.slider-container .range-slider::-webkit-slider-thumb{appearance:none;background:var(--color-primary);cursor:pointer;border:2px solid var(--bg-surface);border-radius:50%;width:1.8rem;height:1.8rem;transition:transform .1s;box-shadow:0 2px 6px #00000026}.slider-container .range-slider::-webkit-slider-thumb:hover{background:var(--color-primary-hover);transform:scale(1.15)}.slider-container .range-slider::-moz-range-thumb{background:var(--color-primary);cursor:pointer;border:2px solid var(--bg-surface);border-radius:50%;width:1.8rem;height:1.8rem;transition:transform .1s;box-shadow:0 2px 6px #00000026}.slider-container .range-slider::-moz-range-thumb:hover{background:var(--color-primary-hover);transform:scale(1.15)}.results-panel{background-color:var(--bg-base);border-left:1px solid var(--border-color);flex-direction:column;gap:2.8rem;padding:3rem;display:flex}@media (max-width:860px){.results-panel{border-left:none;border-top:1px solid var(--border-color);padding:2.4rem 2rem}}.results-card{background-color:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:2rem;flex-direction:column;gap:2rem;padding:2.8rem;display:flex}.output-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.output-box{flex-direction:column;display:flex}.output-box .output-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.6rem;font-size:1.2rem;font-weight:700}.output-box .output-value{color:var(--text-primary);align-items:baseline;gap:.4rem;font-family:inherit;font-size:3.6rem;font-weight:700;line-height:1.1;display:flex}.output-box .output-value span{font-family:var(--font-family);color:var(--text-secondary);font-size:1.6rem;font-weight:600}.symmetric-helper{color:var(--text-secondary);background-color:var(--bg-base);border-left:3px solid var(--color-primary);border-radius:.8rem;padding:1rem 1.4rem;font-size:1.3rem}.symmetric-helper strong{color:var(--text-primary)}.apply-grid-btn{background-color:var(--color-primary);color:#fff;cursor:pointer;width:100%;box-shadow:0 .4rem 1.2rem var(--color-primary-glow);border:none;border-radius:1.4rem;outline:none;justify-content:center;align-items:center;gap:.8rem;padding:1.4rem;font-family:inherit;font-size:1.4rem;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.apply-grid-btn:hover{background-color:var(--color-primary-hover);box-shadow:0 .6rem 1.6rem var(--color-primary-glow);transform:translateY(-1px)}.apply-grid-btn:active{transform:translateY(0)}.recommendation-card{background-color:var(--color-primary-glow);border:1px solid var(--border-color);border-radius:1.4rem;align-items:center;gap:1.6rem;padding:1.8rem 2rem;display:flex}.recommendation-card .rec-icon{background-color:var(--color-primary);color:#fff;border-radius:.8rem;flex-shrink:0;justify-content:center;align-items:center;width:4.4rem;height:4.4rem;display:flex}.recommendation-card .rec-info{flex:1}.recommendation-card .rec-info .rec-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.2rem;font-size:1.1rem;font-weight:700}.recommendation-card .rec-info .rec-weight{color:var(--text-primary);font-size:1.6rem;font-weight:700}.recommendation-card .rec-info .rec-needle{color:var(--text-secondary);font-size:1.3rem}.preview-section{flex-direction:column;align-items:center;gap:1.6rem;width:100%;display:flex}.preview-header-row{justify-content:space-between;align-items:center;width:100%;display:flex}.preview-title{color:var(--text-primary);font-size:1.4rem;font-weight:700}.color-picker-container{gap:.8rem;display:flex}.color-picker-container .color-btn{border:1px solid var(--border-color);cursor:pointer;border-radius:50%;outline:none;width:2.4rem;height:2.4rem;padding:0;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative}.color-picker-container .color-btn.active{box-shadow:0 0 0 2px var(--bg-surface),0 0 0 4px var(--color-primary);transform:scale(1.15)}.swatch-visual-container{aspect-ratio:1;background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:1.4rem;justify-content:center;align-items:center;width:100%;max-width:32rem;max-height:32rem;padding:3rem;display:flex;position:relative;box-shadow:inset 0 .2rem .8rem #00000003}.swatch-svg{width:100%;height:100%;overflow:visible}.swatch-svg .dimension-line{stroke:var(--text-secondary);stroke-width:1px;stroke-dasharray:2 2}.swatch-svg .dimension-arrow{fill:var(--text-secondary)}.swatch-svg .dimension-text{fill:var(--text-primary);text-anchor:middle;font-family:inherit;font-size:1.1rem;font-weight:600}.swatch-svg .dimension-text-bg{fill:var(--bg-surface)}.swatch-svg .fabric-shadow{filter:drop-shadow(0 .6rem 1.6rem var(--border-color-glow))}.docs-reader-container{background-color:var(--bg-surface);border:1px solid var(--border-color);width:100%;max-width:84rem;box-shadow:var(--shadow-md);box-sizing:border-box;border-radius:2rem;margin:3.2rem auto;padding:4.8rem}.docs-reader-container header.docs-header{border-bottom:2px solid var(--border-color);margin-bottom:3.2rem;padding-bottom:2.4rem}.docs-reader-container header.docs-header h1{color:var(--text-primary);margin-bottom:1.2rem;font-size:2.8rem;font-weight:800;line-height:1.3}.docs-reader-container header.docs-header .docs-subtitle{color:var(--text-secondary);margin:0;font-size:1.6rem;line-height:1.6}.docs-reader-container article.docs-body h2{color:var(--color-primary);border-bottom:1px solid var(--border-color);align-items:center;gap:1rem;margin-top:4rem;margin-bottom:1.8rem;padding-bottom:.8rem;font-size:2rem;font-weight:700;display:flex}.docs-reader-container article.docs-body h3{color:var(--text-primary);margin-top:2.8rem;margin-bottom:1.2rem;font-size:1.6rem;font-weight:700}.docs-reader-container article.docs-body p{color:var(--text-secondary);margin-bottom:2rem;font-size:1.45rem;line-height:1.8}.docs-reader-container article.docs-body ul,.docs-reader-container article.docs-body ol{margin-bottom:2rem;padding-left:2.4rem}.docs-reader-container article.docs-body ul li,.docs-reader-container article.docs-body ol li{color:var(--text-secondary);margin-bottom:.8rem;font-size:1.45rem;line-height:1.8}.docs-reader-container article.docs-body blockquote{background-color:var(--bg-base);border-left:4px solid var(--color-primary);border-radius:0 .8rem .8rem 0;margin:2.4rem 0;padding:1.8rem 2.4rem}.docs-reader-container article.docs-body blockquote p{color:var(--text-primary);margin-bottom:0;font-style:italic}.docs-reader-container article.docs-body .table-wrapper{border:1px solid var(--border-color);border-radius:1.4rem;width:100%;margin:2.8rem 0;overflow-x:auto}.docs-reader-container article.docs-body .table-wrapper table{border-collapse:collapse;text-align:left;width:100%;min-width:60rem}.docs-reader-container article.docs-body .table-wrapper table th{background-color:var(--color-primary-glow);color:var(--text-primary);border-bottom:1px solid var(--border-color);padding:1.4rem 1.6rem;font-size:1.35rem;font-weight:700}.docs-reader-container article.docs-body .table-wrapper table td{color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding:1.4rem 1.6rem;font-size:1.35rem;line-height:1.6}.docs-reader-container article.docs-body .table-wrapper table tr:last-child td{border-bottom:none}.docs-reader-container article.docs-body .table-wrapper table tr:nth-child(2n){background-color:#ffffff05}.docs-reader-container .docs-nav-footer{border-top:1px solid var(--border-color);justify-content:flex-start;margin-top:4.8rem;padding-top:2.4rem;display:flex}.docs-reader-container .docs-nav-footer .back-home-btn{color:var(--color-primary);background-color:var(--color-primary-glow);border-radius:.8rem;align-items:center;gap:.8rem;padding:1rem 2rem;font-size:1.4rem;font-weight:600;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.docs-reader-container .docs-nav-footer .back-home-btn:hover{background-color:var(--color-primary-hover);color:#fff;transform:translate(-2px)}@media (max-width:860px){.docs-reader-container{border-left:none;border-right:none;border-radius:0;margin:1.6rem auto;padding:2.4rem 2rem}}.app-container{width:100%;min-height:100vh;display:flex;position:relative;overflow-x:hidden}.app-container .main-wrapper{flex-direction:column;flex:1;width:100%;min-width:0;transition:margin-left .3s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2000;opacity:0;pointer-events:none;background-color:#2d282466;width:100vw;height:100vh;transition:opacity .3s ease-out;position:fixed;top:0;left:0}.sidebar-backdrop.open{opacity:1;pointer-events:auto}.sidebar-drawer{background-color:var(--bg-surface);border-right:1px solid var(--border-color);z-index:2001;flex-direction:column;flex-shrink:0;width:280px;height:100vh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:4px 0 16px #0000001a}.sidebar-drawer.open{transform:translate(0)}.sidebar-drawer .sidebar-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:2rem;display:flex}.sidebar-drawer .sidebar-header h3{color:var(--text-primary);margin:0;font-size:1.8rem;font-weight:700}.sidebar-drawer .sidebar-header .sidebar-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.8rem;justify-content:center;align-items:center;padding:.6rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.sidebar-drawer .sidebar-header .sidebar-close-btn:hover{background-color:var(--border-color);color:var(--text-primary)}.sidebar-drawer .sidebar-content{flex-direction:column;flex:1;gap:2rem;padding:2rem;display:flex;overflow-y:auto}.sidebar-drawer .sidebar-section{flex-direction:column;gap:.6rem;display:flex}.sidebar-drawer .sidebar-section .section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1rem;margin-bottom:.4rem;padding-left:.8rem;font-size:1.1rem;font-weight:700}.sidebar-drawer .sidebar-section .section-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.sidebar-drawer .sidebar-section .sidebar-link{color:var(--text-secondary);cursor:pointer;text-align:left;box-sizing:border-box;background:0 0;border:none;border-radius:.8rem;align-items:center;gap:.8rem;width:100%;padding:1rem 1.4rem;font-size:1.4rem;font-weight:500;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-drawer .sidebar-section .sidebar-link:hover{background-color:var(--border-color);color:var(--text-primary)}.sidebar-drawer .sidebar-section .sidebar-link.active{color:#8f9779;background-color:#8f97791a;font-weight:600}.sidebar-drawer .sidebar-footer{border-top:1px solid var(--border-color);color:var(--text-secondary);text-align:center;background-color:var(--bg-base);padding:2rem;font-size:1.1rem}@media (max-width:480px){.sidebar-drawer{width:100vw}}.gnb-sidebar-toggle-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:.8rem;flex-shrink:0;justify-content:center;align-items:center;width:4rem;height:4rem;margin-right:.8rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex!important}.gnb-sidebar-toggle-btn:hover{background-color:var(--border-color)}.gnb-sidebar-toggle-btn svg{width:2rem;height:2rem}.info-tooltip-container{align-items:center;display:inline-flex;position:relative}.info-tooltip-trigger{cursor:pointer;background:0 0;border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;margin:-.4rem;padding:.4rem;transition:all .2s;display:flex}.info-tooltip-trigger .info-icon{width:1.4rem;height:1.4rem;color:var(--text-muted);opacity:.7;transition:color .2s,opacity .2s}.info-tooltip-trigger:hover .info-icon,.info-tooltip-trigger:focus .info-icon{color:var(--color-primary);opacity:1}.info-tooltip-dropdown{background:var(--bg-surface);border:1px solid var(--border-color);z-index:50;pointer-events:none;opacity:0;border-radius:.6rem;width:22rem;padding:.8rem 1.2rem;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + .8rem);right:0;transform:translateY(.4rem);box-shadow:0 .4rem 1.2rem #00000026}.info-tooltip-dropdown .info-tooltip-text{color:var(--text-secondary);word-break:keep-all;font-size:1.2rem;line-height:1.5;display:block}.info-tooltip-container:hover .info-tooltip-dropdown,.info-tooltip-trigger:focus+.info-tooltip-dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}.checkbox-row-wrapper{justify-content:space-between;align-items:center;width:100%;display:flex}
