:root{color-scheme:light}
*{box-sizing:border-box}
html,body{min-height:100%}
body.birthdayPortal{margin:0;background:#174b80;color:#fff;font-family:Tahoma,Verdana,Arial,sans-serif}
.birthdayPortal .birthdayWrap{width:min(860px,calc(100% - 28px));margin:0 auto;padding:54px 0 72px}
.birthdayPortal .birthdayHead{display:flex;align-items:center;gap:18px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.42)}
.birthdayPortal .birthdayHead img{width:84px;height:84px;object-fit:contain}
.birthdayPortal .birthdayAgency{font:700 26px/1.15 "Times New Roman",Times,serif;letter-spacing:.01em}
.birthdayPortal .birthdayOffice{margin-top:6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.birthdayPortal .gateCard,.birthdayPortal .archiveCard{margin-top:32px;border:1px solid rgba(255,255,255,.65);background:rgba(3,31,60,.28);box-shadow:0 10px 32px rgba(0,0,0,.18)}
.birthdayPortal .cardBar{padding:8px 12px;background:rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.45);font-weight:bold;letter-spacing:.03em}
.birthdayPortal .cardBody{padding:22px 24px}
.birthdayPortal h1{margin:0 0 8px;font:700 25px/1.2 "Times New Roman",Times,serif}
.birthdayPortal p{font:14px/1.65 "Times New Roman",Times,serif}
.birthdayPortal label{display:block;margin:18px 0 5px;font-size:11px;font-weight:bold;text-transform:uppercase;letter-spacing:.07em}
.birthdayPortal .gateRow{display:flex;gap:7px;max-width:510px}
.birthdayPortal input{flex:1;min-width:0;padding:8px 9px;border:2px inset #d9d9d9;background:#fff;color:#111;font:13px Tahoma,Verdana,Arial,sans-serif}
.birthdayPortal button,.birthdayPortal .archiveLink{display:inline-block;padding:8px 14px;background:#d4d0c8;border:2px outset #eee;color:#111;text-decoration:none;font:bold 12px Tahoma,Verdana,Arial,sans-serif;cursor:pointer}
.birthdayPortal button:active{border-style:inset}
.birthdayPortal .gateError{min-height:21px;margin-top:9px;color:#ffe29a;font-size:12px}
.birthdayPortal .archiveCard[hidden],.birthdayPortal .gateCard[hidden]{display:none}
.birthdayPortal .archiveText{max-width:720px}
.birthdayPortal .archiveLink{margin-top:16px}
.birthdayPortal .languageLink{display:inline-block;margin-top:18px;color:#fff;font-size:11px}
.birthdayPortal .fileStamp{display:inline-block;margin-bottom:14px;padding:3px 7px;border:1px solid rgba(255,255,255,.5);font:bold 10px Tahoma,Verdana,Arial,sans-serif;letter-spacing:.08em}

body.scanArchive{margin:0;background:#ddd9cf;color:#111;font-family:"Times New Roman",Times,serif}
.scanArchive .scanWrap{width:min(900px,calc(100% - 28px));margin:34px auto 60px;position:relative;background:#f7f4e9;border:1px solid #6f6b61;box-shadow:0 7px 22px rgba(0,0,0,.18);overflow:hidden}
.scanArchive .scanWrap:before{content:"";pointer-events:none;position:absolute;inset:0;opacity:.12;background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.12) 0,rgba(0,0,0,.12) 1px,transparent 1px,transparent 4px),radial-gradient(circle at 15% 28%,#000 0 1px,transparent 1.5px),radial-gradient(circle at 78% 61%,#000 0 1px,transparent 1.5px);background-size:auto,37px 31px,43px 47px;mix-blend-mode:multiply}
.scanArchive .scanHeader{padding:26px 34px 14px;border-bottom:3px double #333;text-align:center;filter:blur(.12px)}
.scanArchive .scanHeader .dept{font-weight:900;font-size:22px;letter-spacing:.08em;text-transform:uppercase}
.scanArchive .scanHeader .sub{margin-top:5px;font:700 11px Courier New,monospace;letter-spacing:.06em}
.scanArchive .scanBody{position:relative;padding:28px 44px 42px;font-size:17px;line-height:1.62;font-weight:700;filter:contrast(1.04) blur(.1px)}
.scanArchive .scanMeta{display:grid;grid-template-columns:140px 1fr;margin-bottom:24px;border:1px solid #777;font:700 11px/1.4 Courier New,monospace}
.scanArchive .scanMeta b,.scanArchive .scanMeta span{padding:6px 8px;border-bottom:1px solid #999}
.scanArchive .scanMeta b:nth-last-child(-n+2),.scanArchive .scanMeta span:nth-last-child(-n+2){border-bottom:0}
.scanArchive .scanMeta b{border-right:1px solid #999;background:#e4e0d5}
.scanArchive .cipherFigure{margin:28px auto;text-align:center}
.scanArchive .cipherFigure img{display:block;width:min(100%,760px);margin:0 auto;border:1px solid #555;filter:grayscale(1) contrast(1.2) blur(.15px)}
.scanArchive .cipherFigure figcaption{margin-top:7px;font:700 10px Courier New,monospace;color:#444}
.scanArchive .cutNotice{margin-top:30px;padding-top:13px;border-top:2px solid #111;font-weight:900}
.scanArchive .scanBack{display:block;margin:0 44px 28px;color:#111;font:700 11px Courier New,monospace}
@media(max-width:620px){.birthdayPortal .birthdayHead{align-items:flex-start}.birthdayPortal .birthdayHead img{width:62px;height:62px}.birthdayPortal .birthdayAgency{font-size:21px}.birthdayPortal .gateRow{display:block}.birthdayPortal button{margin-top:7px}.scanArchive .scanBody{padding:22px}.scanArchive .scanMeta{grid-template-columns:100px 1fr}.scanArchive .scanBack{margin-left:22px}}
