:root{color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#080c15;color:#eeeaf6}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 55% 0%,#18263d,#0b101b 47%,#070a13 85%);min-height:100svh}
[hidden]{display:none!important}a{color:#badddd}button{font:inherit;cursor:pointer;min-height:43px}
button:disabled{opacity:.46;cursor:not-allowed}.hall{width:min(1180px,100%);margin:auto;padding:12px clamp(13px,2.5vw,32px) max(30px,env(safe-area-inset-bottom))}
.topbar,footer{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.topbar{border-bottom:1px solid #3a3b50;padding:12px 0 22px}.brand{text-decoration:none;letter-spacing:.14em;font-size:.84rem;font-weight:800;color:#eee5ff}.back{font-size:.83rem;text-decoration:none}
.intro{padding:30px 0 20px}.eyebrow{color:#d6a8ea;font-weight:700;letter-spacing:.19em;text-transform:uppercase;font-size:.69rem;margin:0 0 9px}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(2.2rem,5vw,4rem);margin:4px 0 7px;line-height:1.04}h2{font-size:clamp(1.4rem,3vw,2rem);margin:0}h3{font-size:1.06rem}.subtitle{color:#b7b3cc;line-height:1.5}
.notice{color:#a8e5df;font-size:.92rem;line-height:1.4;min-height:23px}.notice.error{color:#ffbdbc}
.overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.overview article,.panel,.banner{border:1px solid #454459;border-radius:17px;background:linear-gradient(150deg,#1a1c30e8,#101522ee);box-shadow:0 13px 30px #0004}
.overview article{padding:15px;display:grid;gap:5px}.overview span{font-size:.79rem;color:#bab6cb}.overview strong{font-size:1.3rem;overflow-wrap:anywhere}
.columns{display:grid;grid-template-columns:1.05fr 1fr;gap:16px;align-items:start}.panel{padding:clamp(17px,2.6vw,26px)}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.subtle{color:#b8b6c7;font-size:.91rem;line-height:1.6}.muted{color:#a7a7b7;font-size:.89rem;line-height:1.5}
.primary,.secondary{border:1px solid #7264ad;border-radius:11px;font-weight:650;padding:10px 15px;color:#f8f6ff;background:#34385c}
.primary{background:linear-gradient(118deg,#453879,#1d6574);border-color:#8aaabb}.secondary{background:#1a2232;border-color:#454c62}
.primary:hover:not(:disabled),.secondary:hover:not(:disabled){border-color:#b6cdd9;filter:brightness(1.1)}
button:focus-visible,a:focus-visible{outline:3px solid #8adedd;outline-offset:3px}
.fresh-sigil{margin:20px 0;background:radial-gradient(ellipse at 50% 5%,#29344b,#151c2d 78%);border:1px solid #8778b5;border-radius:13px;padding:15px}
.fresh-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.fresh-heading h3{margin:0 0 14px;font-family:Georgia,serif}.fresh-heading span{color:#d3bce0;font-size:.77rem}
.sigil-code{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 15px}
.symbol{display:grid;gap:4px;place-items:center;min-width:0;padding:9px 2px;border:1px solid #4f5374;border-radius:8px;background:#101729}
.symbol i{font-style:normal;font-family:Georgia,serif;font-size:clamp(1.2rem,3vw,2rem);color:#bbdcec;text-shadow:0 0 8px #5ca9cfa0}
.symbol span{font-size:.66rem;color:#c7c1d9;overflow-wrap:anywhere;text-align:center}
.stack{display:flex;gap:10px;flex-wrap:wrap}.warning{font-size:.78rem;color:#e1bac8;margin:13px 0 0;line-height:1.55}
.list-heading{margin:25px 0 12px}.record-list{display:grid;gap:10px}.record{border:1px solid #424353;border-radius:12px;background:#111625;padding:13px}
.record-header{display:flex;justify-content:space-between;align-items:start;gap:12px;flex-wrap:wrap}
.record strong{font-size:.93rem;overflow-wrap:anywhere}.meta{font-size:.77rem;color:#aaa7b9;line-height:1.6;margin:4px 0}.pill{font-size:.67rem;color:#d5c5ea;border-radius:30px;border:1px solid #555073;padding:5px 9px;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}
.pill.pending{color:#f5c88e;border-color:#997546}.pill.complete{color:#9ee7c5;border-color:#4a8168}.pill.expired{color:#c0b4b9}
.record-actions{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0 0}.record-actions button{font-size:.86rem;padding:9px 13px}
.banner{border-color:#aa764b;padding:18px;margin-bottom:17px;background:#2820169e}.banner h2{font-size:1.25rem;margin-bottom:6px}.banner p{margin:0;color:#ecd3af;font-size:.9rem;line-height:1.5}
.founder{margin-top:18px;border-color:#876c41}.founder-mark{font-size:2.2rem;color:#d0b47e}
.pagination,.foot-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin:20px 0}.pagination span{color:#c7c0d6;font-size:.83rem}
footer{border-top:1px solid #3c3a4c;margin-top:32px;padding-top:23px;font-size:.72rem;color:#9a94aa;letter-spacing:.05em}footer a{font-size:.8rem}
@media(max-width:730px){.columns{grid-template-columns:1fr}.overview{gap:7px}.overview article{padding:10px}.overview strong{font-size:1.02rem}.overview span{font-size:.7rem}.intro{padding:22px 0 14px}.panel{padding:16px}.record-actions button{flex:1}.topbar{padding-bottom:14px}}
@media(max-width:380px){.sigil-code{gap:4px}.symbol{padding:7px 1px}.symbol span{font-size:.58rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Fresh invitations only: numbered, readable symbols and Android share controls. */
.hall #fresh-sigil .sigil-code{gap:8px;direction:ltr}
.hall #fresh-sigil .symbol{align-content:start;gap:6px;padding:10px 4px}
.hall #fresh-sigil .symbol i{font-size:clamp(32px,6vw,42px);line-height:1.2;font-variant-emoji:text}
.hall #fresh-sigil .symbol span{font-size:12px;line-height:1.35}
.hall #fresh-sigil .symbol-order{font-size:11px;color:inherit;opacity:.75}
.hall #fresh-sigil .stack button{min-height:48px;flex:1 1 130px;padding:12px 16px}
.hall #fresh-sigil .sigil-feedback{font-size:14px;line-height:1.5;margin:12px 0;overflow-wrap:anywhere}
.hall #sigil-manual label{display:block;font-size:14px;line-height:1.5;margin:12px 0 6px}
.hall #sigil-manual-text{display:block;width:100%;min-height:220px;font:16px/1.6 system-ui,sans-serif;resize:vertical;user-select:text;-webkit-user-select:text;white-space:pre-wrap}
@media(max-width:380px){.hall #fresh-sigil .sigil-code{gap:5px}.hall #fresh-sigil .symbol span{font-size:11px}}
