*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:radial-gradient(1000px 500px at 20% -10%,#0b2a6b88,transparent),radial-gradient(800px 400px at 90% 0%,#7c3aed44,transparent),#050a1e;color:#eaf6ff;min-height:100vh}
.bg-orbs{position:fixed;inset:0;overflow:hidden;pointer-events:none}.orb{position:absolute;border-radius:50%;filter:blur(70px)}.o1{width:340px;height:340px;background:#00d4ff22;top:-80px;right:120px;animation:float 9s ease-in-out infinite}.o2{width:280px;height:280px;background:#ff2ea622;bottom:-60px;left:200px;animation:float 11s ease-in-out infinite reverse}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(28px)}}
.center{min-height:100vh;display:grid;place-items:center;padding:20px}.wrap{max-width:860px;margin:0 auto;padding:28px;position:relative}
.holo-card{background:linear-gradient(160deg,#0b1e4bcc,#050a1ee6);border:2px solid transparent;background-clip:padding-box;border-radius:22px;padding:24px;box-shadow:0 12px 28px #0006,0 0 24px #00d4ff33;position:relative;margin:18px 0}
.holo-card::before{content:"";position:absolute;inset:-2px;border-radius:24px;padding:2px;background:linear-gradient(135deg,#00d4ff,#7c3aed,#ff2ea6,#00d4ff);background-size:300% 300%;animation:shift 8s ease infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}@keyframes shift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.logo{font-weight:900;font-size:28px;letter-spacing:3px;background:linear-gradient(90deg,#00d4ff,#a855f7,#ff2ea6,#00d4ff);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shift 8s ease infinite}.logo span{font-size:14px}.sub{opacity:.8;margin:4px 0 16px}
label{display:block;margin:12px 0;font-size:14px}input[type=text],input:not([type=file]){width:100%;padding:12px;border-radius:12px;border:1px solid #ffffff33;background:#ffffff0d;color:#fff;margin-top:6px}input[type=file]{margin:10px 0}
.btn-4d,.btn-ghost{border:0;border-radius:14px;padding:12px 20px;font-weight:800;cursor:pointer;color:#fff;background:linear-gradient(135deg,#00d4ff,#7c3aed,#ff2ea6);background-size:200% 200%;animation:shift 6s ease infinite;box-shadow:0 8px 24px #00d4ff44}.btn-ghost{background:#ffffff14;border:1px solid #ffffff33;animation:none}
.error{color:#ff8a8a}.ok{color:#7dffb0}.note{opacity:.65;font-size:12px}
.top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.card-4d{width:100%;text-align:left;border:0;cursor:pointer;border-radius:22px;padding:26px;color:#eaf6ff;background:linear-gradient(160deg,#0b1e4bcc,#050a1ee6);box-shadow:0 16px 36px #0008,0 0 32px #a855f755;position:relative;overflow:hidden;transition:transform .3s}
.card-4d:hover{transform:perspective(900px) rotateX(4deg) rotateY(-5deg) scale(1.02)}
.card-4d-title{display:block;font-size:26px;font-weight:900;letter-spacing:2px;text-shadow:0 0 18px #00d4ff}.card-4d-sub{display:block;opacity:.85;margin-top:6px}
.card-4d-shine{position:absolute;top:0;bottom:0;width:40%;left:-20%;background:linear-gradient(100deg,transparent,#ffffff33,transparent);transform:skewX(-18deg);animation:shine 3.5s ease infinite}@keyframes shine{0%{left:-45%}55%,100%{left:110%}}
#linkList{list-style:none;padding:0}#linkList li{padding:10px 12px;border:1px solid #ffffff22;border-radius:12px;margin:8px 0;background:#ffffff0a}#linkList a{color:#7dd3fc;font-weight:700}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.page-card{background:linear-gradient(160deg,#0b1e4bcc,#050a1ee6);border:1px solid #ffffff2a;border-radius:18px;padding:16px;box-shadow:0 10px 24px #0006,0 0 18px #a855f733}
.page-card h3{margin:0 0 8px;word-break:break-all}.page-card a{color:#7dd3fc;font-weight:700;word-break:break-all}
.page-card .row{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.page-card .row button{border:0;border-radius:10px;padding:8px 12px;font-weight:700;cursor:pointer;color:#fff;background:#ffffff1a;border:1px solid #ffffff33}
.page-card .row button.danger{background:#ff2ea633}
