:root{color-scheme:light;--ink:#202b31;--muted:#53636b;--paper:#f5f4ef;--card:#fffefa;--line:#d4d9d6;--green:#174e45;--gold:#b99b58;--error:#9d302a;font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}[hidden]{display:none!important}button,input,textarea,select{font:inherit}button{border:1px solid var(--green);border-radius:7px;background:var(--green);color:white;padding:.65rem 1rem;cursor:pointer;min-height:44px;font-weight:650}button:hover{filter:brightness(1.12)}button.secondary{background:transparent;color:var(--green)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}input,textarea,select{width:100%;border:1px solid #99a9a5;border-radius:6px;padding:.65rem;background:white;color:var(--ink);min-height:44px}textarea{min-height:130px;resize:vertical}label{display:block;font-weight:650;margin:.85rem 0 .3rem}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(1.65rem,4vw,2.2rem);line-height:1.1;margin-bottom:.3rem}h2{font-family:Georgia,serif;font-size:clamp(1.6rem,4vw,2.25rem);font-weight:500;line-height:1.2;margin-bottom:1rem}h3{font-size:1.1rem;margin-bottom:.65rem}p{margin-bottom:.85rem}.masthead{max-width:1280px;margin:auto;padding:2rem clamp(1rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:1rem}.sigil{display:grid;place-items:center;width:56px;height:66px;border:1px solid var(--gold);color:var(--green);font-size:2.4rem;border-radius:28px 28px 4px 4px}.eyebrow{text-transform:uppercase;font-size:.7rem;letter-spacing:.18em;font-weight:750;color:var(--green);margin-bottom:.45rem}.tagline,.hint{font-size:.86rem;color:var(--muted);margin-bottom:0}#session{text-align:right}#session p{margin-bottom:.4rem;font-size:.9rem}#session button{font-size:.85rem;padding:.45rem .7rem}main{max-width:1280px;margin:auto;padding:1.25rem clamp(1rem,4vw,3rem) 3rem}.message{padding:.85rem 1rem;border:1px solid var(--line);background:#edf1ed;border-radius:7px;min-height:3rem;overflow-wrap:anywhere}.message.error{background:#fff0ec;border-color:#d8aaa1;color:var(--error)}.login-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(2rem,6vw,5rem);padding:2rem 0;align-items:center}.intro{max-width:500px}.intro>p:not(.eyebrow){font-size:1.08rem;color:var(--muted)}.brand-note{margin-top:2rem;border-left:3px solid var(--gold);padding-left:1rem}.brand-note p{font-size:.9rem;color:var(--muted);margin:.4rem 0}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:clamp(1rem,3vw,1.7rem);margin-bottom:1rem;min-width:0;overflow-wrap:anywhere}form>button{margin-top:1rem}details{margin:.8rem 0}summary{cursor:pointer;color:var(--green);font-weight:650;min-height:32px}.key-panel{margin-top:1rem}.key-panel h2{font-size:1.2rem;font-family:inherit;font-weight:650}.key-panel p{color:var(--muted);font-size:.9rem}.desk-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:1.8rem 0 1rem}.desk-heading h2{margin:0}.selection{max-width:50%;font-size:.86rem;color:var(--muted);overflow-wrap:anywhere;margin:0}nav{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.4rem}nav button{background:transparent;color:var(--muted);border-color:transparent;font-size:.88rem;padding:.55rem .8rem}nav button[aria-current=page]{background:var(--green);color:white}.toolbar{display:flex;align-items:end;gap:.8rem;flex-wrap:wrap;margin-bottom:1rem}.toolbar>div{flex:1;min-width:145px}.toolbar button{flex:none}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1rem}.grid>.card{margin:0}.scope{background:#eeeee5;border-left:3px solid var(--gold);padding:.8rem 1rem;font-size:.88rem;color:#4b5147;margin-bottom:1rem}.empty{padding:1.5rem;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:8px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:7px;background:var(--card);max-width:100%}table{border-collapse:collapse;min-width:100%;font-size:.85rem}th,td{padding:.7rem .8rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap}th{background:#eaf0eb;color:var(--green);font-weight:700}td.wrap{white-space:normal;min-width:190px;max-width:400px;overflow-wrap:anywhere}tr:last-child td{border-bottom:0}dl{display:grid;grid-template-columns:minmax(100px,.7fr) 1.3fr;gap:.4rem .8rem;margin:0;font-size:.88rem}dt{color:var(--muted)}dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}pre{white-space:pre-wrap;overflow-wrap:anywhere;font: .85rem/1.6 ui-monospace,monospace;max-height:60vh;overflow:auto;padding:1rem;background:#eff2ed;border-radius:6px}.row-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.checkbox{display:flex;gap:.65rem;align-items:center;font-weight:500}.checkbox input{width:20px;min-height:20px;height:20px;flex:none}.skip{position:absolute;top:-100px;background:white;color:var(--green);padding:1rem;z-index:5}.skip:focus{top:0}footer{border-top:1px solid var(--line);max-width:1280px;margin:auto;padding:1.5rem clamp(1rem,4vw,3rem);display:flex;gap:1rem;justify-content:space-between;color:var(--muted);font-size:.8rem}#public-key-output textarea{margin-top:1rem;min-height:180px;font-family:ui-monospace,monospace;font-size:.8rem}.subtle{color:var(--muted);font-size:.86rem}.count{font-size:.85rem;color:var(--muted)}
@media(max-width:650px){.masthead{padding-top:1.3rem;align-items:flex-start;flex-wrap:wrap}.sigil{width:43px;height:54px;font-size:2rem}.tagline{font-size:.75rem}#session{width:100%;display:flex;align-items:center;gap:.5rem;text-align:left;flex-wrap:wrap}#session p{flex:1;margin:0}.login-layout{grid-template-columns:1fr;gap:1rem;padding-top:1rem}.intro h2{font-size:1.8rem}.brand-note{margin-top:1rem}.desk-heading{align-items:flex-start;flex-direction:column}.selection{max-width:100%}nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.5rem}nav button{white-space:nowrap}footer{flex-direction:column;gap:.3rem}.toolbar button{width:100%}dl{grid-template-columns:1fr;gap:.1rem}dd{margin-bottom:.6rem}.card{padding:1rem}}
@media(prefers-reduced-motion:no-preference){button{transition:background-color .15s ease,filter .15s ease}}
