@font-face{font-family:'Crimson Pro';font-style:normal;font-weight:400 900;font-display:swap;src:url(/assets/fonts/CrimsonPro.woff2) format('woff2')}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/Atkinson-400.woff2) format('woff2')}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/Atkinson-700.woff2) format('woff2')}
@font-face{font-family:'Special Elite';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/SpecialElite.woff2) format('woff2')}
@font-face{font-family:'Courier Prime';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/CourierPrime-400.woff2) format('woff2')}
@font-face{font-family:'Courier Prime';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/CourierPrime-700.woff2) format('woff2')}
:root{--navy:#14213D;--navy2:#0e1830;--cream:#F6F1E4;--cream2:#EDE6D3;--ink:#1B2A49;--red:#C0392B;--green:#2E7D5B;--amber:#D98E04;--grey:#7A7F8A;--serif:'Crimson Pro',Georgia,serif;--sans:'Atkinson Hyperlegible',system-ui,sans-serif;--type:'Special Elite','Courier New',monospace;--mono:'Courier Prime',ui-monospace,monospace}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--navy);color:var(--ink);font:17px/1.6 var(--sans)}
a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--red)}
h1,h2,h3{font-family:var(--serif);line-height:1.1;margin:0 0 .45em;color:var(--ink)}h1{font-size:clamp(34px,5vw,56px);font-weight:700}h2{font-size:clamp(24px,3vw,34px);margin-top:1.5em;font-weight:700}h3{font-size:22px}
p{margin:0 0 1em}.small{font-size:14.5px;color:#43506b}.mono,.num{font-family:var(--mono)}.r{text-align:right}.lead{font-size:20px;max-width:68ch}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--cream);padding:6px 10px;z-index:99}
.wrap{max-width:1240px;margin:0 auto;padding:0 18px}
.top{padding:14px 0 0}.top .row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--cream)}.brand svg{width:46px;height:46px}.brand b{font:700 30px var(--serif);letter-spacing:.04em}.brand small{display:block;font:12px var(--type);color:#b9c3dc;letter-spacing:.08em}
.tabs{display:flex;gap:4px;flex-wrap:wrap;margin:14px 0 0;padding:0;list-style:none}.tabs a{display:block;background:var(--cream2);color:var(--ink);font:14px var(--type);padding:8px 16px;border-radius:10px 10px 0 0;text-decoration:none;border:1px solid #cfc6ad;border-bottom:0;letter-spacing:.04em}.tabs a:hover{background:#fff}.tabs a[aria-current]{background:var(--cream);font-weight:700;position:relative;top:1px;box-shadow:0 -3px 0 var(--red) inset}
.navtoggle{display:none;font:14px var(--type);background:var(--cream2);border:1px solid #cfc6ad;padding:6px 14px;border-radius:8px}
.sheet{background:var(--cream);background-image:linear-gradient(#0000 31px,#1b2a490d 32px);background-size:100% 32px;border-radius:0 12px 12px 12px;padding:30px clamp(16px,3vw,44px) 50px;min-height:60vh;box-shadow:0 14px 40px #0006;position:relative}
.sheet::before{content:"";position:absolute;left:0;right:0;top:0;border-top:2px dashed #1b2a4933}
.crumbs{font:13px var(--type);letter-spacing:.05em;margin:0 0 14px}.crumbs a{color:#43506b}
.tab{display:inline-block;font:13px var(--type);letter-spacing:.14em;background:var(--ink);color:var(--cream);padding:2px 12px;border-radius:6px 6px 0 0;margin:0}
.file{border:1.5px solid var(--ink);background:#fffdf6;border-radius:0 10px 10px 10px;padding:14px 18px;margin:0 0 18px;position:relative}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid.g4{grid-template-columns:repeat(4,1fr)}.grid>*{min-width:0}
.vcard{display:block;text-decoration:none;color:var(--ink);border:1.5px solid var(--ink);background:#fffdf6;border-radius:0 10px 10px 10px;padding:12px 14px;position:relative;margin-top:22px}.vcard::before{content:attr(data-tab);position:absolute;top:-22px;left:-1.5px;font:12px var(--type);letter-spacing:.12em;background:var(--ink);color:var(--cream);padding:2px 10px;border-radius:6px 6px 0 0}.vcard:hover{background:#fff;box-shadow:4px 4px 0 var(--ink)}.vcard h3{margin:0 0 4px}.vcard p{font-size:15px;margin:0 0 6px}
/* stamps */
.stamp{display:inline-block;font:12px/1.15 var(--type);letter-spacing:.08em;border:2px solid currentColor;border-radius:4px;padding:1px 6px;transform:rotate(-2.5deg);white-space:nowrap;text-transform:uppercase;background:#ffffff66}
.st-billed{color:var(--red)}.st-not{color:var(--green)}.st-verify{color:#9a6400}.st-silent{color:#5b606b;border-style:dashed}.st-own{color:var(--ink)}.st-rival{color:var(--red);border-style:dashed}
.big .stamp{font-size:20px;padding:3px 12px}
.legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:6px 0 14px}
/* sandbox */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.sc{border:1.5px solid var(--ink);background:#fffdf6;padding:10px 12px;border-radius:0 8px 8px 8px;position:relative}.sc b{font:700 17px var(--serif);display:block}.sc .no{font:12px var(--type);color:var(--red)}.sc p{font-size:13.5px;line-height:1.35;margin:4px 0 6px;color:#43506b}.sc label{display:flex;align-items:center;gap:8px}.sc input[type=range]{flex:1;accent-color:var(--red);min-width:0}.sc output{font:700 15px var(--mono);min-width:40px;text-align:right}
.ctl{display:flex;gap:18px;flex-wrap:wrap;align-items:end;margin:12px 0}.ctl label{display:block;font:13px var(--type);letter-spacing:.06em}.ctl input,.ctl select{font:17px var(--mono);border:1.5px solid var(--ink);background:#fff;padding:6px 8px;border-radius:0;min-width:140px}
.scroll{overflow-x:auto;border:1.5px solid var(--ink);background:#fffdf6}table{border-collapse:collapse;width:100%;font-size:15.5px}th,td{padding:8px 8px;border-bottom:1px dotted #1b2a4966;vertical-align:top;text-align:left}thead th{font:12px var(--type);letter-spacing:.08em;background:var(--cream2);border-bottom:1.5px solid var(--ink);white-space:nowrap}
.matrix th[scope=row]{position:sticky;left:0;background:#fffdf6;min-width:170px;z-index:1;border-right:1.5px solid var(--ink)}.matrix th[scope=row] small{display:block;font:400 12px var(--sans);color:#43506b}.matrix td{padding:6px 4px;text-align:center}.matrix .bill{min-width:150px;text-align:right}
.cell{background:none;border:0;padding:4px;cursor:pointer;border-radius:6px}.cell:hover,.cell:focus-visible{background:#1b2a4914;outline:2px solid var(--ink)}
#drawer{position:fixed;inset:0;background:#0b1226cc;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}#drawer[hidden]{display:none}#drawer .file{max-width:560px;width:100%;margin:0;background:var(--cream)}#drawer .close{position:absolute;right:8px;top:4px;font:28px var(--serif);background:none;border:0;cursor:pointer;color:var(--ink)}blockquote{margin:10px 0;padding:8px 14px;border-left:4px solid var(--red);background:#fff;font:16px/1.5 var(--serif)}
.notice{border:2px dashed var(--red);background:#fff;padding:10px 14px;margin:16px 0}.notice b{color:var(--red)}
.btn{display:inline-block;background:var(--ink);color:var(--cream);padding:10px 18px;font:14px var(--type);letter-spacing:.08em;text-decoration:none;border:0;border-radius:6px;cursor:pointer}.btn:hover{background:var(--red);color:#fff}.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.prose{max-width:72ch}.prose ul{padding-left:1.2em}code{font:.92em var(--mono);background:#fff;border:1px solid #1b2a4955;padding:0 4px}
.detail{display:grid;grid-template-columns:3fr 1fr;gap:28px;align-items:start}.detail>*{min-width:0}.side{border-left:1.5px dashed var(--ink);padding-left:18px}
.sponsor{border:2px solid var(--red);background:#fff;padding:12px 14px;border-radius:6px;position:relative;margin:0 0 16px}.sponsor .lab{display:inline-block;font:12px var(--type);letter-spacing:.14em;background:var(--red);color:#fff;padding:1px 10px;margin:-24px 0 6px -4px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.chips a{border:1.5px solid var(--ink);padding:4px 14px;border-radius:20px;text-decoration:none;font:14px var(--type);background:#fffdf6}.chips a:hover{background:var(--ink);color:var(--cream)}
.hist li{margin:0 0 8px}.hist .d{font:14px var(--mono);color:var(--red)}
.form p{margin:0 0 14px}.form label{display:block;font:13px var(--type);letter-spacing:.06em;margin-bottom:3px}.form label.chk{font:16px var(--sans);letter-spacing:0}.form input,.form textarea{width:100%;border:1.5px solid var(--ink);background:#fff;padding:8px;font:16px var(--sans);border-radius:0}
.foot{background:var(--navy2);color:#d6dcec;padding:26px 0 40px;margin-top:34px;font-size:15px}.foot a{color:#f6f1e4}.foot b{font:13px var(--type);letter-spacing:.14em;color:#fff}.foot ul{list-style:none;margin:8px 0 0;padding:0}.foot li{margin:4px 0}.foot .wrap{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}.foot .clioos{margin:10px 0 0;font-weight:700}.legal-links{grid-column:1/-1;margin:0;border-top:1px dashed #ffffff44;padding-top:10px}
@media (max-width:1000px){.grid,.grid.g4{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.detail{grid-template-columns:1fr}.side{border:0;padding:0}.foot .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.grid,.grid.g4,.cards{grid-template-columns:1fr}.navtoggle{display:block}.tabs{display:none;flex-direction:column}.tabs[data-open="1"]{display:flex}.tabs a{border-radius:8px}.sheet{border-radius:0 0 12px 12px}.foot .wrap{grid-template-columns:1fr}.stack thead{display:none}.stack,.stack tbody,.stack tr,.stack td{display:block;width:100%}.stack tr{border:1.5px solid var(--ink);background:#fffdf6;margin-bottom:10px;padding:4px}.stack td{border:0;padding:3px 8px}.stack td[data-l]::before{content:attr(data-l) ': ';font:12px var(--type)}}
