:root{--bg:#06110b;--bg2:#071a10;--card:#0a281959;--card2:#0a28198c;--stroke:#78ffbe1f;--text:#e7f6ee;--muted:#e7f6eeb3;--muted2:#e7f6ee73;--accent:#43c27a;--accent2:#2d9a5e;--danger:#d14c4c;--found-bg:#43c27a24;--found-border:#43c27a59}[data-theme=light]{--bg:#f0f5f2;--bg2:#e8efe9;--card:#fffc;--card2:#ffffffe6;--stroke:#2d9a5e33;--text:#1a2e22;--muted:#1a2e2299;--muted2:#1a2e2266;--accent:#2d9a5e;--accent2:#1f7a48;--danger:#c0392b;--found-bg:#2d9a5e1f;--found-border:#2d9a5e4d}*{box-sizing:border-box}html,body{height:100%}body{background:radial-gradient(1200px 600px at 50% -100px, var(--accent2) 0%, var(--bg) 55%) no-repeat, linear-gradient(180deg, var(--bg2), var(--bg));color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;transition:background .3s,color .3s}.app{flex-direction:column;min-height:100vh;display:flex}.content{flex:1;padding-bottom:86px}.page{max-width:520px;margin:0 auto;padding:16px}.page-title{margin:6px 0 14px;font-size:22px;font-weight:700}.top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.brand{letter-spacing:.04em;font-size:22px;font-weight:800}.hello{color:var(--muted2);margin-top:2px;font-size:13px}.row{align-items:center;gap:10px;display:flex}.top-right{flex-wrap:wrap;justify-content:flex-end}.card{background:var(--card);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:18px;padding:14px;transition:background .3s,border-color .3s}.attack-card{padding:16px}.letters{text-align:center;letter-spacing:.18em;min-height:48px;margin:10px 0 14px;font-size:32px;font-weight:800}.encrypted-word{display:inline}.letter-scramble{animation:.1s letterPulse}.letter-settled{color:var(--accent)}@keyframes letterPulse{0%,to{opacity:1}50%{opacity:.7}}.attack-meta{justify-content:space-between;margin-bottom:10px}.hint-text{color:var(--muted2);font-size:13px}.pill{border:1px solid var(--stroke);color:var(--text);white-space:nowrap;background:#ffffff0f;border-radius:999px;padding:8px 12px;font-size:13px}.muted{color:var(--muted)}.muted-inline{color:var(--muted2);margin-left:6px;font-size:12px}.muted-block{color:var(--muted2);margin:8px 0;font-size:12px}.input{border:1px solid var(--stroke);width:100%;color:var(--text);background:#00000026;border-radius:14px;outline:none;padding:14px;font-size:15px;transition:border-color .2s}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--muted2)}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;width:100%;padding:14px 16px;font-size:15px;font-weight:700;transition:all .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#052112}.btn-primary:hover{background:var(--accent2)}.btn-ghost{border-color:var(--stroke);color:var(--text);background:#ffffff0f}.btn-ghost:hover{background:#ffffff1a}.btn-danger{color:#ff8f8f;background:#d14c4c1f;border-color:#d14c4c59}.btn-danger:hover{background:#d14c4c33}.spacer{height:10px}.words-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:520px;margin:12px 0 14px;display:grid}.word-chip{border:1px solid var(--stroke);background:#ffffff0a;border-radius:14px;justify-content:space-between;align-items:center;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;transition:all .3s;display:flex}.word-chip.found{background:var(--found-bg);border-color:var(--found-border)}.word-mask{letter-spacing:.1em}.word-len{color:var(--muted2);margin-left:10px;font-size:12px}.new-attack{margin-top:4px}.toast{color:var(--text);text-align:center;background:#0000008c;border:1px solid #ffffff1f;border-radius:999px;max-width:92vw;padding:10px 12px;font-size:13px;animation:.3s toastIn;position:fixed;bottom:96px;left:50%;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.bottom-nav{padding:10px 10px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#040a07d9;border-top:1px solid #ffffff14;grid-template-columns:repeat(4,1fr);gap:6px;display:grid;position:fixed;bottom:0;left:0;right:0}.nav-item{color:#e7f6ee8c;text-align:center;border-radius:16px;padding:10px 8px;text-decoration:none;transition:all .2s}.nav-item.active{color:#052112;background:var(--accent)}.nav-icon{font-size:18px;line-height:1.1}.nav-label{margin-top:4px;font-size:11px}.grid-2{flex-wrap:wrap}.grid-2>.card{flex:calc(50% - 10px)}.stat .stat-label{color:var(--muted2);font-size:12px}.stat .stat-value{margin-top:4px;font-size:24px;font-weight:800}.rank-card{text-align:center;padding:20px}.rank-emoji{margin-bottom:8px;font-size:48px}.rank-name{margin-bottom:12px;font-size:20px;font-weight:800}.rank-progress{background:#ffffff1a;border-radius:999px;height:8px;position:relative;overflow:hidden}.rank-progress-bar{background:var(--accent);border-radius:999px;height:100%;transition:width .5s}.rank-progress-text{color:var(--muted2);margin-top:6px;font-size:11px}.section-title{color:var(--muted2);letter-spacing:.1em;text-transform:uppercase;margin:14px 4px 10px;font-size:12px}.badges{flex-wrap:wrap;gap:8px;display:flex}.badge{border:1px solid var(--stroke);color:var(--muted);background:#ffffff0a;border-radius:999px;padding:8px 10px;font-size:12px;transition:all .3s}.badge.locked{opacity:.5}.badge.unlocked{background:var(--found-bg);border-color:var(--found-border);color:var(--text);opacity:1}.profile-head{align-items:center}.avatar{background:#43c27a2e;border:1px solid #43c27a47;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;font-weight:800;display:flex}.profile-meta{flex:1}.profile-name{font-weight:800}.profile-id{color:var(--muted2);margin-top:2px;font-size:12px}.list{padding:0;overflow:hidden}.list-item{cursor:pointer;border-top:1px solid #ffffff12;gap:12px;padding:14px;transition:background .2s;display:flex}.list-item:first-child{border-top:none}.list-item:hover{background:#ffffff08}.li-icon{background:#ffffff0f;border:1px solid #ffffff14;border-radius:14px;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex}.li-title{font-weight:700}.li-sub{color:var(--muted2);margin-top:2px;font-size:12px}.ref-title{font-size:18px;font-weight:800}.ref-sub{color:var(--muted2);margin-top:3px;font-size:13px}.ref-bullets{color:var(--muted);gap:6px;margin:10px 0;font-size:12px;display:grid}.ref-code{background:var(--card2);justify-content:space-between;align-items:center;gap:10px;margin:10px 0;display:flex}.code{letter-spacing:.16em;margin:6px 0;font-size:26px;font-weight:900}.support-title{font-size:18px;font-weight:800}.support-tiers{gap:10px;margin:10px 0 14px;display:grid}.tier{border:1px solid var(--stroke);background:#ffffff0a;border-radius:16px;justify-content:space-between;align-items:center;padding:14px;display:flex}.theme-toggle{gap:8px}.theme-toggle .btn{flex:1}.lang-selector{flex-wrap:wrap;gap:8px}.lang-selector .btn{flex:1}.modal-backdrop{background:#0000008c;justify-content:center;align-items:flex-end;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background:#06110bf2;border:1px solid #ffffff1f;border-radius:18px;width:min(520px,100%);padding:14px;animation:.3s slideUp}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-title{font-weight:800}.modal-x{color:var(--text);cursor:pointer;background:0 0;border:1px solid #ffffff29;border-radius:12px;width:36px;height:36px}.modal-body{color:var(--muted);margin-top:10px;font-size:13px}.modal-h{color:var(--text);margin:10px 0 6px;font-weight:800}ol{margin:0 0 0 18px;padding:0}.achievement-popup{z-index:1000;width:min(400px,90vw);transition:transform .5s cubic-bezier(.175,.885,.32,1.275);position:fixed;top:0;left:50%;transform:translate(-50%)translateY(-100%)}.achievement-popup.visible{transform:translate(-50%)translateY(16px)}.achievement-popup-content{background:linear-gradient(135deg,#43c27ae6,#2d9a5ee6);border-radius:20px;align-items:center;gap:16px;padding:20px;display:flex;box-shadow:0 8px 32px #0006}.achievement-popup-emoji{font-size:48px}.achievement-popup-text{flex:1}.achievement-popup-title{text-transform:uppercase;letter-spacing:.1em;opacity:.8;font-size:12px}.achievement-popup-name{margin:4px 0;font-size:20px;font-weight:800}.achievement-popup-desc{opacity:.8;font-size:13px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}
