@layer reset, base, layout, components, responsive;
@layer reset{*{box-sizing:border-box}body,h1,h2,h3,p,figure{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}button{cursor:pointer}a{color:inherit}button:disabled{cursor:not-allowed}ul{padding:0;list-style:none}}
@layer base{
:root{color-scheme:dark;--ink:#100d18;--deep:#17121f;--panel:#211a2b;--gold:#d8b77b;--gold-bright:#f4dca7;--paper:#f3ecdf;--muted:#b7afbe;--line:#ffffff1d;--plum:#6f3d67;--green:#a6d5bb;--max:1320px}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--ink);color:var(--paper);font-family:Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.65;min-width:0}body::before{content:"";pointer-events:none;position:fixed;inset:0;background:radial-gradient(ellipse at 80% 15%,#5c2d5e12,transparent 60%);z-index:-1}h1,h2,h3,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.1;letter-spacing:-.035em}h1{font-size:clamp(2.7rem,5.8vw,5.8rem);white-space:pre-line}h2{font-size:clamp(2.2rem,4vw,4rem);white-space:pre-line}h3{font-size:1.65rem}p{color:var(--muted)}a{text-decoration:none}a:hover{color:var(--gold-bright)}button{color:inherit}::selection{background:var(--plum);color:white}:focus-visible{outline:2px solid var(--gold-bright);outline-offset:5px}button,input,textarea,select{border-radius:0}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:0;left:20px;transform:translateY(-150%);z-index:100;background:var(--gold);color:var(--ink);padding:12px 20px}.skip:focus{transform:none}.eyebrow{display:block;font-size:.69rem;font-weight:650;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}.muted{color:var(--muted)}.small{font-size:.82rem}.caption{font-size:.68rem;letter-spacing:.04em;color:var(--muted);margin-top:12px}.accent{color:var(--gold)}.rule{height:1px;background:linear-gradient(90deg,var(--gold),transparent);width:85px;margin:30px 0}.symbol{font-size:1.65rem;color:var(--gold);line-height:1}.tag{display:inline-block;text-transform:uppercase;font-size:.65rem;letter-spacing:.15em;color:var(--gold);border:1px solid #d8b77b55;padding:5px 10px}.visually-divider{color:#85718c;margin:0 12px}time{color:var(--muted);font-size:.75rem}button:disabled{opacity:.46}input,textarea,select{width:100%;background:#100d18;border:1px solid #75648070;padding:12px 14px;color:var(--paper)}input:hover,textarea:hover,select:hover{border-color:var(--gold)}textarea{resize:vertical;min-height:130px}input:focus,textarea:focus,select:focus{outline:2px solid var(--gold);outline-offset:1px}label{font-size:.82rem;display:block;color:var(--paper)}label>input,label>textarea,label>select{margin-top:7px}.field{margin-bottom:18px}.field .small{display:block;margin-top:6px}.inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}a.text-link{color:var(--gold);border-bottom:1px solid #d8b77b55;padding-bottom:3px}.text-link:hover{border-color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 23px;border:1px solid #d8b77b99;background:transparent;color:var(--gold-bright);font-size:.8rem;font-weight:600;letter-spacing:.04em;transition:background .2s,border-color .2s,transform .2s}.btn:hover{background:#d8b77b12;border-color:var(--gold-bright);color:var(--gold-bright);transform:translateY(-2px)}.btn.primary{background:var(--gold);color:#211424;border-color:var(--gold)}.btn.primary:hover{background:var(--gold-bright)}.btn.subtle{border-color:var(--line);color:var(--muted)}.btn.small-btn{min-height:36px;padding:6px 12px}.btn:disabled:hover{transform:none}.link-button{border:0;padding:0;background:transparent;color:var(--gold);text-align:left}.link-button:hover{text-decoration:underline}.status{padding:15px 18px;border-left:2px solid var(--gold);background:#d8b77b0a;color:var(--muted);font-size:.86rem;line-height:1.65}.status.error{border-color:#dc9d9d;background:#dc9d9d08}.status.success{border-color:var(--green);color:var(--green)}.status:empty{display:none}.empty{padding:35px 0;color:var(--muted)}.loading::before{content:"◇";display:inline-block;margin-right:10px;animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.3}}}
@layer layout{
header{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;position:relative;z-index:20;background:#100d18ef}.header-inner{width:min(calc(100% - 72px),1500px);margin:auto;display:flex;align-items:center;gap:32px}.brand{display:block;flex-shrink:0}.brand img{width:164px;max-height:70px;object-fit:contain}.main-nav{display:flex;gap:25px;align-items:center;margin-left:auto}.main-nav a{font-size:.75rem;color:var(--muted);position:relative;white-space:nowrap}.main-nav a[aria-current=page],.main-nav a:hover{color:var(--paper)}.main-nav a[aria-current=page]::after{content:"";position:absolute;bottom:-33px;height:2px;left:0;right:0;background:var(--gold)}.header-actions{display:flex;align-items:center;gap:18px}.header-actions .btn{min-height:38px;padding:9px 15px;font-size:.69rem}.locale-select{font-size:.7rem;background:none;border:0;padding:6px;width:57px;cursor:pointer;color:var(--muted)}.account-link{font-size:.73rem;white-space:nowrap}.menu-toggle{display:none;background:none;border:1px solid var(--line);font-size:1.3rem;width:42px;height:42px}.container{width:min(calc(100% - 120px),var(--max));margin-inline:auto}.section{padding-block:115px}.section.tinted{background:#21182a66;border-block:1px solid var(--line)}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:center}.split .lead{max-width:480px;margin-top:24px}.lead{font-size:1rem;line-height:1.85;max-width:640px}.hero{min-height:min(810px,calc(100svh - 92px));position:relative;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 68% 50%,#582e4c55,transparent 55%)}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 0%,#100d18e8 28%,#100d18a9 58%,#100d1840),linear-gradient(0deg,var(--ink),transparent 35%);z-index:-1}.hero-landscape{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.28;z-index:-2}.hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;min-height:680px}.hero-copy{position:relative;z-index:2;padding-block:70px}.hero-copy h1{max-width:730px;font-size:clamp(3.1rem,5.3vw,5.5rem)}.hero-copy .lead{max-width:460px;margin-top:30px}.hero-copy .inline{margin-top:38px}.hero-copy .small{margin-top:22px;font-size:.71rem}.hero-dragon{width:760px;max-width:none;position:absolute;right:-160px;top:45%;transform:translateY(-50%) rotate(-5deg);filter:drop-shadow(0 25px 65px #0009);pointer-events:none}.hero-image-note{position:absolute;bottom:24px;right:0;text-align:right;max-width:230px;font-size:.61rem;color:#c9b7c7}.hero-bottom{display:flex;gap:40px;border-block:1px solid var(--line);padding:25px 0}.hero-bottom span{font-size:.72rem;color:var(--muted)}.hero-bottom strong{color:var(--paper);font-weight:400;font-family:Georgia,serif;font-size:1.6rem;margin-right:10px}.page-head{padding:90px 0 65px;position:relative;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 80% 5%,#60315c33,transparent 65%)}.page-head h1{max-width:1000px}.page-head p{margin-top:26px;max-width:620px}.page-head .tag{margin-bottom:22px}.page-content{padding-block:65px 110px;min-height:390px}.frame{position:relative;padding:13px;border:1px solid #d8b77b44;background:#211829}.frame::after,.frame::before{content:"";position:absolute;width:28px;height:28px;border-color:var(--gold);pointer-events:none}.frame::before{border-left:1px solid;border-top:1px solid;top:-1px;left:-1px}.frame::after{border-right:1px solid;border-bottom:1px solid;bottom:-1px;right:-1px}.frame img{width:100%;aspect-ratio:1.38;object-fit:cover}.image-reveal{background:#302036;overflow:hidden}.world-image img{object-position:53% center}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:50px}.section-heading p{max-width:430px}.region-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-block:1px solid var(--line);margin-top:55px}.region{padding:30px 24px;border-right:1px solid var(--line)}.region:first-child{padding-left:0}.region:last-child{border-right:0}.region h3{font-size:1.3rem;margin:15px 0}.region p{font-size:.82rem}.region-index{font-size:.65rem;color:var(--gold);letter-spacing:.13em}.dragon-feature{position:relative;min-height:470px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:20px}.dragon-feature::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 35% 50%,#75395130,transparent 60%);pointer-events:none}.dragon-feature img{width:100%;filter:drop-shadow(0 20px 30px #000a)}.dragon-feature .lead{margin-block:22px 30px}.dragon-lineup{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-top:65px}.dragon-card{border-top:1px solid #d8b77b55;padding-block:25px;min-width:0}.dragon-card img{width:100%;aspect-ratio:1.5;object-fit:contain;transition:transform .3s}.dragon-card:hover img{transform:translateY(-8px)}.dragon-card h3{font-size:1.25rem;line-height:1.3;margin:18px 0 10px}.dragon-card p{font-size:.74rem}.stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:60px}.stages article{padding-top:28px;border-top:1px solid var(--line)}.stages h3{font-size:1.5rem;margin-bottom:18px}.stages p{font-size:.9rem}.blue-stars{color:#88d8ef;letter-spacing:.14em}.violet-stars{color:#bf92e1;letter-spacing:.14em}.star-line{font-size:1.4rem;margin-bottom:15px}.class-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.class-row{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(0,1fr);gap:25px;align-items:center;padding:35px 0;border-bottom:1px solid var(--line)}.class-row .number{font-family:Georgia,serif;font-size:2.2rem;color:#735b78}.class-row h3{font-size:2rem}.class-row p{font-size:.9rem;max-width:450px}.class-row .tag{margin-top:12px}.class-teaser{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.class-teaser a{border-top:1px solid #d8b77b66;padding-top:25px}.class-teaser h3{font-size:1.3rem;line-height:1.3;margin-top:22px}.class-teaser p{font-size:.75rem;margin-top:10px}.full-image{margin-top:65px}.full-image img{width:100%;object-fit:cover;max-height:740px}.cta-section{text-align:center;background:radial-gradient(ellipse at 50% 100%,#66315b44,transparent 70%);border-top:1px solid var(--line)}.cta-section p{margin:25px auto 35px;max-width:530px}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:80px;align-items:start}.surface{border:1px solid var(--line);padding:38px;background:linear-gradient(125deg,#281f3180,#17121f)}.surface h2{font-size:2rem;margin-bottom:24px}.surface h3{margin-bottom:20px}.surface>p{margin-bottom:24px}.surface .status{margin-block:20px}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 22px}.span2{grid-column:1/-1}.form-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:22px}.side-intro p{margin-bottom:28px}.side-intro .btn{margin-top:10px}.tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line);gap:22px;margin-bottom:30px}.tab{padding:10px 0 13px;border:0;background:none;color:var(--muted);font-size:.82rem}.tab[aria-selected=true]{border-bottom:2px solid var(--gold);color:var(--paper)}.providers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.providers .btn{font-size:.72rem;padding:12px}.providers small{display:block;font-size:.6rem}.account-box{max-width:680px;margin:auto}.account-summary{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:40px}.account-summary h2{font-size:2rem;margin-block:8px}.characters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-top:25px}.character{padding:28px;border:1px solid var(--line);background:#211a2b55}.character h3{margin-bottom:8px}.stat-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:24px}.stat-list dt{font-size:.7rem;color:var(--muted)}.stat-list dd{margin:0;color:var(--gold);font-size:1.1rem}.news-list{display:grid;gap:35px}.news-article{border-bottom:1px solid var(--line);padding-bottom:35px}.news-article h2{font-size:2.3rem;margin:15px 0}.news-article .lead{max-width:800px}.article-body{white-space:pre-wrap;max-width:820px;line-height:1.9;margin-top:24px;color:var(--muted);overflow-wrap:anywhere}.news-article details summary{cursor:pointer;color:var(--gold);font-size:.8rem;list-style:revert}.news-article details{margin-top:20px}.faq{margin-top:60px;border-top:1px solid var(--line)}.faq details{padding:22px 0;border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-family:Georgia,serif;font-size:1.25rem}.faq details p{margin-top:16px;max-width:700px;font-size:.9rem}.download-row{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.download-row h3{font-size:1.2rem}.download-row p{font-size:.75rem}.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:40px}.admin-item{padding:20px 0;border-bottom:1px solid var(--line)}.admin-item h3{font-size:1.4rem}.admin-item .inline{margin-top:15px}.locale-fields{border:1px solid var(--line);padding:20px;margin-bottom:20px}.locale-fields legend{color:var(--gold);font-size:.8rem;padding:0 10px}.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:40px}.overview-grid div{padding:20px;border:1px solid var(--line)}.overview-grid strong{display:block;color:var(--gold);font-family:Georgia,serif;font-size:2rem}.overview-grid span{font-size:.75rem;color:var(--muted)}footer{border-top:1px solid var(--line);padding:60px 0 28px;background:#0c0a12}.footer-top{display:flex;justify-content:space-between;gap:50px;align-items:start}.footer-brand img{width:190px;margin-bottom:18px}.footer-brand p{font-family:Georgia,serif;max-width:260px;font-size:1.1rem;color:var(--muted)}.footer-links{display:flex;gap:60px}.footer-links div{display:flex;flex-direction:column;gap:12px;font-size:.8rem;color:var(--muted)}.footer-bottom{margin-top:55px;border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;gap:25px;font-size:.66rem;color:#94869d}.footer-bottom p{max-width:480px}}
.check-label{display:flex;gap:12px;align-items:flex-start;font-size:.78rem;line-height:1.6}.check-label input{width:18px;height:18px;margin-top:3px;flex:none;accent-color:var(--gold)}
@layer responsive{
@media(min-width:1600px){.hero-dragon{width:850px;right:-120px}}@media(max-width:1200px){.main-nav{gap:16px}.header-inner{gap:22px;width:calc(100% - 45px)}.main-nav a{font-size:.67rem}.brand img{width:135px}.header-actions{gap:12px}.container{width:calc(100% - 80px)}.hero-dragon{right:-160px;width:660px}.hero-copy h1{font-size:4.5rem}.split{gap:40px}.form-layout{gap:45px}.region{padding:25px 15px}.dragon-lineup{gap:16px}.dragon-card h3{font-size:1.1rem}}
@media(max-width:1000px){header{height:78px}.main-nav{display:none;position:absolute;left:0;right:0;top:78px;background:#17121ffb;padding:28px 40px;border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.main-nav.open{display:grid}.main-nav a{font-size:.9rem}.main-nav a[aria-current=page]::after{bottom:-5px}.header-actions{margin-left:auto}.menu-toggle{display:block}.hero-inner{min-height:650px}.hero-copy h1{font-size:3.7rem}.hero-copy .lead{max-width:370px;font-size:.95rem}.hero-dragon{right:-180px;width:620px;opacity:.8}.hero-copy{max-width:600px}.section{padding-block:80px}.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px}.region-list{grid-template-columns:repeat(3,minmax(0,1fr))}.region:nth-child(3){border:0}.region:first-child{padding-left:15px}.dragon-lineup{grid-template-columns:repeat(3,minmax(0,1fr))}.class-teaser{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.form-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:35px}.surface{padding:28px}.admin-layout{grid-template-columns:minmax(0,1fr)}.class-row{grid-template-columns:45px minmax(0,1fr) minmax(0,1fr);gap:18px}.class-row h3{font-size:1.6rem}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.header-inner{width:calc(100% - 32px);gap:15px}.brand img{width:126px}.header-actions{gap:10px}.header-actions>.btn{display:none}.account-link{font-size:.72rem}.locale-select{width:49px;padding-left:0}.main-nav{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:25px 22px}.hero{min-height:auto}.hero-inner{display:block;min-height:790px;padding-top:0}.hero-copy{padding-block:55px 330px}.hero-copy h1{font-size:clamp(2.8rem,10.4vw,4.2rem);max-width:550px}.hero-copy .lead{max-width:370px;margin-top:22px;font-size:.91rem}.hero-copy .inline{gap:15px;margin-top:26px}.hero-copy .small{max-width:260px}.hero-dragon{top:auto;bottom:-15px;right:-35px;transform:rotate(-5deg);width:460px;max-width:115vw;opacity:1}.hero-image-note{bottom:12px;right:auto;left:0;text-align:left;max-width:170px}.hero-landscape{object-position:55%}.hero-bottom{gap:22px;flex-wrap:wrap;padding:18px 0}.hero-bottom strong{font-size:1.4rem}.hero-bottom span{font-size:.62rem}.section{padding-block:65px}.split{grid-template-columns:minmax(0,1fr);gap:40px}.section-heading{display:block;margin-bottom:35px}.section-heading p{margin-top:25px}.section-heading>.text-link{display:inline-block;margin-top:20px}.region-list{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:35px}.region{padding:22px 16px}.region:nth-child(3){border-right:1px solid var(--line)}.region:nth-child(2n){border:0}.region:last-child{grid-column:1/-1;border-top:1px solid var(--line)}.dragon-feature{grid-template-columns:minmax(0,1fr);gap:0}.dragon-feature img{max-width:500px;margin:auto}.dragon-feature>div{padding-top:10px}.dragon-lineup{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:45px}.dragon-card h3{font-size:1.2rem}.dragon-card:last-child{grid-column:1/-1;max-width:300px;margin:auto;width:100%}.stages{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:35px}.stages article{padding-top:25px}.class-teaser{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 20px}.class-teaser h3{font-size:1.25rem}.class-list{margin-top:0}.class-row{grid-template-columns:30px minmax(0,1fr);padding:28px 0;gap:12px 18px}.class-row p{grid-column:2}.class-row .number{font-size:1.5rem}.class-row h3{font-size:1.8rem}.page-head{padding-block:55px 40px}.page-head h1{font-size:clamp(2.7rem,9vw,4.5rem)}.page-content{padding-block:40px 70px}.form-layout{grid-template-columns:minmax(0,1fr);gap:35px}.form-grid{grid-template-columns:minmax(0,1fr)}.span2{grid-column:auto}.surface{padding:24px 20px}.form-actions{align-items:stretch;flex-direction:column}.form-actions .btn{width:100%}.form-actions .link-button{padding-block:8px}.providers{grid-template-columns:minmax(0,1fr)}.characters{grid-template-columns:minmax(0,1fr)}.account-summary{align-items:start;flex-direction:column}.overview-grid{grid-template-columns:minmax(0,1fr)}.full-image{margin-top:35px}.full-image img{min-height:250px;object-fit:cover}.footer-top{flex-direction:column;gap:35px}.footer-links{width:100%;gap:40px;justify-content:space-between}.footer-links div{gap:14px}.footer-bottom{flex-direction:column;margin-top:35px;gap:12px}.news-article h2{font-size:2rem}.download-row{align-items:start}.download-row .btn{padding-inline:12px}.tabs{gap:16px}.tab{font-size:.75rem}.hero-copy .inline>.text-link{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.btn:hover{transform:none}.dragon-card:hover img{transform:none}}
}

/* Explicit spacing utilities: compatible with style-src self. */
.dragon-stage-label{min-height:38px;font-size:.67rem!important;line-height:1.5;color:var(--muted)}
.dragon-variant-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;margin-top:15px}
.dragon-variant-controls button{border:1px solid var(--line);background:#211a2b66;min-height:72px;padding:5px;color:var(--muted);font-size:.66rem;transition:border-color .2s,background .2s}
.dragon-variant-controls button[aria-pressed=true]{border-color:var(--gold);color:var(--paper);background:#d8b77b10}
.dragon-variant-controls button:hover{border-color:var(--gold-bright)}
.dragon-variant-controls button img{width:100%;height:48px;object-fit:contain;aspect-ratio:auto;margin:0}
.dragon-card:hover .dragon-variant-controls img{transform:none}
.spacing-1{margin-bottom:20px}
.spacing-2{margin-top:12px}
.spacing-3{margin-top:20px}
.spacing-4{margin-top:25px}
.spacing-5{margin-top:30px}
.spacing-6{margin-top:35px}
.spacing-7{margin-top:65px}
.auth-switch{display:flex;flex-wrap:wrap;gap:24px;border-bottom:1px solid var(--line);margin-bottom:26px}
.auth-switch .tab[aria-pressed=true]{border-bottom:2px solid var(--gold);color:var(--paper)}
.auth-links{display:flex;flex-direction:column;align-items:flex-start;gap:14px;border-top:1px solid var(--line);padding-top:24px;margin-top:26px;font-size:.82rem}
.form-result .btn{display:flex;width:fit-content;max-width:100%}

/* R04: content is allowed to shrink at its actual CSS viewport width. */
@layer responsive {
  main,section,article,figure,fieldset,.container,.surface {min-width:0;max-width:100%}
  .split>*,.hero-inner>*,.dragon-feature>*,.dragon-lineup>*,.class-row>*,.class-teaser>*,.form-layout>*,.form-grid>*,.admin-layout>*,.characters>*,.overview-grid>*,.footer-top>*,.footer-links>*,.header-inner>* {min-width:0}
  h1,h2,h3,p,a,button,label,legend,time,.eyebrow,dt,dd {overflow-wrap:anywhere}
  .dragon-feature>img,.dragon-card>img {max-width:100%;height:auto}
  .hero-dragon {height:auto}
  input,textarea,select,fieldset {min-width:0;max-width:100%}
  @media(max-width:700px) {
    .header-inner {gap:12px}
    .header-actions {min-width:0;gap:8px}
    .account-link,.locale-select,.menu-toggle {flex-shrink:0}
    .hero-dragon {width:min(100%,420px);max-width:100%;right:0;bottom:10px;transform:none}
    .hero-inner {min-height:0}
    .hero-copy {padding-bottom:260px}
    .hero-image-note {bottom:0}
    .dragon-feature {min-height:0;row-gap:28px}
    .dragon-feature>img {width:100%;max-width:420px}
    .footer-links {flex-wrap:wrap;gap:28px}
  }
}

/* Legal notices remain readable and wrap verified identifiers on small screens. */
.legal-copy{max-width:76ch;margin-inline:auto}.legal-section{margin-block:0 2.75rem}.legal-section h2{font-size:clamp(1.35rem,3vw,1.9rem);margin-bottom:1rem}.legal-section h3{margin-block:1.5rem .6rem}.legal-section p{line-height:1.85;overflow-wrap:anywhere}.legal-copy a,.data-notice a{text-decoration:underline;text-underline-offset:.2em}.legal-details{margin-block:1.5rem}.legal-details>div{display:grid;grid-template-columns:minmax(7rem,1fr) minmax(0,2fr);gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.legal-details dt{color:var(--muted)}.legal-details dd{margin:0;overflow-wrap:anywhere}.legal-crosslinks{line-height:2;overflow-wrap:anywhere}.data-notice{margin-block:0 1.5rem;padding:1rem;border-left:2px solid var(--gold);line-height:1.7}.required-label{font-size:.8em;font-weight:400}@media(max-width:420px){.legal-details>div{grid-template-columns:1fr;gap:.3rem}}

/* Actual class skill lists; no unverified class illustrations. */
.class-row h2{font-size:clamp(1.5rem,3vw,2.15rem);margin-bottom:.65rem}.class-skills{grid-column:2/-1;min-width:0}.class-skills>h3{font-family:inherit;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}.class-skills ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.class-skills li{min-width:0;padding:1.25rem;border:1px solid var(--line);background:#211a2b55}.class-skills h4{font-size:1.2rem;font-family:Georgia,serif;line-height:1.35;margin-bottom:.8rem;overflow-wrap:anywhere}.class-skills li p{font-size:.83rem;line-height:1.8;overflow-wrap:anywhere}@media(max-width:900px){.class-skills ul{grid-template-columns:1fr}}@media(max-width:600px){.class-skills{grid-column:1/-1}.class-skills li{padding:1.15rem}}

/* HomeHeroR01: show the approved Refuge as a framed scene, with a contained dragon. */
.hero{min-height:0;padding-block:24px;background:radial-gradient(ellipse at 77% 50%,#582e4c38,transparent 58%)}
.hero::before{background:linear-gradient(90deg,#100d18 0%,#100d18e8 33%,#100d1830 72%),linear-gradient(0deg,#100d18,transparent 35%)}
.hero-landscape{inset:auto;right:max(60px,calc((100% - 1320px)/2));top:50%;transform:translateY(-50%);width:min(46vw,610px);height:auto;aspect-ratio:1651/1030;object-fit:contain;object-position:50% 50%;opacity:.74;z-index:0;border:1px solid #d8b77b55;box-shadow:0 18px 60px #0005}
.hero-inner{min-height:500px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;z-index:1}
.hero-copy{padding-block:40px}
.hero-copy h1{max-width:590px;font-size:clamp(3rem,4.3vw,4.2rem)}
.hero-copy .lead{margin-top:24px;max-width:450px}
.hero-copy .inline{margin-top:28px}
.hero-copy .small{margin-top:18px}
.hero-dragon{width:min(37vw,490px);max-width:100%;right:4px;top:52%;transform:translateY(-50%) rotate(-3deg);filter:drop-shadow(0 16px 30px #0008)}
.hero-image-note{bottom:18px;right:0;max-width:280px}
@media(max-width:1000px) and (min-width:701px){.hero-inner{min-height:470px;gap:30px}.hero-landscape{right:40px;width:44vw}.hero-copy h1{font-size:3rem}.hero-dragon{width:41vw;right:0}.hero-copy .lead{font-size:.91rem}}
@media(max-width:700px){.hero{padding-block:0}.hero::before{background:radial-gradient(ellipse at 75% 85%,#582e4c33,transparent 60%)}.hero-inner{display:block;min-height:0}.hero-copy{max-width:none;padding-block:40px 260px}.hero-copy h1{font-size:clamp(2.5rem,11.5vw,2.8rem)}.hero-copy .lead{margin-top:22px}.hero-copy .inline{margin-top:26px}.hero-landscape{width:min(calc(100% - 40px),300px);right:50%;top:auto;bottom:48px;transform:translateX(50%);opacity:.63}.hero-dragon{width:min(78%,260px);right:50%;top:auto;bottom:60px;transform:translateX(50%)}.hero-image-note{right:0;bottom:12px;max-width:100%;font-size:.58rem}}
