:root{--bg: #ffffff;--fg: #1e1e1e;--muted: #8a8a8a;--card: #f5f5f5;--accent: #0d99ff;--ok: #14a44d;--warn: #d97706;--err: #e5484d;--border: #e6e6e6}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #2c2c2c;--fg: #f0f0f0;--muted: #9a9a9a;--card: #383838;--border: #444444}}body{margin:0;background:var(--bg);color:var(--fg);font:12px/16px Inter,system-ui,sans-serif}.app{display:flex;flex-direction:column;gap:8px;padding:16px;box-sizing:border-box}h1{font-size:14px;margin:0}h2{font-size:12px;margin:0 0 8px}.muted{color:var(--muted);margin:2px 0 0}.small{font-size:11px}.ok,.ok-inline{color:var(--ok)}.warn{color:var(--warn)}.err{color:var(--err)}.card{background:var(--card);border-radius:8px;padding:8px 12px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.preview-wrap{display:flex;flex-direction:column}.preview{display:flex;justify-content:center;min-height:120px;overflow:auto}.preview.placeholder{color:var(--muted);align-items:center}.seg,button{font:inherit;border:1px solid var(--border);background:var(--card);color:var(--fg);border-radius:6px;padding:4px 8px;cursor:pointer}.seg.on{border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--accent);color:#fff;border:none;width:100%;padding:8px;margin-top:8px}.toggle{display:flex;gap:4px;align-items:center}.stepper{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.controls{display:flex;gap:8px;align-items:center}.controls button{width:28px;height:24px;padding:0}.checks{display:flex;flex-direction:column;gap:4px}.check{display:grid;grid-template-columns:16px minmax(0,1fr);gap:6px 8px;align-items:start;padding:8px;border-radius:6px;background:var(--card)}.check .actions{grid-column:2;display:flex;gap:6px;flex-wrap:wrap}.check .text{min-width:0;overflow-wrap:anywhere}.check.ok .icon{color:var(--ok)}.check.warn .icon{color:var(--warn)}.check.err .icon{color:var(--err)}footer{position:sticky;bottom:0;background:var(--bg);padding-top:8px}.section{margin-top:12px}.order{display:flex;flex-direction:column;gap:4px;margin-top:8px;max-width:100%;overflow-x:auto}.order-row{display:grid;gap:3px;align-items:center}.order-cell{display:flex;flex-direction:column;align-items:center;min-width:0}.order-img{width:100%;aspect-ratio:1;background:var(--bg);border-radius:3px;overflow:hidden}.order-img canvas{display:block;width:100%;height:100%}.order-num{font-size:9px;line-height:12px;color:var(--muted)}.order-break{color:var(--muted)}.options{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}.opt{padding:2px 8px}.opt.on{border-color:var(--accent);color:var(--accent)}.opt.bad{opacity:.45}.fit{margin-top:8px;border-top:1px solid var(--border);padding-top:8px}.fit button{margin:4px 0}.toggle-line{display:flex;gap:6px;align-items:center;margin-top:8px}body{font-size:14px;line-height:20px}.site{max-width:1040px;margin:0 auto;padding:32px 16px;box-sizing:border-box}.site-head h1{font-size:28px;line-height:34px;margin:0 0 8px}.drop{margin-top:24px;padding:48px 16px;border:2px dashed var(--border);border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;cursor:pointer}.drop.over,.drop:hover{border-color:var(--accent)}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.steps div{display:flex;flex-direction:column;gap:4px}.work{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}.topbar{grid-column:1 / -1}.back{border:none;background:none;padding:4px 0;color:var(--accent);font-size:14px}.back:hover{text-decoration:underline}.source{position:sticky;top:16px;display:flex;flex-direction:column;gap:8px}.source-img{border-radius:12px;padding:16px;background-color:var(--card);background-image:linear-gradient(45deg,var(--border) 25%,transparent 25%,transparent 75%,var(--border) 75%),linear-gradient(45deg,var(--border) 25%,transparent 25%,transparent 75%,var(--border) 75%);background-size:16px 16px;background-position:0 0,8px 8px}.source-img img{display:block;max-width:100%;max-height:60vh;margin:0 auto}.panel .app{padding:0}@media (max-width: 760px){.work{grid-template-columns:minmax(0,1fr)}.source{position:static}.steps{grid-template-columns:minmax(0,1fr)}}
