@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8d697b304b401681-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba015fad6dcf6784-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4cf2300e9c8272f7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_188709{font-family:Geist,Geist Fallback;font-style:normal}.__variable_188709{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/747892c23ea88013-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/93f479601ee12b01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9a8899{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_9a8899{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}.floating-tile-color{position:fixed;right:20px;left:auto;top:200px;width:220px;background:#e9ecef;border:2px solid #dde1e5;border-radius:14px;padding:10px;box-shadow:0 10px 30px rgba(0,0,0,.2);z-index:2000;max-height:calc(100vh - 40px);overflow:auto}.container-with-dock{position:relative}.container-main{min-width:0}@media (max-width:1100px) and (min-width:981px){.container-with-dock{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px;align-items:start}.floating-tile-color{position:sticky;right:auto;left:auto;top:160px;width:180px;padding:8px;border-radius:12px}.floating-tile-color-row{gap:8px}.floating-tile-color-row input[type=color]{width:38px;height:32px}}.floating-tile-color-group{margin-top:10px}.floating-tile-color-group:first-child{margin-top:0}.floating-tile-color-group-title{font-size:12px;font-weight:900;color:#555;margin-bottom:6px}.floating-tile-color-row{flex-wrap:wrap}.floating-tile-color-row input[type=color]{flex:0 0 auto;width:44px;height:36px;padding:0;border:0;background:transparent}.floating-tile-color .btn{margin-right:0}.adsense-right-rail{position:fixed;right:20px;top:180px;width:220px;height:800px;z-index:1500;display:none}@media (min-width:1700px){.adsense-right-rail{display:block}}@media (max-width:980px){.floating-tile-color{position:static;width:auto;margin-bottom:12px;box-shadow:none}}.panel-header{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.floating-tile-color-title,.holding-bay-header h4,.panel-title{margin:0;font-size:14px;font-weight:800;color:#444}.floating-tile-color-hint,.holding-bay-hint,.panel-subtitle{font-size:12px;color:#666;font-weight:600}.floating-tile-color-row{display:flex;gap:10px;align-items:center}.floating-tile-color-label{font-size:12px;font-weight:800;color:#555}.floating-tile-color-hint{margin-top:0}.container{max-width:1400px;margin:0 auto;background:white;border-radius:20px;padding:30px;box-shadow:0 20px 60px rgba(0,0,0,.3)}h1{text-align:center;color:#333;font-size:2.5em}.controls,h1{margin-bottom:30px}.controls{background:#f8f9fa;padding:25px;border-radius:15px}.control-section{margin-bottom:20px}.control-section:last-child{margin-bottom:0}.controls-row{display:flex;gap:18px;align-items:flex-start;padding-bottom:20px}.control-section-half{flex:1 1 0;min-width:0}.tile-counts-section{flex:1.55 1 0}.quilt-size-section{flex:1 1 0}.controls-divider{width:2px;background:#dde1e5;border-radius:999px}@media (max-width:980px){.controls-row{flex-direction:column}.controls-divider{display:none}}.control-section h3{color:#555;margin-bottom:15px;font-size:1.2em}.control-section label{display:inline-block;margin-right:15px;margin-bottom:10px;color:#666;font-weight:500}.range-value{margin-left:8px;font-weight:700;color:#555}.control-section input[type=number]{width:70px}.control-section input[type=number],.control-section select{padding:8px;border:2px solid #ddd;border-radius:8px;font-size:14px;transition:border-color .3s}.control-section select{min-width:180px;background:#fff;color:#333}.control-section input[type=number]:focus,.control-section select:focus{outline:none;border-color:#667eea}.tile-inputs{display:flex;flex-wrap:wrap;gap:10px}.app-header{padding:18px 0 10px}.app-title{margin:0;font-size:48px}.app-subtitle{margin-top:6px;text-align:center;font-size:14px;color:#666}.app-nav{margin-top:10px;display:flex;gap:12px;justify-content:center;width:100%;max-width:900px;margin-left:auto;margin-right:auto}.app-nav-link{display:inline-block;flex:1 1 0;text-align:center;padding:14px 16px;border-radius:14px;background:#e9ecef;border:2px solid #dde1e5;text-decoration:none;color:#333;font-weight:700;font-size:18px}.app-nav-link:hover{border-color:#667eea}.btn-clusters{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;min-width:0}.actions-two-row{display:flex;flex-direction:column;gap:12px}.actions-top-row{display:grid;grid-template-columns:1fr auto;align-items:start}.actions-top-row.has-ad{gap:12px}.actions-top-left{min-width:0}.actions-top-ad{width:330px;position:relative;padding-top:0}.actions-top-ad .ad-header{position:absolute;top:0;left:0;margin:0;transform:translateY(calc(-100% - 8px))}.actions-top-ad-slot{width:330px;height:204px;border-radius:10px;background:#f8f9fa;border:1px dashed #d0d0d0;display:grid;place-items:center;overflow:hidden}@media (max-width:1200px){.actions-top-row{grid-template-columns:1fr}.actions-top-ad{width:auto}.actions-top-ad-slot{width:100%}}.btn-cluster{display:flex;flex-wrap:wrap;gap:10px;padding:10px;border-radius:14px;background:#e9ecef;border:2px solid #dde1e5;align-items:center;min-width:0}.btn-cluster-left{flex:1 1 320px;min-width:0}.btn-cluster-grow{flex:1 1 260px}.btn-cluster-grow,.btn-cluster-spread{justify-content:center}.btn-cluster .btn{margin-right:0}.actions-hint{width:100%;font-size:12px;color:#666;font-weight:600;text-align:center;margin-top:-2px}.cluster-subcontrols{width:100%;margin-top:6px;padding-top:8px;border-top:1px solid rgba(0,0,0,.06)}.subcontrol-label{margin-bottom:6px}.subcontrol-label,.subcontrol-name{font-size:12px;font-weight:700;color:#555}.subcontrol-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mobile-desktop-note{display:none;margin:0 0 12px}@media (max-width:768px){.mobile-desktop-note{display:block}}.export-label-select{min-width:130px;padding:10px;border:2px solid #ddd;border-radius:10px;font-size:14px;background:#fff;color:#333}.export-label-select:focus{outline:none;border-color:#667eea}.tile-label-toggle{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:10px 12px;border-radius:14px;background:#e9ecef;border:2px solid #dde1e5;min-width:230px}.ads-toggle-btn{width:100%;margin-right:0}.tile-label-toggle-vertical{flex-direction:column;align-items:flex-start;gap:8px}.tile-label-toggle-vertical .toggle-caption{margin:0;padding:0}.toggle-option{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#555}.toggle-option input{accent-color:#667eea}.toggle-caption{font-size:12px;font-weight:700;color:#555}.segmented{position:relative;display:grid;grid-template-columns:repeat(3,1fr);padding:3px;border-radius:999px;border:2px solid #dde1e5;background:#f6f6f6;overflow:hidden}.segmented-thumb{position:absolute;top:3px;left:3px;width:calc(33.333% - 2px);height:calc(100% - 6px);border-radius:999px;background:#ffffff;box-shadow:0 1px 2px rgba(0,0,0,.08);transition:transform .16s ease;z-index:0}.segmented-option{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:8px 10px;cursor:pointer;font-size:13px;font-weight:800;color:#555;user-select:none;text-align:center;line-height:1}.segmented-option>span{display:block;width:100%}.segmented-option input{position:absolute;opacity:0;pointer-events:none}.segmented-option.active{color:#111}.toggle-state{font-size:12px;font-weight:700;color:#555;min-width:52px}.switch{position:relative;display:inline-block;width:46px;height:26px}.switch input{opacity:0;width:0;height:0}.switch .slider{cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#adb5bd}.switch .slider,.switch .slider:before{position:absolute;transition:.2s;border-radius:999px}.switch .slider:before{content:"";height:20px;width:20px;left:3px;top:3px;background-color:white}.switch input:checked+.slider{background:linear-gradient(135deg,#667eea,#764ba2)}.switch input:checked+.slider:before{transform:translateX(20px)}.switch input:focus+.slider{box-shadow:0 0 0 3px rgba(102,126,234,.35)}.tile-count-grid{overflow:auto;padding:10px;border-radius:14px;background:#ffffff;border:2px solid #dde1e5}.tile-count-grid-with-axes{display:grid;grid-template-columns:42px 1fr;grid-template-rows:22px auto;align-items:stretch;overflow:visible}.tile-count-axis-spacer{grid-column:1;grid-row:1}.tile-count-axis-top{grid-column:2;grid-row:1}.tile-count-axis-left,.tile-count-axis-top{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#555}.tile-count-axis-left{grid-column:1;grid-row:2;transform:rotate(-90deg);white-space:nowrap}.tile-count-grid-table{grid-column:2;grid-row:2;overflow:auto;position:relative}.tile-count-grid-table .tile-table thead th:first-child{position:sticky;left:0;background:#ffffff;padding-right:10px;z-index:3}.tile-count-grid-table .tile-table tbody th{position:sticky;left:0;background:#ffffff;padding-right:10px;z-index:2}.tile-table{border-collapse:separate;border-spacing:8px}.tile-table th{font-size:12px;color:#555;font-weight:700;white-space:nowrap}.tile-table td,.tile-table th{text-align:center}.tile-count-input{width:54px;padding:8px;border:2px solid #ddd;border-radius:10px;font-size:14px;font-weight:700;text-align:center}.tile-count-input:focus{outline:none;border-color:#667eea}.tile-count-grid-hint{margin-top:8px;font-size:12px;color:#666}.holding-bay{margin:18px auto 0;max-width:1100px;background:#f8f9fa;border:2px solid #dde1e5;border-radius:14px;padding:12px}.howto-list{margin:10px 0 0;padding-left:18px;color:#333}.howto-paragraph{margin:10px 0 0;line-height:1.45;color:#555}.howto-heading{margin:0;color:#333}.howto-step{margin-top:14px;padding:14px;border-radius:14px;background:#f8f9fa;border:2px solid #dde1e5}.howto-step .howto-heading{margin-bottom:8px}.tile-axis-corner{font-size:12px;line-height:1.15;color:#555;text-align:center;white-space:nowrap}.howto-list li{margin:8px 0}.holding-bay-list{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}.holding-bay-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.holding-bay-empty{font-size:13px;color:#666;padding:6px 2px}.tile.bay-tile{position:relative;left:auto;top:auto;cursor:grab}.btn{padding:12px 25px;font-size:16px;font-weight:600;border:none;cursor:pointer;margin-right:10px;transition:all .3s;background:#6c757d;color:white}.btn,.btn.small{border-radius:10px}.btn.small{padding:8px 14px;font-size:14px}.btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(0,0,0,.2)}.btn.primary{background:linear-gradient(135deg,#667eea,#764ba2)}.btn.success{background:linear-gradient(135deg,#56ab2f,#a8e063)}#quiltContainer{display:flex;justify-content:center;padding:20px;overflow:auto}#quiltGrid,.no-user-select,.no-user-select *{-webkit-user-select:none;user-select:none}#quiltGrid{display:inline-grid;gap:2px;background:#e0e0e0;padding:2px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.2);position:relative}.grid-center-highlight{position:absolute;background:rgba(255,0,0,.247);border-radius:6px;pointer-events:none;z-index:0}.grid-cell{background:white;border:1px solid #ddd;position:relative}.tile{position:absolute;z-index:1;box-sizing:border-box;border-radius:8px;cursor:move;display:flex;align-items:center;justify-content:center;font-weight:700;color:rgba(0,0,0,.3);font-size:.8em;box-shadow:0 2px 8px rgba(0,0,0,.15);border:2px solid rgba(255,255,255,.5);transition:box-shadow .2s,transform .1s;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;touch-action:none}.tile,.tile-label{white-space:pre-line;text-align:center}.tile-label{display:inline-block;max-width:100%;padding:0;border-radius:0;line-height:1.15;text-shadow:0 1px 2px rgba(0,0,0,.25)}.tile-ghost{position:absolute;border-radius:8px;border:2px dashed rgba(102,126,234,.9);background:rgba(102,126,234,.12);pointer-events:none;box-sizing:border-box}.tile-ghost.invalid{border-color:rgba(220,53,69,.9);background:rgba(220,53,69,.12)}.tile-drag-float{position:fixed;z-index:1600;opacity:.45;transform:none;pointer-events:none}.tile:hover{box-shadow:0 4px 12px rgba(0,0,0,.25);z-index:10}.tile.dragging{opacity:.7;transform:scale(1.05);z-index:1000}.tile.drag-over{box-shadow:0 0 0 3px rgba(102,126,234,.5)}.tile.selected{box-shadow:0 0 0 4px rgba(102,126,234,.65);border-color:rgba(102,126,234,.95);transform:scale(1.02);z-index:20}.tile.selected:after{content:"";position:absolute;top:4px;left:4px;width:10px;height:10px;border-radius:3px;background:rgba(102,126,234,.95);box-shadow:0 0 0 2px rgba(255,255,255,.6)}.message-box{min-height:60px;max-height:60px;margin:20px auto;padding:15px;border-radius:10px;font-weight:500;text-align:center;display:flex;align-items:center;justify-content:center;transition:all .3s ease;opacity:0;max-width:800px}.message-box.success{background:#d4edda;color:#155724;opacity:1}.message-box.error{background:#f8d7da;color:#721c24;opacity:1}.message-box.info{background:#d1ecf1;color:#0c5460;opacity:1}.preflight-warning{margin-top:12px;padding:10px 12px;border-radius:10px;border:2px solid #ffeeba;background:#fff3cd;color:#856404;font-weight:600;font-size:13px;line-height:1.35;white-space:pre-line}.monetize-row{margin-top:20px;display:grid;grid-template-columns:1.2fr 1fr;gap:14px;align-items:stretch}.monetize-row.single{grid-template-columns:1fr}.ad-card,.support-card{border-radius:12px;padding:12px;background:#ffffff;border:2px solid #e0e0e0}.support-card{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;border:2px solid transparent;background:linear-gradient(#ffffff,#ffffff) padding-box,linear-gradient(135deg,#667eea,#764ba2) border-box;box-shadow:0 10px 30px rgba(0,0,0,.16)}.support-card:before{content:"";position:absolute;left:-80px;top:-80px;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle,rgba(102,126,234,.18) 0,rgba(102,126,234,0) 70%);pointer-events:none}.support-card h3{margin:0}.support-card .btn.support{background:linear-gradient(135deg,#667eea,#764ba2)}.support-text{margin:8px 0 10px;line-height:1.35;color:#555}.support-links{display:flex;flex-wrap:wrap;gap:10px}.btn.support{min-width:160px;text-align:center;background:#6c757d}.support-note{margin-top:10px}.ad-header,.support-note{font-size:12px;color:#666}.ad-header{margin-bottom:8px}.ad-slot{width:100%;min-height:250px;border-radius:10px;background:#f8f9fa;border:1px dashed #d0d0d0;display:grid;place-items:center;overflow:hidden}.ad-fallback{width:100%;padding:10px;text-align:center}.ad-fallback-title{font-weight:700;color:#555;margin-bottom:6px}.ad-fallback-text{font-size:12px;line-height:1.3;color:#666;margin-bottom:10px}.ad-fallback-actions .btn{margin-right:0}#adSlot #carbonads{display:flex;gap:10px;align-items:center;justify-content:center;padding:8px;text-align:left}#adSlot .carbon-img img{border-radius:8px;display:block}#adSlot .carbon-text{font-size:12px;line-height:1.3;color:#333}#adSlot .carbon-poweredby{font-size:11px;color:#666;margin-top:6px}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;padding:16px;z-index:9999}.modal-overlay.open{display:flex}.modal{width:min(560px,100%);border-radius:14px;padding:16px;background:#ffffff;border:2px solid #e0e0e0;box-shadow:0 14px 40px rgba(0,0,0,.45)}.modal h2{margin-bottom:10px;color:#333}.modal .muted{color:#666}.modal .tiny{font-size:12px}.modal-actions,.unlock-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.unlock-section{margin-top:14px;padding-top:12px;border-top:1px solid #e0e0e0}.unlock-label{display:block;color:#555;font-weight:600}.unlock-label input{width:100%;margin-top:6px;padding:10px 12px;border-radius:10px;border:2px solid #ddd;background:#fff;color:#333}.hidden{display:none}@media (max-width:900px){.monetize-row{grid-template-columns:1fr}}.grid-analysis{margin-top:15px;padding:15px;background:white;border-radius:10px;border:2px solid #e0e0e0;display:none}.grid-analysis.show{display:block}.grid-analysis h4{margin:0 0 10px;color:#333}.analysis-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:10px}.stat-item{padding:10px;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea}.stat-label{font-size:.85em;color:#666;margin-bottom:5px}.stat-value{font-size:1.3em;font-weight:700;color:#333}.recommendation{padding:12px;background:#fff3cd;border-left:4px solid #ffc107;border-radius:8px;color:#856404;font-weight:500}.recommendation.optimal{background:#d4edda;border-left-color:#28a745;color:#155724}@media (max-width:768px){.container{padding:15px}h1{font-size:1.8em}.tile-inputs{flex-direction:column}}