@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-cyrillic-ext-300-normal-CgCALhwJ.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-300-normal-RId2JxDB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-cyrillic-300-normal-BnqRxXuy.woff2)format("woff2"),url(/assets/inter-cyrillic-300-normal-LR1W_oT8.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-greek-ext-300-normal-l2DDyC6M.woff2)format("woff2"),url(/assets/inter-greek-ext-300-normal-DLbbeei1.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-greek-300-normal-DmGD3g_f.woff2)format("woff2"),url(/assets/inter-greek-300-normal-BrhSP0vQ.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-vietnamese-300-normal-Bdr24Bqb.woff2)format("woff2"),url(/assets/inter-vietnamese-300-normal-DDGmYYdT.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-latin-ext-300-normal-CPgO9Ksf.woff2)format("woff2"),url(/assets/inter-latin-ext-300-normal-Dp1L8vcn.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-latin-300-normal-BVlfKGgI.woff2)format("woff2"),url(/assets/inter-latin-300-normal-i8F0SvXL.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-color:#0c0c0c;--panel-bg:#111;--border-color:#222;--text-primary:#fff;--text-secondary:#888;--accent-color:#fff;--accent-hover:#ccc;--grid-bg:#141414;--grid-line:#333;--grid-active-bg:#ffffff26;--grid-gap-color:transparent;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--transition:.2s ease-out}:root[data-theme=light]{--bg-color:#f7f7f7;--panel-bg:#fff;--border-color:#ddd;--text-primary:#111;--text-secondary:#555;--accent-color:#000;--accent-hover:#333;--grid-bg:#fff;--grid-line:#ccc;--grid-active-bg:#0000000d;--grid-gap-color:transparent}*{box-sizing:border-box;margin:0;padding:0}input[type=checkbox]{accent-color:var(--text-primary)}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,sans-serif;line-height:1.5}.app-container{flex-direction:column;max-width:1600px;min-height:100vh;margin:0 auto;padding:2rem 4rem;display:flex}.header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.header h1{letter-spacing:-.02em;font-size:1.75rem;font-weight:300}.header p{color:var(--text-secondary);font-size:.85rem;font-weight:300}.breakpoint-switcher{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);gap:.25rem;padding:.25rem;display:flex}.main-content{flex:1;grid-template-columns:280px 1fr;gap:3rem;display:grid}.config-panel{flex-direction:column;gap:1.5rem;display:flex}.config-section{flex-direction:column;gap:.75rem;display:flex}.config-section h2{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding-bottom:.5rem;font-size:.75rem;font-weight:500}.input-group{justify-content:space-between;align-items:center;display:flex}.input-group label{color:var(--text-primary);font-size:.85rem;font-weight:400}.num-input,.select-input{border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);transition:border-color var(--transition);background:0 0;outline:none;padding:.4rem;font-family:Inter,sans-serif;font-size:.85rem}.num-input{text-align:center;width:70px}.select-input{width:120px}.select-input option{background:var(--bg-color)}.num-input:focus,.select-input:focus{border-color:var(--accent-color)}.format-tabs{border-bottom:1px solid var(--border-color);margin-bottom:1rem;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;padding:.75rem 1.5rem;font-size:.85rem}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--text-primary);border-bottom-color:var(--accent-color)}.grid-preview-container{flex-direction:column;display:flex}.grid-wrapper{background:var(--bg-color);border:1px solid var(--border-color);min-height:500px;padding:2rem;position:relative;overflow:auto}.dynamic-warning{border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:center;color:var(--text-secondary);z-index:20;background:#000c;padding:1rem 2rem;font-size:.85rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.interactive-grid{background:var(--grid-gap-color);-webkit-user-select:none;user-select:none;width:100%;display:grid;position:relative}.interactive-grid.breakpoint-mobile{max-width:375px;margin:0 auto}.interactive-grid.breakpoint-tablet{max-width:768px;margin:0 auto}.interactive-grid.breakpoint-desktop{max-width:100%}.interactive-grid.disabled{opacity:.3;pointer-events:none}.grid-cell{background:var(--grid-bg);border:1px dashed var(--grid-line);transition:background var(--transition);cursor:crosshair;justify-content:center;align-items:center;display:flex;position:relative}.grid-cell:not(.is-empty){cursor:grab}.interactive-grid.is-moving,.interactive-grid.is-moving .grid-cell{cursor:grabbing!important}.grid-cell.is-empty:hover{background:var(--grid-active-bg)}.add-icon{color:var(--text-primary);opacity:0;pointer-events:none;font-size:1.5rem;font-weight:300;transition:opacity .2s}.grid-cell.is-empty:hover .add-icon{opacity:.3}.grid-area-block{border:1px solid var(--accent-color);color:var(--accent-color);pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff0d;justify-content:center;align-items:center;font-family:monospace;font-size:.75rem;display:flex;position:relative;overflow:hidden}.area-name-input-wrap{border-radius:var(--radius-sm);border:1px solid var(--border-color);pointer-events:auto;background:#00000080;align-items:center;gap:.4rem;padding:.25rem .5rem;display:flex}.area-name-input{color:var(--accent-color);pointer-events:auto;background:0 0;border:none;outline:none;width:60px;font-family:monospace;font-size:.75rem}.area-name-input:focus{border-bottom:1px solid var(--accent-color)}.remove-area-btn{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;width:20px;height:20px;transition:all var(--transition);pointer-events:auto;border-radius:50%;justify-content:center;align-items:center;font-size:10px;display:flex;position:absolute;top:4px;right:4px}.remove-area-btn:hover{background:var(--text-primary);color:var(--bg-color)}.resize-handle{background:var(--bg-color);border:2px solid var(--accent-color);cursor:nwse-resize;pointer-events:auto;width:12px;height:12px;transition:transform var(--transition);z-index:10;border-radius:2px;position:absolute;bottom:-4px;right:-4px}.resize-handle:hover{background:var(--accent-color);transform:scale(1.2)}.interactive-grid.is-resizing .resize-handle{background:var(--accent-color);transform:scale(1.2);pointer-events:none!important}.interactive-grid.is-resizing .area-name-input-wrap,.interactive-grid.is-resizing .remove-area-btn,.interactive-grid.is-resizing .area-name-input,.interactive-grid.is-moving .area-name-input-wrap,.interactive-grid.is-moving .remove-area-btn,.interactive-grid.is-moving .area-name-input,.interactive-grid.is-moving .resize-handle{pointer-events:none!important}.code-output{grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem;display:grid}.code-output.single-pane{grid-template-columns:1fr}.code-block{background:var(--panel-bg);border:1px solid var(--border-color);padding:1rem;position:relative}.code-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.code-header span{color:var(--text-secondary);letter-spacing:.05em;font-size:.75rem}pre{color:var(--text-secondary);margin:0;font-family:JetBrains Mono,Menlo,monospace;font-size:.8rem;line-height:1.6;overflow-x:auto}.copy-btn{color:var(--text-secondary);cursor:pointer;transition:color var(--transition);background:0 0;border:none;align-items:center;gap:.4rem;font-size:.75rem;display:flex}.copy-btn:hover{color:var(--text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--border-color)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.btn-icon{color:var(--text-secondary);cursor:pointer;transition:all var(--transition);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:.4rem;display:flex}.btn-icon:hover{color:var(--text-primary)}.btn-icon.active{background:var(--border-color);color:var(--text-primary)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);background:0 0;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;display:flex}.btn-ghost:hover{color:var(--accent-color);border-color:var(--text-secondary)}
