:root{--bg:#fbf9f5;--surface:#ffffff;--ink:#1e1b16;--muted:#6b6459;--line:#e2dcd1;--accent:#8c3b12;--accent-ink:#ffffff;--error:#a11a1a;--error-bg:#fdf1f1;--ok:#17603a;--ok-bg:#eef7f1;--warn-bg:#fdf6e7;--warn-line:#e3c877;--radius:10px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.wrap{max-width:46rem;margin:0 auto;padding:1.5rem 1rem 4rem}header.masthead{text-align:center;padding:1.5rem 0 .5rem}header.masthead h1{font-size:1.35rem;margin:0 0 .15rem;letter-spacing:.01em}header.masthead p{margin:0;color:var(--muted);font-size:.95rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.15rem;margin:0 0 1rem}.card h3{margin:0 0 .15rem;font-size:1.05rem}.card .meta{color:var(--muted);font-size:.87rem;margin:0 0 .6rem}.card dl{display:grid;grid-template-columns:max-content 1fr;grid-gap:.3rem .9rem;gap:.3rem .9rem;margin:0}.card dt{color:var(--muted);font-size:.87rem}.card dd{margin:0;font-size:.94rem}.field{margin:0 0 1.05rem}.field>label{display:block;font-weight:600;font-size:.92rem;margin-bottom:.3rem}.hint{display:block;color:var(--muted);font-size:.85rem;font-weight:400;margin-top:.15rem}input[type=date],input[type=tel],input[type=text],select{width:100%;padding:.62rem .7rem;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:8px}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}[aria-invalid=true]{border-color:var(--error);background:var(--error-bg)}.checkline{display:flex;gap:.6rem;align-items:flex-start}.checkline input{margin-top:.28rem;flex:0 0 auto;width:1.05rem;height:1.05rem}.checkline label{font-weight:500;font-size:.94rem}.err{color:var(--error);font-size:.87rem;margin:.3rem 0 0}.notice{border-radius:8px;padding:.75rem .85rem;font-size:.92rem;margin:0 0 1rem}.notice.error{background:var(--error-bg);border:1px solid var(--error);color:var(--error)}.notice.ok{background:var(--ok-bg);border:1px solid var(--ok);color:var(--ok)}.notice.warn{background:var(--warn-bg);border:1px solid var(--warn-line)}button.primary{background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px;padding:.7rem 1.4rem;font:inherit;font-weight:600;cursor:pointer}button.primary[disabled]{opacity:.6;cursor:progress}a.button-link{display:inline-block;background:var(--accent);color:var(--accent-ink);text-decoration:none;border-radius:8px;padding:.65rem 1.3rem;font-weight:600}fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:1rem;margin:0 0 1.25rem}legend{font-weight:700;padding:0 .4rem;font-size:.95rem}.name-row{display:flex;gap:.5rem;align-items:stretch}.name-row input{flex:1 1 auto;min-width:0}button.preview-btn{flex:0 0 auto;background:var(--surface);color:var(--accent);border:2px solid var(--accent);border-radius:8px;padding:0 .9rem;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;white-space:nowrap}button.preview-btn:hover{background:var(--accent);color:var(--accent-ink)}@media (max-width:30rem){.name-row{flex-direction:column}button.preview-btn{padding:.6rem .9rem}}.cert-dialog{border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;max-width:34rem;width:calc(100vw - 2rem);background:var(--surface);color:var(--ink)}.cert-dialog::-webkit-backdrop{background:rgba(30,27,22,.55)}.cert-dialog::backdrop{background:rgba(30,27,22,.55)}.cert-dialog-title{font-size:1.05rem;margin:0 0 .9rem}.cert{position:relative;border:3px double var(--accent);border-radius:4px;background:#fffdf7;padding:.5rem;overflow:hidden}.cert-inner{border:1px solid var(--warn-line);padding:1.5rem 1rem;text-align:center}.cert-watermark{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(2.5rem,12vw,4.5rem);font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(140,59,18,.1);transform:rotate(-18deg);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cert-school{margin:0 0 .15rem;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:700;color:var(--accent);letter-spacing:.02em}.cert-event{margin:0 0 1.4rem;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.cert-lead{margin:0;font-style:italic;font-size:.9rem;color:var(--muted)}.cert-lead,.cert-name{font-family:Georgia,Times New Roman,serif}.cert-name{margin:.5rem 0 .6rem;font-size:clamp(1.35rem,6vw,1.9rem);font-weight:700;line-height:1.25;color:var(--ink);overflow-wrap:anywhere;border-bottom:1px solid var(--line);padding-bottom:.5rem;white-space:pre-wrap}.cert-disclaimer{margin:.5rem 0 .9rem;font-size:.82rem;color:var(--muted);text-align:center}.cert-actions{display:flex;justify-content:flex-end;margin-top:.25rem}.impersonation{display:flex;gap:1rem;align-items:center;justify-content:space-between;background:#4a2418;color:#fdf3ec;border-radius:var(--radius);padding:.7rem .9rem;margin:0 0 1rem;font-size:.9rem}.impersonation .hint{color:#e6cbb8}.impersonation .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.stop-btn{background:#fdf3ec;color:#4a2418;border:0;border-radius:6px;padding:.45rem .9rem;font:inherit;font-weight:700;cursor:pointer}.admin-bar{display:flex;justify-content:flex-end;margin:0 0 .75rem}.admin-bar a{font-size:.85rem;color:var(--muted)}.result{border:1px solid var(--line);border-radius:8px;padding:.7rem .8rem;margin:0 0 .6rem;background:var(--surface)}.result .who{font-weight:600}.result .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;color:var(--muted);word-break:break-all}.result .meta{font-size:.85rem;color:var(--muted);margin:.2rem 0 .5rem}.result form{margin:0}.badge{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .4rem;border-radius:4px;background:var(--warn-bg);border:1px solid var(--warn-line);margin-left:.4rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.account{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.15rem;margin:0 0 1.5rem}.account-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 .6rem}.account-grid{display:grid;grid-template-columns:max-content 1fr;grid-gap:.35rem 1rem;gap:.35rem 1rem;margin:0}.account-grid dt{color:var(--muted);font-size:.88rem}.account-grid dd{margin:0;font-size:.94rem;overflow-wrap:anywhere}.account-note{margin:.75rem 0 0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 .75rem}.section-head .account-title{margin:0}.candidate{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem;margin:0 0 .9rem}.candidate-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:0 0 .7rem}.candidate-head h3{margin:0;font-size:1.02rem}.candidate-meta{margin:.1rem 0 0;color:var(--muted);font-size:.86rem}a.button-link.small{padding:.42rem .85rem;font-size:.85rem;white-space:nowrap}table.entries{width:100%;border-collapse:collapse;font-size:.9rem;display:block;overflow-x:auto}table.entries thead th{text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:.3rem .6rem .3rem 0;border-bottom:1px solid var(--line);white-space:nowrap}table.entries td{padding:.42rem .6rem .42rem 0;border-bottom:1px solid var(--line);vertical-align:top}table.entries tr:last-child td{border-bottom:0}table.entries td:first-child{white-space:nowrap;color:var(--muted)}@media (max-width:30rem){.candidate-head{flex-direction:column}a.button-link.small{align-self:stretch;text-align:center}}