:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f0f4f9;font-size:14px}*{box-sizing:border-box}body{margin:0 auto;max-width:540px;padding:24px 16px 32px}header{text-align:center;margin-bottom:20px}h1{color:#0878ff;margin:0 0 6px}header span{color:#65758b}#status{min-height:20px;color:#65758b}nav{display:flex;border:1px solid #dfe5ec;border-radius:8px;margin-bottom:16px}button{font:inherit;cursor:pointer;border:1px solid #dfe5ec;background:#fff;border-radius:6px;padding:9px 12px;color:#172033;touch-action:manipulation}button:disabled{opacity:.5;cursor:default}nav button{flex:1;background:transparent;border:0}nav .selected{background:#fff;color:#009fac}.project{border:1px solid #dfe5ec;border-radius:8px;background:#fafcfe;margin-bottom:10px;overflow:hidden}.heading{display:flex;align-items:center;gap:8px;padding:12px;position:relative}.heading>*{position:relative}.progress{position:absolute;inset:0 auto 0 0;background:#00aab818;transition:width .4s;pointer-events:none}.cover{border-radius:8px;width:38px;height:38px;display:grid;place-items:center;background:#e7effb;color:#6294d1;font-size:19px}.name{flex:1;min-width:0}.name strong{display:block;overflow-wrap:anywhere}.name small{display:block;margin-top:4px;color:#7c8899}.run{background:#00a4b2;border:0;color:white;min-width:58px}.plain{background:transparent;border:0;padding:8px}.parameter{border-top:1px solid #e5e9ef;padding:12px}.parameter label{display:block;margin-bottom:7px}.input-row{display:flex;gap:8px}input[type=text]{font:inherit;min-width:0;width:100%;border:1px solid #dfe5ec;border-radius:6px;padding:10px;background:white}input[type=checkbox]{width:20px;height:20px;accent-color:#00a4b2}.results{border-top:1px solid #e5e9ef;padding:12px}.results summary{cursor:pointer;color:#65758b}.results h4{margin:12px 0 6px}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;background:#eef2f7;border-radius:6px;padding:10px;font:13px/1.5 ui-monospace,monospace}.muted,footer{color:#7c8899}footer{font-size:12px;text-align:center;margin-top:20px}#notice{color:#087c88;overflow-wrap:anywhere}dialog{max-width:95vw;width:420px;border:1px solid #dfe5ec;border-radius:12px}dialog::backdrop{background:#0008}video{width:100%;max-height:55vh;background:#111}h3{margin-top:0}.scan-buttons{display:flex;gap:8px;margin-top:8px}.scan-buttons button{padding:6px 9px;font-size:12px}
.toggle{position:relative;display:inline-flex!important;margin:0!important;cursor:pointer}.toggle input{position:absolute;opacity:0;width:42px;height:24px;margin:0}.toggle .track{display:block;width:42px;height:24px;background:#c4cedb;border-radius:16px;transition:background .15s}.toggle .track::before{content:"";display:block;width:18px;height:18px;border-radius:50%;background:#fff;margin:3px;transition:transform .15s}.toggle input:checked+.track{background:#00a4b2}.toggle input:checked+.track::before{transform:translateX(18px)}.toggle input:focus-visible+.track{outline:2px solid #0878ff;outline-offset:3px}.toggle input:disabled+.track{opacity:.5}
#scanner{width:calc(100vw - 20px);max-width:480px;max-height:94vh;max-height:94dvh;overflow:auto;padding:14px;border-radius:14px}#scanner h3{margin:0 0 12px;font-size:18px}#scanner video{display:block;width:100%;height:58vh;height:58dvh;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:center;margin:0;background:#111;border-radius:8px}#scanner p{font-size:13px;line-height:1.5;margin:10px 0;color:#65758b}#scan-close{width:100%;margin-top:4px}
.mobile-logo{display:block;width:240px;max-width:85%;height:auto;margin:0 auto}header #status{margin:10px 0 0}
.binding-box{background:#fff;border:1px solid #dfe5ec;border-radius:10px;padding:18px;margin-bottom:16px}.binding-box p{color:#65758b;line-height:1.6}.binding-box button{margin-right:10px}
