:root{color-scheme:light;--ink:#173b3c;--teal:#126b64;--muted:#546667;--line:#d5e1df;--paper:#fff;--bg:#f1f5f3}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}header{background:var(--paper);border-bottom:1px solid var(--line);display:flex;gap:32px;align-items:center;padding:22px max(24px,calc((100vw - 1240px)/2))}.brand{font-size:26px;font-weight:800;white-space:nowrap}.brand span{color:var(--teal);font-weight:400}#connection{margin-left:auto;font-size:14px;font-weight:650}main{max-width:1240px;margin:auto;padding:36px 24px}.intro{max-width:740px;margin:12px 0 34px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:750;color:var(--teal)}h1{font-size:clamp(28px,4vw,44px);font-weight:650;line-height:1.2;letter-spacing:-.03em}h2{font-size:20px;margin:0 0 12px}h3{font-size:18px}p{color:var(--muted);margin:8px 0 20px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:28px;margin-bottom:24px}.columns{display:grid;grid-template-columns:1.15fr 1fr;gap:24px}.toolbar{display:flex;align-items:center;gap:24px}.toolbar>div:first-child{min-width:210px}.toolbar p{margin:0}.buttons{display:flex;flex-wrap:wrap;gap:8px}label{display:block;font-size:14px;font-weight:650;margin:16px 0 6px}input,select,button{font:inherit}input:not([type=checkbox]),select{display:block;width:100%;border:1px solid #6c8580;border-radius:7px;background:#fff;color:var(--ink);padding:10px 12px;min-height:46px}button{border:1px solid #779c96;border-radius:7px;background:#fff;color:var(--ink);padding:10px 16px;cursor:pointer;font-weight:650;min-height:44px}button:hover{background:#edf5f2}button:disabled{opacity:.55;cursor:wait}.primary,#loginForm button{background:var(--teal);color:#fff;border-color:var(--teal);margin-top:24px}.danger{background:#963a2d;color:#fff;border-color:#963a2d;margin-top:16px}.fieldrow{display:flex;gap:18px;align-items:end}.fieldrow>div{flex:1;min-width:0}.fieldrow button{margin-top:16px}details{margin:22px 0}summary{cursor:pointer;color:var(--teal);font-weight:650}details button{margin-top:16px}.check{display:flex;align-items:start;gap:10px}.check input{margin-top:6px;min-width:18px;min-height:18px}pre{font:13px/1.7 ui-monospace,Consolas,monospace;background:#f3f6f5;border:1px solid var(--line);padding:16px;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:440px;overflow:auto}#result{white-space:pre-wrap;overflow-wrap:anywhere}.error{color:#9b2d20}#review{border-top:1px solid var(--line);margin-top:28px;padding-top:16px}#loginPanel{max-width:620px}footer{font-size:13px;color:var(--muted);padding:16px 0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c66b15;outline-offset:3px}.skip{position:absolute;top:-80px;background:#fff;padding:10px;z-index:1}.skip:focus{top:0}[hidden]{display:none!important}@media(max-width:820px){header{gap:14px;padding:16px;flex-wrap:wrap}header>span:nth-child(2){display:none}main{padding:24px 16px}.columns{grid-template-columns:1fr;gap:0}.toolbar{display:block}.buttons{margin-top:18px}.fieldrow{flex-wrap:wrap}.fieldrow>div{flex-basis:42%}.panel{padding:20px}}

/* WCAG 2.2: generous label target and visible focus for operation feedback. */
.check{min-height:44px;padding:8px 0}#result:focus{outline:3px solid #c66b15;outline-offset:6px}

/* Reader diagnostics wrap on narrow screens and remain visible without a card. */
.toolbar>div:first-child{flex:1;min-width:0}.toolbar>.buttons{flex:1}#readerInventory,#readerLocation{font-size:13px;margin-top:8px;overflow-wrap:anywhere}#readerState{white-space:pre-line;overflow-wrap:anywhere}.reader-warning{color:#963a2d;font-weight:650}

.manual-links{display:flex;gap:20px;flex-wrap:wrap;margin:0 0 22px}.manual-links a{color:#126b64;font-weight:650;text-underline-offset:3px;padding:8px 0;min-height:44px}
