.pattern-checker{gap:var(--space-6);margin-top:var(--space-8);flex-direction:column;display:flex}.pattern-checker .dropzone{align-items:center;gap:var(--space-2);padding:var(--space-12) var(--space-6);border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-2);cursor:pointer;text-align:center;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);flex-direction:column;display:flex}.pattern-checker .dropzone:hover,.pattern-checker .dropzone.dragging{border-color:var(--accent);background:var(--accent-soft)}.pattern-checker .dropzone svg{color:var(--accent)}.pattern-checker .dropzone strong{color:var(--text)}.pattern-checker .dropzone span{font-size:var(--text-sm)}.pattern-checker .opening{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-8);color:var(--text-2);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);display:flex}.pattern-checker .spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:var(--radius-full);flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite pattern-checker-spin}@keyframes pattern-checker-spin{to{transform:rotate(1turn)}}.pattern-checker .error-box{align-items:flex-start;gap:var(--space-4);padding:var(--space-6);border:1px solid var(--danger);border-radius:var(--radius-lg);background:var(--danger-soft);color:var(--danger);flex-direction:column;display:flex}.pattern-checker .file-row{align-items:center;gap:var(--space-3);display:flex}.pattern-checker .file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:550;overflow:hidden}.pattern-checker .dims{font-size:var(--text-sm);color:var(--text-3);flex-shrink:0}.pattern-checker .file-row .btn{flex-shrink:0;margin-left:auto}.pattern-checker .btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.pattern-checker .hint{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);font-size:var(--text-sm);max-width:72ch}.pattern-checker .mode-tabs{gap:var(--space-1);padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);width:fit-content;display:inline-flex}.pattern-checker .tab{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);color:var(--text-2);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;font-weight:550}.pattern-checker .tab:hover{color:var(--text)}.pattern-checker .tab.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px #10141c14}.pattern-checker .controls-row{align-items:flex-end;gap:var(--space-6);flex-wrap:wrap;display:flex}.pattern-checker .field{gap:var(--space-2);font-size:var(--text-sm);color:var(--text-2);flex-direction:column;display:flex}.pattern-checker .field.zoom{flex:1;min-width:220px;max-width:420px}.pattern-checker .field.zoom>span{justify-content:space-between;display:flex}.pattern-checker input[type=range]{width:100%;accent-color:var(--accent)}.pattern-checker .stage{border:1px solid var(--border);border-radius:var(--radius-lg);background:repeating-conic-gradient(#e9e9ec 0% 25%,#fff 0% 50%) 0 0/20px 20px;width:100%;height:clamp(280px,60vh,640px);position:relative;overflow:hidden}.pattern-checker .preview-canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.pattern-checker .preview-canvas:active{cursor:grabbing}.pattern-checker .caption{font-size:var(--text-sm);color:var(--text-2)}.pattern-checker .panel{gap:var(--space-4);padding:var(--space-4) var(--space-6) var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;display:flex}.pattern-checker .panel-title{font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-3);font-weight:600}.pattern-checker .check{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-2);cursor:pointer;width:fit-content;display:flex}.pattern-checker .check input{accent-color:var(--accent)}.pattern-checker .magnifier-block{align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.pattern-checker .magnifier-canvas{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:repeating-conic-gradient(#e9e9ec 0% 25%,#fff 0% 50%) 0 0/12px 12px;flex-shrink:0;width:240px;height:240px}.pattern-checker .magnifier-block .caption{flex:1;min-width:200px}.pattern-checker .download-row{align-items:center;gap:var(--space-4);display:flex}@media (width<=639px){.pattern-checker .file-row{flex-wrap:wrap}.pattern-checker .file-row .btn{margin-left:0}.pattern-checker .magnifier-block{text-align:center;flex-direction:column;align-items:center}}.container[data-astro-cid-k5ijx23m]{padding-block:var(--space-6) var(--space-12)}.tool-header[data-astro-cid-k5ijx23m]{margin-top:var(--space-6)}.tool-header[data-astro-cid-k5ijx23m] h1[data-astro-cid-k5ijx23m]{font-size:var(--text-2xl)}.tool-header[data-astro-cid-k5ijx23m] p[data-astro-cid-k5ijx23m]{margin-top:var(--space-2);color:var(--text-2)}.badge-wrap[data-astro-cid-k5ijx23m]{margin-top:var(--space-8)}.ad-wrap[data-astro-cid-k5ijx23m]{margin-block:var(--space-12);justify-content:center;display:flex}.guide[data-astro-cid-k5ijx23m]{margin-bottom:var(--space-12)}.guide[data-astro-cid-k5ijx23m] h2[data-astro-cid-k5ijx23m]{font-size:var(--text-xl);margin-bottom:var(--space-6)}.guide[data-astro-cid-k5ijx23m] ol[data-astro-cid-k5ijx23m]{gap:var(--space-6);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.guide[data-astro-cid-k5ijx23m] li[data-astro-cid-k5ijx23m]{gap:var(--space-4);display:flex}.step-number[data-astro-cid-k5ijx23m]{border-radius:var(--radius-full);background:var(--accent-soft);width:28px;height:28px;color:var(--accent);font-size:var(--text-sm);flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.guide[data-astro-cid-k5ijx23m] h3[data-astro-cid-k5ijx23m]{font-size:var(--text-base);font-weight:600}.guide[data-astro-cid-k5ijx23m] p[data-astro-cid-k5ijx23m]{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--text-2);max-width:65ch}
