:root{--ink: #090b10;--ink-2: #10141c;--ink-3: #171d28;--surface: rgba(18, 24, 34, .72);--surface-solid: #141a24;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--text: #f3f1ec;--muted: #9aa3b2;--accent: #3dceb0;--accent-dim: rgba(61, 206, 176, .14);--warm: #e4b57c;--danger: #e8798a;--radius: 14px;--font-display: "Syne", "PingFang SC", "Microsoft YaHei", sans-serif;--font-body: "Figtree", "PingFang SC", "Microsoft YaHei", sans-serif;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font-body);color:var(--text);background:var(--ink);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(900px 520px at 12% -8%,rgba(61,206,176,.14),transparent 55%),radial-gradient(700px 420px at 88% 8%,rgba(228,181,124,.1),transparent 50%),linear-gradient(165deg,#090b10,#0d121a 48%,#0a0d13)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.tech-panel{position:relative;z-index:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1)}.btn{border:1px solid var(--line-strong);background:#ffffff08;color:var(--text);padding:11px 18px;border-radius:11px;cursor:pointer;transition:transform .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease)}.btn:hover{transform:translateY(-1px);background:#ffffff0f;border-color:#ffffff47}.btn.primary{background:linear-gradient(135deg,#3dceb0,#2aa88e);border-color:transparent;color:#061410;font-weight:700;letter-spacing:.01em}.btn.primary:hover{filter:brightness(1.05)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{color:var(--text);background:#ffffff0a}.btn.danger{background:#e8798a1a;border-color:#e8798a59;color:#ffc4cd}.overflow-wrap{position:relative;display:inline-flex}.overflow-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:168px;padding:6px;display:grid;gap:2px;border-radius:12px;border:1px solid var(--line-strong);background:#0e1218f5;box-shadow:0 12px 36px #00000073;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.overflow-menu button,.overflow-menu label{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--text);padding:9px 12px;border-radius:8px;cursor:pointer;font-size:13px;line-height:1.3}.overflow-menu button:hover,.overflow-menu label:hover{background:#ffffff0f}.overflow-menu button:disabled{opacity:.4;cursor:not-allowed}.overflow-menu button.warn{color:#fbbf24}.overflow-menu button.danger{color:#ffc4cd}.overflow-menu .sep{height:1px;margin:4px 8px;background:var(--line)}.input,.select,.textarea{width:100%;background:#00000059;border:1px solid var(--line);border-radius:11px;padding:11px 13px;outline:none;transition:border-color .2s var(--ease)}.input:focus,.textarea:focus,.select:focus{border-color:#3dceb08c}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;border:1px solid var(--line);color:var(--muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.grid{display:grid;gap:16px}.flex{display:flex;gap:12px;align-items:center}.muted{color:var(--muted)}.title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:700}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(0,-12px,0) scale(1.03)}}@keyframes shimmer{0%{background-position:0% 50%}to{background-position:100% 50%}}.anim-rise{animation:rise .7s var(--ease) both}.anim-rise-delay{animation:rise .8s var(--ease) .12s both}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:8px}
