:root{--bg:#080c14;--surface:#0e1420;--surface-light:#1a2030;--text:#fff;--text-muted:#8a9aaa;--text-dim:#6b7a8d;--text-faint:#4a5568;--cyan:#4dd0e1;--red:#ff6b6b;--purple:#c8a2ff;--green:#66bb6a;--gold:gold;--border:#1a2030}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{flex-direction:column;min-height:100vh;display:flex}.main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:24px 16px}.header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.header-left{align-items:center;gap:16px;display:flex}.header-logo{border-radius:8px;width:36px;height:36px}.header-title{letter-spacing:.5px;font-size:18px;font-weight:800}.header-nav{gap:4px;display:flex}.nav-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .15s}.nav-btn:hover{color:var(--text-muted);background:var(--surface-light)}.nav-btn.active{color:var(--cyan);background:#4dd0e114}.header-right{align-items:center;gap:12px;display:flex}.user-name{color:var(--text-muted);font-size:13px}.auth-btn{background:var(--cyan);color:var(--bg);cursor:pointer;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:700}.auth-btn.secondary{background:var(--surface-light);color:var(--text-dim)}.card{background:var(--surface);border:1px solid #0000;border-radius:12px;padding:16px;transition:border-color .15s}.card:hover{border-color:var(--border)}.card-header{justify-content:space-between;align-items:baseline;display:flex}.card-title{font-size:16px;font-weight:700}.card-meta{color:var(--text-dim);font-size:12px}.card-desc{color:var(--text-faint);margin-top:6px;font-size:13px;line-height:1.5}.chip{border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.chip.cyan{color:var(--cyan);background:#4dd0e114}.chip.green{color:var(--green);background:#66bb6a14}.chip.purple{color:var(--purple);background:#c8a2ff14}.chip.red{color:var(--red);background:#ff6b6b14}.chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.search-input{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;outline:none;padding:10px 14px;font-size:14px}.search-input:focus{border-color:var(--cyan)}.search-input::placeholder{color:var(--text-faint)}.section-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;font-size:11px;font-weight:700}.section{margin-bottom:32px}.center{flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--cyan);border-radius:50%;width:32px;height:32px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-text{color:var(--text-dim);font-size:14px}.info-card{background:var(--surface);border-radius:10px;padding:14px}.info-row{justify-content:space-between;padding:4px 0;display:flex}.info-label{color:var(--text-dim);font-size:12px;font-weight:600}.info-value{color:var(--text-muted);text-align:right;word-break:break-all;font-size:12px}.btn{cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:opacity .15s}.btn:hover{opacity:.85}.btn-primary{background:var(--cyan);color:var(--bg)}.btn-danger{color:var(--red);background:#ff6b6b1f}.btn-ghost{background:var(--surface-light);color:var(--text-dim)}.btn-sm{padding:5px 12px;font-size:12px}.back-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;margin-bottom:16px;padding:4px 0;font-size:13px;font-weight:600}.back-btn:hover{color:var(--text-muted)}.hero{text-align:center;padding:32px 0 24px}.hero-logo{border-radius:18px;width:80px;height:80px;margin-bottom:12px}.hero-title{letter-spacing:4px;font-size:28px;font-weight:900}.hero-rule{background:var(--cyan);opacity:.5;border-radius:1px;width:40px;height:2px;margin:10px auto}.hero-sub{color:var(--text-faint);letter-spacing:3px;text-transform:uppercase;font-size:11px;font-weight:600}.hero-desc{color:var(--text-faint);max-width:480px;margin:16px auto 32px;font-size:13px;line-height:1.6}.mode-cards{flex-direction:column;gap:14px;max-width:560px;margin:0 auto;display:flex}.mode-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:16px;transition:border-color .15s;overflow:hidden}.mode-card:hover{border-color:var(--text-faint)}.mode-card-glow{opacity:.6;height:3px}.mode-card-inner{align-items:center;gap:16px;padding:18px;display:flex}.mode-card-text{flex:1}.mode-card-title{letter-spacing:1px;font-size:22px;font-weight:900}.mode-card-sub{color:var(--text-faint);margin-top:4px;font-size:12px}.mode-card-arrow{color:var(--text-faint);font-size:22px;font-weight:300}.sub-modes{flex-direction:column;gap:4px;margin-left:20px;display:flex}.sub-mode{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s;display:flex}.sub-mode:hover{border-color:var(--text-faint)}.sub-mode-icon{border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;font-weight:700;display:flex}.sub-mode-text{flex:1}.sub-mode-name{font-size:14px;font-weight:700}.sub-mode-desc{color:var(--text-faint);margin-top:2px;font-size:11px}.apk-link{color:var(--text-faint);background:var(--surface-light);border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:color .15s}.apk-link:hover{color:var(--text-muted)}.download-banner{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-top:40px;padding:20px}.download-banner a{color:var(--green);font-size:15px;font-weight:700;text-decoration:none}.download-banner p{color:var(--text-faint);margin-top:6px;font-size:12px}.form-group{margin-bottom:16px}.form-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.form-input{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;outline:none;padding:10px 12px;font-size:14px}.form-input:focus{border-color:var(--cyan)}.form-input::placeholder{color:var(--text-faint)}.form-textarea{resize:vertical;min-height:60px;font-family:inherit}.form-row{gap:10px;display:flex}.form-row .form-input{flex:1}.form-hint{color:var(--text-faint);margin-top:4px;font-size:11px}.chip-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.chip-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .15s}.chip-btn:hover{border-color:var(--text-faint)}.chip-btn.active{border-color:var(--red);color:var(--red);background:#ff6b6b14}.chip-btn.active-cyan{border-color:var(--cyan);color:var(--cyan);background:#4dd0e114}.toggle-row{justify-content:space-between;align-items:center;padding:8px 0;display:flex}.toggle-label{color:var(--text-dim);font-size:13px}.toggle{background:var(--surface-light);cursor:pointer;border:none;border-radius:12px;width:44px;height:24px;transition:background .2s;position:relative}.toggle.on{background:var(--cyan)}.toggle:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle.on:after{transform:translate(20px)}.wp-list{flex-direction:column;gap:10px;display:flex}.wp-card{background:var(--surface);border-left:3px solid var(--purple);border-radius:10px;padding:14px}.wp-card-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.wp-number{width:28px;height:28px;color:var(--purple);background:#c8a2ff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.wp-name-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:14px;font-weight:600}.wp-coords{color:var(--text-faint);font-variant-numeric:tabular-nums;margin-top:2px;font-size:11px}.wp-actions{gap:6px;display:flex}.wp-action-btn{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:4px;font-size:15px}.wp-action-btn:hover{color:var(--text-muted)}.wp-action-btn.danger:hover{color:var(--red)}.wp-field{margin-bottom:8px}.wp-field-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:10px;font-weight:600}.wp-field-input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text-muted);border-radius:6px;outline:none;padding:8px 10px;font-size:13px}.wp-field-input:focus{border-color:var(--purple)}.wp-field-input::placeholder{color:var(--text-faint)}.radius-btns{gap:4px;display:flex}.radius-btn{background:var(--bg);border:1px solid var(--border);color:var(--text-faint);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.radius-btn.active{border-color:var(--purple);color:var(--purple);background:#c8a2ff1a}.branch-hint{color:var(--purple);opacity:.5;margin-top:4px;font-size:10px;font-style:italic}.trail-map{text-align:center;margin-bottom:16px}.trail-map-label{color:var(--text-faint);margin-top:6px;font-size:11px}.territory-map{justify-content:center;padding:8px 0;display:flex}.leaderboard{margin-bottom:12px}.lb-row{align-items:center;gap:8px;padding:3px 0;display:flex}.lb-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.lb-name{color:var(--text-muted);flex:1;font-size:12px}.lb-name.self{color:var(--text);font-weight:700}.lb-score{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.lobby-bar{justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 0;display:flex}.lobby-code{color:var(--red);opacity:.5;font-size:11px;font-weight:600}.detail-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-top:12px;padding:16px}.detail-title{font-size:16px;font-weight:700}.detail-info{color:var(--text-dim);margin-top:4px;font-size:13px}.about-content{max-width:640px;margin:0 auto}.about-content h2{margin-bottom:16px;font-size:20px;font-weight:800}.about-content h3{color:var(--gold);text-transform:uppercase;letter-spacing:1px;margin:20px 0 10px;font-size:14px;font-weight:700}.about-content p{color:var(--text-muted);margin-bottom:12px;font-size:15px;line-height:1.6}.about-divider{color:var(--text-faint);text-align:center;letter-spacing:8px;margin:24px 0}.about-footer{color:var(--text);text-align:center;margin-top:20px;font-size:15px;font-style:italic;font-weight:600}.quest-map{margin-bottom:16px}.quest-status{background:var(--surface);border-radius:10px;margin-bottom:12px;padding:14px}.quest-wp-name{font-size:16px;font-weight:700}.quest-clue{color:var(--text-muted);margin-top:6px;font-size:14px;line-height:1.5}.quest-progress{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.quest-dot{background:var(--surface-light);border:1px solid var(--border);border-radius:50%;width:12px;height:12px}.quest-dot.done{background:var(--green);border-color:var(--green)}.quest-dot.current{background:var(--cyan);border-color:var(--cyan)}.unlock-banner{border:1px solid var(--green);color:var(--green);background:#2ecc7114;border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:14px;font-weight:600}.branch-picker{background:var(--surface);border:1px solid var(--purple);border-radius:12px;margin-bottom:12px;padding:16px}.branch-picker-title{color:var(--purple);text-transform:uppercase;letter-spacing:1px;text-align:center;margin-bottom:12px;font-size:12px;font-weight:700}.branch-option{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:8px;margin-bottom:6px;padding:12px}.branch-option:hover{border-color:var(--purple)}.branch-option-name{font-weight:600}.branch-option-hint{color:var(--text-dim);margin-top:4px;font-size:12px}@media (width<=600px){.header{flex-direction:column;gap:8px;padding:10px 16px}.header-left{width:100%}.header-right{justify-content:flex-end;width:100%}.main{padding:16px 12px}.grid{grid-template-columns:1fr}}
