:root{--bg: #070912;--bg-2: #0e1220;--surface: rgba(255, 255, 255, .045);--surface-2: rgba(255, 255, 255, .075);--line: rgba(255, 255, 255, .09);--line-2: rgba(255, 255, 255, .14);--fg: #f2f4fa;--fg-2: #a8b0c6;--fg-3: #6d7691;--accent: #6c7cff;--accent-2: #22d3ee;--danger: #ff5c7a;--ok: #34d399;--warn: #fbbf24;--radius: 20px;--radius-sm: 14px;--shadow: 0 18px 50px -18px rgba(0, 0, 0, .85);--spring: cubic-bezier(.22, 1.2, .36, 1);--ease: cubic-bezier(.4, 0, .2, 1);--safe-b: env(safe-area-inset-bottom, 0px)}html[data-scheme=light]{--bg: #f4f6fc;--bg-2: #ffffff;--surface: rgba(255, 255, 255, .9);--surface-2: rgba(255, 255, 255, 1);--line: rgba(12, 18, 40, .08);--line-2: rgba(12, 18, 40, .14);--fg: #101528;--fg-2: #4a5470;--fg-3: #858fa8;--shadow: 0 16px 40px -20px rgba(20, 30, 70, .35)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--fg);font:15px/1.55 -apple-system,BlinkMacSystemFont,SF Pro SC,PingFang SC,HarmonyOS Sans SC,Microsoft YaHei,system-ui,sans-serif;overscroll-behavior:none;-webkit-font-smoothing:antialiased}body,#root{min-height:100dvh}::selection{background:color-mix(in srgb,var(--accent) 40%,transparent)}.aurora{position:fixed;inset:-20% -20% auto;height:70vh;pointer-events:none;z-index:0;filter:blur(70px);opacity:.55}.aurora i{position:absolute;display:block;border-radius:50%;mix-blend-mode:screen;animation:float 18s var(--ease) infinite alternate}html[data-scheme=light] .aurora{opacity:.35;filter:blur(80px)}.aurora i:nth-child(1){width:52vw;height:52vw;left:-8vw;top:0;background:color-mix(in srgb,var(--accent) 70%,transparent)}.aurora i:nth-child(2){width:44vw;height:44vw;right:-6vw;top:6vh;background:color-mix(in srgb,var(--accent-2) 55%,transparent);animation-delay:-6s;animation-duration:22s}.aurora i:nth-child(3){width:36vw;height:36vw;left:30vw;top:22vh;background:color-mix(in srgb,#a855f7 45%,transparent);animation-delay:-11s;animation-duration:26s}@keyframes float{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(4vw,5vh,0) scale(1.12)}to{transform:translate3d(-3vw,3vh,0) scale(.95)}}.app{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100dvh}.main{flex:1;padding:0 0 calc(86px + var(--safe-b))}.page{animation:pageIn .42s var(--spring) both;padding:0 16px}@keyframes pageIn{0%{opacity:0;transform:translateY(10px) scale(.995)}to{opacity:1;transform:none}}.hero{padding:calc(22px + env(safe-area-inset-top,0px)) 18px 14px;position:relative}.hero-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);margin-bottom:6px;animation:fadeUp .5s var(--spring) both}.hero-title{margin:0;font-size:30px;line-height:1.15;font-weight:800;letter-spacing:-.02em;background:linear-gradient(100deg,var(--fg) 12%,color-mix(in srgb,var(--accent) 85%,#fff) 48%,var(--fg) 88%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:fadeUp .55s var(--spring) .04s both,shimmer 7s linear infinite 1s}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-20% 0}}.hero-sub{margin:8px 0 0;color:var(--fg-2);font-size:14px;animation:fadeUp .55s var(--spring) .1s both}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.notice{margin:12px 0 0;padding:12px 14px;border-radius:var(--radius-sm);font-size:13.5px;line-height:1.5;color:var(--fg);background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--accent-2) 14%,transparent));border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);display:flex;gap:10px;animation:fadeUp .6s var(--spring) .16s both}.notice b{color:color-mix(in srgb,var(--accent-2) 70%,#fff)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 4px}.stat{padding:12px 10px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);text-align:center;backdrop-filter:blur(12px);animation:fadeUp .6s var(--spring) both}.stat b{display:block;font-size:21px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,var(--fg),color-mix(in srgb,var(--accent) 60%,var(--fg)));-webkit-background-clip:text;background-clip:text;color:transparent}.stat span{font-size:11.5px;color:var(--fg-3)}.search{position:relative;margin:16px 0 10px;animation:fadeUp .6s var(--spring) .2s both}.search input{width:100%;padding:13px 14px 13px 42px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;outline:none;backdrop-filter:blur(12px);transition:border-color .2s var(--ease),box-shadow .25s var(--ease)}.search input:focus{border-color:color-mix(in srgb,var(--accent) 60%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}.search .ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--fg-3);font-size:15px}.chips{display:flex;gap:8px;overflow-x:auto;padding:6px 16px 10px;scrollbar-width:none;scroll-snap-type:x mandatory}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;padding:8px 14px;border-radius:999px;font-size:13px;color:var(--fg-2);background:var(--surface);border:1px solid var(--line);cursor:pointer;scroll-snap-align:start;transition:transform .18s var(--spring),background .25s var(--ease),color .2s var(--ease),border-color .2s var(--ease);user-select:none}.chip:active{transform:scale(.94)}.chip.on{color:#fff;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent-2) 70%,var(--accent)));border-color:transparent;box-shadow:0 8px 22px -8px color-mix(in srgb,var(--accent) 90%,transparent)}.card{position:relative;display:block;padding:15px 16px;margin-bottom:10px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);color:inherit;text-decoration:none;backdrop-filter:blur(14px);overflow:hidden;transition:transform .22s var(--spring),border-color .25s var(--ease),background .25s var(--ease);animation:cardIn .5s var(--spring) both}.card:after{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%),color-mix(in srgb,var(--accent) 16%,transparent),transparent 65%);opacity:0;transition:opacity .3s var(--ease);pointer-events:none}.card:active{transform:scale(.978);border-color:var(--line-2)}.card:active:after{opacity:1}@keyframes cardIn{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}.card-top{display:flex;align-items:flex-start;gap:12px}.card-body{flex:1;min-width:0}.card-title{margin:0;font-size:15.5px;font-weight:650;letter-spacing:-.01em;display:flex;align-items:center;gap:6px}.card-desc{margin:4px 0 0;font-size:13px;color:var(--fg-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;align-items:center;gap:10px;margin-top:9px;font-size:11.5px;color:var(--fg-3);font-variant-numeric:tabular-nums}.card-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--fg-3);opacity:.6}.badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:7px;font-size:10.5px;font-weight:600;letter-spacing:.02em;background:color-mix(in srgb,var(--accent) 20%,transparent);color:color-mix(in srgb,var(--accent) 75%,#fff);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}html[data-scheme=light] .badge{color:color-mix(in srgb,var(--accent) 85%,#000)}.badge.gold{background:color-mix(in srgb,var(--warn) 20%,transparent);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.badge.dim{background:var(--surface-2);color:var(--fg-3);border-color:var(--line)}.avatar{flex:0 0 auto;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:800;font-size:17px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:inset 0 1px #ffffff47;letter-spacing:-.02em}.stars{display:inline-flex;gap:2px;color:var(--warn);font-size:12px}.stars-big{font-size:30px;gap:6px;cursor:pointer}.stars-big i{font-style:normal;transition:transform .28s var(--spring),opacity .2s;display:inline-block}.stars-big i.on{transform:scale(1.12)}.stars-big i:active{transform:scale(1.4)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 16px;border-radius:16px;border:none;font:inherit;font-weight:650;font-size:15px;color:#fff;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent-2) 60%,var(--accent)));box-shadow:0 12px 28px -12px color-mix(in srgb,var(--accent) 100%,transparent);transition:transform .18s var(--spring),filter .2s,opacity .2s;cursor:pointer}.btn:active{transform:scale(.97);filter:brightness(1.05)}.btn:disabled{opacity:.45;box-shadow:none;cursor:default}.btn.ghost{background:var(--surface);color:var(--fg);border:1px solid var(--line);box-shadow:none}.btn.danger{background:linear-gradient(135deg,var(--danger),#ff8aa0)}.btn.sm{padding:9px 14px;font-size:13px;border-radius:12px;width:auto}.field{margin-bottom:14px}.field label{display:block;font-size:12.5px;color:var(--fg-2);margin-bottom:6px;font-weight:600;letter-spacing:.01em}input,textarea,select{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;outline:none;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{border-color:color-mix(in srgb,var(--accent) 60%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}textarea{min-height:130px;resize:vertical;line-height:1.6}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--fg-3) 50%),linear-gradient(135deg,var(--fg-3) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.tabbar{position:fixed;left:12px;right:12px;bottom:calc(10px + var(--safe-b));display:grid;grid-template-columns:repeat(4,1fr);padding:6px;border-radius:22px;background:color-mix(in srgb,var(--bg-2) 82%,transparent);border:1px solid var(--line);backdrop-filter:blur(24px) saturate(160%);box-shadow:0 20px 50px -20px #000000e6;z-index:50}.tabbar a{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 7px;font-size:10.5px;color:var(--fg-3);text-decoration:none;border-radius:16px;transition:color .25s var(--ease),transform .2s var(--spring);-webkit-tap-highlight-color:transparent}.tabbar a .ico{font-size:18px;line-height:1;transition:transform .3s var(--spring)}.tabbar a.on{color:var(--fg)}.tabbar a.on .ico{transform:translateY(-1px) scale(1.12)}.tabbar a.on:before{content:"";position:absolute;inset:2px;border-radius:16px;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 30%,transparent),transparent 75%);border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);animation:tabIn .35s var(--spring);z-index:-1}@keyframes tabIn{0%{opacity:0;transform:scale(.86)}}.sk{border-radius:var(--radius);background:linear-gradient(100deg,var(--surface) 30%,var(--surface-2) 50%,var(--surface) 70%);background-size:240% 100%;animation:sk 1.35s var(--ease) infinite;margin-bottom:10px}@keyframes sk{0%{background-position:140% 0}to{background-position:-40% 0}}.empty{text-align:center;padding:54px 20px;color:var(--fg-3);font-size:13.5px}.empty .big{font-size:38px;display:block;margin-bottom:10px;opacity:.55;animation:bob 3s var(--ease) infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.toasts{position:fixed;left:0;right:0;bottom:calc(96px + var(--safe-b));display:flex;flex-direction:column;align-items:center;gap:8px;z-index:200;pointer-events:none}.toast{padding:10px 18px;border-radius:14px;font-size:13.5px;font-weight:600;color:#fff;background:#141828eb;border:1px solid var(--line-2);backdrop-filter:blur(16px);box-shadow:var(--shadow);animation:toastIn .4s var(--spring) both}.toast.ok{background:color-mix(in srgb,var(--ok) 85%,#000)}.toast.err{background:color-mix(in srgb,var(--danger) 85%,#000)}@keyframes toastIn{0%{opacity:0;transform:translateY(16px) scale(.94)}}.mask{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(3px);z-index:150;animation:fadeIn .25s var(--ease) both}@keyframes fadeIn{0%{opacity:0}}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:160;max-height:88dvh;overflow-y:auto;padding:10px 18px calc(22px + var(--safe-b));border-radius:26px 26px 0 0;background:var(--bg-2);border-top:1px solid var(--line-2);box-shadow:0 -20px 60px -20px #000000e6;animation:sheetIn .42s var(--spring) both}@keyframes sheetIn{0%{transform:translateY(100%)}}.sheet .grip{width:40px;height:4px;border-radius:99px;background:var(--line-2);margin:0 auto 14px}.seg{display:flex;gap:4px;padding:4px;border-radius:14px;background:var(--surface);border:1px solid var(--line);margin-bottom:14px}.seg button{flex:1;padding:8px 6px;border:none;background:transparent;color:var(--fg-3);font:inherit;font-size:13px;border-radius:11px;cursor:pointer;transition:all .22s var(--ease)}.seg button.on{background:var(--surface-2);color:var(--fg);box-shadow:0 2px 10px -4px #00000080}.row{display:flex;align-items:center;gap:10px}.between{display:flex;align-items:center;justify-content:space-between;gap:10px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--fg-3)}.h1{font-size:22px;font-weight:800;letter-spacing:-.02em;margin:18px 0 12px}.h2{font-size:15px;font-weight:700;margin:20px 0 10px;display:flex;align-items:center;gap:7px}.h2:before{content:"";width:3px;height:14px;border-radius:2px;background:linear-gradient(180deg,var(--accent),var(--accent-2))}.reply{padding:12px 0;border-bottom:1px solid var(--line);animation:fadeUp .4s var(--spring) both}.reply:last-child{border-bottom:none}.who{font-size:11.5px;color:var(--fg-3);margin-bottom:3px;display:flex;gap:6px;align-items:center}.err{color:var(--danger);font-size:13px;margin:8px 0}.back{display:inline-flex;align-items:center;gap:6px;margin:14px 0 0;padding:8px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line);color:var(--fg-2);font-size:13px;cursor:pointer;text-decoration:none}.pad{padding:0 16px}.admin-login{min-height:100dvh;display:grid;place-items:center;padding:24px}.admin-login .box{width:100%;max-width:340px;padding:26px 22px;border-radius:24px;background:var(--surface);border:1px solid var(--line);backdrop-filter:blur(18px);box-shadow:var(--shadow);animation:fadeUp .5s var(--spring) both}.adm-tabs{position:sticky;top:0;z-index:20;padding:10px 0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px)}.adm-item{padding:12px 14px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);margin-bottom:9px;animation:fadeUp .4s var(--spring) both}.toggle{width:44px;height:26px;border-radius:99px;background:var(--line-2);position:relative;cursor:pointer;transition:background .24s var(--ease);flex:0 0 auto}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .28s var(--spring)}.toggle.on{background:linear-gradient(135deg,var(--accent),var(--accent-2))}.toggle.on:after{transform:translate(18px)}
