:root{--bg: #0b1120;--panel: #161f33;--panel2: #1f2a44;--ink: #e6edf7;--muted: #8b9bb4;--accent: #38bdf8;--accent2: #2dd4bf;--accent-ink: #06283d;--ok: #34d399;--warn: #fbbf24;--danger: #f87171;--border: rgba(148, 163, 184, .16);--radius: 18px;--shadow: 0 10px 30px rgba(2, 6, 23, .35)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1100px 700px at 85% -10%,rgba(56,189,248,.09),transparent 60%),radial-gradient(900px 600px at -15% 110%,rgba(45,212,191,.07),transparent 60%),var(--bg);background-attachment:fixed;color:var(--ink);font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent)}.wrap{max-width:840px;margin:0 auto;padding:28px 20px 56px}.center{min-height:100%;display:grid;place-items:center;padding:24px}.card{background:linear-gradient(180deg,#94a3b80d,#94a3b800 55%),var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow)}.card+.card{margin-top:18px}h1{font-size:26px;margin:0 0 6px;letter-spacing:-.02em}h2{font-size:17px;margin:0 0 12px;letter-spacing:-.01em}.muted{color:var(--muted)}.small{font-size:13px}label{display:block;font-size:13px;color:var(--muted);margin:14px 0 6px}input,textarea,select{width:100%;padding:12px 14px;background:#02061773;color:var(--ink);border:1px solid var(--border);border-radius:12px;font:inherit;transition:border-color .15s ease,box-shadow .15s ease}textarea{resize:vertical;min-height:200px}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #38bdf82e}button{cursor:pointer;font:inherit;font-weight:600;padding:12px 18px;border-radius:12px;border:1px solid var(--border);background:var(--panel2);color:var(--ink);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .05s ease}button:hover{border-color:var(--accent)}button:active{transform:translateY(1px)}button.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--accent-ink);border-color:transparent;box-shadow:0 6px 18px #38bdf838}button.primary:hover{filter:brightness(1.07);border-color:transparent}button.danger{background:transparent;color:var(--danger);border-color:var(--danger)}button.ghost{background:transparent}button.big{width:100%;padding:16px;font-size:17px}button:disabled{opacity:.5;cursor:not-allowed}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.stack>*+*{margin-top:12px}.err{color:var(--danger);font-size:14px;margin-top:8px}.ok{color:var(--ok)}.warn{color:var(--warn)}.pill{display:inline-block;padding:3px 11px;border-radius:999px;font-size:12px;border:1px solid var(--border)}.pill.ok{color:var(--ok);border-color:#34d39980;background:#34d39914}.pill.warn{color:var(--warn);border-color:#fbbf2480;background:#fbbf2414}.pill.danger{color:var(--danger);border-color:#f8717180;background:#f8717114}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.list-item{display:block;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:var(--panel);text-decoration:none;color:inherit;transition:border-color .15s ease,background .15s ease}.list-item+.list-item{margin-top:12px}.list-item:hover{border-color:var(--accent);background:var(--panel2)}.counter{font-size:12px;color:var(--muted);text-align:right}.checkin-btn{width:100%;padding:28px;font-size:22px}.bignote{font-size:15px;color:var(--muted)}.divider{height:1px;background:var(--border);margin:20px 0}.spinner{color:var(--muted);padding:40px;text-align:center}.tabs{display:flex;gap:8px;margin:10px 0 20px;flex-wrap:wrap}.tabs a{padding:9px 14px;border-radius:999px;text-decoration:none;color:var(--muted);border:1px solid var(--border);transition:border-color .15s ease,color .15s ease}.tabs a:hover{border-color:var(--accent);color:var(--ink)}.tabs a.active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.countdown{font-size:48px;font-weight:800;text-align:center;color:var(--danger)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--border)}.pwwrap{position:relative}.pwtoggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--accent);font-size:13px;font-weight:600;padding:6px 8px}.pwtoggle:hover{border:none;color:var(--ink)}.topbar{position:relative}.tb-menu-btn{background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:8px 12px;font-size:16px;line-height:1}.tb-backdrop{position:fixed;inset:0;z-index:40}.tb-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:50;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:6px;min-width:200px;box-shadow:0 12px 30px #0006;display:flex;flex-direction:column;gap:2px}.tb-menu a,.tb-menu button{display:block;width:100%;text-align:left;background:none;border:none;color:var(--ink);padding:11px 12px;border-radius:8px;font:inherit;text-decoration:none;cursor:pointer}.tb-menu a:hover,.tb-menu button:hover{background:var(--panel2);border:none}.tb-menu .tb-sep{height:1px;background:var(--border);margin:4px 0}.tb-menu .tb-lang{padding:8px 12px}.checkin-hero{display:flex;align-items:center;gap:14px;width:100%;padding:18px;border-radius:16px;text-decoration:none;color:inherit;background:linear-gradient(135deg,#34d39929,#38bdf81a);border:1px solid rgba(52,211,153,.45)}.checkin-hero:hover{border-color:var(--ok)}.checkin-hero.is-status{cursor:default}.checkin-hero.is-status:hover{border-color:#34d39973}.checkin-hero .ch-ic{flex:0 0 auto;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:26px;font-weight:800;background:var(--ok);color:#04231a}.checkin-hero .ch-tx{min-width:0;display:flex;flex-direction:column;gap:3px}.checkin-hero .ch-tx b{font-size:18px;color:var(--ok)}.checkin-hero .ch-tx span{font-size:13px;color:var(--muted)}.checkin-hero .ch-go{margin-left:auto;flex:0 0 auto;color:var(--muted);font-size:22px}.msg-head{display:flex;align-items:center;gap:8px;justify-content:space-between}.msg-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-head .pill{flex:0 0 auto}@media(max-width:480px){.wrap{padding:18px 14px 40px}.card{padding:20px 16px}.checkin-hero{padding:16px;gap:12px}.checkin-hero .ch-ic{width:46px;height:46px;font-size:23px}}.langseg{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--panel2);flex:0 0 auto}.langseg-btn{background:transparent;border:none;color:var(--muted);font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:0;line-height:1.2;white-space:nowrap}.langseg-btn+.langseg-btn{border-left:1px solid var(--border)}.langseg-btn:hover{border:none;color:var(--ink);border-left:1px solid var(--border)}.langseg-btn:first-child:hover{border-left:none}.langseg-btn.active{background:var(--accent);color:var(--accent-ink)}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#020617b3;display:grid;place-items:center;padding:16px}.modal{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:22px;width:min(380px,94vw);text-align:center}.modal h2{margin:0 0 6px}.qr-box{background:#fff;border-radius:14px;padding:14px;display:inline-block;margin:14px 0}.qr-box svg{display:block;width:200px;height:200px}.modal .link{word-break:break-all;font-size:13px;color:var(--muted);margin-bottom:14px}.brand{display:flex;flex-direction:column;align-items:center;gap:10px}.brand h1{margin:0;letter-spacing:.5px}.about-hero{text-align:center;padding:8px 0 4px}.about h2{margin-top:4px}.about .lead{font-size:16px;color:var(--ink)}.about section{margin-top:4px}.about ol,.about ul{padding-left:20px}.about li{margin:6px 0}.about .step{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--border)}.about .step:last-child{border-bottom:none}.about .step .n{flex:0 0 28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:14px}.about .kicker{color:var(--accent);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.about .tg{display:inline-flex;align-items:center;gap:8px}.step-num{flex:0 0 26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:13px}
