:root{--violet: #7c3aed;--violet-deep: #5b21b6;--pink: #ec4899;--amber: #f59e0b;--cyan: #22d3ee;--mint: #34d399;--rose: #fb7185;--ink: #241544;--ink-soft: #6b5b8a;--paper: #fffdf9;--paper-edge: #efe7fb;--paper-sunk: #f6f1fe;--grad-brand: linear-gradient(135deg, #8b5cf6 0%, #ec4899 55%, #f59e0b 120%);--grad-cta: linear-gradient(135deg, #7c3aed 0%, #db2777 100%);--grad-title: linear-gradient(100deg, #ffe68a 0%, #ff9ecd 45%, #8be9ff 100%);--radius: 18px;--radius-lg: 26px;--radius-pill: 999px;--shadow-card: 0 18px 40px -18px rgba(30, 10, 60, .55);--shadow-pop: 0 10px 20px -6px rgba(219, 39, 119, .5);--ring: 0 0 0 4px rgba(139, 92, 246, .35);--font-body: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Fredoka", "Nunito", system-ui, sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font-body);font-weight:600;color:var(--paper);line-height:1.5;background:radial-gradient(1100px 700px at 12% -10%,rgba(139,92,246,.55),transparent 60%),radial-gradient(900px 620px at 100% 0%,rgba(236,72,153,.5),transparent 55%),radial-gradient(1000px 700px at 50% 120%,rgba(34,211,238,.32),transparent 60%),linear-gradient(160deg,#1e1140,#2a1358 45%,#3a1064);background-attachment:fixed;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.12) 1.5px,transparent 2px),radial-gradient(circle,rgba(255,255,255,.08) 1px,transparent 2px);background-size:90px 90px,130px 130px;background-position:0 0,40px 60px;z-index:0}h1,h2,h3{font-family:var(--font-display);line-height:1.1;margin:0 0 .5rem;letter-spacing:-.01em}h1{font-size:clamp(2rem,5vw,3rem);font-weight:700;color:#fff}main>h1,.hero h1{background:var(--grad-title);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 30px rgba(255,158,205,.25)}h2{font-size:1.5rem;font-weight:600}h3{font-size:1.15rem;font-weight:600}p{margin:0 0 .75rem}a{color:var(--violet);font-weight:700;text-decoration:none;border-radius:6px;transition:color .15s ease}a:hover{color:var(--pink)}.card,main section{position:relative;background:var(--paper);color:var(--ink);border:1px solid var(--paper-edge);border-radius:var(--radius-lg);padding:1.4rem 1.5rem;box-shadow:var(--shadow-card)}main section{margin:0 0 1.25rem}.card h1,.card h2,.card h3,main section h1,main section h2,main section h3{color:var(--ink)}button{font-family:var(--font-display);font-size:1rem;font-weight:600;color:#fff;background:var(--grad-cta);border:none;border-radius:var(--radius-pill);padding:.6rem 1.3rem;cursor:pointer;box-shadow:var(--shadow-pop);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,opacity .12s ease}button:hover{transform:translateY(-2px);filter:brightness(1.06)}button:active{transform:translateY(0) scale(.97)}button:focus-visible{outline:none;box-shadow:var(--shadow-pop),var(--ring)}button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4);transform:none;box-shadow:none}button.ghost{background:transparent;color:var(--violet);box-shadow:inset 0 0 0 2px #7c3aed59}button.ghost:hover{background:var(--paper-sunk);filter:none}button.danger{background:linear-gradient(135deg,#f43f5e,#b91c1c);box-shadow:0 8px 18px -6px #f43f5e8c}input,select,textarea{font-family:var(--font-body);font-size:.98rem;font-weight:600;color:var(--ink);background:#fff;border:2px solid var(--paper-edge);border-radius:var(--radius);padding:.55rem .8rem;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder{color:#b3a6cc}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--violet);box-shadow:var(--ring)}input[type=color]{padding:2px;width:2.6rem;height:2.6rem;cursor:pointer}label{font-weight:700;color:var(--ink)}.badge{display:inline-block;font-family:var(--font-display);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--violet);border-radius:var(--radius-pill);padding:.18rem .6rem;vertical-align:middle}.muted{color:var(--ink-soft);font-weight:600}hr{border:none;border-top:1px solid var(--paper-edge);margin:1rem 0}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}
