:root{color:#111827;-webkit-text-size-adjust:100%;background:#fff;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif}*{box-sizing:border-box}body{margin:0}.page{max-width:720px;margin:0 auto;padding:16px;line-height:1.6}.menu li{margin:12px 0;font-size:1.1rem}.warn{color:#991b1b;background:#fef2f2;border-radius:6px;padding:8px 12px}.reason{color:#4b5563;font-size:.9rem}button{background:#f9fafb;border:1px solid #9ca3af;border-radius:8px;padding:10px 16px;font-size:1rem}button.primary{color:#fff;background:#1f2937;border-color:#1f2937}button:disabled{opacity:.5}.cam{color:#fff;background:#000;position:fixed;inset:0;overflow:hidden}.cam-stage{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.viewfinder{line-height:0;position:relative}.viewfinder video{width:auto;max-width:100vw;height:auto;max-height:100dvh;display:block}.cam-top{padding:calc(env(safe-area-inset-top) + 8px) 12px 8px;background:linear-gradient(#0000008c,#0000);justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.cam-top a{color:#fff;font-size:1rem;text-decoration:none}.pill{color:#86efac;font-size:.8rem}.pill-danger{color:#fca5a5;font-weight:700}.chip{color:#fff;background:#ffffff2e;border:1px solid #fff6;border-radius:999px;padding:8px 14px;font-size:.9rem;line-height:1.2}.cam-sheet{top:calc(env(safe-area-inset-top) + 52px);background:#111827e6;border-radius:12px;flex-direction:column;gap:10px;max-height:60vh;padding:12px;font-size:.95rem;display:flex;position:absolute;left:8px;right:8px;overflow-y:auto}.cam-sheet select{font-size:1rem}.sheet-info{color:#d1d5db;font-size:.8rem;line-height:1.4}.cam-error{left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 120px);background:#991b1beb;border-radius:8px;padding:8px 12px;font-size:.9rem;line-height:1.4;position:absolute}.cam-bottom{padding:14px 12px calc(env(safe-area-inset-bottom) + 14px);background:#00000073;justify-content:space-around;align-items:center;display:flex;position:absolute;bottom:0;left:0;right:0}.shutter{color:#fff;background:#ffffff40;border:5px solid #fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:78px;height:78px;padding:0;font-size:1.1rem;font-weight:700;line-height:1.1;display:flex}.shutter-label{font-size:.75rem;font-weight:400}.shutter:active{background:#ffffffb3}.seg{border:1px solid #ffffff80;border-radius:999px;display:flex;overflow:hidden}.seg button{color:#fff;background:0 0;border:none;border-radius:0;padding:10px 16px;font-size:1.1rem;font-weight:700}.seg button.seg-on{color:#111827;background:#fff}.guide{pointer-events:none;border:3px solid #22c55e;position:absolute;box-shadow:0 0 0 9999px #00000059}.flash{pointer-events:none;background:#fff;animation:.25s ease-out forwards flash;position:fixed;inset:0}@keyframes flash{0%{opacity:.9}to{opacity:0}}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-bar{color:#374151;font-size:.85rem}.status-bar.offline{color:#991b1b;font-weight:700}pre.info{background:#f3f4f6;max-height:240px;padding:8px;font-size:.7rem;overflow-x:auto}.master input[type=text],.master input[type=number],.master textarea,.master select{border:1px solid #9ca3af;border-radius:6px;padding:6px 8px;font-size:1rem}.field-row{flex-direction:column;gap:4px;margin:8px 0;display:flex}.field-row input,.field-row textarea{width:100%}.narrow{width:5em}.ref-preview{border-radius:6px;max-width:100%;max-height:320px;margin:12px auto;display:block}.kv-list{padding-left:1.5em}.kv{border:1px solid #e5e7eb;border-radius:8px;margin:12px 0;padding:8px 12px}.kv-focus{background:#f9fafb;border-color:#1f2937}.kv-head{align-items:center;gap:12px;display:flex}.kv-pos{color:#6b7280;flex:1;font-size:.85rem}.confirm{margin:16px 0}.saved{background:#f0fdf4;border-radius:6px;padding:8px 12px}button.small{padding:4px 10px;font-size:.9rem}.seq-list{padding-left:1.5em}.seq-item{align-items:center;gap:8px;margin:6px 0;display:flex}.seq-name{flex:1;font-weight:600}.seq-available{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.turn select{border:1px solid #9ca3af;border-radius:6px;padding:6px 8px;font-size:1rem}.turn-summary{font-weight:600}.cap-status{top:calc(env(safe-area-inset-top) + 52px);color:#fff;text-align:center;background:#0000008c;border-radius:8px;padding:8px 12px;position:absolute;left:8px;right:8px}.cap-now{font-size:1.25rem;line-height:1.4}.cap-now strong{color:#fde047;font-size:1.5rem}.cap-sub{font-size:.85rem;line-height:1.5}.cap-pending{color:#fdba74;font-weight:700}.cap-done{color:#fff;text-align:center;font-size:.9rem}.cap-choice{z-index:500;color:#111;background:#fff;border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex;position:fixed;bottom:24px;left:16px;right:16px;box-shadow:0 4px 24px #0006}.cap-choice button{min-height:48px;font-size:1rem}.build-info{opacity:.6;pointer-events:none;z-index:1000;font-size:10px;position:fixed;bottom:2px;right:4px}.result-banner{text-align:center;border-radius:10px;margin:12px 0;padding:16px;font-size:1.3rem;font-weight:700}.result-waiting{background:#f3f4f6;font-size:1rem;font-weight:400}.result-attention{color:#fff;background:#b91c1c;font-size:1.5rem}.result-clean{color:#fff;background:#15803d}.result-counts{margin-top:6px;font-size:1rem}.reason-light{margin-top:6px;font-size:.85rem;font-weight:400}.result-grid{border-collapse:collapse;margin:8px 0}.result-grid th,.result-grid td{text-align:center;border:1px solid #d1d5db;padding:2px 4px;font-size:.85rem}.result-grid .cell{width:44px;height:40px;padding:0;font-size:1.2rem}.cell-ng,.cell-error,.cell-missing{color:#b91c1c;background:#fee2e2;border-color:#b91c1c;font-weight:700}.cell-unknown{color:#9a3412;background:#ffedd5;border-color:#c2410c;font-weight:700}.cell-skipped{color:#6b7280;background:#f3f4f6}.cell-selected{outline:3px solid #1d4ed8}.result-ack{margin-right:8px;padding:14px 24px;font-size:1.2rem}.result .confirm>div{margin-top:8px}.shot-detail{border:1px solid #d1d5db;border-radius:8px;margin:12px 0;padding:8px 12px}.shot-detail h2{margin:4px 0 8px;font-size:1rem}.roi-row{border-top:1px solid #e5e7eb;padding:6px 0}.roi-ng .roi-mark,.roi-error .roi-mark{color:#b91c1c;font-weight:700}.roi-unknown .roi-mark{color:#c2410c;font-weight:700}.roi-text{gap:8px;display:flex}.roi-k{color:#4b5563;flex:0 0 4.5em;font-size:.85rem}.roi-v{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}mark.diff{color:#991b1b;background:#fde047;font-weight:700}.shot-image{max-width:100%;display:inline-block;position:relative}.shot-image img{max-width:100%;height:auto;display:block}.frame{pointer-events:none;background:0 0;border:3px solid red;position:absolute;box-shadow:0 0 0 2px #fff,inset 0 0 0 2px #fff}.frame-unknown{border-style:dashed}.frame-label{color:#fff;white-space:nowrap;border:1px solid #fff;border-radius:3px;margin-bottom:3px;padding:0 4px;font-size:.7rem;line-height:1.4;position:absolute;bottom:100%;left:-3px}.frame-colors{border:1px solid #d1d5db;border-radius:8px;margin:12px 0}.frame-color{align-items:center;gap:4px;margin:4px 12px 4px 0;display:inline-flex}.frame-swatch{background:#9ca3af;border:3px solid;width:22px;height:16px;display:inline-block;box-shadow:0 0 0 2px #fff,inset 0 0 0 2px #fff}.result-next{margin-top:8px;padding:14px 24px;font-size:1.2rem}.guide.guide-blurry{border-color:#facc15}.cam-blur{left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 190px);color:#1c1917;background:#facc15f2;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;font-weight:600;display:flex;position:absolute}.cam-blur-advice{font-size:.9em;font-weight:400}.history-table{border-collapse:collapse;width:100%;margin:8px 0}.history-table th,.history-table td{text-align:left;vertical-align:top;border-bottom:1px solid #d1d5db;padding:6px 4px;font-size:.9rem}.history-attention td{background:#fef2f2}.entry-grid{grid-template-columns:1fr;gap:12px;margin:16px 0;display:grid}.entry{border:1px solid #d1d5db;border-radius:8px;padding:12px 16px}.entry h2{margin:0 0 4px;font-size:1.15rem}.entry a{font-size:1.1rem}.quota{color:#1e3a8a;background:#eff6ff;border-radius:6px;padding:8px 12px}.lang-switch{margin:24px 0 8px;display:block}.lang-switch select{font-size:1rem}.login input[type=text]{letter-spacing:.05em;border:1px solid #9ca3af;border-radius:6px;padding:8px;font-size:1.1rem}@media (width>=1024px){.entry-grid{grid-template-columns:1fr 1fr}.page.master,.page.masters-page{max-width:1100px}.master .kv-list{grid-template-columns:1fr 1fr;column-gap:40px;display:grid}.master .ref-preview{max-height:480px}}.admin label{margin:8px 0;display:block}.admin label input{width:100%;max-width:360px;padding:6px;font-size:1rem;display:block}.admin-table-wrap{overflow-x:auto}.admin-table td input{width:100%;min-width:120px}.admin-code{border:1px solid #d1d5db;border-radius:8px;margin:8px 0;padding:8px 12px}.admin-code-value{letter-spacing:.05em;-webkit-user-select:all;user-select:all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.4rem}
