*{box-sizing:border-box;margin:0;padding:0}:root{--ink:#0b0b0b;--ink-2:#52514e;--ink-3:#898781;--surface:#fcfcfb;--page:#f9f9f7;--line:#e1e0d9;--accent:#6c4993;--accent-dark:#533a70;--good:#0ca30c;--bad:#d03b3b}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100dvh}body>main{width:100%;flex:1 1}.site-footer{margin-top:auto;padding:1.25rem 1rem 2rem;border-top:1px solid var(--line);text-align:center;color:var(--ink-3);font-size:.85rem}.footer-link{display:block;color:inherit;text-decoration:none}.footer-secondary{font-size:.8rem;opacity:.75;margin-top:.1rem}.footer-link:hover p{text-decoration:underline}.site-footer img{display:block;max-height:44px;max-width:200px;margin:0 auto .5rem}.logo-placeholder{width:140px;height:44px;margin:0 auto .5rem;border:1px dashed var(--ink-3);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--ink-3);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}button{font:inherit;cursor:pointer;border:none;border-radius:10px;background:var(--accent);color:#fff;padding:.75rem 1.25rem}button:disabled{opacity:.45;cursor:default}input,textarea{font:inherit;width:100%;border:1px solid var(--line);border-radius:10px;padding:.65rem .75rem;background:var(--surface);color:var(--ink)}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.error{color:var(--bad);margin-top:.5rem}.login{max-width:22rem;margin:18vh auto 0;padding:1rem;text-align:center}.login h1{font-size:1.6rem;margin-bottom:.5rem}.login .tagline{display:block;font-size:.9rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-top:.4rem}.login .lede{color:var(--ink-2);margin-bottom:1.5rem}.code-input{font-size:2.2rem;letter-spacing:.6em;text-align:center;margin-bottom:1rem}.login button{width:100%;font-size:1.1rem}.notice{max-width:24rem;margin:22vh auto 0;padding:1rem;text-align:center;color:var(--ink-2)}.notice h1{color:var(--ink);margin-bottom:.75rem}.notice p{margin-bottom:.5rem}.agent-details{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem;margin-bottom:.9rem}.agent-details h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin-bottom:.5rem}.agent-details dl{display:grid;grid-template-columns:auto 1fr;grid-gap:.25rem 1.25rem;gap:.25rem 1.25rem}.agent-details dt{color:var(--ink-2)}.agent-details dd{font-weight:600}.section-heading{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin:1.25rem 0 .6rem}.briefing{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:14px;margin-bottom:.9rem;overflow:hidden}.briefing summary{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1rem;font-weight:600;cursor:pointer;list-style:none}.briefing summary::-webkit-details-marker{display:none}.briefing summary:after{content:"▸";color:var(--ink-3);transition:transform .2s}.briefing[open] summary:after{transform:rotate(90deg)}.briefing p{padding:0 1rem;margin-bottom:.75rem;color:var(--ink-2)}.briefing p:last-child{padding-bottom:1rem;margin-bottom:0}.briefing .briefing-note{color:var(--ink);font-weight:600}.missions{max-width:34rem;margin:0 auto;padding:1rem 1rem 4rem}.mission-header{padding:1rem 0 1.25rem}.mission-header h1{font-size:1.4rem}.progress{color:var(--ink-2);margin-top:.25rem}.progress-track{height:6px;background:var(--line);border-radius:3px;margin-top:.6rem;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .4s}.category{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:.9rem;overflow:hidden}.category summary{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1rem;font-weight:600;cursor:pointer;list-style:none}.category summary::-webkit-details-marker{display:none}.category .count{color:var(--ink-3);font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.category .done{padding:0 1rem 1rem;color:var(--good)}.category.bonus{border-left:4px solid #eda100}.category.bonus .count{color:#9a6b00}.card{border-top:1px solid var(--line);padding:1rem}.card h3{font-size:1.05rem}.card .prompt{color:var(--ink-2);margin:.35rem 0 .9rem}.card label{display:block;font-size:.85rem;color:var(--ink-2);margin-bottom:.7rem}.card label input,.card label textarea{margin-top:.3rem}.card textarea{resize:vertical;min-height:4.5rem}.card .submit{width:100%;margin-top:.25rem}.card .submit.confirming{background:var(--accent-dark)}.vault{margin-top:1.5rem;text-align:center}.vault-button{width:100%;background:var(--bad);font-size:1.05rem;font-weight:700;letter-spacing:.18em;padding:.95rem 1.25rem}.vault-note{color:var(--ink-3);font-size:.9rem;margin-top:.5rem}.vault .feedback-card{text-align:left}.feedback-card{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--bad);border-radius:14px;padding:1rem;margin-top:1.25rem}.feedback-heading{font-size:.9rem;text-transform:uppercase;letter-spacing:.18em;margin-bottom:.75rem}.feedback-card label{display:block;font-size:.85rem;color:var(--ink-2);margin-bottom:.7rem}.feedback-card label input,.feedback-card label textarea{margin-top:.3rem}.feedback-card textarea{resize:vertical;min-height:4.5rem}.feedback-card .submit{width:100%;margin-top:.25rem}.feedback-card .submit.confirming{background:var(--accent-dark)}.feedback-card .optional{color:var(--ink-3);font-weight:400}.feedback-card .done{color:var(--good)}.notice-inline{text-align:center;color:var(--ink-2);padding:2rem 0 .5rem}.notice-inline h1{color:var(--ink);margin-bottom:.75rem}.notice-inline p{margin-bottom:.5rem}.admin{max-width:64rem;margin:0 auto;padding:1.25rem 1rem 4rem}.admin nav{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.admin nav button{background:var(--surface);color:var(--ink-2);border:1px solid var(--line);text-transform:capitalize}.admin nav button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1.25rem}.tile{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1rem}.tile .value{font-size:1.9rem;font-weight:700}.tile .label{color:var(--ink-2);font-size:.85rem;margin-top:.15rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1rem;margin-bottom:1.25rem}.panel h2{font-size:1.05rem;margin-bottom:.75rem}.lock-banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.lock-banner .locked{color:var(--bad);font-weight:600}.lock-actions{display:flex;gap:.5rem;flex-wrap:wrap}.lock-banner .open{color:var(--good);font-weight:600}.hours{gap:2px;height:88px}.hour-col,.hours{display:flex;align-items:flex-end}.hour-col{flex:1 1;min-width:4px}.hour-bar{width:100%;background:var(--accent);border-radius:4px 4px 0 0}.hour-bar.hover{background:var(--accent-dark)}.hour-readout{color:var(--ink-2);font-size:.9rem;margin-top:.5rem;min-height:1.3em}.admin table{width:100%;border-collapse:collapse;font-size:.9rem}.admin th{text-align:left;color:var(--ink-3);font-weight:500;padding:.4rem .6rem}.admin td,.admin th{border-bottom:1px solid var(--line)}.admin td{padding:.5rem .6rem;vertical-align:top}.admin td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin tr.top3 td{font-weight:700}.admin tr.dq td{color:var(--ink-3);text-decoration:line-through}.admin tr.dq td.reason{text-decoration:none}.admin .answer-cell{max-width:26rem;white-space:pre-wrap}.filters{display:flex;gap:.5rem;margin-bottom:.9rem;flex-wrap:wrap}.filters input{max-width:16rem}.filters button{padding:.55rem 1rem}.filters select{font:inherit;border:1px solid var(--line);border-radius:10px;padding:.55rem .75rem;background:var(--surface);color:var(--ink);max-width:16rem}.limit-note{color:var(--ink-3);font-size:.85rem;margin-bottom:.6rem}.csv-example{background:var(--page);border:1px solid var(--line);border-radius:8px;padding:.5rem .75rem;font-size:.8rem;overflow-x:auto;margin:.4rem 0 .6rem}.button-link{display:inline-block;border-radius:10px;padding:.55rem 1rem;text-decoration:none;background:var(--surface);color:var(--ink-2);border:1px solid var(--line)}.danger{background:var(--bad)}.ghost{background:var(--surface);color:var(--ink-2);border:1px solid var(--line)}