:root{--bg: #14161c;--panel: #1c1f27;--panel2: #232733;--border: #2e3342;--text: #e8eaf0;--muted: #9aa1b3;--accent: #3b82f6;--accent2: #2563eb;--green: #22c55e;--red: #ef4444;--yellow: #eab308}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,sans-serif;font-size:15px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1200px;margin:0 auto;padding:0 20px}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1 0 auto;width:100%}.bot-claim-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px;padding:12px 16px;border:1px solid var(--accent);border-radius:10px;background:#3b82f61f}.bot-claim-banner span{flex:1;min-width:220px}.bot-claim-banner .btn{white-space:nowrap}.scroll-top{position:fixed;right:24px;bottom:24px;z-index:60;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--accent);color:#fff;font-size:22px;line-height:1;cursor:pointer;box-shadow:0 4px 14px #00000059;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .15s}.scroll-top:hover{background:var(--accent2);transform:translateY(-2px)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:24px}.lightbox-body{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:96vw;max-height:92vh}.lightbox-body img{max-width:96vw;max-height:82vh;object-fit:contain;border-radius:6px;box-shadow:0 8px 40px #0009;image-rendering:pixelated}.lightbox-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}.lightbox-close{position:fixed;top:16px;right:20px;z-index:201;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:20px;line-height:1;cursor:pointer}.lightbox-close:hover{background:var(--panel2)}.topbar{background:var(--panel);border-bottom:1px solid var(--border);padding:12px 0;margin-bottom:24px}.topbar .container{display:flex;align-items:center;gap:20px}.topbar .logo{font-weight:700;font-size:18px;color:var(--text)}.topbar .logo span{color:var(--accent)}.beta-badge{margin-left:-12px;padding:2px 8px;font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--accent);border:1px solid var(--accent);border-radius:999px;background:#3b82f61f;cursor:default;white-space:nowrap}.topbar .spacer{flex:1}.balance{color:var(--muted);font-size:14px}.site-footer{background:var(--panel);border-top:1px solid var(--border);padding:14px 0;margin-top:40px}.site-footer .container{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.site-footer .spacer{flex:1}.site-footer .copyright{color:var(--muted);font-size:13px}.btn{display:inline-block;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:14px;cursor:pointer;transition:background .15s}.btn:hover{background:var(--accent2);text-decoration:none}.btn.secondary{background:var(--panel2);border:1px solid var(--border);color:var(--text)}.btn.secondary:hover{background:var(--border)}.btn.danger{background:var(--red)}.btn.small{padding:5px 10px;font-size:13px}.btn.ghost{background:transparent;border:1px solid transparent;color:var(--muted)}.btn.ghost:hover{border-color:var(--border);color:var(--text)}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px}.grid{display:grid;gap:16px}.grid.fw{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.grid.gallery{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.fw-card{cursor:pointer;transition:border-color .15s}.fw-card:hover{border-color:var(--accent)}.fw-card h3{margin:0 0 6px;font-size:16px}.fw-card .meta{color:var(--muted);font-size:13px}.badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:12px;background:var(--panel2);color:var(--muted);border:1px solid var(--border)}.badge.green{color:var(--green);border-color:var(--green)}.badge.blue{color:var(--accent);border-color:var(--accent)}.badge.red{color:var(--red);border-color:var(--red)}.badge.yellow{color:var(--yellow);border-color:var(--yellow)}.tile{background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.tile.replaced{border-color:var(--green)}.tile .imgbox{height:130px;background:#181a20;display:flex;align-items:center;justify-content:center;cursor:pointer}.tile .imgbox img{max-width:100%;max-height:100%;object-fit:contain}.tile .info{padding:8px 10px;font-size:12px;color:var(--muted);word-break:break-all}.tile .actions{padding:0 10px 10px;display:flex;gap:6px;flex-wrap:wrap}.tile.dimmed{opacity:.45}.hidebar{display:flex;align-items:center;gap:10px;margin:0 0 12px}.gallery-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px}.gallery-toolbar .g-search{flex:1 1 220px;min-width:180px;padding:8px 12px;background:var(--panel);border:1px solid var(--border);border-radius:8px;color:inherit;font-size:14px}.gallery-toolbar .g-search:focus{outline:none;border-color:var(--accent)}.gallery-toolbar .g-sort{padding:8px 12px;background:var(--panel);border:1px solid var(--border);border-radius:8px;color:inherit;font-size:14px;cursor:pointer}.gallery-toolbar .g-count{margin-left:auto;font-size:13px;white-space:nowrap}@media (max-width: 768px){.gallery-toolbar .g-count{margin-left:0;width:100%}}h1{font-size:24px;margin:0 0 16px}h2{font-size:19px;margin:0 0 12px}.muted{color:var(--muted)}.error{color:var(--red)}.success{color:var(--green)}input,select,textarea{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:9px 12px;font-size:14px;width:100%}input:focus,select:focus{outline:none;border-color:var(--accent)}label{display:block;margin:12px 0 4px;font-size:13px;color:var(--muted)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600;font-size:13px}tr:hover td{background:var(--panel2)}.genbar{position:sticky;bottom:0;background:var(--panel);border-top:1px solid var(--border);padding:14px 0;margin-top:24px}.genbar .container{display:flex;align-items:center;gap:16px}.admin-layout{display:flex;min-height:100vh}.admin-side{width:220px;background:var(--panel);border-right:1px solid var(--border);padding:20px 0;flex-shrink:0}.admin-side .logo{padding:0 20px 20px;font-weight:700}.admin-side a{display:block;padding:10px 20px;color:var(--muted)}.admin-side a.active,.admin-side a:hover{color:var(--text);background:var(--panel2);text-decoration:none}.admin-main{flex:1;padding:24px;overflow-x:auto;min-width:0}.admin-mobile-bar{display:none}.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:8px;background:var(--panel2);border:1px solid var(--border);border-radius:8px;cursor:pointer}.hamburger span{display:block;height:2px;background:var(--text);border-radius:2px}.admin-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:55}.stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:20px}.stat-cards .card{padding:14px}.stat-cards .num{font-size:26px;font-weight:700}.stat-cards .lbl{color:var(--muted);font-size:13px}.price-table{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:50}.modal{max-width:800px;width:92%;max-height:88vh;overflow:auto}.modal img{max-width:100%}.progress{height:8px;border-radius:6px;background:var(--panel2);overflow:hidden}.progress>div{height:100%;background:var(--accent);width:40%;animation:slide 1.2s linear infinite}@keyframes slide{0%{margin-left:-40%}to{margin-left:100%}}.maintenance{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.maintenance-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:40px 36px;max-width:440px;text-align:center}.maintenance-card h1{margin:18px 0 10px;font-size:24px}.maintenance-card p{margin:0 0 22px;line-height:1.5}.fw-file{margin-top:28px}.fw-file-title{margin:0}.fw-file-header{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px 10px;margin-bottom:10px;border:1px solid var(--border);border-radius:8px;background:var(--panel);-webkit-user-select:none;user-select:none;transition:border-color .15s}.fw-file-header:hover{border-color:var(--accent)}.fw-collapse-icon{font-size:14px;color:var(--muted);width:14px}.fw-file-count{margin-left:auto;font-size:13px;white-space:nowrap}.locked{opacity:.35;pointer-events:none;-webkit-user-select:none;user-select:none}.locked-banner{background:#e9b3411f;border:1px solid rgba(233,179,65,.5);color:#e9b341;border-radius:8px;padding:10px 14px;margin-bottom:14px;font-size:14px}.promo-banner{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap;background:#5aa9ff14;border:1px solid rgba(90,169,255,.35);border-radius:10px;padding:12px 16px;margin:16px 0;font-size:14px}.update-note{background:#22c55e14;border:1px solid rgba(34,197,94,.35);border-radius:10px;padding:12px 16px;margin:16px 0 20px;font-size:14px;line-height:1.5}.shop-cover{height:140px;margin:-20px -20px 12px;background:#181a20;border-radius:12px 12px 0 0;overflow:hidden;display:flex;align-items:center;justify-content:center}.shop-cover img{max-width:100%;max-height:100%;object-fit:contain}.shop-desc{white-space:pre-wrap;line-height:1.55;margin:0 0 20px}.urg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.urg-card{text-align:left;cursor:pointer;padding:14px 16px;background:var(--panel2);border:1px solid var(--border);border-radius:10px;color:var(--text)}.urg-card:hover{border-color:var(--accent)}.urg-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.urg-label{font-weight:600;margin-bottom:2px}.urg-cost{color:var(--accent);font-weight:600;font-size:14px;margin-bottom:6px}.urg-desc{font-size:13px}.slot-warn{background:#eab3081a;border:1px solid var(--yellow);color:var(--yellow);border-radius:8px;padding:10px 12px;font-size:13px;margin-bottom:14px}.slot-day{font-weight:600;margin-bottom:6px;text-transform:capitalize}.slot-row{display:flex;flex-wrap:wrap;gap:8px}.slot-chip{cursor:pointer;padding:8px 14px;background:var(--panel2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px}.slot-chip:hover{border-color:var(--accent)}.slot-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.img-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000d9;display:flex;align-items:center;justify-content:center;cursor:zoom-out;padding:24px}.img-lightbox img{max-width:95vw;max-height:95vh;border-radius:6px;box-shadow:0 10px 40px #00000080}.img-lightbox-close{position:fixed;top:16px;right:20px;font-size:32px;line-height:1;background:none;border:none;color:#fff;cursor:pointer}@media (max-width: 768px){body{font-size:14px}.admin-layout{flex-direction:column}.admin-mobile-bar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:45;background:var(--panel);border-bottom:1px solid var(--border);padding:10px 14px}.admin-mobile-bar .logo{font-weight:700;font-size:18px}.admin-side{position:fixed;top:0;left:0;bottom:0;width:260px;max-width:82vw;transform:translate(-100%);transition:transform .25s ease;z-index:60;overflow-y:auto;box-shadow:4px 0 24px #0006}.admin-side.open{transform:translate(0)}.admin-main{padding:16px 14px}h1{font-size:20px}h2{font-size:17px}.stat-cards{grid-template-columns:repeat(2,1fr)}.admin-main table,.admin-main thead,.admin-main tbody,.admin-main th,.admin-main td,.admin-main tr{display:block}.admin-main thead{display:none}.admin-main table{font-size:14px}.admin-main tbody tr{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;padding:4px 2px}.admin-main tbody tr:hover td{background:transparent}.admin-main tbody td{border-bottom:1px solid var(--border);padding:8px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:right;word-break:break-word}.admin-main tbody tr td:last-child{border-bottom:none}.admin-main tbody td:before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:600;text-align:left;flex:0 0 40%;white-space:nowrap}.admin-main tbody td:not([data-label]){justify-content:flex-end;flex-wrap:wrap}.admin-main tbody td:not([data-label]):before{content:none}}
