@charset "utf-8";
/* Unicorn: pastel lavender, rainbow pips, sparkles, and a unicorn galloping by. */
:root[data-theme="unicorn"] {
  --bg: #fbf2ff; --panel: #ffffff; --ink: #4b2a6e; --muted: #9580ad; --line: #f0dcff;
  --accent: #c45cff; --accent-ink: #ffffff; --mover: #fdf0ff; --die: #ffffff; --die-edge: #f0c4ff;
  --pip: #c45cff; --held: #ff9ad5; --field: #fffaff; --good: #1f9a63; --bad: #e2557a;
  --radius: 22px; --font: "Fredoka", system-ui, sans-serif; --title-font: "Pacifico", cursive; --title: #c45cff;
  --mark: "🦄";
  --pattern:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='140'%3E%3Ctext x='12' y='34' font-size='16' opacity='.35'%3E✨%3C/text%3E%3Ctext x='100' y='100' font-size='12' opacity='.3'%3E💖%3C/text%3E%3C/svg%3E"),
    radial-gradient(ellipse 40% 25% at 20% 10%, #ffffff, transparent 70%),
    radial-gradient(ellipse 35% 22% at 85% 35%, #ffffff, transparent 70%),
    linear-gradient(#f6eaff, #fff0f8);
  --pattern-size: 160px 140px, 100% 100%, 100% 100%, 100% 100%;
}
[data-theme="unicorn"] h1 { font-size: 42px; font-weight: 400; }
[data-theme="unicorn"] h1 .text { background: linear-gradient(90deg, #ff7eb6, #ffb86b, #ffe66d, #7ee0a8, #7ec8ff, #b388ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
[data-theme="unicorn"] .card { border-width: 2px; box-shadow: 0 4px 0 #f3dcff; }
[data-theme="unicorn"] .pip:nth-child(3n + 1) { background: #ff7eb6; }
[data-theme="unicorn"] .pip:nth-child(3n + 2) { background: #7ec8ff; }
[data-theme="unicorn"] .pip:nth-child(3n) { background: #b388ff; }
[data-theme="unicorn"] .die:not(.blank) { position: relative; border-radius: 14px; }
[data-theme="unicorn"] .die.held { box-shadow: 0 0 0 3px var(--held), 0 0 14px rgba(255, 154, 213, .8); }
[data-theme="unicorn"] .die.held::after { content: "✨"; position: absolute; top: -11px; left: -8px; font-size: 13px; }
[data-theme="unicorn"] button { border-radius: 999px; }
[data-theme="unicorn"] button.primary { background: linear-gradient(90deg, #ff7eb6, #c45cff); border: none; }
[data-theme="unicorn"] .ambient .a1 { display: block; bottom: 14px; left: -90px; font-size: 40px; animation: gallop 24s linear infinite 4s; }
[data-theme="unicorn"] .ambient .a1::before { content: "🦄"; display: inline-block; transform: scaleX(-1); animation: hop .5s ease-in-out infinite; }
[data-theme="unicorn"] .ambient .a1::after {
  content: ""; position: absolute; right: 100%; top: 40%; width: 140px; height: 12px; border-radius: 6px;
  background: linear-gradient(90deg, transparent, #ff7eb6, #ffe66d, #7ee0a8, #7ec8ff, #b388ff);
}
@keyframes gallop { 0% { transform: translateX(0); } 22%, 100% { transform: translateX(calc(100vw + 260px)); } }
@keyframes hop { 50% { transform: scaleX(-1) translateY(-8px); } }
[data-theme="unicorn"] .ambient .a2 { display: block; top: 8%; left: -100px; font-size: 54px; opacity: .8; animation: cloud 60s linear infinite; }
[data-theme="unicorn"] .ambient .a2::before { content: "☁️"; }
@keyframes cloud { to { transform: translateX(calc(100vw + 200px)); } }
[data-theme="unicorn"] .ambient .a3 { display: block; bottom: -30px; right: 12%; font-size: 22px; animation: heart-rise 9s ease-in infinite 2s; }
[data-theme="unicorn"] .ambient .a3::before { content: "💖"; }
@keyframes heart-rise { 0% { transform: translateY(0); opacity: 0; } 10% { opacity: .9; } 60%, 100% { transform: translate(-30px, -70vh); opacity: 0; } }
