:root{--bg:#f7fafb;--text:#13191c;--muted:#5e696f;--accent:#0f6a8b;--rule:#dce5e9;--field:#fff;--accent-ink:#fff}@media (prefers-color-scheme:dark){:root{--bg:#0f1417;--text:#e6ecef;--muted:#909ea5;--accent:#4fb0d4;--rule:#232c31;--field:#161c20;--accent-ink:#0f1417}}@font-face{font-family:Quicksand LYR;src:url(/fonts/quicksand-medium-lyr.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Quicksand LYR;src:url(/fonts/quicksand-semibold-lyr.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Quicksand LYR;src:url(/fonts/quicksand-bold-lyr.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100svh;font-family:Quicksand LYR,ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted)}.auth{flex-direction:column;gap:28px;width:min(34rem,92%);min-height:100svh;margin:0 auto;padding:8svh 0 3rem;display:flex}.wordmark{letter-spacing:.01em;color:var(--accent);font-family:Quicksand LYR,ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:1.05rem;font-weight:700}a.wordmark{align-self:flex-start}a.wordmark:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sh1{letter-spacing:-.02em;font-size:1.75rem;font-weight:600;line-height:1.2}.fields{flex-direction:column;gap:18px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-size:.85rem;font-weight:600}.field-label--split{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.field-label--split a{font-size:.85rem;font-weight:400}.field input{font:inherit;border:1px solid var(--rule);background:var(--field);color:var(--text);border-radius:4px;padding:12px 13px;font-size:.95rem}.field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hint{color:var(--muted);font-size:.8rem}.consent{cursor:pointer;align-items:start;gap:10px;font-size:.9rem;display:flex}.consent input{accent-color:var(--accent);flex:none;width:18px;height:18px;margin-top:3px}.turnstile{flex-direction:column;gap:6px;min-height:65px;display:flex}.btn{font:inherit;background:var(--accent);color:var(--accent-ink);cursor:pointer;text-align:center;border:none;border-radius:4px;padding:13px 16px;font-size:.95rem;font-weight:600;text-decoration:none;display:block}.btn:hover{filter:brightness(1.08);text-decoration:none}.body{font-size:1rem}.body+.body{margin-top:10px}.switcher{font-size:1rem}.foot{border-top:1px solid var(--rule);flex-direction:column;gap:5px;margin-top:auto;padding-top:22px;display:flex}.foot-head{font-size:.85rem;font-weight:600}.foot-body{color:var(--muted);font-size:.85rem}:root{--qr-ground:#fff}.errorblock{border:1px solid var(--rule);background:var(--field);border-left-width:3px;border-radius:4px;padding:12px 14px;font-size:.9rem}.errorblock:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.qr-frame{background:var(--qr-ground);border-radius:6px;align-self:flex-start;padding:14px}.qr{width:min(200px,55vw);height:auto;display:block}.secret{letter-spacing:.12em;word-break:break-all;border:1px solid var(--rule);background:var(--field);-webkit-user-select:all;user-select:all;border-radius:4px;padding:12px 13px;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Consolas,monospace;font-size:1rem}.field input.code-input{letter-spacing:.4em;text-align:center;padding-left:calc(13px + .2em);font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Consolas,monospace;font-size:1.4rem}.choices{flex-direction:column;gap:2px;display:flex}.choice{border:1px solid var(--rule);background:var(--field);cursor:pointer;border-radius:4px;align-items:center;gap:10px;padding:11px 13px;display:flex}.choice input{accent-color:var(--accent)}.shell{flex-direction:column;gap:24px;width:min(48rem,92%);min-height:100svh;margin:0 auto;padding:4svh 0 3rem;display:flex}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.nav{align-items:baseline;gap:18px;font-size:.9rem;display:flex}.filelist{flex-direction:column;gap:2px;list-style:none;display:flex}.filerow{font:inherit;text-align:left;border:1px solid var(--rule);background:var(--field);width:100%;color:var(--text);cursor:pointer;border-radius:4px;flex-direction:column;gap:3px;padding:14px 15px;display:flex}.filerow:hover{border-color:var(--accent)}.filerow:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.filerow:disabled{cursor:default;border-color:var(--rule)}.filename{word-break:break-word;font-size:.95rem;font-weight:600}.filemeta{color:var(--muted);font-size:.85rem}.empty{flex-direction:column;gap:10px;display:flex}.rows{flex-direction:column;gap:2px;list-style:none;display:flex}.row{border:1px solid var(--rule);background:var(--field);border-radius:4px;flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding:14px 15px;display:flex}.row-label{flex:0 0 8rem;font-size:.85rem;font-weight:600}.row-value{word-break:break-word;flex:auto;font-size:.95rem}.row-action{flex:none;font-size:.85rem}.notice{border:1px solid var(--rule);background:var(--field);border-radius:4px;padding:12px 14px;font-size:.9rem}.linkbtn{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.linkbtn.muted{color:var(--muted)}.sessionlist{flex-direction:column;gap:2px;list-style:none;display:flex}.sessionrow{border:1px solid var(--rule);background:var(--field);border-radius:4px;flex-direction:column;gap:3px;padding:14px 15px;display:flex}.sessiondate{font-size:.95rem;font-weight:600}.sessionstatus{color:var(--muted);font-size:.85rem}.sessionlink{color:var(--accent);margin-left:6px}.sitenav{flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:.75rem;font-size:1rem;display:flex}.dropzone{border:1px dashed var(--rule);background:var(--field);text-align:center;cursor:pointer;border-radius:4px;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;display:flex}.dropzone:hover,.dropzone.over{border-color:var(--accent)}.dropzone input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.dropzone:focus-within{outline:2px solid var(--accent);outline-offset:1px}.dropzone-text{word-break:break-word;font-size:.95rem;font-weight:600}progress.upload{width:100%;height:8px;accent-color:var(--accent)}.btn:disabled{cursor:default;opacity:.55}.btn:disabled:hover{filter:none}.btn.ghost{color:var(--accent);border:1px solid var(--accent);background:0 0}.btn.ghost:hover{filter:none;background:var(--field)}.btn.camera{margin-top:10px;position:relative}.btn.camera input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.btn.camera:focus-within{outline:2px solid var(--accent);outline-offset:1px}.confirm{flex-direction:column;gap:14px;display:flex}.photo-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.zoombtn{font:inherit;border:1px solid var(--rule);background:var(--field);min-width:44px;min-height:40px;color:var(--text);cursor:pointer;border-radius:4px;padding:0 10px;font-size:.95rem}.zoombtn.on{border-color:var(--accent);color:var(--accent);font-weight:700}.photo-scroll{border:1px solid var(--rule);background:var(--field);touch-action:pan-x pan-y;border-radius:4px;max-height:55vh;overflow:auto}.photo-stage{position:relative}.photo-stage.z1{width:100%}.photo-stage.z2{width:200%}.photo-stage.z3{width:300%}.photo-stage img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block}.mark{box-sizing:border-box;border:1px solid var(--accent);opacity:.6;cursor:pointer;position:absolute}.mark:hover{opacity:1}.mark.low{border-style:dashed;border-width:2px}.mark.active{opacity:1;box-shadow:0 0 0 2px var(--field);border-width:3px}.gridwrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.grid{border-collapse:collapse}.grid th,.grid td{border:1px solid var(--rule);vertical-align:top;padding:2px}.lines{flex-direction:column;gap:6px;display:flex}.lines input.cell{box-sizing:border-box;width:100%}input.cell{font:inherit;border:1px solid var(--rule);background:var(--field);min-width:5.5em;color:var(--text);border-radius:4px;padding:8px;font-size:16px}input.cell:focus{outline:2px solid var(--accent);outline-offset:1px}input.cell.head{font-weight:600}input.cell.low{border-style:dashed;border-color:var(--accent)}input.cell.edited{border-color:var(--accent);border-width:2px}input.cell[readonly]{background:0 0;border-color:#0000}.actions{flex-direction:column;gap:10px;display:flex}.field input[type=date]{font:inherit;font-size:16px}
