:root{--bg-start: #0e0324;--bg-end: #1d0a3a;--gold: #f6d05f;--text: #f5f3ff;--muted: #c7bdf5;--panel: rgba(255, 255, 255, .04);--border: rgba(255, 255, 255, .08);--shadow: 0 18px 50px rgba(0, 0, 0, .45)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 20%,#2a1157 0%,var(--bg-start) 32%,var(--bg-end) 100%);color:var(--text);font-family:Space Grotesk,Manrope,Segoe UI,sans-serif;line-height:1.6;letter-spacing:.01em}.app-shell{position:relative;min-height:100vh;padding:36px 20px 48px;overflow:hidden}.bg-glow{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.glow-one{background:radial-gradient(circle at 12% 20%,rgba(126,77,255,.3),transparent 35%);filter:blur(4px)}.glow-two{background:radial-gradient(circle at 82% 10%,rgba(246,208,95,.2),transparent 40%);filter:blur(6px)}.grain{position:fixed;top:0;right:0;bottom:0;left:0;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="160" height="160" viewBox="0 0 160 160"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="4" stitchTiles="stitch"/></filter><rect width="160" height="160" filter="url(%23n)" opacity="0.06"/></svg>');opacity:.6;mix-blend-mode:soft-light;pointer-events:none;z-index:0}.content{position:relative;z-index:1;max-width:1140px;margin:0 auto;display:flex;flex-direction:column;gap:28px}.hero{display:flex;flex-direction:column;gap:4px;padding:14px 4px}.hero h1{margin:0;font-size:clamp(36px,8vw,64px);font-weight:700;letter-spacing:-.02em}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.tool-card{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:18px 20px;box-shadow:var(--shadow);transition:none;cursor:pointer;position:relative;overflow:hidden}.tool-card h3{margin:8px 0 6px;font-size:22px}.tool-title{margin:4px 0 8px;font-size:clamp(26px,5vw,34px)}.muted{margin:0;color:var(--muted)}.cta{margin-top:10px;color:var(--gold);font-weight:700;letter-spacing:.02em}.tool-focus{display:flex;flex-direction:column;gap:14px}.tool-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px}.ghost-link{color:var(--muted);text-decoration:none;transition:color .16s ease;background:none;border:none;padding:0;font:inherit;cursor:pointer}.ghost-link:hover{color:var(--text)}.active-card{display:grid;grid-template-columns:minmax(260px,1fr) minmax(320px,1fr);align-items:center;gap:24px;cursor:default}.tool-copy{padding:6px}.shake-shell{display:flex;flex-direction:column;align-items:center;gap:14px}.number-display{width:100%;min-height:230px;border-radius:18px;border:1px solid var(--border);background:linear-gradient(135deg,#ffffff0a,#ffffff05);box-shadow:inset 0 1px #ffffff14,var(--shadow);display:grid;place-items:center;position:relative}.number-display:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border-radius:14px;background:radial-gradient(circle at 30% 20%,rgba(246,208,95,.08),transparent 50%);pointer-events:none}.number-text{position:relative;z-index:1;font-size:clamp(72px,14vw,132px);font-weight:800;letter-spacing:.04em;transition:color .14s ease,text-shadow .2s ease,transform .2s ease}.number-rolling .number-text{color:var(--text);text-shadow:0 14px 28px rgba(0,0,0,.38);transform:scale(.98)}.number-final .number-text{color:var(--gold);text-shadow:0 16px 30px rgba(246,208,95,.4);transform:scale(1.02)}.number-text--ip{font-size:clamp(28px,8vw,64px);word-break:break-all}.whisper{margin:0;color:var(--muted);font-size:14px}.dice-button{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border:none;border-radius:999px;background:linear-gradient(135deg,var(--gold),#f2bb3e);color:var(--bg-end);font-weight:800;font-size:18px;letter-spacing:.02em;cursor:pointer;box-shadow:0 16px 36px #f6d05f59;transition:transform .12s ease,box-shadow .16s ease,filter .16s ease}.dice-button:hover{transform:translateY(-1px) scale(1.01);box-shadow:0 20px 46px #f6d05f61}.dice-button:active{transform:translateY(0)}.dice-button:disabled{opacity:.8;cursor:wait;filter:grayscale(.1)}.dice-label{font-weight:700}@media (max-width: 860px){.active-card{grid-template-columns:1fr}.number-display{min-height:200px}}@media (max-width: 600px){.app-shell{padding:28px 16px 36px}.hero{padding:6px 0}.tool-card,.active-card{padding:16px}}
