.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:radial-gradient(circle at 50% 50%,#1a1410,#0c0805 80%);display:grid;place-items:center;overflow:hidden}.loader__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.loader__runes{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--font-display);font-size:clamp(8rem,40vw,26rem);color:#7c3aed0d;letter-spacing:.1em;white-space:nowrap;overflow:hidden;pointer-events:none;animation:rune-drift 30s linear infinite}@keyframes rune-drift{to{transform:translate(-12%)}}.loader__hud{position:absolute;bottom:12%;display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center}.loader__title{font-family:var(--font-display);letter-spacing:.45em;text-transform:uppercase;font-size:.95rem;color:var(--gold);padding-left:.45em}.loader__pct{font-family:var(--font-mono);font-size:.8rem;color:var(--text-faint)}.loader__skip{position:absolute;bottom:2rem;right:2rem;background:none;border:1px solid var(--line);color:var(--text-dim);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.15em;padding:.5rem 1rem;border-radius:20px;transition:all .2s ease}.loader__skip:hover{color:var(--gold);border-color:var(--gold)}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;will-change:transform}.cursor-dot{width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:var(--ember);box-shadow:0 0 10px 2px #f5b942cc}.cursor-ring{margin:-20px 0 0 -20px;color:var(--arcane-soft);opacity:.7;transition:color .2s ease,opacity .2s ease;filter:drop-shadow(0 0 6px rgba(124,58,237,.6))}.cursor-ring svg{transition:transform .18s ease}.cursor-ring.is-active{color:var(--gold);opacity:1}.cursor-ring.is-active svg{transform:scale(1.4) rotate(45deg)}.nav{position:fixed;top:0;left:0;right:0;z-index:800;display:flex;align-items:center;justify-content:space-between;padding:1.1rem clamp(1.2rem,5vw,3rem);transition:background .3s ease,backdrop-filter .3s ease,border-color .3s ease;border-bottom:1px solid transparent}.nav.is-scrolled{background:#120d0ab8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav__brand{font-family:var(--font-display);font-weight:700;font-size:1.3rem;letter-spacing:.1em;color:var(--text);display:inline-flex;align-items:center;gap:.5rem}.nav__sigil{color:var(--arcane-soft);font-size:.9rem}.nav__links{display:flex;gap:1.6rem;list-style:none}.nav__links a{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.1em;color:var(--text-dim);text-transform:uppercase}.nav__links a:hover{color:var(--gold)}@media(max-width:720px){.nav__links{display:none}}.summon{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;z-index:0}.summon__svg{width:min(82vh,92vw);height:min(82vh,92vw);max-width:780px;max-height:780px;opacity:.9;filter:drop-shadow(0 0 30px rgba(124,58,237,.25))}.ring{fill:none;stroke:var(--gold);stroke-width:1}.ring.gold{stroke:var(--gold);opacity:.55}.ring.gold.faint{opacity:.28}.ring.arcane{stroke:var(--arcane-soft);opacity:.4}.net-edge{stroke:var(--gold);stroke-width:.5;opacity:.12}.net-node{fill:var(--ember);filter:drop-shadow(0 0 4px rgba(245,185,66,.8))}.net-node.arcane-node{fill:var(--arcane-soft)}.net-core{fill:#fff;filter:drop-shadow(0 0 10px rgba(245,185,66,1))}.summon__spin-slow{transform-origin:250px 250px;animation:spin 90s linear infinite}.summon__spin-rev{transform-origin:250px 250px;animation:spin 60s linear infinite reverse}@keyframes spin{to{transform:rotate(360deg)}}.hero{position:relative;min-height:100vh;display:grid;place-items:center;text-align:center;padding:6rem 1.5rem 4rem;overflow:hidden}.hero__content{position:relative;z-index:2;max-width:760px}.hero__name{font-size:clamp(2.3rem,7vw,4.6rem);margin:.7rem 0 .4rem;background:linear-gradient(120deg,#fff 20%,var(--gold-soft) 60%,var(--arcane-soft));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 60px rgba(212,175,55,.15)}.hero__headline{font-family:var(--font-display);font-size:clamp(1rem,2.5vw,1.45rem);color:var(--gold);letter-spacing:.04em}.hero__sep{margin:0 .6rem;color:var(--text-faint)}.hero__focus{color:var(--text-dim);font-family:var(--font-body);font-weight:300;font-size:.95em}.hero__tagline{margin:1.6rem auto 0;max-width:580px;color:var(--text-dim);font-size:1.05rem}.hero__links{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;margin-top:2.2rem}.hero__btn{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.08em;color:var(--bg-deep);background:linear-gradient(120deg,var(--gold),var(--ember));padding:.8rem 1.6rem;border-radius:30px;font-weight:500;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 6px 24px #d4af3733}.hero__btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px #d4af3759;color:var(--bg-deep)}.hero__btn--ghost{background:#0c0805b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--gold-soft);border:1px solid var(--gold);box-shadow:none}.hero__btn--ghost:hover{background:#d4af372e;color:#fff}.hero__scroll{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-faint)}.hero__scroll-arrow{font-size:1rem;animation:bob 1.8s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.section-heading{text-align:center;margin:0 auto clamp(2.5rem,5vw,4rem);max-width:720px}.section-heading__eyebrow{display:inline-flex;align-items:center;gap:.9rem;margin-bottom:1rem}.section-heading__eyebrow .rune{color:var(--arcane-soft);font-size:.8rem}.section-heading__title{font-size:clamp(2rem,5vw,3.1rem);background:linear-gradient(120deg,var(--text) 30%,var(--gold-soft));-webkit-background-clip:text;background-clip:text;color:transparent}.section-heading__subtitle{margin-top:1rem;color:var(--text-dim);font-size:1.05rem}.timeline{position:relative;padding:1rem 0}.timeline__spine{position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-50%);background:var(--line);border-radius:2px}.timeline__spine-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:top;background:linear-gradient(var(--gold),var(--arcane));box-shadow:0 0 12px #d4af3780}.timeline__row{position:relative;width:50%;padding:1.6rem 2.6rem;box-sizing:border-box}.timeline__row--left{left:0;text-align:right}.timeline__row--right{left:50%;text-align:left}.timeline__node{position:absolute;top:2.4rem;width:16px;height:16px;border-radius:50%;background:var(--ember);border:2px solid var(--bg);box-shadow:0 0 0 3px #d4af374d,0 0 16px #f5b942b3}.timeline__row--left .timeline__node{right:-8px}.timeline__row--right .timeline__node{left:-8px}.timeline__card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;color:var(--text);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}a.timeline__card:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 16px 40px #0006}.timeline__img{position:relative;aspect-ratio:16 / 10;overflow:hidden}.timeline__img img{width:100%;height:100%;object-fit:cover}.timeline__date{position:absolute;top:.8rem;left:.8rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;background:#120d0acc;color:var(--gold);padding:.3rem .7rem;border-radius:20px;border:1px solid var(--line)}.timeline__body{padding:1.2rem 1.4rem 1.4rem}.timeline__body h3{font-size:1.2rem;margin-bottom:.5rem;color:var(--gold-soft)}.timeline__body p{color:var(--text-dim);font-size:.92rem}.timeline__link{display:inline-block;margin-top:.8rem;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;color:var(--arcane-soft)}@media(max-width:760px){.timeline__spine{left:9px}.timeline__row,.timeline__row--left,.timeline__row--right{width:100%;left:0;text-align:left;padding:1rem 0 1rem 2.4rem}.timeline__row--left .timeline__node,.timeline__row--right .timeline__node{left:1px;right:auto}}.medallion{position:relative;flex-shrink:0;border-radius:50%;display:grid;place-items:center}.medallion__ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;padding:2px;background:conic-gradient(from 0deg,var(--gold),var(--arcane),var(--gold));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;box-shadow:0 0 18px #d4af3740}.medallion__inner{position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#fbf6ea,#e7d9bd);display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 0 12px #5a3c1440}.medallion__inner img{width:auto;height:auto;max-width:84%;max-height:62%;object-fit:contain}.jobs{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem;align-items:start}.jobs__line{position:absolute;top:46px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,var(--gold),var(--arcane),var(--gold));opacity:.5;z-index:0}.jobs__bubble{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center}.jobs__card{margin-top:1.2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1rem 1.3rem;width:100%;transition:transform .25s ease,border-color .25s ease}.jobs__bubble:hover .jobs__card{transform:translateY(-4px);border-color:var(--gold)}.jobs__period{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;color:var(--text-faint);display:block;margin-bottom:.5rem;white-space:pre-line}.jobs__card h3{font-size:1rem;color:var(--gold-soft);margin-bottom:.3rem}.jobs__company{font-size:.85rem;color:var(--arcane-soft);margin-bottom:.6rem}.jobs__desc{font-size:.82rem;color:var(--text-dim);line-height:1.55}@media(max-width:900px){.jobs{grid-template-columns:1fr;gap:0}.jobs__line{top:0;bottom:0;left:45px;right:auto;width:2px;height:auto;background:linear-gradient(180deg,var(--gold),var(--arcane),var(--gold))}.jobs__bubble{flex-direction:row;align-items:flex-start;text-align:left;gap:1.2rem;padding-bottom:1.6rem}.jobs__card{margin-top:0}}.edu__degrees{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-bottom:3rem}.edu__degree{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;border-top:2px solid var(--gold)}.edu__level{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--arcane-soft)}.edu__degree h3{font-size:1.1rem;margin:.4rem 0;color:var(--gold-soft)}.edu__inst{color:var(--text);font-size:.9rem}.edu__years{color:var(--text-faint);font-family:var(--font-mono);font-size:.78rem;margin:.2rem 0 .6rem}.edu__focus{color:var(--text-dim);font-size:.86rem}.edu__theses{display:grid;gap:1.6rem;margin-bottom:3rem}.edu__thesis{display:grid;grid-template-columns:minmax(260px,38%) 1fr;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.edu__thesis-img{overflow:hidden;background:#fff;display:grid;place-items:center}.edu__thesis-img img{width:100%;height:100%;object-fit:contain}.edu__thesis-body{padding:1.6rem 1.8rem}.edu__thesis-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.7rem}.edu__tag{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.edu__grade{font-family:var(--font-mono);font-size:.72rem;background:#7c3aed2e;border:1px solid rgba(124,58,237,.4);color:var(--arcane-soft);padding:.25rem .7rem;border-radius:20px}.edu__thesis-body h3{font-size:1.35rem;color:var(--gold-soft)}.edu__subtitle{color:var(--text-dim);font-style:italic;margin:.3rem 0 .9rem;font-size:.95rem}.edu__summary{color:var(--text-dim);font-size:.92rem}.edu__repo{display:inline-block;margin-top:1rem;font-family:var(--font-mono);font-size:.8rem}.edu__courses-title{text-align:center;font-size:1.3rem;color:var(--gold-soft);margin-bottom:1.6rem}.edu__courses-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}.edu__course-group h5{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:.7rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.edu__course-group ul{list-style:none}.edu__course-group li{color:var(--text-dim);font-size:.86rem;position:relative;padding:.3rem 0 .3rem 1rem}.edu__course-group li:before{content:"✦";position:absolute;left:0;color:var(--arcane-soft);font-size:.65rem;top:.5rem}@media(max-width:900px){.edu__degrees,.edu__courses-grid{grid-template-columns:1fr 1fr}.edu__thesis{grid-template-columns:1fr}.edu__thesis-img{aspect-ratio:3 / 2}}@media(max-width:560px){.edu__degrees,.edu__courses-grid{grid-template-columns:1fr}}.projects{display:grid;gap:1.8rem;grid-auto-rows:1fr}.project{display:grid;grid-template-columns:minmax(280px,46%) 1fr;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .25s ease}.project:nth-child(2n){grid-template-columns:1fr minmax(280px,46%)}.project:nth-child(2n) .project__media{order:2}.project:hover{border-color:#d4af3773}.project__media{position:relative;background:var(--bg-deep);display:flex;flex-direction:column}.project__stage{position:relative;width:100%;flex:1;min-height:260px;background:#000}.project__stage img,.project__stage video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.project__thumbs{display:flex;gap:.45rem;padding:.5rem;background:#0000004d;justify-content:center;flex-wrap:wrap}.project__thumb{position:relative;flex:0 0 86px;border:1px solid transparent;border-radius:6px;overflow:hidden;background:none;padding:0;opacity:.55;transition:opacity .2s ease,border-color .2s ease}.project__thumb img{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block}.project__thumb.is-active,.project__thumb:hover{opacity:1;border-color:var(--gold)}.project__play{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:1.1rem;color:#fff;background:#00000059;text-shadow:0 0 8px rgba(0,0,0,.8)}.project__body{padding:1.8rem 2rem}.project__body h3{font-size:1.5rem;color:var(--gold-soft)}.project__tagline{color:var(--arcane-soft);font-style:italic;margin:.3rem 0 1rem;font-size:.95rem}.project__desc{color:var(--text-dim);font-size:.92rem}.project__tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0}.project__tag{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--text-dim);border:1px solid var(--line);padding:.3rem .7rem;border-radius:20px}.project__links{display:flex;gap:1rem;flex-wrap:wrap}.project__link{font-family:var(--font-mono);font-size:.82rem;color:var(--gold);border:1px solid var(--gold);padding:.5rem 1.1rem;border-radius:24px;transition:background .2s ease}.project__link:hover{background:#d4af371f}@media(max-width:820px){.project,.project:nth-child(2n){grid-template-columns:1fr}.project:nth-child(2n) .project__media{order:0}}.about__prose{max-width:880px;margin:0 auto;font-size:1.08rem;color:var(--text-dim);overflow:hidden}.about__prose p{margin-bottom:1.3rem}.about__lead:first-letter{font-family:var(--font-display);font-size:3.4rem;line-height:.78;float:left;margin:.3rem .65rem 0 0;color:var(--gold)}.about__photo{margin:0;background:#f6efe0;padding:.55rem .55rem .45rem;border-radius:6px;box-shadow:0 16px 34px #00000073;border:1px solid rgba(212,175,55,.35);width:44%}.about__photo img{width:100%;object-fit:cover;border-radius:3px;aspect-ratio:4 / 3}.about__photo figcaption{font-family:var(--font-display);font-size:.84rem;text-align:center;color:#4a3a23;padding-top:.45rem;letter-spacing:.02em}.about__photo--right{float:right;clear:both;margin:.2rem 0 1.1rem 1.8rem;transform:rotate(1.6deg)}.about__photo--left{float:left;clear:both;margin:.2rem 1.8rem 1.1rem 0;transform:rotate(-1.8deg)}.charsheet{margin-bottom:2.6rem;background:linear-gradient(160deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;box-shadow:inset 0 0 50px #7c3aed14}.charsheet__head{text-align:center;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1.4rem}.charsheet__class{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--arcane-soft)}.charsheet__head h3{font-size:1.5rem;color:var(--gold-soft);margin-top:.3rem}.charsheet__lvl{color:var(--ember)}.charsheet__stats{display:grid;grid-template-columns:repeat(6,1fr);gap:.9rem}.charsheet__stat{position:relative;background:var(--bg-deep);border:1px solid var(--line);border-radius:10px;padding:.9rem .6rem .7rem;text-align:center;transition:transform .2s ease,border-color .2s ease}.charsheet__stat:hover{transform:translateY(-3px);border-color:var(--gold)}.charsheet__abbr{display:block;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.15em;color:var(--gold)}.charsheet__score{display:block;font-family:var(--font-display);font-size:1.7rem;color:var(--text);line-height:1.1}.charsheet__mod{position:absolute;top:.55rem;right:.7rem;font-family:var(--font-mono);font-size:.72rem;color:var(--arcane-soft)}.charsheet__label{display:block;font-size:.72rem;color:var(--text-faint);margin-top:.25rem}@media(max-width:900px){.charsheet__stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.about__photo--0,.about__photo--1,.about__photo--2,.about__photo--3{float:none;width:78%;margin:1rem auto;display:block}.charsheet__stats{grid-template-columns:repeat(2,1fr)}}.contact{text-align:center;padding-bottom:0}.contact__inner{max-width:640px;padding-bottom:clamp(4rem,9vw,8rem)}.contact__title{font-size:clamp(2.2rem,6vw,3.6rem);margin:.6rem 0 1rem;background:linear-gradient(120deg,var(--gold-soft),var(--arcane-soft));-webkit-background-clip:text;background-clip:text;color:transparent}.contact__text{color:var(--text-dim);font-size:1.05rem;margin-bottom:2.2rem}.contact__cta{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--font-mono);font-size:1.05rem;color:var(--bg-deep);background:linear-gradient(120deg,var(--gold),var(--ember));padding:1rem 2rem;border-radius:40px;font-weight:500;box-shadow:0 8px 30px #d4af374d;transition:transform .2s ease,box-shadow .2s ease}.contact__cta:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 14px 40px #d4af3773;color:var(--bg-deep)}.contact__cta-icon{font-size:1.2rem}.contact__socials{margin-top:1.6rem;display:flex;gap:.8rem;justify-content:center;color:var(--text-faint);font-family:var(--font-mono);font-size:.85rem}.footer{border-top:1px solid var(--line);padding:1.6rem 1.5rem;display:flex;align-items:center;justify-content:center;gap:1.2rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;color:var(--text-faint)}.footer__sigil{color:var(--arcane-soft)}.dice{position:fixed;bottom:1.6rem;right:1.6rem;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:.8rem}.dice__d20{position:relative;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);color:var(--gold);box-shadow:0 6px 20px #00000073;transition:border-color .2s ease,box-shadow .2s ease,color .3s ease,filter .3s ease}.dice__d20:hover{border-color:var(--gold);box-shadow:0 0 22px #d4af3766}.dice__d20.is-crit{color:var(--ember);border-color:var(--ember);box-shadow:0 0 30px #f5b942cc}.dice__d20.is-dead{color:#6c4040;border-color:#963c3c80;filter:grayscale(.5) brightness(.7);box-shadow:0 0 18px #96282866}.dice__num{position:absolute;font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--text);top:52%;transform:translateY(-50%)}.dice__readout{max-width:240px;background:#120d0aeb;border:1px solid var(--line);border-radius:12px;padding:.55rem .9rem;font-family:var(--font-mono);font-size:.82rem;letter-spacing:.03em;color:var(--text-dim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:right}.dice__readout--nat20{border-color:var(--ember);color:var(--ember)}.dice__readout--nat1{border-color:#b43c3c99;color:#e08a8a}.dice__resurrect{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:.86rem;letter-spacing:.04em;color:var(--bg-deep);background:linear-gradient(120deg,var(--gold),var(--ember));border:none;padding:.6rem 1rem;border-radius:30px;white-space:nowrap;box-shadow:0 0 26px #f5b9428c;animation:resurrect-pulse 1.4s ease-in-out infinite}.dice__resurrect:hover{color:var(--bg-deep);filter:brightness(1.08)}.dice__resurrect-rune{color:var(--arcane);font-size:.8rem}@keyframes resurrect-pulse{0%,to{box-shadow:0 0 18px #f5b94273;transform:translateY(0)}50%{box-shadow:0 0 34px #f5b942d9;transform:translateY(-2px)}}.fx-break{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;pointer-events:none}.fx-break__veil{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 42%,#040201b8,#020100e6 70%,#000000f7);animation:veil-flicker .9s steps(2,end) 1}.fx-break.is-healing .fx-break__veil{animation:none;opacity:.2;transition:opacity 1.1s ease}.fx-break__cracks{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.fx-break__cracks path{fill:none;stroke:#eee6d2d9;stroke-width:.35;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px rgba(160,200,255,.5));stroke-dasharray:220;stroke-dashoffset:220;animation:crack-draw .45s ease-out forwards}.fx-break.is-healing .fx-break__cracks{opacity:0;transition:opacity .8s ease}@keyframes crack-draw{to{stroke-dashoffset:0}}@keyframes veil-flicker{0%{opacity:0}18%{opacity:1}30%{opacity:.2}45%{opacity:1}60%{opacity:.5}to{opacity:1}}.fx-crit{position:fixed;top:0;right:0;bottom:0;left:0;z-index:950;pointer-events:none;display:grid;place-items:center}.fx-crit__glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,rgba(245,185,66,.28),transparent 60%);animation:crit-glow 1.6s ease-out forwards}.fx-crit__ring{position:absolute;top:50%;left:50%;width:120vmax;height:120vmax;margin:-60vmax 0 0 -60vmax;border-radius:50%;border:3px solid var(--ember);box-shadow:0 0 30px #f5b942cc;transform:scale(0);will-change:transform,opacity;animation:crit-ring 1.1s cubic-bezier(.2,.7,.3,1) forwards}.fx-crit__ring--2{border-color:var(--arcane-soft);animation-delay:.12s}.fx-crit__sparks{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.fx-crit__spark{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--ember);box-shadow:0 0 10px 2px #f5b942e6;will-change:transform,opacity;animation:crit-spark 1.2s ease-out forwards;animation-delay:var(--d)}.fx-crit__spark.is-arcane{background:var(--arcane-soft);box-shadow:0 0 10px 2px #a674f0e6}.fx-crit__label{position:relative;font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,8vw,5rem);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-soft);text-shadow:0 0 30px rgba(245,185,66,.8),0 0 60px rgba(124,58,237,.5);animation:crit-label 1.8s ease-out forwards}@keyframes crit-glow{0%{opacity:0}25%{opacity:1}to{opacity:0}}@keyframes crit-ring{0%{transform:scale(.02);opacity:.9}to{transform:scale(1);opacity:0}}@keyframes crit-spark{0%{transform:translate(0) scale(0);opacity:1}20%{transform:translate(calc(var(--tx) * .4),calc(var(--ty) * .4)) scale(var(--s));opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(0);opacity:0}}@keyframes crit-label{0%{transform:scale(.6);opacity:0}20%{transform:scale(1.08);opacity:1}70%{transform:scale(1);opacity:1}to{transform:scale(1.04);opacity:0}}@media(max-width:720px){.dice__readout{display:none}.fx-crit__label{font-size:2.2rem}}@media(prefers-reduced-motion:reduce){.fx-break__veil,.fx-break__cracks path,.fx-crit__glow,.fx-crit__ring,.fx-crit__spark,.fx-crit__label,.dice__resurrect{animation:none!important}.fx-break__veil{opacity:.75}.fx-break__cracks path{stroke-dashoffset:0}.fx-crit__glow{opacity:1}.fx-crit__spark{display:none}}.rune-divider{display:flex;align-items:center;justify-content:center;gap:1.2rem;max-width:480px;margin:0 auto;color:var(--gold);opacity:.55}.rune-divider__line{height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.rune-divider__glyph{filter:drop-shadow(0 0 6px rgba(212,175,55,.5));animation:rune-spin 18s linear infinite}@keyframes rune-spin{to{transform:rotate(360deg)}}:root{--bg: #1a1410;--bg-deep: #120d0a;--surface: #241c14;--surface-2: #2c2218;--gold: #d4af37;--gold-soft: #e8c869;--arcane: #7c3aed;--arcane-soft: #a674f0;--ember: #f5b942;--text: #ece3d0;--text-dim: #b6a88f;--text-faint: #7d7363;--line: rgba(212, 175, 55, .18);--font-display: "Cinzel", "Times New Roman", serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--maxw: 1180px;--radius: 14px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-weight:300;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(900px 600px at 12% -5%,rgba(124,58,237,.14),transparent 60%),radial-gradient(800px 600px at 100% 10%,rgba(212,175,55,.1),transparent 55%),radial-gradient(700px 700px at 50% 120%,rgba(124,58,237,.1),transparent 60%)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.15;color:var(--text);letter-spacing:.01em}a{color:var(--gold-soft);text-decoration:none;transition:color .2s ease}a:hover{color:var(--ember)}img{display:block;max-width:100%}section{position:relative;z-index:1;padding:clamp(4rem,9vw,8rem) clamp(1.2rem,5vw,3rem)}.container{max-width:var(--maxw);margin:0 auto}.eyebrow{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);opacity:.85}@media(hover:hover)and (pointer:fine){*{cursor:none!important}}::selection{background:#7c3aed66;color:#fff}html{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}body.is-broken main>*,body.is-healing main>*{--r: 1.3deg}body.is-broken main>*:nth-child(2n),body.is-healing main>*:nth-child(2n){--r: -1.5deg}body.is-broken main>*{animation:page-collapse .7s cubic-bezier(.5,0,.75,1) forwards;will-change:transform}body.is-healing main>*{animation:page-restore .9s cubic-bezier(.2,.7,.3,1) forwards;will-change:transform}body.is-broken:before{opacity:.2;transition:opacity .3s ease}body.is-broken .nav,body.is-healing .nav{-webkit-backdrop-filter:none;backdrop-filter:none}@keyframes page-collapse{to{transform:translateY(48px) rotate(var(--r))}}@keyframes page-restore{0%{transform:translateY(48px) rotate(var(--r))}to{transform:translateY(0) rotate(0)}}
