@charset "UTF-8";:root{--bg: #0b0d10;--panel: rgba(255, 255, 255, .06);--line: rgba(255, 255, 255, .08);--text: #f3f5f7;--muted: rgba(243, 245, 247, .65);--accent: #2e6f40;--accent2: #3b8a53;--radius: 14px;--container-max: 1200px;--container-pad: 18px}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}html{font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:var(--text);background:radial-gradient(4000px 400px at 50% 10%,rgba(46,111,64,.2),transparent 55%),var(--bg);background-repeat:no-repeat;background-attachment:fixed;overflow-x:hidden;-webkit-text-size-adjust:100%}body{min-height:100vh;color:var(--text);font-family:inherit;background:transparent;overflow-x:hidden}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid rgba(46,111,64,.8);outline-offset:2px}.container{max-width:var(--container-max);margin:0 auto;padding:var(--container-pad) var(--container-pad) 60px}@media(max-width:760px){:root{--container-pad: 14px}}@media(max-width:420px){:root{--container-pad: 12px}}.topbar{position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b0d10a6;border-bottom:1px solid var(--line)}.topbarInner{max-width:var(--container-max);margin:0 auto;padding:12px var(--container-pad);display:flex;gap:14px;align-items:center;justify-content:space-between}@media(max-width:760px){.topbarInner{gap:10px;flex-wrap:wrap;justify-content:space-between}}.brand{display:flex;align-items:center;gap:10px;min-width:0}.logo{height:50px;width:auto;display:block}@media(max-width:760px){.logo{height:26px}}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grow{flex:1;min-width:0}.input,.select,.menuInput,.loginInput{width:100%;padding:12px 14px;border-radius:999px;border:1px solid var(--line);background:#ffffff0f;color:var(--text);outline:none;font-size:16px;line-height:1.2}.loginInput{border-radius:14px}.input::placeholder,.menuInput::placeholder,.loginInput::placeholder{color:#f3f5f773}.select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(243,245,247,.7) 50%),linear-gradient(135deg,rgba(243,245,247,.7) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:34px}select.select option{background:#0f1318;color:var(--text)}.btn{padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:#ffffff0f;color:var(--text);cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease;font-size:14px;line-height:1.1;min-height:42px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn:hover{background:#ffffff1a;transform:translateY(-1px)}@media(hover:none){.btn:hover,.card:hover{transform:none}}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.primary{border-color:#2e6f408c;background:linear-gradient(135deg,#2e6f408c,#3b8a5359)}.btn.primary:hover{border-color:#2e6f40d9}.btn.ghost{background:transparent}.btn.danger{border-color:#ff5c7a59;background:#ff5c7a1f}.tabs{display:flex;gap:10px;align-items:center;flex-wrap:wrap}@media(max-width:520px){.tabs>.btn{flex:1 1 160px}}.sectionTitle{margin:22px 0 10px;font-size:18px;font-weight:800}.sub{color:var(--muted);font-size:13px;font-weight:500;text-transform:none}@media(max-width:520px){.sectionTitle{font-size:17px}.sub{font-size:12.5px}}.rail{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));padding:8px 2px 12px;overflow:visible}@media(max-width:760px){.rail{gap:10px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}}@media(max-width:520px){.rail{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:360px){.rail{grid-template-columns:1fr}}.card{width:100%;min-width:0;max-width:none;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#ffffff0d;transition:transform .14s ease,background .14s ease,border-color .14s ease;position:relative}.card:hover{transform:translateY(-2px) scale(1.02);border-color:#2e6f4073;background:#ffffff14;z-index:5}.card.clickable{cursor:pointer}.thumb{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#ffffff0d}.thumb.placeholder{display:flex;align-items:center;justify-content:center;background:radial-gradient(500px 220px at 30% 10%,rgba(46,111,64,.18),transparent 55%),#ffffff0d}.cardBody{padding:10px 12px 12px}.title{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta{color:var(--muted);font-size:12px;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill{position:absolute;top:10px;left:10px;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.6px;border:1px solid var(--line);background:#0b0d108c}.card.listCard .thumb{filter:brightness(.55)}.card.listCard:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000001a,#00000059);pointer-events:none}.overlayIcon{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);font-size:48px;color:#f3f5f7eb;text-shadow:0 6px 18px rgba(0,0,0,.55);pointer-events:none}.userArea{position:relative}.avatarBtn{border:1px solid var(--line);background:#ffffff0f;border-radius:999px;padding:4px;cursor:pointer;-webkit-tap-highlight-color:transparent}.avatar{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:900;background:linear-gradient(135deg,#2e6f40b3,#3b8a5359)}.menu{position:absolute;right:0;top:48px;width:220px;border:1px solid var(--line);border-radius:16px;background:#0b0d10eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;padding:6px;max-width:calc(100vw - 24px)}@media(max-width:420px){.menu{right:0;width:min(320px,100vw - 24px)}}.menuItem{width:100%;text-align:left;padding:10px 12px;border:0;border-radius:12px;background:transparent;color:var(--text);cursor:pointer;font-size:14px}.menuItem:hover{background:#ffffff14}.menuItem.danger{color:#ffb3c1}.menuDivider{height:1px;background:var(--line);margin:6px 0}.menuCreate{padding:6px;display:flex;gap:8px;flex-direction:column}.menuInput{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#ffffff0f;color:var(--text);outline:none}.loginPage{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px 16px}.loginCard{width:100%;max-width:420px;border:1px solid var(--line);border-radius:18px;background:#0b0d10b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:24px 22px 22px;text-align:center;box-shadow:0 18px 60px #00000059}@media(max-width:420px){.loginCard{padding:20px 16px 18px}}.loginLogo{height:80px;width:auto;display:block;margin:2px auto 14px}@media(max-width:420px){.loginLogo{height:64px}}.loginTitle{margin:0;font-size:22px;font-weight:900;letter-spacing:.2px}@media(max-width:420px){.loginTitle{font-size:20px}}.loginSub{margin:8px 0 18px;color:var(--muted);font-size:13px}.loginForm{display:flex;flex-direction:column;gap:10px}.loginBtn{margin-top:4px;width:100%}.loginError{margin:12px 0 0;color:#ffb3c1;font-size:13px}.progressWrap{margin-top:8px;height:10px;border-radius:999px;border:1px solid var(--line);background:#ffffff0f;overflow:hidden}.progressFill{height:100%;width:0%;background:linear-gradient(90deg,#2e6f40d9,#3b8a5373);box-shadow:0 0 18px #2e6f4059;transition:width .2s ease}.progressIndeterminate{height:100%;width:35%;background:linear-gradient(90deg,transparent,rgba(46,111,64,.9),transparent);animation:indet 1.1s infinite linear}.modalBackdrop{position:fixed;inset:0;z-index:999;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:18px}.modalCard{width:min(520px,100%);border:1px solid var(--line);border-radius:18px;background:#0b0d10eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 20px 80px #0000008c;padding:16px}@media(max-width:420px){.modalCard{padding:14px}}.modalTitle{font-weight:900;font-size:18px}.modalText{margin-top:8px;color:var(--muted);font-size:13px}.modalActions{margin-top:14px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}@keyframes indet{0%{transform:translate(-120%)}to{transform:translate(320%)}}@media(max-width:520px){.row{gap:8px}.row>*{flex:1 1 100%}.row .btn{width:100%}}
