:root{--bg:#fff;--fg:#1a1a1a;--muted:#666;--accent:#0b6bcb;--line:#ddd}@media (prefers-color-scheme:dark){:root{--bg:#111;--fg:#eee;--muted:#aaa;--accent:#5aa9f0;--line:#333}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font:16px/1.6 system-ui,sans-serif}header,main,footer{max-width:760px;margin:0 auto;padding:16px}header a{color:var(--fg);font-weight:700;text-decoration:none}footer{color:var(--muted);font-size:14px}a{color:var(--accent)}.tool{border:1px solid var(--line);border-radius:8px;gap:12px;padding:16px;display:grid}.tool label{gap:4px;font-weight:600;display:grid}select,input{font:inherit;padding:8px}.result img{border:1px solid var(--line);max-width:100%;height:auto}.result ul{padding:0;list-style:none}.btn{background:var(--accent);color:#fff;border-radius:6px;padding:10px 16px;text-decoration:none;display:inline-block}.error{color:#c0392b}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:6px 8px}.lead{font-size:1.1rem}.warn{color:#664d03;background:#fff3cd;border-radius:6px;padding:8px 12px}.crumbs,.source{color:var(--muted);font-size:14px}.step{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;margin-right:6px;font-size:14px;display:inline-grid}.btn .step{color:var(--accent);background:#fff}.slider{gap:2px;font-weight:400;display:grid}.slider input{width:100%}.btn{font-size:1.05rem}details{border-bottom:1px solid var(--line);padding:8px 0}summary{cursor:pointer;font-weight:600}.cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;padding:0;list-style:none;display:grid}.cards li{border:1px solid var(--line);border-radius:8px;gap:2px;padding:10px 12px;display:grid}.cards span{color:var(--muted);font-size:14px}select{width:100%;max-width:100%}img{max-width:100%}main{overflow-wrap:anywhere}.busy{color:var(--muted);font-style:italic}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.actions button{font:inherit;border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:6px;padding:8px 12px}.toggle{align-items:center;gap:6px;font-weight:400!important;display:flex!important}.tool,.tool>*,.tool label{min-width:0}input[type=file]{width:100%;max-width:100%}header a{padding:10px 0;display:inline-block}.toggle{cursor:pointer;min-height:44px}.toggle input{width:22px;height:22px;margin:0}.actions button,.btn,select{min-height:44px}input[type=range]{min-height:32px}@media (max-width:400px){header,main,footer,.tool{padding:12px}h1{font-size:1.6rem;line-height:1.25}}.lbl{align-items:center;gap:2px;font-weight:600;display:flex}input[type=file]::file-selector-button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;margin-right:12px;padding:10px 16px;font-weight:600}.result{gap:12px;scroll-margin-top:12px;display:grid}.controls{align-content:start;gap:10px;display:grid}.controls ul{margin:0}@media (min-width:768px){.result{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start}.result>.lbl{grid-column:1/-1}}.field{gap:6px;min-width:0;display:grid}.muted{color:var(--muted);font-size:14px}.search{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:6px;min-height:44px;padding:10px}.spec-card{flex-wrap:wrap;gap:6px;display:flex}.spec-card span{background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:999px;padding:3px 8px;font-size:13px}.dropzone{border:2px dashed var(--line);text-align:center;cursor:pointer;border-radius:10px;place-items:center;min-height:96px;padding:20px 16px;display:grid}.dropzone:hover,.dropzone:focus-visible,.dropzone.drag{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);outline:none}.dropzone small{color:var(--muted)}.file-info{text-align:left;word-break:break-all;align-items:center;gap:12px;font-size:14px;display:flex}.file-info img{object-fit:cover;border-radius:6px;flex:none;width:56px;height:56px}button.secondary,.actions button{font:inherit;border:1px solid var(--accent);min-height:44px;color:var(--accent);cursor:pointer;background:0 0;border-radius:6px;padding:8px 14px}button.link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;min-height:32px;padding:4px 0;font-size:14px;text-decoration:underline}.preview{justify-items:start;gap:6px;display:grid}.frame{border:1px solid var(--line);background:repeating-conic-gradient(#eee 0 25%, #fff 0 50%) 0 0 / 16px 16px;width:100%;position:relative}.frame img{width:100%;height:100%;display:block;border:0!important;max-width:none!important}.guide{pointer-events:none;filter:drop-shadow(0 0 1px #fff);width:100%;height:100%;position:absolute;inset:0}.preview-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:14px;display:flex}.btn small{opacity:.9;font-weight:400}button:disabled{opacity:.5;cursor:wait}header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;display:flex}.topnav{flex-wrap:wrap;gap:4px;display:flex}.topnav a{color:var(--accent);min-height:44px;padding:10px 8px;font-weight:400}.footnav{flex-wrap:wrap;gap:4px 8px;display:flex}.footnav a{align-items:center;min-width:44px;min-height:44px;padding:0 8px;display:inline-flex}.footnav a:first-child{padding-left:0}
