:root{--bg: #ffffff;--fg: #1a1a1a;--accent: #0a5cff;--danger: #c00;--warn: #b60;--pending: #a85400}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--fg);background:var(--bg)}.screen{padding:1rem;max-width:720px;margin:0 auto}.screen h1{margin-top:0}.btn,button{min-height:40px;padding:.5rem 1rem;font-size:1rem;cursor:pointer}.btn.primary,.primary{background:var(--accent);color:#fff;border:none;border-radius:4px}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.alternatives{list-style:none;padding:0}.alternative{display:flex;gap:.5rem;align-items:center;min-height:44px}.alternative input[type=radio]{min-width:24px;min-height:24px}.alternative-graphic-container{margin-left:1.5rem}.statement{white-space:pre-line}.graphic{width:100%;max-width:640px;height:auto;display:block;margin:.5rem 0}.graphic-button{display:block;padding:0;margin:.5rem 0;background:transparent;border:none;cursor:zoom-in;width:100%;max-width:640px;text-align:left}.graphic-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.graphic-zoomed{width:100%;max-width:90vw;max-height:80vh;object-fit:contain;display:block;margin:0 auto}.timer{font-variant-numeric:tabular-nums;font-weight:600}.timer.warn{color:var(--warn)}.timer.danger{color:var(--danger)}.progress-nav{display:flex;flex-wrap:wrap;gap:.25rem;margin:1rem 0}.progress-nav .step{min-width:36px;min-height:36px;border-radius:50%}.progress-nav .saved{background:#d4f7d4}.progress-nav .pending{background:#a85400;color:#fff}.progress-nav .current{outline:2px solid var(--accent)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.warn-banner{background:#fff4cc;padding:.5rem .75rem;border-radius:4px;margin:.5rem 0}.upload-log{font-family:ui-monospace,monospace;font-size:.85rem}.error-boundary{text-align:center;padding:2rem}.graphic-fallback{padding:.5rem;border:1px dashed #999;border-radius:4px}.graphic-loading{padding:.5rem;font-style:italic;color:#666}.correct{color:#0a7c2f;font-weight:600}.incorrect{color:var(--danger);font-weight:600}.solution{background:#f4f8ff;padding:.5rem;border-radius:4px}.modal{position:fixed;inset:0;background:#0009;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem;z-index:100}.modal>*{background:#fff;padding:.75rem 1rem;border-radius:4px;max-width:90vw}.modal h2{margin-top:0}.field{display:block;margin:.5rem 0}.field>input,.field>select,.field>textarea{display:block;width:100%;margin-top:.25rem}.field>textarea{font-family:inherit;font-size:1rem}.admin-form{border:1px solid #ddd;padding:1rem;border-radius:4px;margin-bottom:1rem}.timezone-hint{color:#666;font-size:.85rem}.audit-table{width:100%;border-collapse:collapse;font-size:.85rem}.audit-table th,.audit-table td{border:1px solid #ddd;padding:.25rem .5rem;text-align:left}.audit-table pre{margin:0;white-space:pre-wrap;font-size:.75rem}.privacy-content h2{margin-top:1.5rem}.privacy-content ul{padding-left:1.25rem}.privacy-footer{margin-top:2rem}.notice{background:#ffe0e0;border-left:4px solid var(--danger);padding:.5rem .75rem;border-radius:4px;margin:.5rem 0}@media (max-width: 400px){.screen{padding:.5rem}.graphic,.graphic-button{max-width:100%}}
