.tiles-app{border-top:1px solid var(--color-line);grid-template-columns:1fr 23rem;height:calc(100svh - 4.75rem);min-height:34rem;display:grid}.tiles-stage{background:#c9c7c2;min-width:0;position:relative}.tiles-stage canvas{touch-action:none;outline:none;width:100%;height:100%;display:block}.tiles-top{pointer-events:none;flex-wrap:wrap;gap:.5rem;display:flex;position:absolute;inset:.9rem .9rem auto}.tiles-top>*{pointer-events:auto}.tiles-seg{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border-radius:.9rem;gap:.2rem;padding:.25rem;display:inline-flex;box-shadow:0 1px 2px #0000000f}.tiles-seg[hidden]{display:none}.tiles-seg button{min-height:2.5rem;color:var(--color-ink-2);border-radius:.7rem;padding:0 .9rem;font-size:.9rem;font-weight:600;transition:background-color .15s,color .15s}.tiles-seg button:hover{color:var(--color-ink)}.tiles-seg button.is-on{background:var(--color-ink);color:#fff}.tiles-seg--full{background:var(--color-tile);width:100%;box-shadow:none;display:flex}.tiles-seg--full button{flex:1}.tiles-stats{color:#fff;width:fit-content;max-width:calc(100% - 1.8rem);font-family:var(--font-mono);background:#1f1f1edb;border-radius:.8rem;padding:.55rem .85rem;font-size:.78rem;line-height:1.5;position:absolute;bottom:.9rem;left:.9rem;right:.9rem}.tiles-stats b{color:var(--color-orange);font-weight:400}.tiles-busy{background:#ffffffe6;border-radius:.7rem;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.85rem;font-weight:600;display:flex;position:absolute;top:4.2rem;left:.9rem}.tiles-busy[hidden]{display:none}.tiles-busy span{border:2px solid var(--color-orange);border-right-color:#0000;border-radius:50%;width:.85rem;height:.85rem;animation:.7s linear infinite tiles-spin}@keyframes tiles-spin{to{transform:rotate(360deg)}}.tiles-panel{background:var(--color-surface);border-left:1px solid var(--color-line);flex-direction:column;min-height:0;display:flex;position:relative}.tiles-handle{display:none}.tiles-tabs{border-bottom:1px solid var(--color-line);gap:.25rem;padding:.75rem 1rem 0;display:flex}.tiles-tabs button{color:var(--color-ink-2);border-bottom:2px solid #0000;margin-bottom:-1px;padding:.6rem .8rem .75rem;font-weight:600}.tiles-tabs button.is-on{color:var(--color-ink);border-color:var(--color-orange)}.tiles-pane{flex:1;align-content:start;gap:1rem;padding:1rem 1rem 6rem;display:grid;overflow-y:auto}.tiles-pane[hidden]{display:none}.tiles-label{color:var(--color-ink);margin-bottom:.45rem;font-size:.8rem;font-weight:700;display:block}.tiles-hint{color:var(--color-ink-2);font-size:.85rem;line-height:1.5}.tiles-patterns{overscroll-behavior:contain;scrollbar-width:thin;height:20rem;margin-right:-.4rem;padding-right:.4rem;position:relative;overflow-y:auto}.tiles-patterns__title{z-index:1;background:var(--color-surface);letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-2);padding:.5rem 0 .35rem;font-size:.7rem;font-weight:700;position:sticky;top:0}.tiles-patterns__title:first-child{padding-top:0}.tiles-patterns__grid{grid-template-columns:repeat(4,1fr);gap:.4rem;display:grid}.tiles-patterns button{text-align:center;background:var(--color-tile);color:var(--color-ink-2);border:1.5px solid #0000;border-radius:.8rem;align-content:start;justify-items:center;gap:.3rem;padding:.6rem .3rem;font-size:.78rem;font-weight:600;line-height:1.15;transition:border-color .15s,color .15s;display:grid}.tiles-patterns svg{width:1.9rem;height:1.9rem}.tiles-patterns button:hover{color:var(--color-ink)}.tiles-patterns button.is-on{border-color:var(--color-orange);color:var(--color-ink);background:var(--color-orange-soft)}.tiles-variants{flex-wrap:wrap;gap:.35rem;display:flex}.tiles-variants button{background:var(--color-tile);border-radius:.7rem;align-items:center;gap:.4rem;min-height:2.4rem;padding:0 .75rem;font-size:.9rem;font-weight:700;display:inline-flex}.tiles-variants button.is-on{background:var(--color-ink);color:#fff}.tiles-variants i{border-radius:.25rem;width:.8rem;height:.8rem;box-shadow:inset 0 0 0 1px #00000026}.tiles-colors{flex-wrap:wrap;gap:.4rem;display:flex}.tiles-colors button{border-radius:.65rem;width:2.25rem;height:2.25rem;transition:transform .12s;box-shadow:inset 0 0 0 1px #00000024}.tiles-colors button.is-on{outline:2.5px solid var(--color-ink);outline-offset:2px}.tiles-range{gap:.2rem;font-size:.85rem;display:grid}.tiles-range__top{color:var(--color-ink-2);justify-content:space-between;align-items:center;display:flex}.tiles-range__top input{background:var(--color-tile);width:4.2rem;font-family:var(--font-mono);text-align:right;border-radius:.45rem;padding:.15rem .35rem;font-size:.8rem}.tiles-range input[type=range]{width:100%;accent-color:var(--color-orange);height:1.6rem}.tiles-check{color:var(--color-ink-2);align-items:center;gap:.55rem;font-size:.88rem;display:flex}.tiles-check input{width:1.1rem;height:1.1rem;accent-color:var(--color-orange)}.tiles-more{background:var(--color-tile);border-radius:.9rem;gap:.75rem;padding:.85rem;display:grid}.tiles-more[open]>summary{margin-bottom:.4rem}.tiles-more summary{cursor:pointer;font-size:.88rem;font-weight:700}.tiles-more summary small{color:var(--color-ink-2);font-weight:400}.tiles-image{gap:.75rem;display:grid}.tiles-image[hidden],[data-image-controls][hidden]{display:none}.tiles-upload{cursor:pointer;color:var(--color-ink-2);border:1.5px dashed #1f1f1e40;border-radius:.9rem;align-items:center;gap:.75rem;padding:.75rem;font-size:.85rem;display:flex}.tiles-upload:hover{border-color:var(--color-orange)}.tiles-upload img{object-fit:contain;background:#fff;border-radius:.5rem;width:3.5rem;height:3.5rem}.tiles-warnings{gap:.4rem;display:grid}.tiles-warnings li{color:#7a4b00;background:#fff4d6;border-radius:.7rem;padding:.55rem .75rem;font-size:.83rem;line-height:1.45}.tiles-grid2{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.tiles-num{gap:.3rem;font-size:.8rem;font-weight:700;display:grid}.tiles-num input{background:var(--color-tile);min-height:2.6rem;font-family:var(--font-mono);border-radius:.7rem;padding:0 .7rem;font-weight:400}.tiles-fills{flex-wrap:wrap;gap:.35rem;display:flex}.tiles-fills button,.tiles-undo button{background:var(--color-tile);border-radius:.7rem;min-height:2.4rem;padding:0 .8rem;font-size:.85rem;font-weight:600}.tiles-fills button:hover,.tiles-undo button:hover{background:#e8e6e1}.tiles-undo{gap:.35rem;display:flex}.tiles-counts{grid-template-columns:1fr auto;gap:.25rem 1rem;font-size:.85rem;display:grid}.tiles-counts dt{color:var(--color-ink-2);align-items:center;gap:.45rem;display:flex}.tiles-counts dt i{border-radius:.25rem;width:.8rem;height:.8rem}.tiles-counts dd{font-family:var(--font-mono);text-align:right}.tiles-quote{background:var(--color-tile);border-radius:.9rem;gap:.6rem;padding:1rem;display:grid}[data-only][hidden],[data-angle][hidden],[data-pattern-controls][hidden]{display:none}@media (width<=860px){.tiles-patterns{height:14rem}.tiles-app{height:calc(100svh - 4.75rem);display:block;position:relative;overflow:hidden}.tiles-stage{height:58%;transition:height .25s;position:absolute;inset:0 0 auto}.tiles-app.is-collapsed .tiles-stage{height:calc(100% - 7.2rem)}.tiles-panel{border-left:0;border-top:1px solid var(--color-line);border-radius:1.2rem 1.2rem 0 0;height:42%;transition:height .25s;position:absolute;inset:auto 0 0;box-shadow:0 -8px 24px #00000014}.tiles-app.is-collapsed .tiles-panel{height:7.2rem}.tiles-handle{place-items:center;height:1.4rem;display:grid}.tiles-handle span{background:#1f1f1e33;border-radius:1rem;width:2.6rem;height:.3rem}.tiles-tabs{padding-top:0}.tiles-stats{font-size:.7rem}.tiles-seg button{padding:0 .7rem}}.tiles-colors .tiles-none{background:linear-gradient(135deg,#fff 45%,#c8372d 46% 54%,#fff 55%)}.tiles-seg--wrap{flex-wrap:wrap}.tiles-seg--wrap button{flex:45%}.tiles-variants i+i{margin-left:-.55rem}.tiles-busy b{font-weight:600}[data-tiles] [hidden]{display:none!important}.tiles-select{background:#fff;border-radius:.7rem;min-height:2.6rem;padding:0 .7rem;font-size:.9rem;font-weight:600}.cs-empty{text-align:center;pointer-events:none;background:#ffffff8c;border:2px dashed #1f1f1e40;border-radius:1.2rem;padding:1.5rem;position:absolute;inset:30% 10% auto}.cs-chips{flex-wrap:wrap;gap:.4rem;display:flex}.cs-chip{background:var(--color-tile);font-family:var(--font-mono);border-radius:.8rem;align-items:center;gap:.45rem;padding:.3rem .65rem .3rem .3rem;font-size:.8rem;display:inline-flex}.cs-chip i{border-radius:.55rem;width:1.8rem;height:1.8rem;box-shadow:inset 0 0 0 1px #00000026}.cs-chip.is-on{outline:2.5px solid var(--color-ink)}[data-colorsplit] [hidden]{display:none!important}
