:root{color:#25221f;font-synthesis:none;--red:#981b24;--paper:#fff8ed;--ink:#25221f;--gold:#b08a4a;--green:#315448;--muted:#746c61;background:#f1e4d5;font-family:PingFang SC,Noto Sans CJK SC,sans-serif}*{box-sizing:border-box}body{background-color:#eee5d4;background-image:repeating-linear-gradient(0deg,#25221f06 0 1px,#0000 1px 5px);min-height:100vh;margin:0}body.preview-open,body.registration-modal-open{overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}.hidden{display:none!important}.archive-rule{z-index:5;background:var(--red);width:12px;position:fixed;inset:0 auto 0 0;box-shadow:5px 0 #b08a4aa6}.staff-theme .archive-rule{background:var(--red)}.page-shell{width:min(760px,100% - 42px);margin:0 auto;padding:46px 0 30px}.wide-shell{width:min(1180px,100% - 42px)}.anniversary-hero{text-align:center;background:linear-gradient(155deg,#fffaf2,#f8e5d1);border-radius:0 0 28px 28px;padding:28px 24px 30px;box-shadow:0 18px 42px #6917231f}.anniversary-hero img{object-fit:contain;width:min(100%,540px);max-height:210px}.anniversary-hero p{color:var(--gold);letter-spacing:.2em;margin:8px 0 12px;font-family:Songti SC,serif;font-size:18px}.anniversary-hero h1{letter-spacing:.04em;font-size:clamp(25px,6vw,40px);line-height:1.45}.anniversary-hero h1 b{color:var(--red);font-size:1.28em}.masthead{border-top:1px solid var(--gold);padding-top:18px}.eyebrow,.section-index{color:var(--red);letter-spacing:.18em;text-transform:uppercase;margin:0 0 12px;font-family:Courier New,monospace;font-size:12px;font-weight:700}.staff-theme .eyebrow,.staff-theme .section-index{color:var(--green)}.masthead-grid{grid-template-columns:1fr auto;align-items:start;gap:24px;display:grid}h1,h2{font-family:Songti SC,Noto Serif CJK SC,serif;font-weight:700}h1{letter-spacing:-.06em;margin:0;font-size:clamp(48px,12vw,84px);line-height:.95}h2{margin:0 0 20px;font-size:28px}.lede{max-width:520px;color:var(--muted);margin:14px 0 0;font-size:16px;line-height:1.8}.seal{aspect-ratio:1;border:2px solid var(--red);width:76px;color:var(--red);text-align:center;border-radius:50%;place-items:center;font-family:Songti SC,serif;font-weight:700;line-height:1.2;display:grid;transform:rotate(7deg)}.seal.green{border-color:var(--red);color:var(--red)}.event-strip{border:1px solid var(--gold);box-shadow:-8px 8px 0 var(--red);background:#f6f0e4a6;justify-content:space-between;gap:18px;margin:32px 0 18px 24px;padding:16px 18px;display:flex}.event-strip span{color:var(--muted);text-align:right}.notice{border-left:4px solid var(--red);color:#691723;background:#f2d9d5;margin:18px 0;padding:14px 16px;line-height:1.6}.paper-sheet{border:1px solid var(--gold);background:var(--paper);margin:30px 0;padding:clamp(24px,6vw,48px);position:relative;box-shadow:12px 12px #981b24e0}.paper-sheet:after{content:"";pointer-events:none;border:1px solid #b08a4a3d;position:absolute;inset:8px}.compact-sheet{max-width:620px}.privacy-copy,.microcopy{color:var(--muted);font-size:13px;line-height:1.7}form{gap:18px;display:grid}fieldset{border:0;margin:0;padding:0}legend{color:#4a443d;margin-bottom:10px;font-size:13px;font-weight:600}.choice-row{border:1px solid #d2c3a6;grid-template-columns:1fr 1fr;display:grid}.choice-row label{border-right:1px solid #d2c3a6;grid-template-columns:24px 1fr;align-items:center;min-height:48px;padding:0 14px}.choice-row label:last-child{border-right:0}.choice-row input{width:18px;height:18px;accent-color:var(--red)}label{color:#4a443d;gap:8px;font-size:13px;font-weight:600;display:grid}input{width:100%;color:var(--ink);background:#ffffff3d;border:0;border-bottom:1px solid #a69068;border-radius:0;outline:none;padding:12px 2px}input:focus{border-bottom-color:var(--red);box-shadow:0 2px 0 -1px var(--red)}.field-pair{grid-template-columns:1fr 1fr;gap:20px;display:grid}.consent{grid-template-columns:20px 1fr;align-items:start;font-weight:400;line-height:1.6}.consent input{width:18px;height:18px;accent-color:var(--red)}.primary-action,.secondary-action{border:1px solid var(--red);letter-spacing:.04em;min-height:48px;padding:12px 18px;font-weight:700}.primary-action{background:var(--red);color:#fffaf0}.secondary-action{color:var(--red);background:0 0}.green-action{border-color:var(--green);background:var(--green)}.text-action{color:var(--muted);text-underline-offset:4px;background:0 0;border:0;padding:12px 0;text-decoration:underline}.pass-layout{grid-template-columns:minmax(0,1fr) 210px;align-items:start;gap:28px;display:grid}.credential-sheet{text-align:center}.credential-sheet .section-index{text-align:left}.qr-image{border:10px solid #fffaf0;width:min(100%,320px);margin:12px auto 20px;display:block}.short-code-block{gap:4px;margin:20px auto;display:grid}.short-code-block span{color:var(--muted);letter-spacing:.16em;font-size:12px}.short-code-block strong{letter-spacing:.18em;font-family:Courier New,monospace;font-size:38px}.status-stamp{border:2px solid var(--gold);color:var(--gold);padding:6px 10px;font-weight:700;position:absolute;top:30px;right:28px;transform:none}.status-stamp.checked{border-color:var(--green);color:var(--green)}.anniversary-card{text-align:center;background:linear-gradient(#fff8ec 0%,#f9e5d3 100%);border:10px solid #77121d;border-radius:28px;margin:34px auto;padding:clamp(28px,7vw,54px);position:relative;overflow:hidden;box-shadow:0 24px 60px #530f1938}.anniversary-card:before,.anniversary-card:after{content:"";opacity:.96;background:#a51e29;width:65%;height:220px;position:absolute;bottom:-80px;transform:rotate(24deg)}.anniversary-card:before{left:-18%}.anniversary-card:after{right:-18%;transform:rotate(-24deg)}.anniversary-card>*{z-index:1;position:relative}.credential-brand{object-fit:contain;width:min(100%,500px);max-height:190px}.anniversary-card h2{color:var(--red);margin:8px 0;font-size:clamp(38px,9vw,60px)}.welcome-copy{margin:22px 0 4px;font-family:Songti SC,serif;font-size:20px}.welcome-copy strong{color:var(--red);font-size:1.45em}.party-copy{color:var(--muted)}.registration-locked-panel{border-top:3px solid var(--red);background:#f2d9d5;padding:22px 20px}.registration-locked-panel strong{color:var(--red);font-family:Songti SC,serif;font-size:22px}.registration-locked-panel p{color:#691723;margin:10px 0 0;line-height:1.7}.registration-lock-modal{z-index:120;padding:max(22px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#25221fc7;align-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.registration-lock-dialog{border:1px solid var(--gold);border-top:7px solid var(--red);background:var(--paper);width:min(520px,100%);margin:auto;padding:clamp(30px,8vw,52px);position:relative;box-shadow:14px 14px #981b24d1}.registration-lock-dialog h2{max-width:320px;color:var(--red);margin-bottom:14px;font-size:clamp(28px,7vw,38px)}.registration-lock-dialog>p:not(.section-index){max-width:390px;line-height:1.8}.registration-lock-dialog .primary-action{width:100%;margin-top:18px}.registration-lock-seal{aspect-ratio:1;border:2px solid var(--red);width:70px;color:var(--red);text-align:center;border-radius:50%;place-items:center;font-family:Songti SC,serif;font-weight:700;line-height:1.15;display:grid;position:absolute;top:28px;right:30px;transform:rotate(7deg)}.qr-pair{grid-template-columns:1fr 1fr;gap:24px;margin:28px 0 12px;display:grid}.qr-pair figure{margin:0}.qr-pair .qr-image{border:8px solid #fffaf0;width:100%;margin:0}.qr-pair figcaption{gap:3px;margin-top:10px;display:grid}.qr-pair figcaption b{color:var(--red)}.qr-pair figcaption span{color:var(--muted);font-size:12px}.school-emblem{object-fit:contain;width:92px;height:92px;margin:28px auto 10px;display:block}.credential-actions{gap:4px;max-width:360px;margin:14px auto 90px;display:grid}.save-preview{z-index:100;padding:max(18px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1c110ee0;position:fixed;inset:0;overflow-y:auto}.save-preview-panel{border-top:5px solid var(--red);background:#fff8ed;width:min(680px,100%);margin:0 auto;padding:22px;box-shadow:0 24px 80px #00000052}.save-preview-heading{justify-content:space-between;align-items:start;gap:18px;display:flex}.save-preview-heading span{color:var(--gold);letter-spacing:.18em;font-family:Courier New,monospace;font-size:11px;font-weight:700}.save-preview-heading h2{margin:4px 0 0;font-size:clamp(22px,5vw,30px)}.save-preview-panel>p{color:var(--muted);line-height:1.7}.save-preview-panel>img{-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;background:#f1e4d5;border:1px solid #b08a4a80;width:100%;margin:18px auto;display:block}.preview-close{color:var(--red);background:0 0;border:0;padding:8px 0 8px 16px;font-weight:700}.download-card-link{text-align:center;text-decoration:none;display:block}.export-action{border:1px solid var(--green);color:var(--green);margin-top:12px;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-block}.arrival-panel{background:var(--green);color:var(--paper);text-align:center;margin-top:84px;padding:26px 18px;transform:rotate(1.5deg)}.arrival-panel>span{letter-spacing:.16em;font-family:Courier New,monospace;font-size:10px}.arrival-panel>strong{margin:14px 0;font-family:Songti SC,serif;font-size:64px;display:block}.page-footer{color:var(--muted);border-top:1px solid #b08a4aa6;justify-content:space-between;gap:16px;padding:24px 0;font-size:12px;display:flex}.page-footer a{color:var(--red);font-weight:700}.staff-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);align-items:start;gap:34px;display:grid}.scanner-frame{border:1px solid var(--red);background:#151a18;min-height:240px;position:relative;overflow:hidden}.scanner-frame video{object-fit:cover;width:100%;min-height:240px;display:block}.scan-line{background:#d8c28a;height:1px;position:absolute;top:50%;left:10%;right:10%;box-shadow:0 0 8px #d8c28a}.button-row{grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;display:grid}.lookup-form{grid-template-columns:1fr auto;align-items:end;margin-top:20px}.candidate-card dl{border-top:1px solid #d2c3a6;gap:0;margin:0 0 24px;display:grid}.candidate-card dl div{border-bottom:1px solid #d2c3a6;grid-template-columns:100px 1fr;gap:16px;padding:12px 0;display:grid}.candidate-card dt{color:var(--muted)}.candidate-card dd{margin:0;font-weight:600}.dashboard-sheet{position:sticky;top:20px;box-shadow:10px 10px #8c1d2cc7}.roster-heading{justify-content:space-between;align-items:baseline;display:flex}.roster-heading strong{color:var(--green);font-family:Songti SC,serif;font-size:48px}.search-label{margin-bottom:18px}.metric-grid{border-top:1px solid #d2c3a6;border-left:1px solid #d2c3a6;grid-template-columns:1fr 1fr;display:grid}.metric-grid div{border-bottom:1px solid #d2c3a6;border-right:1px solid #d2c3a6;gap:8px;padding:15px;display:grid}.metric-grid span{color:var(--muted);font-size:12px}.metric-grid strong{color:var(--green);font-family:Courier New,monospace;font-size:28px}.breakdown-block{margin-top:24px}.breakdown-block h3,.report-heading h3,.roster-heading h3{margin:0 0 10px;font-family:Songti SC,serif}.breakdown-list{gap:7px;display:grid}.breakdown-list>span{border-bottom:1px dotted #c2b18f;justify-content:space-between;gap:12px;padding-bottom:6px;font-size:12px;display:flex}.breakdown-list b{font-weight:500}.report-sheet{margin-top:46px;box-shadow:12px 12px #8c1d2cc7}.report-heading{grid-template-columns:1fr minmax(260px,.7fr);align-items:end;gap:32px;display:grid}.report-columns{grid-template-columns:1fr 1fr;gap:42px;margin-top:26px;display:grid}.single-column{grid-template-columns:1fr}.fallback-search-sheet{box-shadow:12px 12px #8c1d2cc7}.detail-list{border-top:1px solid #d2c3a6;gap:0;margin:0;padding:0;list-style:none;display:grid}.detail-list li{border-bottom:1px solid #d2c3a6;grid-template-columns:48px 1fr;gap:14px;padding:14px 0;display:grid}.detail-list li>strong{color:var(--red);font-family:Courier New,monospace;font-size:20px}.detail-list li div{gap:3px;min-width:0;display:grid}.detail-list span,.detail-list small{overflow-wrap:anywhere;color:var(--muted);font-size:12px}.search-result-list li{grid-template-columns:48px minmax(0,1fr) auto;align-items:center}.inline-short-code{color:var(--green);letter-spacing:.08em;font-family:Courier New,monospace;font-size:14px}.result-checkin-action{border:1px solid var(--green);min-height:38px;color:var(--green);background:0 0;padding:8px 12px;font-weight:700}.empty-row{color:var(--muted);display:block!important}.reveal{animation:.55s both reveal}.delay-1{animation-delay:80ms}.delay-2{animation-delay:.16s}@keyframes reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=820px){.page-shell,.wide-shell{width:min(100% - 34px,680px);padding-top:30px}.staff-grid,.pass-layout{grid-template-columns:1fr}.dashboard-sheet{position:static}.report-columns,.report-heading{grid-template-columns:1fr}.arrival-panel{margin:-8px 24px 28px}.event-strip{flex-direction:column;margin-left:10px}.event-strip span{text-align:left}}@media (width<=520px){.archive-rule{width:7px}.page-shell,.wide-shell{width:calc(100% - 26px);padding-left:6px}h1{font-size:52px}.seal{width:64px;font-size:13px}.paper-sheet{padding:28px 20px;box-shadow:7px 7px #981b24e0}.field-pair,.lookup-form,.button-row{grid-template-columns:1fr}.search-result-list li{grid-template-columns:42px minmax(0,1fr)}.search-result-list .result-checkin-action{grid-column:2;justify-self:start}.registration-lock-seal{margin:0 0 20px auto;position:static}.qr-pair{gap:12px}.status-stamp{margin-bottom:16px;display:inline-block;position:static}.short-code-block strong{font-size:32px}}@media (prefers-reduced-motion:reduce){.reveal{animation:none}html{scroll-behavior:auto}}.brand-wordmark{color:var(--red);font-family:Songti SC,serif;font-size:24px;font-weight:700}.demo-banner{border:1px solid var(--green);color:var(--green);text-align:center;background:#f1f7f3;padding:12px 16px;line-height:1.7}.qr-pair:has(#live-qr-figure.hidden){grid-template-columns:minmax(0,280px);justify-content:center}.anniversary-hero h1{overflow-wrap:anywhere}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
