:root{--navy:#1b365d;--navy-2:#12243f;--ink:#1a1f2b;--muted:#5c6573;--line:#d9d3c7;--paper:#f4efe6;--card:#fbf8f2;--white:#fffcf7;--forest:#2f5d50;--gold:#b08d3e}
*{box-sizing:border-box}
html,body{margin:0;background:var(--paper);color:var(--ink);font-family:"Iowan Old Style",Palatino,Georgia,serif}
body{overflow-x:hidden}
a{color:var(--navy);cursor:pointer;text-decoration:none}
nav,table,.hint,.lede,.row,button,input,textarea,th,td,.crumb,.who span,.mod,.strip,.quiet,.help,.authbar,.compose,.formmsg{font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif}
.mast{background:var(--navy-2);color:#e8e0d2;padding:14px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.engraving-wrap{height:96px;overflow:hidden;background:#d4cbb8;border-bottom:1px solid #b7ad96;display:flex;justify-content:center;align-items:center}
.engraving{display:block;height:96px;width:auto;max-width:none;flex-shrink:0}
.logo{color:#fff;font-size:20px;cursor:pointer}
.logo span{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-family:"Segoe UI",sans-serif}
.mast nav{display:flex;gap:14px;font-size:13px;flex-wrap:wrap;align-items:center}
.mast nav a{color:#d7cfc2}
.ca{display:flex;align-items:center;gap:8px;min-width:0;flex:0 1 auto;margin-right:auto;margin-left:24px;border:1px solid rgba(176,141,62,.55);border-radius:8px;padding:5px 6px 5px 10px;font-family:"Segoe UI",sans-serif}
.ca.hidden{display:none}
.ca-l{font-size:10px;letter-spacing:.16em;color:var(--gold);cursor:help}
.ca-v{font-family:Consolas,"SFMono-Regular",Menlo,monospace;font-size:13px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ca-copy{border:0;background:var(--gold);color:var(--navy-2);font-size:11px;font-weight:600;padding:4px 9px;border-radius:5px;cursor:pointer}
.mast nav a.on{color:#fff}
.acct{color:#a99f8e;font-size:12px}
.acct a{color:#a99f8e;text-decoration:underline;text-underline-offset:3px}
.acct b{color:#d7cfc2;font-weight:600}
.authbar{background:var(--navy);padding:10px 24px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:12px}
.authbar input{border:1px solid #3a5176;background:#fffcf7;padding:6px 8px;border-radius:6px;font-size:13px;width:160px;min-width:0}
.authbar button{border:0;background:var(--gold);color:#12243f;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:13px}
.authbar button.ghost{background:transparent;color:#e8e0d2;border:1px solid #3a5176}
.authclose{color:#a99f8e;font-size:12px}
.authmsg{color:#e8e0d2}
.wrap{max-width:1100px;margin:0 auto;padding:24px 20px 64px}
h1{margin:0 0 8px;font-size:30px;color:var(--navy)}
.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 6px;font-family:"Segoe UI",sans-serif}
.lede{color:var(--muted);font-size:14px;margin:0 0 20px;max-width:640px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.grid2{display:grid;grid-template-columns:1.3fr .7fr;gap:12px;margin-bottom:14px}
.grid3>*,.grid2>*{min-width:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}
.card h2{margin:0 0 10px;font-size:15px;color:var(--navy)}
.stat{font-size:28px;color:var(--navy-2)}
.hint{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.45}
.row{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:6px 0;border-bottom:1px solid #eee6d8}
.row b{text-align:right}
.sparkbox{position:relative}
.spark{width:100%;height:140px;background:var(--white);border:1px solid var(--line);border-radius:8px;display:block}
.spark-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;font-size:12px;color:var(--muted)}
.quiet{font-size:12px;color:var(--navy);text-decoration:underline;text-underline-offset:3px;margin-top:8px;display:inline-block}
.help{border-bottom:1px dotted var(--muted);cursor:help}
.alloc{display:flex;height:16px;border-radius:8px;overflow:hidden;margin:8px 0 4px}
.alloc span:nth-child(1){width:49%;background:#1b365d}
.alloc span:nth-child(2){width:21%;background:#3d6b4f}
.alloc span:nth-child(3){width:30%;background:#b08d3e}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px 6px;border-bottom:1px solid var(--line)}
td{padding:8px 6px;border-bottom:1px solid #eee6d8;font-size:13px}
tr.empty td{color:var(--muted);font-size:12px}
tr.click:hover td{background:#f3ece0;cursor:pointer}
tr.click a{color:inherit}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.lookup{display:flex;gap:8px;margin-top:8px}
.lookup input{flex:1;min-width:0;border:1px solid var(--line);padding:8px;border-radius:6px}
.lookup button,.btn{border:0;background:var(--navy);color:#fff;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:13px}
.btn.ghost{background:var(--white);color:var(--navy);border:1px solid var(--line);margin-top:12px}
.btn[disabled]{opacity:.6;cursor:default}
.hidden{display:none!important}
.thread{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.thd{padding:10px 14px;background:#f7f1e6;border-bottom:1px solid var(--line)}
.post{padding:14px 16px;border-bottom:1px solid #eee6d8;overflow-wrap:anywhere}
.post p{margin:0 0 8px;line-height:1.5}
.who{margin-bottom:6px}
.who b{color:var(--navy)} .who span{font-size:11px;color:var(--muted);margin-left:8px}
.mod{background:#f3ece0;font-size:12px;color:#6a6358;padding:8px 16px}
.lock{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.crumb{font-size:13px;color:var(--muted);margin:0 0 12px}
.foot{margin-top:24px;font-size:11px;color:#7a7468;line-height:1.5}
.strip{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;background:var(--navy-2);color:#e8e0d2;padding:10px 14px;border-radius:10px;margin:0 0 16px;font-size:13px}
.strip b{color:#fff}
.dot{width:8px;height:8px;border-radius:50%;background:#6d9a7c;display:inline-block;margin-right:6px;animation:pulse 1.6s infinite}
.dot.off{background:#8a8272;animation:none}
@keyframes pulse{50%{opacity:.35}}
.meter{height:8px;background:#ece6d8;border-radius:99px;overflow:hidden;margin-top:8px}
.meter>i{display:block;height:100%;background:var(--forest);width:0;transition:width .6s}
.flash{animation:flash 1.2s}
@keyframes flash{0%{background:#efe7d4}100%{background:transparent}}
.mints div{overflow-wrap:anywhere;margin-top:2px}
.mints a{text-decoration:underline;text-underline-offset:3px;font-family:ui-monospace,Consolas,monospace;font-size:12px}
.compose{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px}
.compose h2{margin:0 0 8px;font-size:15px;color:var(--navy);font-family:"Iowan Old Style",Palatino,Georgia,serif}
.compose input,.compose textarea{display:block;width:100%;border:1px solid var(--line);background:var(--white);padding:8px;border-radius:6px;font-size:13px;margin-bottom:8px}
.compose textarea{min-height:110px;resize:vertical;line-height:1.45}
.compose .btn{margin-top:0}
.formmsg{font-size:12px;color:#8a3b2e;margin-left:10px}
@media(max-width:800px){.grid3,.grid2{grid-template-columns:1fr}}
@media(max-width:480px){
  .mast{padding:12px 16px}
  .ca{order:3;flex:1 1 100%;margin:4px 0 0}
  .authbar{padding:10px 16px}
  .authbar input{width:calc(50% - 4px)}
  .wrap{padding:20px 16px 56px}
  h1{font-size:26px}
  .stat{font-size:24px}
  th,td{padding:7px 4px}
}
