.runes-wrap{max-width:640px;margin:0 auto;padding:1.5rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 10px 30px #0000000a;position:relative}.runes-top-bar{display:flex;gap:.5rem;align-items:flex-start;margin-bottom:1.25rem}.alphabet-pills{display:flex;gap:.5rem;flex-wrap:wrap;flex:1}.pill{padding:.45rem .9rem .45rem .75rem;border:1.5px solid var(--border-color);border-radius:.85rem;background:var(--bg-page);color:var(--text-muted);cursor:pointer;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:inline-flex;align-items:center;gap:.5rem;position:relative;overflow:hidden}.pill:before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--pill-color, var(--accent)) 15%,transparent),transparent 70%);transition:opacity .3s ease}.pill:hover{transform:translateY(-3px);box-shadow:0 6px 24px color-mix(in srgb,var(--pill-color, var(--accent)) 12%,transparent)}.pill:hover:before{opacity:1}.pill:active{transform:scale(.95)}.pill.active{border-color:var(--pill-color, var(--accent));color:var(--color-white);box-shadow:0 6px 28px color-mix(in srgb,var(--pill-color, var(--accent)) 25%,transparent),inset 0 0 20px color-mix(in srgb,var(--pill-color, var(--accent)) 10%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--pill-color, var(--accent)) 90%,#000),color-mix(in srgb,var(--pill-color, var(--accent)) 50%,var(--bg-page)))}.pill-rune{font-size:1.1rem;line-height:1;position:relative;z-index:1}.pill-label{position:relative;z-index:1}.pill[data-alphabet=elder-futhark]{--pill-color: #d97706}.pill[data-alphabet=elder-futhark]:not(.active):hover{border-color:#d97706;color:var(--pill-color)}.pill[data-alphabet=anglo-saxon]{--pill-color: #65a30d}.pill[data-alphabet=anglo-saxon]:not(.active):hover{border-color:#65a30d;color:var(--pill-color)}.pill[data-alphabet=fantasy]{--pill-color: #a78bfa}.pill[data-alphabet=fantasy]:not(.active):hover{border-color:#a78bfa;color:var(--pill-color)}.pill[data-alphabet=theban]{--pill-color: #2dd4bf}.pill[data-alphabet=theban]:not(.active):hover{border-color:#2dd4bf;color:var(--pill-color)}.pill[data-alphabet=enochian]{--pill-color: #60a5fa}.pill[data-alphabet=enochian]:not(.active):hover{border-color:#60a5fa;color:var(--pill-color)}.pill[data-alphabet=daemonic]{--pill-color: #f87171}.pill[data-alphabet=daemonic]:not(.active):hover{border-color:#f87171;color:var(--pill-color)}.pill[data-alphabet=ogham]{--pill-color: #4ade80}.pill[data-alphabet=ogham]:not(.active):hover{border-color:#4ade80;color:var(--pill-color)}.seed-cog{width:1.8rem;height:1.8rem;border:1px solid var(--border-color);border-radius:50%;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;transition:all .2s ease;margin-top:.1rem}.seed-cog:hover{border-color:var(--accent);color:var(--accent);transform:rotate(45deg)}.seed-drawer{max-height:0;overflow:hidden;transition:max-height .25s ease,opacity .2s ease;opacity:0}.seed-drawer.open{max-height:60px;opacity:1;margin-bottom:.75rem}.seed-inner{display:flex;align-items:center;gap:.5rem}.seed-field{display:flex;align-items:center;gap:.25rem;background:var(--bg-page);border:1px solid var(--border-color);border-radius:99px;padding:.15rem .15rem .15rem .75rem}.seed-field:focus-within{border-color:var(--accent)}#runes-seed{width:4rem;padding:0;border:none;background:none;color:var(--text-base);font-size:.8rem;font-weight:600;outline:none;-moz-appearance:textfield}#runes-seed::placeholder{color:var(--text-muted);opacity:.4}#runes-seed::-webkit-outer-spin-button,#runes-seed::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.seed-shuffle{width:1.6rem;height:1.6rem;border:none;border-radius:50%;background:var(--bg-surface);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:all .2s ease}.seed-shuffle:hover{background:var(--accent);color:var(--color-white);transform:rotate(180deg)}.seed-tag{font-size:.6rem;font-weight:700;padding:.1rem .45rem;border-radius:99px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.seed-hint{font-size:.7rem;color:var(--text-muted);opacity:.5}.runes-input-area{margin-bottom:1rem}#runes-input{width:100%;padding:.8rem 1rem;box-sizing:border-box;border:1px solid var(--border-color);border-radius:1rem;background:var(--bg-page);color:var(--text-base);font-size:1rem;font-weight:600;outline:none;transition:all .2s ease}#runes-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}#runes-input::placeholder{color:var(--text-muted);font-weight:400;opacity:.4}.runes-output{min-height:120px;border:1px solid var(--border-color);border-radius:1rem;padding:1.25rem;background:var(--bg-page);margin-bottom:.75rem;transition:all .3s ease}.runes-output.has-chars{border-color:var(--accent);box-shadow:0 0 20px color-mix(in srgb,var(--accent) 6%,transparent)}.runes-output-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:90px;gap:.4rem;color:var(--text-muted)}.empty-rune{font-size:2rem;opacity:.2}.empty-label{font-size:.8rem;font-weight:600;opacity:.4}.runes-grid{display:flex;flex-wrap:wrap;gap:.5rem}.rune-card{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.7rem .8rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:.85rem;cursor:pointer;min-width:52px;transition:all .2s cubic-bezier(.175,.885,.32,1.275);animation:rc-in .3s cubic-bezier(.175,.885,.32,1.275) both}@keyframes rc-in{0%{opacity:0;transform:scale(.85) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.rune-card:hover{border-color:var(--accent);transform:translateY(-3px)}.rune-card.active{border-color:var(--accent);background:linear-gradient(135deg,var(--bg-surface),color-mix(in srgb,var(--accent) 8%,transparent));box-shadow:0 0 15px color-mix(in srgb,var(--accent) 10%,transparent)}.rune-card .sym{font-size:1.8rem;line-height:1;color:var(--text-base)}.rune-card .let{font-size:.55rem;color:var(--text-muted);text-transform:uppercase;font-weight:700;opacity:.4}.rune-card.active .let{opacity:.8;color:var(--accent)}.detail-card{border:1px solid var(--border-color);border-radius:.85rem;padding:.75rem 1rem;background:var(--bg-surface);margin-bottom:.75rem;display:none;gap:.5rem}.detail-card.vis{display:flex;flex-wrap:wrap;gap:.75rem;border-color:var(--accent)}.detail-row{display:flex;flex-direction:column;gap:.1rem;min-width:100px;flex:1}.detail-lbl{font-size:.6rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.detail-val{font-size:.85rem;color:var(--text-base);font-weight:600}.runes-bottom-bar{display:flex;gap:.35rem;align-items:center}.bot-spacer{flex:1}.bot-btn{width:2rem;height:2rem;border:1px solid var(--border-color);border-radius:.5rem;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.bot-btn:hover{border-color:var(--accent);color:var(--accent)}.bot-btn.gm-reveal{width:auto;padding:.5rem 1rem;gap:.4rem;border-radius:.75rem;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#000));border-color:var(--accent);color:var(--color-white);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 16px color-mix(in srgb,var(--accent) 20%,transparent)}.bot-btn.gm-reveal:hover{transform:translateY(-2px);box-shadow:0 6px 24px color-mix(in srgb,var(--accent) 30%,transparent)}.ref-overlay{position:fixed;inset:0;z-index:1000;display:none;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--bg-page) 97%,var(--accent)),var(--bg-page));backdrop-filter:blur(12px);padding:2rem;animation:gmin .4s ease;overflow:hidden}.ref-overlay:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,color-mix(in srgb,var(--accent) 4%,transparent) 0%,transparent 60%);pointer-events:none}.ref-overlay.active{display:flex}.ref-close{position:fixed;top:1rem;right:1rem;width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s ease;z-index:1001}.ref-close:hover{border-color:var(--accent);color:var(--accent);transform:scale(1.1)}.ref-title{font-size:1.1rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:1.5rem;position:relative;z-index:1;text-shadow:0 0 20px color-mix(in srgb,var(--accent) 20%,transparent)}.ref-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.6rem;max-width:650px;width:100%;position:relative;z-index:1}.ref-cell{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.7rem .4rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:.85rem;transition:all .3s ease;position:relative}.ref-cell.lit{border-color:var(--accent);background:linear-gradient(145deg,var(--bg-surface),color-mix(in srgb,var(--accent) 6%,transparent));box-shadow:0 0 16px color-mix(in srgb,var(--accent) 10%,transparent);animation:ref-reveal .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes ref-reveal{0%{transform:scale(.85);opacity:.5}60%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.ref-cell:not(.lit){opacity:.35}.ref-cell .ref-sym{font-size:1.8rem;line-height:1;color:var(--text-muted)}.ref-cell.lit .ref-sym{color:var(--accent);text-shadow:0 0 12px color-mix(in srgb,var(--accent) 30%,transparent)}.ref-cell .ref-let{font-size:.6rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;opacity:.5}.ref-cell.lit .ref-let{opacity:.8;color:var(--accent)}.shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--accent) 6%,transparent) 50%,transparent 100%);animation:shim .5s ease forwards;pointer-events:none}@keyframes shim{0%{transform:translate(-100%)}to{transform:translate(100%)}}.particle{position:fixed;pointer-events:none;z-index:200;font-size:1.5rem;animation:part 1s cubic-bezier(.175,.885,.32,1.275) forwards;color:var(--accent)}@keyframes part{0%{transform:translate(-50%,-50%) scale(.3) rotate(-20deg);opacity:0}20%{opacity:1;transform:translate(-50%,-60%) scale(1.2) rotate(10deg)}to{transform:translate(-50%,-120%) scale(.6) rotate(-10deg);opacity:0}}.gm-overlay{position:fixed;inset:0;z-index:1000;display:none;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-page);padding:2rem;animation:gmin .3s ease}@keyframes gmin{0%{opacity:0}to{opacity:1}}.gm-overlay.active{display:flex}.gm-runes{font-size:clamp(3rem,15vw,8rem);line-height:1.3;text-align:center;color:var(--text-base);letter-spacing:.12em;text-shadow:0 0 30px color-mix(in srgb,var(--accent) 15%,transparent);animation:gmr .6s cubic-bezier(.175,.885,.32,1.275);max-width:90vw;word-break:break-all}@keyframes gmr{0%{opacity:0;transform:scale(.6) rotateX(30deg);filter:blur(6px)}60%{transform:scale(1.03);filter:blur(0)}to{opacity:1;transform:scale(1)}}.gm-subtle{margin-top:1.5rem;font-size:.75rem;color:var(--text-muted);font-weight:600;opacity:.3;letter-spacing:.06em}.gm-exit{position:fixed;top:1rem;right:1rem;width:2.2rem;height:2.2rem;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s ease;z-index:1001}.gm-exit:hover{border-color:var(--accent);color:var(--accent)}.gm-particles{position:fixed;inset:0;pointer-events:none;z-index:999;overflow:hidden}.gm-float{position:absolute;font-size:1.2rem;color:var(--accent);opacity:0;animation:gmf 4s ease-in-out infinite}@keyframes gmf{0%{transform:translateY(100vh) rotate(0);opacity:0}20%{opacity:.3}80%{opacity:.3}to{transform:translateY(-10vh) rotate(720deg);opacity:0}}
