:root{--bg: #080a0d;--bg2: #0e1116;--panel: rgba(20, 23, 30, .72);--line: #23262f;--ink: #b9bcc6;--ivory: #e8e1d2;--muted: #7c828f;--accent: #b89a62;--accent2: #d8bd82;--crimson: #a23a3a;--ok: #43b979;--radius: 16px;--serif: "Alegreya", "Iowan Old Style", Palatino, Georgia, serif;--sans: "Manrope", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);color:var(--ink);background:radial-gradient(120% 80% at 50% -10%,#161a2b 0%,var(--bg) 55%) fixed;-webkit-font-smoothing:antialiased}.app{min-height:100%}.center{min-height:100vh;display:grid;place-items:center}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}h2{font-size:1rem;letter-spacing:.01em;color:var(--ivory);margin:0 0 1rem}.muted{color:var(--muted)}.small{font-size:.82rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.brand{font-family:var(--serif);font-size:1.7rem;font-weight:600;letter-spacing:.06em;color:var(--ivory);display:flex;align-items:baseline;gap:.5rem}.brand.small{font-size:1.2rem}.brand-v{color:var(--crimson);font-style:italic}.brand-sub{font-size:.7rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.btn{min-height:44px;padding:.6rem 1.2rem;border-radius:12px;border:1px solid transparent;font:inherit;font-weight:700;cursor:pointer;transition:transform .12s,filter .12s,border-color .12s}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:default;transform:none}.btn-primary{background:linear-gradient(180deg,var(--accent2),var(--accent));color:var(--bg);box-shadow:0 12px 30px -14px #b89a62cc}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--muted);color:var(--ivory)}.link{background:none;border:0;color:var(--crimson);cursor:pointer;font:inherit;padding:0}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%)}.auth{min-height:100vh;display:grid;place-items:center;padding:1.2rem;position:relative;overflow:hidden}.auth-aurora{position:absolute;inset:-20% -10% auto;height:60vh;z-index:0;background:radial-gradient(50% 60% at 30% 20%,rgba(184,154,98,.22),transparent 60%),radial-gradient(45% 55% at 75% 10%,rgba(125,41,41,.2),transparent 60%);filter:blur(30px);pointer-events:none}.auth-card{position:relative;z-index:1;width:100%;max-width:400px;display:flex;flex-direction:column;gap:1rem}.auth-card .brand{flex-direction:column;align-items:center;text-align:center;gap:.2rem;margin-bottom:.4rem}.tabs{display:flex;gap:.3rem;background:#00000040;border:1px solid var(--line);border-radius:12px;padding:.25rem}.tabs button{flex:1;min-height:40px;border:0;background:transparent;color:var(--muted);font:inherit;font-weight:700;border-radius:9px;cursor:pointer}.tabs button.on{background:#ffffff0f;color:var(--ivory)}.field{display:flex;flex-direction:column;gap:.35rem}.field span{font-size:.8rem;color:var(--muted)}.field em{font-style:normal;opacity:.7}.field input{min-height:46px;padding:0 .9rem;border-radius:12px;border:1px solid var(--line);background:#00000047;color:var(--ivory);font:inherit;outline:none;transition:border-color .12s,box-shadow .12s}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b89a6229}.error{background:#e0687e1f;border:1px solid rgba(224,104,126,.4);color:var(--crimson);padding:.6rem .8rem;border-radius:10px;font-size:.88rem}.dash{max-width:1080px;margin:0 auto;padding:1.2rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.4rem 0 1.4rem}.topbar-right{display:flex;align-items:center;gap:.8rem}.chip{font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid rgba(168,85,247,.4);background:#a855f71a;padding:.2rem .55rem;border-radius:999px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.span2{grid-column:1 / -1}.rows{display:flex;flex-direction:column;gap:.1rem}.row{display:flex;align-items:center;justify-content:space-between;padding:.7rem 0;border-top:1px solid var(--line)}.row:first-child{border-top:0}.row span{color:var(--muted)}.row b{color:var(--ivory);font-weight:700}.row em{color:var(--muted);font-style:normal;font-weight:500;font-size:.85em}.soon{display:flex;gap:1rem;align-items:flex-start}.soon-badge{font-size:.68rem;font-weight:800;letter-spacing:.1em;color:var(--crimson);border:1px solid rgba(224,104,126,.45);background:#e0687e1a;padding:.25rem .55rem;border-radius:8px;flex:none}.soon-list{margin:0;padding-left:1.1rem;display:grid;gap:.5rem}.soon-list li{color:var(--ink)}.soon-list b{color:var(--ivory)}.settings{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}.set-block h3{font-family:var(--serif);font-size:1.05rem;color:var(--ivory);margin:0 0 .3rem}.copyrow{display:flex;gap:.5rem;margin-top:.6rem}.copyrow input{flex:1;min-height:44px;padding:0 .8rem;border-radius:10px;border:1px solid var(--line);background:#00000047;color:var(--ivory);font:inherit;font-size:.85rem}.pwform{display:flex;flex-direction:column;gap:.6rem;margin-top:.6rem}.pwform input{min-height:44px;padding:0 .9rem;border-radius:10px;border:1px solid var(--line);background:#00000047;color:var(--ivory);font:inherit;outline:none}.pwform input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b89a6229}.pwform .btn{align-self:flex-start}.set-block .link{margin-top:.7rem;display:inline-block}.ok-note{margin-top:1rem;background:#43b9791a;border:1px solid rgba(67,185,121,.4);color:var(--ok);padding:.6rem .8rem;border-radius:10px;font-size:.88rem}.admin-search{min-height:40px;padding:0 .8rem;border-radius:10px;border:1px solid var(--line);background:#00000047;color:var(--ivory);font:inherit;min-width:220px}.tablewrap{overflow-x:auto;margin-top:1rem}.atable{width:100%;border-collapse:collapse;font-size:.9rem}.atable th{text-align:left;padding:.6rem .7rem;color:var(--muted);font-weight:600;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line)}.atable td{padding:.7rem;border-bottom:1px solid var(--line);color:var(--ink)}.atable tbody tr{cursor:pointer;transition:background .12s}.atable tbody tr:hover{background:#ffffff05}.atable tbody tr.sel{background:#b89a6214}.atable b{color:var(--ivory)}.st-ok{color:var(--ok)}.st-bad{color:var(--crimson)}.admin-actions{margin:1rem 0;display:flex;gap:.6rem}.btn.danger{border-color:#a23a3a80;color:var(--crimson)}.btn.danger:hover{border-color:var(--crimson);color:#fff;background:#a23a3a1f}.balform{border-top:1px solid var(--line);padding-top:1rem}@media (max-width: 720px){.grid,.settings{grid-template-columns:1fr}}.or-sep{display:flex;align-items:center;gap:.75rem;margin:.9rem 0 .2rem;color:var(--muted);font-size:.82rem}.or-sep:before,.or-sep:after{content:"";flex:1;height:1px;background:var(--line)}.btn-tg{width:100%;background:#2aabee;border:1px solid #2AABEE;color:#fff;font-weight:600}.btn-tg:hover:not(:disabled){background:#1e96d4;border-color:#1e96d4}.btn-tg:disabled{opacity:.6}.card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.card-head h2{margin:0}.btn.on{border-color:var(--accent);color:var(--ivory)}.tk-status{font-size:.74rem;padding:.18rem .5rem;border-radius:999px;border:1px solid var(--line);white-space:nowrap}.tk-open{color:var(--accent2);border-color:#b89a6280}.tk-answered{color:var(--ok);border-color:#43b97973}.tk-closed{color:var(--muted)}.tk-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.5rem}.tk-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s}.tk-row:hover{border-color:var(--accent);background:#b89a620d}.tk-row-main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.tk-row-main b{color:var(--ivory);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-create{display:grid;gap:.6rem;margin-top:1rem}.tk-create input,.tk-reply textarea,.tk-create textarea{width:100%;background:var(--bg2);border:1px solid var(--line);border-radius:10px;color:var(--ivory);padding:.6rem .7rem;font:inherit;resize:vertical}.tk-create input:focus,textarea:focus{outline:none;border-color:var(--accent)}.tk-thread{margin-top:.6rem}.tk-thread-head{display:flex;align-items:center;justify-content:space-between}.tk-subj{margin:.4rem 0 1rem;color:var(--ivory)}.tk-messages{display:grid;gap:.6rem;max-height:420px;overflow-y:auto;padding-right:.3rem}.tk-msg{border:1px solid var(--line);border-radius:12px;padding:.6rem .8rem}.tk-msg-user{background:#14171e80}.tk-msg-staff{background:#b89a6212;border-color:#b89a6259}.tk-msg-meta{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.3rem}.tk-msg-meta b{color:var(--accent2);font-size:.85rem}.tk-msg-body{white-space:pre-wrap;word-break:break-word;color:var(--ink)}.tk-reply{margin-top:.9rem;display:grid;gap:.5rem}.tk-reply-actions{display:flex;gap:.6rem;flex-wrap:wrap}.tk-filters{display:flex;gap:.4rem;flex-wrap:wrap}.chip-btn{background:transparent;border:1px solid var(--line);color:var(--muted);padding:.3rem .7rem;border-radius:999px;cursor:pointer;font:inherit;font-size:.82rem}.chip-btn:hover{border-color:var(--accent);color:var(--ink)}.chip-btn.on{border-color:var(--accent);color:var(--ivory);background:#b89a6214}.news-feed{display:grid;gap:.8rem}.news-item{border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem}.news-item.pinned{border-color:#b89a6266;background:#b89a620d}.news-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.news-head h3{margin:0;font-family:var(--serif);font-size:1.1rem;color:var(--ivory)}.news-head .pin{margin-right:.35rem}.news-body{margin-top:.4rem;color:var(--ink);white-space:pre-wrap;word-break:break-word;line-height:1.5}.news-flags{display:flex;gap:1.4rem}.news-flags label{display:flex;align-items:center;gap:.4rem;color:var(--ink);font-size:.9rem;cursor:pointer}.news-flags input{width:16px;height:16px;accent-color:var(--accent)}
