.spell-card{--spell-ink:#20134d;--spell-body:#584333;--spell-soft:#6b513b;--spell-line:#9b713c55;--spell-accent:#6039d8;--spell-paper:#f3e3bf;isolation:isolate;min-width:0;height:100%;color:var(--spell-ink);filter:drop-shadow(0 10px 18px #08041326);flex-direction:column;padding:28px 25px;display:flex;position:relative}.spell-card:before{z-index:-2;content:"";pointer-events:none;background:radial-gradient(ellipse at 0 0, #a66d2830, transparent 48%), radial-gradient(ellipse at 100% 100%, #a66d2828, transparent 45%), repeating-linear-gradient(6deg, #70461904 0 1px, transparent 1px 5px), linear-gradient(90deg, #bf8f4424, transparent 12%, #fffaf036 48%, transparent 88%, #bf8f4424), var(--spell-paper);clip-path:polygon(0 5px,5% 2px,10% 5px,17% 1px,23% 4px,31% 0,38% 3px,46% 1px,53% 5px,61% 2px,69% 4px,78% 0,86% 4px,93% 1px,100% 5px,calc(100% - 2px) 24%,100% 51%,calc(100% - 2px) 77%,100% calc(100% - 5px),94% calc(100% - 2px),87% calc(100% - 5px),80% 100%,72% calc(100% - 3px),65% calc(100% - 1px),57% calc(100% - 5px),49% calc(100% - 2px),41% 100%,34% calc(100% - 4px),26% calc(100% - 1px),18% calc(100% - 5px),10% calc(100% - 2px),4% 100%,0 calc(100% - 4px),2px 74%,0 49%,2px 23%);position:absolute;inset:0;box-shadow:inset 0 0 22px #9b713c20}.spell-card:after{z-index:-1;content:"";pointer-events:none;border:1px solid #9b713c33;border-top:3px double var(--spell-line);border-bottom:3px double var(--spell-line);position:absolute;inset:13px 12px}.spell-card-topline{justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;display:flex}.spell-card-label{color:var(--spell-soft);text-transform:uppercase;letter-spacing:1.5px;align-items:center;gap:7px;font-size:10px;font-weight:650;display:flex}.spell-card-label svg{color:var(--spell-accent)}.spell-card-save{width:40px;height:40px;color:var(--spell-accent);cursor:pointer;background:#e9ddcc;border:1px solid #6039d82e;border-radius:50%;flex:0 0 40px;place-items:center;padding:0;transition:background .2s,color .2s;display:grid}.spell-card-save:hover:not(:disabled){background:#dfd0c7}.spell-card-save.is-saved{color:#fff9ea;background:var(--spell-accent);border-color:var(--spell-accent)}.spell-card-save.is-saved:hover:not(:disabled){background:#4d28bc}.spell-card-save:disabled{opacity:.45;cursor:wait}.spell-card-origin{color:var(--spell-soft);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px;font-size:11px;line-height:1.5;display:flex}.spell-card-origin-dot{background:#93611d;border-radius:50%;flex:0 0 5px;width:5px;height:5px}.spell-card-title{letter-spacing:-.7px;overflow-wrap:anywhere;margin:0;font-family:Georgia,Times New Roman,serif;font-size:32px;font-weight:500;line-height:1.15}.spell-card-title a{color:inherit;text-decoration:none}.spell-card-title a:hover{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.spell-card-pronunciation{color:var(--spell-soft);overflow-wrap:anywhere;align-items:center;gap:8px;margin:10px 0 16px;font-size:12px;line-height:1.5;display:flex}.spell-card-definition{color:var(--spell-body);margin:0 0 23px;font-size:13px;line-height:1.85}.spell-card-open{width:fit-content;min-height:32px;color:var(--spell-accent);align-items:center;gap:8px;margin-top:auto;font-size:12px;font-weight:650;text-decoration:none;display:flex}.spell-card-open:hover{text-underline-offset:4px;text-decoration:underline}.spell-card-save:focus-visible,.spell-card-title a:focus-visible,.spell-card-open:focus-visible{outline:3px solid var(--spell-accent);outline-offset:4px}.spell-card--compact{padding:27px 24px}.spell-card--featured{--spell-paper:#f8eacb;filter:drop-shadow(0 23px 28px #0c041b65);height:auto;padding:29px 28px 26px}.spell-card--featured .spell-card-title{font-size:57px}.spell-card--featured .spell-card-definition{margin-bottom:15px}.spell-card--featured .spell-card-open{margin-top:14px}.spell-card--featured .spell-card-kind{font-size:10px}.spell-card-spelling{border-top:1px solid var(--spell-line);padding-top:16px}.spell-card-field-label{color:var(--spell-soft);letter-spacing:1.6px;text-transform:uppercase;margin:0 0 10px;font-size:10px;font-weight:700}.spell-card-letters{flex-wrap:wrap;gap:6px;display:flex}.spell-card-letter{min-width:34px;height:34px;color:var(--spell-ink);background:#fff9ea70;border:1px solid #9b713c55;border-radius:3px;place-items:center;padding:0 8px;font-family:Georgia,serif;font-size:20px;display:grid}.spell-card-letter.is-space{background:0 0;border:0;width:5px;min-width:5px;padding:0}.spell-card-root{color:var(--spell-body);background:#bd935f12;border-left:2px solid #9b713c80;align-items:flex-start;gap:9px;margin:15px 0 0;padding:11px 13px;font-size:11px;line-height:1.7;display:flex}.spell-card-root svg{color:var(--spell-accent);flex:none;margin-top:2px}.spell-card-root strong{color:var(--spell-ink);font-size:11px;font-weight:650;display:block}.spell-card-ratings{border-top:1px solid var(--spell-line);grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:15px;padding-top:15px;display:grid}.spell-card-rating-label{color:var(--spell-soft);align-items:center;gap:5px;font-size:10px;display:flex}.spell-card-rating strong{color:var(--spell-ink);overflow-wrap:anywhere;margin-top:7px;font-size:11px;font-weight:650;display:block}.spell-card-rating-bars{gap:4px;margin-top:7px;display:flex}.spell-card-rating-bars i{background:#c5b38d;border-radius:10px;flex:1;height:3px}.spell-card-rating-bars i.is-active{background:var(--spell-accent)}.spell-card-editorial{color:var(--spell-soft);margin:13px 0 0;font-size:10px;line-height:1.5}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.spell-card:not(.spell-card--featured){transition:transform .28s cubic-bezier(.22,1,.36,1)}.spell-card:not(.spell-card--featured):is(:hover,:focus-within){transform:translateY(-3px)}.spell-card-open>.app-icon{transition:transform .22s}.spell-card-open:is(:hover,:focus-visible)>.app-icon{transform:translate(3px)}}@media (width<=760px){.spell-card--featured{padding:27px 23px}.spell-card--featured .spell-card-title{font-size:49px}}@media (prefers-reduced-motion:reduce){.spell-card-save{transition:none}}@media (forced-colors:active){.spell-card{color:canvastext;filter:none;background:canvas;border:1px solid canvastext}.spell-card:before,.spell-card:after{display:none}}