.utilities-page{min-width:0}.utility-filmstrip-track [data-preview-id][draggable=true]{cursor:grab;position:relative}.utility-preview-drag-handle{background:var(--panel);width:44px;height:44px;color:var(--muted);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:.4rem;place-items:center;font-size:1.5rem;line-height:1;display:grid;position:absolute;inset:0 auto auto 0}.utility-filmstrip-track[data-preview-dragging=true]{cursor:grabbing}.utility-filmstrip-track [data-preview-drop]:after{content:"";z-index:5;background:var(--accent);pointer-events:none;border-radius:2px;width:4px;position:absolute;top:0;bottom:0}.utility-filmstrip-track [data-preview-drop=before]:after{left:-5px}.utility-filmstrip-track [data-preview-drop=after]:after{right:-5px}.utilities-page [hidden]{display:none!important}.utility-categories{flex-wrap:wrap;gap:.5rem;margin:1.3rem 0;display:flex}.utility-categories a{border:1px solid var(--control-edge);background:var(--panel);min-height:44px;color:var(--text);border-radius:.55rem;align-items:center;gap:.4rem;padding:.45rem .8rem;text-decoration:none;display:inline-flex}.utility-categories a[aria-current]{background:var(--accent-soft);border-color:var(--accent)}.utility-categories svg{width:1.4rem;height:1.4rem}.utility-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0 2rem;display:grid}.utility-action-card{border:1px solid var(--control-edge);color:var(--text);background:var(--panel);border-radius:.7rem;align-content:start;gap:.55rem;min-width:0;padding:1.2rem;text-decoration:none;display:grid}.utility-action-card:hover,.utility-action-card[aria-current]{border-color:var(--accent);background:var(--accent-soft)}.utility-action-card svg{width:2.5rem;height:2.5rem;color:var(--accent)}.utility-action-card strong{font-size:1.05rem;line-height:1.35}.utility-action-card span{color:var(--muted);font-size:.85rem;line-height:1.45}.utility-action-card--compact{grid-template-columns:1.6rem minmax(0,1fr);align-items:center;min-height:60px;padding:.7rem}.utility-action-card--compact svg{width:1.6rem;height:1.6rem}.utility-action-card--compact strong{font-size:.9rem}.utility-other-actions{border:1px solid var(--control-edge);background:var(--panel);border-radius:.5rem;margin:1rem 0;padding:.8rem 1rem}.utility-other-actions summary{cursor:pointer;align-content:center;min-height:44px}.utility-workspace .utility-choice{border:0;padding:0}.utility-choice-items{flex-wrap:wrap;gap:.4rem;margin-top:.3rem;display:flex}.utility-choice-items button,.utility-choice-checkbox{border:1px solid var(--control-edge);background:var(--panel);min-height:44px;color:var(--text);font:inherit;cursor:pointer;overflow-wrap:anywhere;border-radius:.45rem;justify-content:center;align-items:center;gap:.4rem;min-width:44px;max-width:100%;padding:.45rem .75rem;display:inline-flex}.utility-choice-items button[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft);font-weight:650}.utility-choice-items button:disabled{opacity:.5;cursor:default}.utility-choice-items button:focus-visible,.utility-action-card:focus-visible,.utility-categories a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (max-width:1100px){.utility-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:540px){.utility-action-grid{grid-template-columns:minmax(0,1fr);gap:.6rem}.utility-action-card:not(.utility-action-card--compact){grid-template-columns:2.5rem minmax(0,1fr);gap:.25rem .7rem;padding:.9rem}.utility-action-card:not(.utility-action-card--compact) svg{grid-row:span 2}.utility-categories{gap:.4rem}.utility-categories a{padding:.4rem .65rem;font-size:.9rem}}.utilities-hero{margin-bottom:1.2rem;padding:clamp(1rem,3vw,2rem)}.utilities-hero h1{margin:.2rem 0 .65rem}.utilities-hero p{max-width:70ch}.utilities-nav{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.utilities-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0 2rem;display:grid}.utilities-card{align-content:start;gap:.7rem;min-width:0;padding:1.2rem;display:grid}.utilities-card h2,.utilities-card p{margin:0}.utilities-card svg{width:2.8rem;height:2.8rem;stroke:var(--accent);fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.utility-workspace{gap:1rem;min-width:0;padding:clamp(.8rem,2vw,1.3rem);display:grid}.utility-workspace [hidden]{display:none!important}.utility-drop{border:2px dashed var(--control-edge);border-radius:.7rem;flex-wrap:wrap;align-items:center;gap:.6rem;min-width:0;padding:1rem;display:flex}.utility-workspace[data-dragging=true] .utility-drop{border-color:var(--accent);background:var(--accent-soft)}.utility-file-label{border:1px solid var(--control-edge);background:var(--accent);min-height:44px;color:var(--panel);cursor:pointer;border-radius:.4rem;align-items:center;gap:.6rem;padding:.5rem .9rem;font-weight:600;display:inline-flex}.utility-file-label svg,.utility-run-controls svg{fill:none;stroke:currentColor;stroke-width:1.7px;flex-shrink:0}.utility-drop input[type=file]{clip-path:inset(50%);clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.utility-drop>span{color:var(--muted);font-size:.85rem}.utility-limits{width:100%;color:var(--muted);margin:0;font-size:.75rem}.utility-file-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.utility-file-list li{border-bottom:1px solid var(--edge);align-items:center;gap:.3rem;min-width:0;padding-bottom:.3rem;display:flex}.utility-file-list li>span{overflow-wrap:anywhere;flex:1;min-width:0;font-size:.8rem}.utility-workspace :where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select,textarea){border:1px solid var(--control-edge);background:var(--panel);width:100%;min-width:0;max-width:100%;color:var(--text);font:inherit;border-radius:.35rem;padding:.5rem}.utility-workspace :where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select){min-height:44px}.utility-workspace textarea{resize:vertical;tab-size:2;min-height:7rem}.utility-workspace input[type=color]{padding:.2rem}.utility-workspace input[type=range]{padding:0}.utility-workspace label{min-width:0}.utility-workspace fieldset{border:1px solid var(--edge);border-radius:.5rem;min-width:0;margin:0;padding:.75rem}.utility-workspace legend{padding:0 .35rem;font-weight:600}.utility-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.8rem;display:grid}.utility-fields>label,.utility-field{gap:.35rem;min-width:0;display:grid}.utility-toggle{cursor:pointer;align-items:center;gap:.5rem;min-height:44px;display:flex}.utility-toggle input{flex-shrink:0;width:1.15rem;height:1.15rem}.utility-run-controls{border-top:1px solid var(--edge);flex-wrap:wrap;align-items:center;gap:.6rem;padding-top:.6rem;display:flex}.utility-run-controls button{justify-content:center;align-items:center;gap:.5rem;display:inline-flex}[data-presentation=workshop] .utility-primary{background:var(--accent);color:var(--panel);border-color:var(--accent);font-weight:650}.utility-status{overflow-wrap:anywhere;min-height:1.5em;margin:0;font-size:.9rem}[data-utility-state=error] .utility-status{color:var(--rust)}.utility-workspace progress{width:100%;accent-color:var(--accent)}.utility-results{border:1px solid var(--accent);background:var(--panel);border-radius:.5rem;min-width:0;padding:.8rem}.utility-results h2{margin:0 0 .6rem;font-size:1.1rem}.utility-results ul{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.utility-results a{overflow-wrap:anywhere;border:1px solid var(--control-edge);border-radius:.4rem;align-items:center;min-height:44px;padding:.5rem .7rem;text-decoration:none;display:flex}.utility-results a:hover{background:var(--accent-soft)}.utility-results button{margin-top:.75rem}.utility-privacy{color:var(--muted);border-top:1px solid var(--edge);margin:0;padding-top:.6rem;font-size:.75rem}.utility-note{color:var(--muted);margin:.3rem 0;font-size:.85rem}.utility-preview{border:1px solid var(--edge);background:var(--panel);border-radius:.5rem;min-width:0;padding:.6rem;overflow:auto}.utility-preview :where(canvas,img,svg){max-width:100%;height:auto}.utility-filmstrip{min-width:0}.utility-filmstrip-toolbar{align-items:center;gap:.4rem;margin-bottom:.45rem;display:flex}.utility-filmstrip-toolbar strong{flex:1;font-size:.9rem}.utility-filmstrip-toolbar button{min-width:44px;min-height:44px}.utility-filmstrip-track{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;gap:.65rem;min-width:0;padding:.35rem .2rem .65rem;display:flex;position:relative;overflow-x:auto}.utility-filmstrip-track>button{scroll-snap-align:start;border:1px solid var(--control-edge);background:var(--panel);min-width:0;min-height:132px;color:var(--text);font:inherit;cursor:pointer;border-radius:.5rem;flex-direction:column;flex:0 0 132px;justify-content:space-between;align-items:center;gap:.4rem;padding:.5rem;display:flex}.utility-filmstrip-track>button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}.utility-filmstrip-track>button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.utility-filmstrip-track canvas{object-fit:contain;max-width:114px;max-height:128px;margin:auto;display:block}.utility-filmstrip-track span{overflow-wrap:anywhere;max-width:100%;font-size:.75rem;line-height:1.3}.utility-filmstrip-track [data-preview-state=loading]:before{content:"…";color:var(--muted);margin:auto}.utility-filmstrip-track [data-preview-state=error]:before{content:"×";color:var(--rust);margin:auto}.utility-table-wrap{max-height:28rem;overflow:auto}.utility-workspace table{border-collapse:collapse;width:100%;font-size:.8rem}.utility-workspace th,.utility-workspace td{border:1px solid var(--edge);text-align:left;overflow-wrap:anywhere;padding:.4rem}.utility-workspace details{border:1px solid var(--edge);border-radius:.5rem;padding:.5rem .7rem}.utility-workspace summary{font-weight:600}.utility-workspace pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:25rem;font-size:.8rem;overflow:auto}@media (max-width:600px){.utilities-grid,.utility-fields{grid-template-columns:minmax(0,1fr)}.utility-workspace{gap:.75rem}.utility-drop{padding:.7rem}.utility-file-list li>span{font-size:.75rem}.utility-file-list button{padding:.3rem}}.utility-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.utility-drop:focus-within .utility-file-label{outline:2px solid var(--accent);outline-offset:3px}
