:root{--paper: #eae3d3;--card: #f6f1e4;--ink: #1b2a4a;--ochre: #c98a2c;--green: #2f6b3a;--red: #a63a2e;--muted: #7a7160;--line: #d9d0ba}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:#22201b;font-family:system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;font-size:15px;line-height:1.5}.serif{font-family:Georgia,Songti SC,SimSun,serif}.topbar{background:var(--ink);color:var(--paper);padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.topbar .brand{font-family:Georgia,Songti SC,serif;font-size:20px;letter-spacing:.3px}.topbar .brand small{font-size:12px;opacity:.75;margin-left:8px}.topbar .right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wrap{max-width:760px;margin:0 auto;padding:20px 16px 48px}h1{font-family:Georgia,Songti SC,serif;color:var(--ink);font-size:30px;margin:8px 0 4px}.slogan{font-family:Georgia,Songti SC,serif;font-size:19px;color:var(--ink);margin:0}.slogan-zh{font-size:15px;color:var(--muted);margin:2px 0 18px}.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px;margin-bottom:16px}label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin:12px 0 4px}.hint{font-size:12px;color:var(--muted);font-weight:400}input[type=text],input[type=email],input[type=password],input[type=tel]{width:100%;padding:10px 12px;border:1px solid #c9bfa6;border-radius:4px;background:#fffdf7;font-size:16px;font-family:inherit}input:focus{outline:2px solid var(--ochre);outline-offset:1px}.btn{display:inline-block;background:var(--ochre);color:var(--ink);border:none;border-radius:4px;padding:11px 18px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit}.btn:disabled{opacity:.6;cursor:default}.btn.block{width:100%;margin-top:16px}.btn.ghost{background:transparent;color:var(--paper);border:1px solid rgba(234,227,211,.5);padding:5px 10px;font-size:13px;font-weight:600}.link{background:none;border:none;padding:0;color:var(--ink);text-decoration:underline;cursor:pointer;font-size:14px;font-family:inherit}.roles{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.role-pick{flex:1 1 200px;border:1.5px solid #c9bfa6;border-radius:6px;padding:10px 12px;background:#fffdf7;cursor:pointer;font-weight:600;color:var(--ink);font-size:14px;text-align:left;font-family:inherit}.role-pick.on{border-color:var(--ink);background:var(--ink);color:var(--paper)}.msg{border-radius:4px;padding:10px 12px;font-size:14px;margin:12px 0 0}.msg.err{background:#f6e3e0;color:var(--red);border:1px solid #e3b8b2}.msg.ok{background:#eaf0e7;color:var(--green);border:1px solid #b9d0b2}.badge{display:inline-block;border:1.5px solid var(--ochre);color:var(--ochre);border-radius:3px;padding:1px 8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.space-title{font-family:Georgia,Songti SC,serif;font-size:24px;color:var(--ink);margin:22px 0 10px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (max-width: 560px){.grid{grid-template-columns:1fr}}.tile{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px;opacity:.85}.tile b{color:var(--ink);display:block;margin-bottom:2px}.tile span{font-size:13px;color:var(--muted)}.tile .soon{display:inline-block;margin-top:8px;font-size:11px;font-weight:700;color:var(--ochre);text-transform:uppercase;letter-spacing:.5px}table.diag{width:100%;border-collapse:collapse;margin-top:8px}table.diag td{padding:7px 4px;border-bottom:1px solid var(--line);font-size:14px}table.diag td:last-child{text-align:right;font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700;color:var(--ink)}
