@charset "UTF-8";
:root{--bg:#080d0c;--panel:#101916;--line:#263a32;--text:#e6e9df;--muted:#a0b1a7;--green:#94cfac;--accent:#356c50}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #b3f7ce;outline-offset:5px}button{border:0}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.16}h2{font-size:clamp(30px,3.2vw,45px)}h3{font-size:29px}p+p{margin-top:16px}.skip{position:fixed;left:12px;top:-100px;padding:12px;background:var(--green);color:#08130c;z-index:100}.skip:focus{top:12px}.preview{text-align:center;background:#15271f;color:#b4cdbd;font-size:12px;padding:8px 16px;letter-spacing:.03em}.preview span{margin:0 12px}.preview a{text-decoration:underline;text-underline-offset:3px}.header{display:flex;align-items:center;gap:30px;max-width:1360px;padding:18px 40px;margin:auto}.brand{display:flex;align-items:center;gap:10px;font:20px Georgia,serif;letter-spacing:.12em;white-space:nowrap}.brand img{width:52px;height:52px;object-fit:contain}.brand small{display:block;font:9px system-ui;letter-spacing:.29em;color:var(--muted);margin-top:7px}.header nav{display:flex;gap:30px;margin-left:auto;font-size:13px;color:#c0ccc3}.header nav a:hover{color:var(--green)}.login{background:none;border:1px solid #446351;padding:9px 17px;font-size:13px}.login span{margin-left:16px;color:var(--green)}.menu-toggle{display:none}.hero{position:relative;max-width:1440px;margin:auto;min-height:680px;overflow:hidden;background:#0b1411;border-bottom:1px solid var(--line)}.hero-art{width:100%;aspect-ratio:2.5;object-fit:cover;object-position:center top;mask-image:linear-gradient(#000 72%,transparent)}.hero-content{position:relative;margin:-38px 8% 50px;max-width:670px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.2em;color:var(--green);margin-bottom:17px}h1{font-size:clamp(42px,5vw,70px);letter-spacing:-.035em}.hero-content>p:not(.eyebrow){color:var(--muted);max-width:490px;margin-top:20px;font-size:15px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:13px 21px;font-size:12px;font-weight:600;border:1px solid #46624e;background:transparent;min-height:46px}.primary{background:#315c43;color:#eff9ee;border-color:#588267}.primary:hover{background:#3c7252}.secondary:hover{background:#17251c}.hero-foot{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:20px 8%;font-size:9px;letter-spacing:.15em;color:var(--muted)}.hero-foot a{margin-left:auto;font-size:11px;letter-spacing:0}.dot{background:var(--green);width:5px;height:5px;border-radius:50%;box-shadow:0 0 9px #73c596}.section{max-width:1210px;padding:75px 40px;margin:auto;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}.quiet{color:var(--muted);font-size:12px}.news-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}.featured{background:var(--panel);border:1px solid var(--line);overflow:hidden}.featured>img{width:100%;aspect-ratio:2.4;object-fit:cover}.featured-copy{padding:28px 32px}.tag{font-size:9px;letter-spacing:.12em;color:var(--green);margin-bottom:14px}.tag span{margin:0 7px}.featured-copy>p:not(.tag){font-size:13px;color:var(--muted);margin-top:14px;max-width:480px}.text-link{padding:0;background:none;color:var(--green);font-size:12px;margin-top:22px}.text-link span{margin-left:16px}.development{padding:32px;background:linear-gradient(135deg,#16231c,#0d1512);border:1px solid var(--line)}.development>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:16px}.roadmap{padding:0;list-style:none;margin:28px 0 0}.roadmap li{display:flex;gap:16px;align-items:center;padding:17px 0;border-top:1px solid var(--line)}.step{font:15px Georgia;color:#8b9c90;border:1px solid var(--line);width:35px;height:35px;display:grid;place-items:center;flex-shrink:0}.step.done{color:#b0e8bf;border-color:#5b7f62}.roadmap strong{font-size:13px;font-weight:500}.roadmap small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.worlds{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.world-grid article{position:relative;background:linear-gradient(145deg,#14231b,#0c1310);border:1px solid var(--line);padding:35px 27px;overflow:hidden}.world-number{position:absolute;right:18px;top:15px;font:80px Georgia;color:#26392c;line-height:1}.world-grid .eyebrow,.world-grid h3{position:relative}.world-grid article>p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:22px}.world-state{display:block;font-size:10px;color:#b5c7b7;border-top:1px solid var(--line);margin-top:26px;padding-top:16px}.badge{font-size:10px;padding:7px 13px;border:1px solid var(--line);color:var(--muted)}.sentinel-grid{display:grid;grid-template-columns:1.35fr 1fr;border:1px solid var(--line)}.calendar{padding:27px;background:#101813}.calendar-controls{display:flex;gap:12px;align-items:center;margin-bottom:25px}.calendar-controls h3{font:21px Georgia;text-transform:capitalize;flex:1}.calendar-controls button{background:#19291e;border:1px solid #314736;padding:5px 12px;min-height:36px;font-size:18px}.calendar-controls #today{font-size:11px}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.weekdays{font-size:9px;color:var(--muted);padding-bottom:10px}.calendar-days>span{display:grid;place-items:center;min-height:43px;border-top:1px solid #1d2c22;font-size:12px}.calendar-days .current{background:#254b35;color:#e7f7e8;box-shadow:inset 0 0 0 1px #5b9b6f}.calendar-days .weekend{color:#99baa2}.event-empty{padding:40px;border-left:1px solid var(--line);background:radial-gradient(at top right,#1b3023,transparent 80%)}.compass{font-size:36px;color:#8ba98e;display:block;margin-bottom:12px}.event-empty>p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:19px}.community{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;border-top:1px solid var(--line);padding-top:45px}.community>img{width:100%;max-width:400px;justify-self:center}.community p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:23px}.community .button{margin-top:26px}footer{max-width:1280px;margin:auto;border-top:1px solid var(--line);padding:32px 40px;display:flex;align-items:center;flex-wrap:wrap;gap:15px 30px;font-size:11px;color:var(--muted)}.footer-brand{font:18px Georgia;letter-spacing:.13em;color:var(--text)}footer>a:last-of-type{margin-left:auto}footer small{width:100%;font-size:10px;color:#85968a}dialog{max-width:620px;width:calc(100% - 32px);padding:45px;background:#111e17;color:var(--text);border:1px solid #5c7b64;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#020805d9;backdrop-filter:blur(5px)}dialog h2{font-size:34px;margin-bottom:24px}dialog p:not(.eyebrow){font-size:14px;color:#c0cec3}dialog .button{margin-top:25px}.dialog-close{position:absolute;top:10px;right:15px;background:none;font-size:28px;min-width:36px;min-height:36px}body:has(dialog[open]){overflow:hidden}
@media(min-width:1500px){.hero{border-left:1px solid var(--line);border-right:1px solid var(--line)}}
@media(max-width:900px){.header{padding:15px 24px;gap:16px}.header nav{gap:17px}.brand{font-size:17px}.brand img{width:40px;height:40px}.login{font-size:11px;padding:8px 11px}.hero-content{margin-top:0}.section{padding:55px 25px}.news-grid{grid-template-columns:1.2fr 1fr}.featured-copy,.development{padding:25px}.world-grid{gap:12px}.world-grid article{padding:28px 20px}.world-grid h3{font-size:25px}.community{gap:30px}.sentinel-grid{grid-template-columns:1.3fr 1fr}.calendar{padding:20px}.event-empty{padding:28px}.hero{min-height:0}}
@media(max-width:650px){html{scroll-padding-top:20px}.preview{font-size:10px}.preview span{margin:0 4px}.header{flex-wrap:wrap;padding:14px 18px;gap:14px}.brand{margin-right:auto;font-size:16px}.brand small{font-size:8px}.menu-toggle{display:block;background:none;font-size:12px;padding:8px}.menu-toggle span{margin-left:5px}.login{padding:7px 10px}.login span{margin-left:6px}.header nav{display:none;order:4;width:100%;margin:0;padding:12px 0;justify-content:space-between;gap:10px;font-size:12px}.header nav.open{display:flex}.hero-art{aspect-ratio:1.8;object-fit:cover}.hero-content{margin:10px 24px 32px}.hero-content .eyebrow{font-size:9px}h1{font-size:43px}.hero-content>p:not(.eyebrow){font-size:13px}.actions{gap:10px}.button{font-size:11px;padding:12px 16px;gap:15px}.hero-foot{padding:17px 24px;font-size:8px;letter-spacing:.08em;flex-wrap:wrap}.hero-foot a{font-size:10px}.section{padding:45px 20px}.section-heading{align-items:start;flex-direction:column;gap:13px;margin-bottom:24px}.eyebrow{font-size:9px;margin-bottom:13px}.news-grid,.world-grid,.sentinel-grid,.community{grid-template-columns:1fr}.featured-copy{padding:24px}.featured h3{font-size:28px}.development{padding:25px}.world-grid{gap:16px}.world-grid h3{font-size:30px}.world-grid article{padding:28px}.world-state{margin-top:20px}.event-empty{border-left:0;border-top:1px solid var(--line);padding:28px}.calendar-controls{gap:8px}.calendar-controls h3{font-size:19px}.calendar-controls button{padding:4px 10px}.community{gap:15px}.community>img{max-width:265px}.community h2{font-size:32px}.community p:not(.eyebrow){margin-top:18px}footer{padding:28px 20px;gap:12px}footer>span{width:100%}footer>a:last-of-type{margin-left:0}dialog{padding:35px 25px}dialog h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Dedicated public pages and expanded navigation. */
.header{max-width:1440px;gap:22px}.header nav{gap:23px}.header nav a[aria-current=page]{color:var(--green);box-shadow:0 2px var(--green);padding-bottom:6px}.page-title{font-size:clamp(34px,4vw,52px);letter-spacing:-.025em}.page-intro{font-size:14px;color:var(--muted);margin-top:20px;max-width:620px}.empty-panel{border:1px solid var(--line);background:linear-gradient(130deg,#16261d,#0c1410);padding:45px;min-height:270px}.empty-panel>p{max-width:580px;font-size:14px;color:var(--muted);margin-top:20px}.empty-panel .button,.development .button{margin-top:25px}.reading{max-width:890px}.reading>p:not(.eyebrow){color:#bdccc1;font-size:16px;margin-top:25px;max-width:720px}.reading .button{margin-top:30px}.back-link{display:inline-block;font-size:12px;color:var(--green);margin-bottom:34px}.article-image{width:100%;margin-top:32px;border:1px solid var(--line)}main{min-height:65vh}.text-link{display:inline-block}.home-hero .hero-content{max-width:720px}.community .page-title{font-size:clamp(32px,3.4vw,46px)}
@media(max-width:1050px){.header{flex-wrap:wrap;padding:15px 24px;gap:15px}.header .brand{margin-right:auto}.menu-toggle{display:block;background:none;font-size:12px;padding:8px}.menu-toggle span{margin-left:6px}.header nav{display:none;order:4;width:100%;margin:0;padding:12px 0;gap:20px;flex-wrap:wrap}.header nav.open{display:flex}.header nav a{padding:8px 0}.header nav a[aria-current=page]{padding-bottom:8px}}
@media(max-width:650px){.header{padding:14px 18px;gap:12px}.header nav{justify-content:flex-start;gap:8px 22px}.header nav a{font-size:13px}.empty-panel{padding:27px}.page-intro{font-size:13px}.reading>p:not(.eyebrow){font-size:14px}.home-hero .hero-content{margin-top:10px}.page-title{font-size:35px}.community .page-title{font-size:32px}}

/* Application form. */
.application-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:40px;align-items:start}.application-intro{font-size:14px;color:var(--muted);margin-bottom:30px}.application-fields{border:0;padding:0;margin:0;min-width:0}.question{border:1px solid var(--line);background:#101a14;margin:0 0 18px;padding:24px;min-width:0}.question>label,.question>legend{font-size:14px;font-weight:600;line-height:1.6}.question>legend{float:left;width:100%;padding:0;margin-bottom:12px}.question>legend+*{clear:both}.question label>span[aria-hidden],.question legend>span{color:var(--green)}.question input[type=text],.question textarea{width:100%;margin-top:12px;padding:12px;background:#09110d;color:var(--text);font:14px/1.6 system-ui;border:1px solid #45634d;border-radius:0}.question textarea{resize:vertical;min-height:110px}.field-help{font-size:11px;color:var(--muted);display:block;margin:9px 0 0}.choices{display:grid;gap:10px;margin-top:12px}.choice{display:flex;gap:12px;align-items:flex-start;font-size:13px;cursor:pointer;padding:7px 0}.choice input{flex:none;accent-color:#6aa87d;width:17px;height:17px;margin:3px 0}.question input:focus-visible,.question textarea:focus-visible{outline:2px solid var(--green);outline-offset:3px}.application-aside{padding:30px;border:1px solid var(--line);background:#132018;position:sticky;top:25px}.application-aside h2{font-size:28px}.application-aside p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:20px}.application-aside .button{margin-top:25px}.submission{border-top:1px solid var(--line);padding-top:24px}.submission p{font-size:13px;color:var(--green);margin-bottom:18px}.button:disabled{opacity:.5;cursor:not-allowed}.sr-only,.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.application-fields:disabled{opacity:.6}
@media(max-width:800px){.application-layout{grid-template-columns:1fr}.application-aside{position:static}.question{padding:20px}}
.button[hidden]{display:none}

/* Rules precede the application; revisiting them preserves entered answers. */
.rules-step{max-width:850px;margin:auto}.rules-step[hidden],.application-layout[hidden]{display:none!important}.rules-step h2{font-size:clamp(28px,3vw,40px)}.rules-intro{color:var(--muted);font-size:14px;margin-top:20px}.rules-content{margin:30px 0;border:1px solid var(--line);background:#101a14;padding:35px;color:#c6d2c9;font-size:14px;overflow-wrap:anywhere}.rules-content h3{color:var(--text);font-size:26px;margin:35px 0 18px}.rules-content p{margin:15px 0}.rules-content ul{padding-left:22px;margin:18px 0}.rules-content li{margin:10px 0;padding-left:5px}.rules-content li::marker{color:var(--green)}.rules-confirmation{border-top:1px solid var(--line);padding:24px 0}.rules-confirmation .choice{font-size:14px}.rules-confirmation .button{margin-top:20px}.application-step-heading{margin-bottom:22px}.application-step-heading .text-link{margin-top:0}.rules-confirmation noscript{display:block;margin-top:15px;color:var(--muted)}
@media(max-width:650px){.rules-content{padding:23px;font-size:13px}.rules-content h3{font-size:23px}.rules-confirmation .button{width:100%;gap:10px;padding:13px 10px}}

/* Guild identity at the start of the rules. */
.rules-guild-intro{display:grid;grid-template-columns:165px minmax(0,1fr);gap:28px;align-items:center;margin-bottom:26px}.rules-guild-logo{width:165px;height:165px;object-fit:contain;border-radius:50%}.rules-content .rules-motto{font:italic 21px/1.45 Georgia,serif;color:var(--green);margin:0 0 17px}.rules-content .rules-description{margin:0;line-height:1.85}.rules-facts{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 0}.rules-facts>div{display:flex;gap:9px;align-items:center;background:#192b20;border:1px solid #38533f;padding:7px 13px;font-size:12px}.rules-facts dt{color:var(--muted)}.rules-facts dd{margin:0;font-weight:600;color:var(--text)}.rules-content .rules-scope{border-top:1px solid var(--line);padding-top:24px;margin:0 0 28px;color:var(--muted);font-size:13px}
@media(max-width:650px){.rules-guild-intro{grid-template-columns:1fr;gap:20px}.rules-guild-logo{width:145px;height:145px;justify-self:center}.rules-content .rules-motto{font-size:20px}.rules-facts{gap:10px}.rules-facts>div{padding:7px 11px}.rules-content .rules-scope{font-size:12px}}

/* Shared banner and a continuous straight iron frame around each document. */
body{background:#040806}.site-shell{position:relative;isolation:isolate;max-width:1500px;min-height:100vh;margin:0 auto;padding:26px;background:var(--bg);box-shadow:0 0 65px #000}.site-shell::before{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;border:26px solid #354039;border-image:url("assets/iron-frame.svg") 32 / 26px / 0 round}.site-banner{max-width:1440px;margin:0 auto;background:var(--bg);overflow:hidden}.site-banner img{width:100%;aspect-ratio:2.5;object-fit:cover;object-position:center top;mask-image:linear-gradient(#000 80%,transparent)}.home-hero{min-height:0;background:var(--bg);border-left:0;border-right:0}.home-hero .hero-content{margin:0 8% 50px}.site-shell main{min-height:0}.site-shell .header{padding-left:30px;padding-right:30px}.site-shell .section{padding-top:45px}.site-shell footer{margin-bottom:0}.site-banner+main>.section:first-child{border-top:0}
@media(max-width:900px){.site-shell{padding:17px}.site-shell::before{border-width:17px;border-image-width:17px}.site-shell .header{padding-left:18px;padding-right:18px}}
@media(max-width:650px){.site-shell{padding:10px}.site-shell::before{border-width:10px;border-image-width:10px}.site-banner img{aspect-ratio:1.8}.site-shell .header{padding:14px 12px;gap:10px}.site-shell .brand{font-size:14px;letter-spacing:.08em}.site-shell .brand img{width:34px;height:34px}.site-shell .brand small{font-size:7px;letter-spacing:.18em}.site-shell .login{padding:7px;font-size:10px}.site-shell .login span{margin-left:3px}.site-shell .menu-toggle{padding:5px;font-size:11px}.site-shell .section{padding:35px 17px}.home-hero .hero-content{margin:0 20px 32px}.site-shell .preview{font-size:9px;padding:7px}.site-shell footer{padding:25px 17px}}

/* Original-style forged iron follows the requested rectangular outlines. */
.site-shell{padding:0;background:var(--bg)}.site-shell::before{display:none}.site-shell .header{max-width:none;border:25px solid transparent;border-image:url("assets/forged-frame-v8.png") 112 / 25px / 0 round;padding:17px 24px;margin:5px 0 7px;background:#080e0b}.content-frame{border:43px solid transparent;border-image:url("assets/forged-frame-v8.png") 112 / 43px / 0 round;background:var(--bg)}.site-banner{width:100%;max-width:none}.site-banner img{aspect-ratio:2.5;object-fit:cover}.content-frame .home-hero{border:0}.site-shell .preview{padding:8px 15px}
@media(max-width:1050px){.site-shell .header{padding:13px 18px;border-width:21px;border-image-width:21px}.content-frame{border-width:30px;border-image-width:30px}}
@media(max-width:650px){.site-shell{padding:0}.site-shell .header{padding:12px 10px;border-width:12px;border-image-width:12px;gap:8px}.content-frame{border-width:14px;border-image-width:14px}.site-banner img{aspect-ratio:1.8}.site-shell .section{padding:30px 15px}.site-shell .brand{font-size:13px}.site-shell .brand img{width:30px;height:30px}.site-shell .login{padding:6px;font-size:9px}.site-shell .menu-toggle{padding:4px;font-size:10px}.site-shell .login span{margin-left:2px}}

/* Half-width iron borders, with subtle independent mist and crystal light. */
.site-shell .header{border-width:13px;border-image-width:13px}.content-frame{border-width:22px;border-image-width:22px}.site-banner{position:relative;isolation:isolate}.banner-effects{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;overflow:hidden;mask-image:linear-gradient(#000 78%,transparent)}.crystal-halo{opacity:.4;transform-origin:992px 312px;animation:crystal-breathe 5.8s ease-in-out infinite}.crystal-core{opacity:.3;animation:crystal-spark 5.8s ease-in-out infinite}.mist-layer{opacity:.25;will-change:transform;transform-box:view-box}.mist-back{animation:mist-drift-back 29s ease-in-out infinite alternate}.mist-front{animation:mist-drift-front 22s ease-in-out infinite alternate;opacity:.2}.effects-toggle{position:absolute;right:18px;bottom:14px;padding:6px 10px;background:#07110cd9;border:1px solid #355840;color:#b2c9bb;font-size:10px;z-index:1;opacity:.8}.effects-toggle:hover,.effects-toggle:focus-visible{opacity:1}.effects-paused .banner-effects *{animation-play-state:paused!important}
@keyframes crystal-breathe{0%,100%{opacity:.3;transform:scale(.86)}50%{opacity:.8;transform:scale(1.12)}}
@keyframes crystal-spark{0%,100%{opacity:.22}50%{opacity:.65}}
@keyframes mist-drift-back{from{transform:translate(-40px,10px) scale(1.025)}to{transform:translate(40px,-16px) scale(1.06)}}
@keyframes mist-drift-front{from{transform:translate(38px,-8px)}to{transform:translate(-44px,12px)}}
@media(max-width:1050px){.site-shell .header{border-width:11px;border-image-width:11px}.content-frame{border-width:15px;border-image-width:15px}}
@media(max-width:650px){.site-shell .header{border-width:6px;border-image-width:6px}.content-frame{border-width:7px;border-image-width:7px}.effects-toggle{font-size:9px;bottom:5px;right:8px;padding:4px 7px}.mist-layer{opacity:.2}}
@media(prefers-reduced-motion:reduce){.banner-effects *{animation:none!important;will-change:auto}.crystal-halo{opacity:.35}.crystal-core{opacity:.2}.effects-toggle{display:none}}

/* Clearly visible rolling mist and warm, independently drifting fireflies. */
.mist-back{opacity:.72;animation:mist-roll-back 12s ease-in-out infinite alternate}.mist-front{opacity:.58;animation:mist-roll-front 9s ease-in-out infinite alternate}.firefly{opacity:.55;animation:firefly-wander var(--fly-duration,8s) ease-in-out var(--fly-delay,0s) infinite alternate;will-change:transform,opacity}.firefly-core{opacity:.85}
@keyframes mist-roll-back{0%{transform:translate(-100px,14px) scale(1.02,1);opacity:.48}50%{opacity:.82}100%{transform:translate(95px,-20px) scale(1.08,1.13);opacity:.64}}
@keyframes mist-roll-front{0%{transform:translate(105px,-16px) scale(1,1.1);opacity:.4}50%{opacity:.7}100%{transform:translate(-110px,15px) scale(1.06,.96);opacity:.56}}
@keyframes firefly-wander{0%{transform:translate(0,0);opacity:.18}22%{opacity:.9}43%{opacity:.4}68%{opacity:1}100%{transform:translate(var(--fly-x,20px),var(--fly-y,-20px));opacity:.35}}
@media(max-width:650px){.mist-back{opacity:.65}.mist-front{opacity:.5}}
@media(prefers-reduced-motion:reduce){.banner-effects *{animation:none!important;will-change:auto}.mist-back{opacity:.4}.mist-front{opacity:.28}.firefly{opacity:.45}}

/* Category navigation, game-world hubs, and the public editorial workbench. */
.site-shell .header{position:relative;z-index:20}#navigation{gap:18px;align-items:center}.nav-group{position:relative}.nav-parent{display:flex;align-items:center;gap:4px}.nav-parent>a{white-space:nowrap}.submenu-toggle{display:grid;place-items:center;width:28px;height:32px;background:transparent;color:var(--green);font-size:18px}.submenu-toggle[aria-expanded=true] span{transform:rotate(180deg)}.nav-submenu{position:absolute;left:-14px;top:calc(100% + 12px);min-width:190px;padding:9px;background:#101e16;border:1px solid #4a6954;box-shadow:0 16px 35px #0009;z-index:30}.nav-submenu[hidden]{display:none!important}.header nav .nav-submenu a{display:block;padding:11px 13px;font-size:12px;box-shadow:none}.header nav .nav-submenu a:hover,.header nav .nav-submenu a:focus-visible{background:#213b2b}.nav-section-active{color:var(--green)}.category-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}.category-tabs a{padding:10px 17px;font-size:12px;background:#111e16;border:1px solid #354e3c;color:#c0d3c5}.category-tabs a[aria-current=page],.category-tabs a:hover{background:#2a4e37;border-color:#6a9274;color:#f0f7ed}.category-story{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:#111c15}.category-story>img{width:100%;height:100%;object-fit:cover;min-height:240px}.category-story>div{padding:32px}.category-story h2{font-size:32px}.category-story p:not(.tag){font-size:13px;color:var(--muted);margin-top:20px}.realm-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.realm-tile{display:block;position:relative;overflow:hidden;min-height:350px;padding:38px;border:1px solid #4a6550;background:linear-gradient(130deg,#203a2b,#0b1510);transition:border-color .2s}.realm-tile:hover{border-color:#a0c49e}.realm-tile h2{font-size:42px;position:relative}.realm-tile>p:not(.eyebrow){font-size:14px;color:#b7cbbb;max-width:380px;margin-top:22px;position:relative}.realm-symbol{display:block;font:70px Georgia,serif;color:#7fa88a;margin-bottom:28px}.realm-dnd{background:radial-gradient(at 100% 0,#4d3926,#161c13 75%)}.realm-dnd .realm-symbol{color:#bfaa7c}.realm-enter{display:inline-block;margin-top:28px;font-size:12px;color:var(--green)}.realm-intro{padding:35px;border:1px solid var(--line);background:#111f16}.realm-intro>p{color:var(--muted);font-size:14px;margin-top:20px}.realm-intro .button{margin-top:25px}.community-hub{display:grid;grid-template-columns:1fr 1fr;gap:22px}.hub-card{padding:30px;border:1px solid var(--line);background:linear-gradient(135deg,#1a3022,#0b140e)}.hub-card:hover{border-color:var(--green)}.hub-card>p{font-size:13px;color:var(--muted);margin-top:18px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery-grid figure{margin:0;background:#111e16;border:1px solid var(--line)}.gallery-grid img{width:100%;height:210px;object-fit:cover}.gallery-grid figure:nth-child(2) img{object-fit:contain;background:#000}.gallery-grid figcaption{padding:22px}.gallery-grid h2{font-size:24px}.gallery-grid p{font-size:12px;color:var(--muted);margin-top:15px}.editor-footer-link{color:var(--green)}.editor-notice{background:#17291e;border:1px solid #43664e;padding:22px 25px;margin-bottom:30px;font-size:13px}.editor-notice p{color:var(--muted);margin-top:10px}.editor-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;align-items:start}.editor-sidebar{border:1px solid var(--line);background:#101c14;padding:24px;display:grid;gap:18px}.editor-sidebar h2{font-size:25px}.editor-page label,.editor-page legend{display:block;font-size:12px;color:#c3d4c7;margin-bottom:10px}.editor-page select,.editor-page input,.editor-page textarea{width:100%;min-width:0;background:#09120c;border:1px solid #42614c;color:var(--text);padding:12px;font:14px/1.6 system-ui}.editor-page textarea{resize:vertical}.editor-page select:focus-visible,.editor-page input:focus-visible,.editor-page textarea:focus-visible{outline:2px solid var(--green);outline-offset:3px}.editor-page input,.editor-page textarea{margin-bottom:22px}.editor-placement{border:1px solid var(--line);padding:20px;margin:0 0 25px}.editor-placement legend{padding:0 8px}.editor-selects{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:18px}.editor-selects>[hidden]{display:none!important}.editor-selects>div{min-width:0}.editor-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}#editor-status{font-size:13px;color:var(--green);margin-top:22px}#editor-preview{max-width:850px}#preview-body{white-space:pre-line;overflow-wrap:anywhere;margin-top:25px}#preview-body p{font-size:15px;color:#d4dfd5;margin-top:18px}#preview-title{overflow-wrap:anywhere}#preview-location{line-height:1.8}
@media(max-width:1050px){#navigation{align-items:start;gap:12px 20px}.nav-group{flex:1 1 40%;min-width:0}.nav-parent{justify-content:space-between}.nav-submenu{position:static;min-width:0;margin-top:8px;box-shadow:none}.header nav .nav-submenu a{padding:9px 12px}.header nav .nav-parent>a{font-size:13px}.realm-tile{padding:28px}.realm-tile h2{font-size:35px}}
@media(max-width:750px){.realm-grid,.community-hub,.category-story,.editor-layout{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:240px}.realm-tile{min-height:300px}.editor-sidebar{grid-template-columns:1fr}.editor-sidebar .button{justify-self:start}.category-story>img{min-height:0;height:auto;aspect-ratio:2.3}.category-story>div{padding:25px}.editor-actions .button{flex:1 1 42%}.editor-placement{padding:18px}.category-tabs{gap:8px}.category-tabs a{padding:8px 12px;font-size:11px}.editor-notice{padding:20px}}
@media(prefers-reduced-motion:reduce){.realm-tile{transition:none}}
.header nav .nav-editor{font-size:11px;color:var(--green);border:1px solid #3c5e47;padding:7px 11px;white-space:nowrap}

/* Rich article composer and local image attachments. */
.editor-page [hidden]{display:none!important}.thumbnail-panel{border:1px solid var(--line);padding:22px;margin:0 0 28px}.thumbnail-panel legend{padding:0 8px}.thumbnail-layout{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,1fr);gap:22px;align-items:start}.thumbnail-stage{aspect-ratio:16/9;display:grid;place-items:center;background:#122319;border:1px dashed #466b50;overflow:hidden}.thumbnail-stage img{width:100%;height:100%;object-fit:cover}.thumbnail-stage span{font-size:12px;color:var(--muted)}.editor-page input[type=file]{font-size:11px;padding:10px;max-width:100%;overflow:hidden}.thumbnail-panel .button{margin-top:15px}.rich-history{display:flex;gap:8px;margin-bottom:12px}.rich-history .button{min-height:34px;padding:6px 12px;font-size:11px}.editor-page .ql-toolbar.ql-snow{border:1px solid #42614c;background:#15271c;padding:12px;line-height:1.6}.editor-page .ql-container.ql-snow{border:1px solid #42614c;background:#09120c;font:15px/1.8 system-ui}.editor-page #editor-body .ql-editor{min-height:380px;padding:22px;color:var(--text);overflow-wrap:anywhere}.editor-page .ql-editor.ql-blank::before{color:#7d9885;font-style:normal}.editor-page .ql-snow .ql-stroke{stroke:#c2d7c7}.editor-page .ql-snow .ql-fill{fill:#c2d7c7}.editor-page .ql-snow .ql-picker{color:#c2d7c7}.editor-page .ql-snow .ql-picker-options{background:#16291d;border-color:#5b7a62;z-index:25}.editor-page .ql-toolbar button:hover .ql-stroke,.editor-page .ql-toolbar button.ql-active .ql-stroke{stroke:#aaf5bf}.editor-page .ql-toolbar button.ql-active{background:#31573d}.editor-page .ql-toolbar button:focus-visible,.editor-page .ql-picker-label:focus-visible{outline:2px solid var(--green);outline-offset:2px}.editor-page .ql-snow .ql-tooltip{background:#17291d;border-color:#64836a;color:var(--text);box-shadow:0 8px 30px #0008;z-index:25;white-space:normal;max-width:95%}.editor-page .ql-snow .ql-tooltip input{width:200px;margin:0;padding:5px;font-size:12px}.editor-page .ql-editor img{display:inline-block;max-width:100%;height:auto;margin:15px 0}.editor-page .ql-editor h2{font-size:28px}.editor-page .ql-editor h3{font-size:23px}.editor-page .ql-editor blockquote{border-left-color:#80ad8a;color:#c5dbc9}.editor-page .ql-editor .ql-code-block-container{background:#19271e;color:#d0e8d5}.editor-page .ql-editor a{color:#9bd0ad;text-decoration:underline}.inline-image-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;align-items:end;margin-top:20px}.inline-image-tools input{margin-bottom:0}.article-card-preview{max-width:480px;border:1px solid var(--line);background:#14221a;margin:25px 0 35px}.article-card-preview>img{width:100%;aspect-ratio:16/9;object-fit:cover}.article-card-preview>div{padding:23px}.article-card-preview h3{font-size:27px;overflow-wrap:anywhere}.article-card-preview p{font-size:13px;color:var(--muted);margin-top:15px}.article-card-preview .tag{font-size:9px;color:var(--green);line-height:1.8;margin-top:0}.preview-body-label{margin-top:25px}#preview-body.ql-container{border:0;background:transparent;white-space:normal;margin-top:15px}#preview-body .ql-editor{padding:0;min-height:0}#preview-body .ql-editor p{white-space:pre-wrap;line-height:1.8}
@media(max-width:750px){.thumbnail-layout{grid-template-columns:1fr}.thumbnail-stage{max-width:400px}.inline-image-tools{grid-template-columns:1fr}.inline-image-tools .button{justify-self:start}.editor-page .ql-toolbar.ql-snow{padding:8px}.editor-page .ql-toolbar .ql-formats{margin-right:8px;margin-bottom:5px}.editor-page #editor-body .ql-editor{min-height:300px;padding:17px}.thumbnail-panel{padding:17px}.editor-page .ql-snow .ql-tooltip input{width:130px}}

/* Discord session controls and authenticated navigation. */
.account-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}.account-controls .login{display:block;max-width:175px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-button{background:transparent;color:var(--muted);font-size:10px;padding:7px;border:1px solid var(--line)}.header #navigation{flex-wrap:wrap;justify-content:flex-end}.header nav .authenticated-section{font-size:11px;color:var(--green);white-space:nowrap}.header nav [hidden],footer [hidden]{display:none!important}.account-page .page-intro{margin-bottom:30px}.account-page>.button{margin-top:25px}.account-panel{padding:30px;border:1px solid var(--line);background:#122017}.account-panel p{font-size:14px;color:var(--muted);margin-top:20px}.account-panel .button{margin-top:25px}
@media(max-width:1050px){.header #navigation{justify-content:flex-start}.account-controls .login{max-width:145px}}
@media(max-width:650px){.account-controls{gap:6px}.account-controls .login{max-width:115px;font-size:9px}.logout-button{font-size:9px;padding:5px}.account-panel{padding:22px}.header nav .authenticated-section{flex-basis:40%;padding:10px 0}}
.admin-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.admin-layout label{display:block;margin-bottom:10px;font-size:13px}.admin-layout input[type=text]{width:100%;min-width:0;padding:11px;margin-bottom:20px;background:#09150e;border:1px solid #42634c;color:var(--text);font:14px system-ui}.admin-layout .choice{display:flex}.admin-layout input[type=checkbox]{width:18px;height:18px;accent-color:#88c79a}.role-card{padding:22px;border:1px solid var(--line);margin:20px 0;background:#132019;overflow-wrap:anywhere}.role-card h3{font-size:23px}.role-card p,.role-card small{font-size:12px;color:var(--muted);margin-top:12px}.role-card .button{margin-top:18px}#role-status{margin-top:25px;font-size:14px;color:var(--green)}
@media(max-width:750px){.admin-layout{grid-template-columns:1fr}}

/* Published article cards and read-only rich content. */
.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:30px 0}.published-card{border:1px solid var(--line);background:#122017;overflow:hidden}.published-card>a{display:block;height:100%}.published-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.published-card>a>div{padding:26px}.published-card h2{font-size:29px;overflow-wrap:anywhere}.published-card p:not(.tag){font-size:13px;color:var(--muted);margin-top:17px}.published-card:hover{border-color:var(--green)}.section .empty-panel[hidden],.published-reading [hidden]{display:none!important}.published-reading>#published-cover{width:100%;aspect-ratio:16/9;object-fit:cover;margin:30px 0}.published-reading #published-body{border:0;margin-top:30px;color:var(--text);font:16px/1.85 system-ui}.published-reading .ql-editor{padding:0;overflow:visible}.published-reading .ql-editor img{max-width:100%;height:auto;display:inline-block;margin:20px 0}.published-reading .ql-editor h2{font-size:32px}.published-reading .ql-editor h3{font-size:26px}.published-reading .ql-editor a{color:var(--green);text-decoration:underline}.published-reading .ql-editor blockquote{border-left-color:var(--green)}.published-reading .ql-code-block-container{background:#19291f!important;color:#d0e8d5!important}
@media(max-width:650px){.post-grid{grid-template-columns:1fr}.published-card>a>div{padding:22px}.published-reading #published-body{font-size:14px}}
.community .post-grid{grid-column:1/-1}.published-reading .page-title,.published-reading .page-intro,.published-card p{overflow-wrap:anywhere}

/* Canopy-backed header and black forged-metal menu controls. */
.site-shell .header{background-color:#080e0b;background-image:linear-gradient(90deg,#040a07b8,#050b08a8 60%,#040907d9),url("assets/banner-unframed-v8.png");background-size:100% 100%,max(100%,1600px) auto;background-position:center,center top;background-repeat:no-repeat;isolation:isolate}.nav-parent{gap:0}.nav-group::after{content:"";position:absolute;left:0;right:0;top:100%;height:13px}.site-shell .header nav .nav-category,.site-shell .header nav .nav-editor,.site-shell .header nav .authenticated-section,.site-shell .header .account-controls .login,.site-shell .header .logout-button,.site-shell .header .menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:35px;padding:8px 12px;border:1px solid #465149;border-top-color:#717b6e;border-bottom-color:#172119;background-color:#111713;background-image:linear-gradient(#111a16b8,#060c09e6),url("assets/forged-frame-v8.png");background-size:100% 100%,auto 420px;background-position:center,center top;box-shadow:inset 0 1px #a4af9222,inset 0 -2px #02060488,0 2px 7px #0008;color:#dbe2d7;font-size:11px;text-shadow:0 1px 2px #000;white-space:nowrap;text-decoration:none}.site-shell .header nav .nav-category:hover,.site-shell .header nav .nav-category[aria-expanded=true],.site-shell .header nav .nav-category.nav-section-active,.site-shell .header nav a[aria-current=page],.site-shell .header nav .nav-editor:hover,.site-shell .header nav .authenticated-section:hover,.site-shell .header .login:hover,.site-shell .header .logout-button:hover{color:#bce4c2;border-color:#6a8b6c;box-shadow:inset 0 1px #b1c8a833,inset 0 -2px #45664b66,0 2px 8px #0009}.site-shell .header #navigation{gap:10px}.site-shell .header .account-controls{gap:8px}.site-shell .header .logout-button{font-size:10px}.site-shell .header .menu-toggle{display:none}.nav-submenu{top:calc(100% + 8px);left:0;background:linear-gradient(145deg,#1b241deb,#080e0cfa);border:1px solid #596451;box-shadow:inset 0 1px #a8b59325,0 15px 35px #000b;min-width:205px;padding:8px}.site-shell .header nav .nav-submenu a{border:1px solid transparent;color:#d0ddce;padding:10px 13px;background:none;white-space:normal}.site-shell .header nav .nav-submenu a:hover,.site-shell .header nav .nav-submenu a[aria-current=page]{background:#29392b;border-color:#4c6750;box-shadow:none}.nav-submenu a:first-child{border-bottom:1px solid #354238!important;margin-bottom:5px;color:var(--green)!important}
/* About Iron Grove. */
.about-welcome{display:grid;grid-template-columns:220px minmax(0,1fr);gap:45px;align-items:center;padding-bottom:40px;border-bottom:1px solid var(--line);margin-bottom:45px}.about-welcome>img{width:220px;border-radius:50%}.about-lead{font-size:17px;line-height:1.85;color:#b7cabc;margin-top:25px;max-width:720px}.about-lead strong{color:#e2eddc}.about-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.about-facts span{padding:8px 13px;background:#17271c;border:1px solid #3f5c47;font-size:11px;color:#bdd4c1}.about-columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:45px;align-items:start}.about-story h2{font-size:31px;margin:35px 0 20px}.about-story h2:first-of-type{margin-top:0}.about-story>p:not(.eyebrow){font-size:14px;line-height:1.9;color:var(--muted)}.about-story .button{margin-top:25px}.about-start{padding:30px;border:1px solid #405c46;background:linear-gradient(135deg,#192b20,#101913)}.about-start h2{font-size:29px}.about-start ol{padding-left:22px;margin:30px 0}.about-start li{padding-left:7px;margin-bottom:25px;font-size:13px}.about-start li::marker{color:var(--green);font-family:Georgia,serif}.about-start li p{font-size:12px;color:var(--muted);margin-top:9px;line-height:1.8}.about-start .button{width:100%;margin-top:12px}.about-activities{display:flex;flex-wrap:wrap;gap:12px;padding:35px 0;margin-top:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-activities span{font-size:11px;color:#aac4b0;padding:7px 12px;border:1px solid #304b37}.about-motto{margin:45px 0 0;text-align:center;padding:30px 15px}.about-motto>p{font:clamp(25px,3vw,36px)/1.5 Georgia,serif;color:#d6e6d5}.about-motto footer{display:block;border:0;padding:0;margin:20px 0 0;font:italic 18px/1.7 Georgia,serif;color:var(--green)}
@media(max-width:1050px){.site-shell .header .menu-toggle{display:inline-flex}.nav-group::after{display:none}.site-shell .header nav .nav-category{width:100%;min-height:38px}.nav-submenu{position:static}.about-welcome{grid-template-columns:170px minmax(0,1fr);gap:28px}.about-welcome>img{width:170px}.about-columns{gap:25px}.about-start{padding:25px}}
@media(max-width:750px){.about-welcome,.about-columns{grid-template-columns:1fr}.about-welcome{gap:25px}.about-welcome>img{justify-self:center;width:180px}.about-lead{font-size:15px}.about-story h2{font-size:28px}.about-motto{padding-left:0;padding-right:0}}
@media(max-width:650px){.site-shell .header #navigation{gap:10px 12px}.site-shell .header nav .nav-category,.site-shell .header nav .nav-editor,.site-shell .header nav .authenticated-section,.site-shell .header .account-controls .login,.site-shell .header .logout-button,.site-shell .header .menu-toggle{font-size:10px;padding:7px 9px;min-height:32px}.site-shell .header nav .authenticated-section{flex-basis:40%}.site-shell .header .account-controls .login{max-width:105px}.about-facts{gap:8px}.about-facts span{font-size:10px;padding:7px 10px}.about-story>p:not(.eyebrow){font-size:13px}.about-activities{gap:8px}.about-activities span{font-size:10px}}
/* Member profiles and character sheets. */
.profile-edit-page [hidden],.members-page [hidden],.public-profile [hidden]{display:none!important}
.profile-edit-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:25px;align-items:start}.profile-panel{padding:30px;margin-bottom:25px;border:1px solid #3a5140;background:linear-gradient(135deg,#17251c,#0c1510);min-width:0}.profile-panel h2{font-size:29px;margin-bottom:22px}.profile-panel h3{font-size:21px;margin:22px 0 10px}.profile-edit-page fieldset{min-width:0}.profile-edit-page #profile-fields{border:0;padding:0;margin:0}.profile-edit-page label,.members-tools label{display:block;color:#c3d7c7;font-size:12px;margin:18px 0 8px}.profile-edit-page input:not([type=checkbox]):not([type=radio]),.profile-edit-page textarea,.members-tools input{width:100%;min-width:0;border:1px solid #45634d;background:#080f0b;color:#e1ecdf;padding:12px;font:14px/1.6 system-ui;border-radius:0}.profile-edit-page textarea{resize:vertical}.profile-edit-page input:focus,.profile-edit-page textarea:focus,.members-tools input:focus{outline:2px solid #8ac999;outline-offset:2px}.profile-edit-page input:disabled,.profile-edit-page textarea:disabled{opacity:.55}.profile-edit-page label small{font-size:10px;color:var(--muted)}.profile-two-fields{display:grid;grid-template-columns:1fr 2fr;gap:18px}.profile-edit-page .choice{display:flex;align-items:start;gap:12px;font-size:12px;line-height:1.8;margin:17px 0;cursor:pointer}.profile-edit-page .choice input{flex:none;accent-color:#79b98b;width:17px;height:17px;margin-top:3px}.profile-edit-page .field-help{font-size:12px;line-height:1.9;color:var(--muted)}.profile-guild-status{border-top:1px solid #3a5140;margin-top:25px;padding-top:2px}.guild-badge,.community-badge,.main-badge{display:inline-flex;padding:5px 10px;border:1px solid #567d5e;background:#213d2a;color:#bde6c7;font:10px/1.5 system-ui;vertical-align:middle}.community-badge{border-color:#46554a;background:#17211b;color:#b1c2b3}.main-badge{margin-left:12px;color:#dfce99;border-color:#776d45;background:#302d1d}.character-editor{border:1px solid #3d5644;padding:20px;margin:25px 0 0;background:#09120d}.character-editor legend{padding:0 10px;color:#b4d3bb;font:20px Georgia,serif}.character-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.character-fields>div:last-child{grid-column:1/-1}.character-actions{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-top:18px;flex-wrap:wrap}.profile-save{display:flex;gap:25px;align-items:center}.profile-save .button{flex:none}#profile-status,#members-status{font-size:13px;line-height:1.9;margin:20px 0 25px;color:#bad7c2;overflow-wrap:anywhere}.members-tools{display:flex;justify-content:space-between;align-items:end;gap:25px}.members-tools>div{max-width:520px;flex:1}.members-tools label{margin-top:0}.members-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.member-card{display:flex;flex-direction:column;align-items:start;gap:16px;padding:28px;border:1px solid #435b49;background:linear-gradient(145deg,#1c2b21,#0b140e);text-decoration:none;min-width:0;transition:border-color .2s,transform .2s}.member-card:hover{border-color:#8bb596;transform:translateY(-3px)}.member-card h2{font-size:28px;overflow-wrap:anywhere}.member-card p{font-size:12px;line-height:1.9;overflow-wrap:anywhere;color:var(--muted)}.member-card .member-main{color:#cae0ce}.member-card .text-link{margin-top:auto;padding-top:8px;font-size:12px}.member-avatar{display:flex;align-items:center;justify-content:center;width:70px;height:70px;border:1px solid #61765d;border-radius:50%;background:radial-gradient(ellipse at 40% 30%,#3d6147,#14281b 60%,#08100b);box-shadow:inset 0 0 0 5px #101c14;color:#c6dfb9;font:24px Georgia,serif;flex:none}.member-card-bio,.member-interests{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.member-intro{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin:25px 0 35px}.member-intro .member-avatar{width:95px;height:95px;font-size:32px}.public-profile .profile-panel p{font-size:14px;line-height:1.9;overflow-wrap:anywhere}.member-bio{white-space:pre-wrap}.member-socials{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.character-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.character-public{border:1px solid #344c3c;background:#0a140e;padding:22px;min-width:0}.character-public h3{margin:0 0 15px;font-size:25px;overflow-wrap:anywhere}.character-public p{color:#b1c7b6}.about-members{border:1px solid #42604a;background:#14241a;padding:30px;margin-top:35px;display:flex;align-items:center;justify-content:space-between;gap:25px}.about-members h2{font-size:28px}.about-members p{font-size:13px;color:var(--muted);margin-top:12px}.public-profile .page-title{overflow-wrap:anywhere}
@media(max-width:1000px){.members-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-edit-layout{grid-template-columns:minmax(0,1fr) 280px;gap:18px}.profile-panel{padding:23px}}
@media(max-width:750px){.profile-edit-layout{grid-template-columns:1fr}.profile-edit-layout>aside{order:-1}.members-tools,.profile-save,.about-members{align-items:stretch;flex-direction:column}.profile-save{gap:15px}.members-tools>div{max-width:none}.character-public-grid{grid-template-columns:1fr}}
@media(max-width:500px){.members-grid,.character-fields,.profile-two-fields{grid-template-columns:1fr}.profile-panel,.character-editor,.member-card{padding:20px}.character-fields>div:last-child{grid-column:auto}.character-actions{gap:10px}.profile-panel .section-heading{gap:18px}.profile-panel .section-heading .button{width:100%}.member-card h2{font-size:26px}}

/* Discord portraits and forged guild seals. */
.member-avatar{position:relative;overflow:hidden;border:2px solid #687d63;box-shadow:0 0 0 3px #0b130d,0 0 0 4px #3c5140,0 5px 18px #0008}.member-avatar>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}.guild-badge.guild-seal{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 7px;border:1px solid #6f8062;border-top-color:#9aa987;border-bottom-color:#394633;background:linear-gradient(120deg,#293528,#0b160f 60%,#233426);box-shadow:inset 0 0 0 2px #080f0b,inset 0 0 0 3px #58654a66,0 3px 12px #0007;clip-path:polygon(9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px),0 9px)}.guild-seal>img{width:42px;height:42px;object-fit:contain;border-radius:50%;filter:drop-shadow(0 0 5px #7ac68c55)}.guild-seal>span{display:flex;flex-direction:column;gap:4px}.guild-seal strong{font:12px Georgia,serif;letter-spacing:2px;color:#e3e7cd;text-shadow:0 1px 3px #000}.guild-seal small{font:8px system-ui;letter-spacing:2px;color:#99cbaa}.member-card .guild-seal{margin-top:3px}

/* Round, aged iron shield: the badge itself, without a label plate. */
.guild-badge.guild-seal{width:64px;height:64px;display:inline-flex;align-items:center;justify-content:center;flex:none;padding:0;border:0;background:none;box-shadow:none;clip-path:none;overflow:visible;filter:drop-shadow(0 3px 4px #000a)}.guild-badge.guild-seal>img{width:100%;height:100%;border-radius:0;filter:none;object-fit:contain}.guild-seal>.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.member-card .guild-seal{width:52px;height:52px;margin:0}.member-intro .guild-seal{width:64px;height:64px}

.achievement-admin{margin-top:55px}.achievement-admin>p{font-size:13px;line-height:1.9;color:var(--muted)}.achievement-admin label{display:block;margin:18px 0 9px;font-size:12px}.achievement-admin input,.achievement-admin select,.achievement-admin textarea{display:block;width:100%;padding:12px;background:#0b160f;color:#dce6d7;border:1px solid #50634c;font:13px/1.6 system-ui;min-width:0}.achievement-admin button{margin:18px 10px 0 0}.achievement-admin .admin-layout{margin-top:25px}.achievement-grid,#achievement-catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px;margin-top:20px}.achievement-card{padding:18px;border:1px solid #49583e;background:linear-gradient(145deg,#1c291d,#0c140e);min-width:0}.achievement-card img{width:64px;height:64px;object-fit:contain}.achievement-card h3{font-size:20px;margin:14px 0 10px;overflow-wrap:anywhere}.achievement-card p{font-size:12px!important;white-space:pre-wrap;overflow-wrap:anywhere}.achievement-card small{display:block;margin-top:14px;color:#adbb9d;font-size:10px}.achievement-mini{display:flex;align-items:center;gap:8px}.achievement-mini .achievement-grid{display:flex;flex-wrap:wrap;gap:8px;margin:0}.achievement-mini .achievement-card{padding:0;border:0;background:none}.achievement-mini img{width:36px;height:36px}.award-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #344832;padding:12px 0;font-size:12px;overflow-wrap:anywhere}.award-row .button{margin:0}.member-achievements h2{margin-bottom:0}

/* Account dropdown stays beside the nickname on desktop and mobile. */
.header .nav-editor{display:none!important}.account-controls{position:relative}.account-controls::after{content:"";position:absolute;top:100%;height:13px;left:0;right:0}.site-shell .header .account-submenu{position:absolute;top:calc(100% + 8px);left:auto;right:0;min-width:220px;width:max-content;max-width:calc(100vw - 35px);margin:0;z-index:40;box-shadow:0 15px 35px #000b}.site-shell .header .account-submenu a,.site-shell .header .account-submenu .logout-button{display:block;min-height:40px;width:100%;text-align:left;white-space:normal;padding:11px 14px;margin:0;color:#d0ddce;font:12px/1.5 system-ui;text-decoration:none;border:1px solid transparent;background:none;box-shadow:none;text-shadow:none}.site-shell .header .account-submenu a:first-child{border-bottom:0!important;margin:0;color:#d0ddce!important}.site-shell .header .account-submenu a:hover,.site-shell .header .account-submenu a:focus-visible,.site-shell .header .account-submenu .logout-button:hover,.site-shell .header .account-submenu .logout-button:focus-visible{background:#29392b;border-color:#4c6750;color:#d9ecd8!important}.site-shell .header .account-submenu .logout-button{border-top:1px solid #354238;margin-top:6px;color:#bdd2b8}.site-shell .header .account-controls .login[aria-expanded=true]{color:#bce4c2;border-color:#6a8b6c}

/* Guild dashboard. */
.guild-hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0}.guild-tile{display:flex;flex-direction:column;align-items:start;position:relative;min-width:0;min-height:335px;padding:30px;border:1px solid #627053;border-top-color:#9a9c76;background:radial-gradient(ellipse at 90% 0,#38523b66,transparent 70%),linear-gradient(135deg,#1d2b1e,#0a120d);box-shadow:inset 0 0 0 3px #080f0a,inset 0 0 0 4px #7c835430,0 8px 28px #0004;transition:border-color .2s,transform .2s}.guild-tile:hover,.guild-tile:focus-visible{border-color:#c4b57b;transform:translateY(-3px)}.guild-tile-calendar{background:linear-gradient(120deg,#0b160fe8,#10261cea),url('assets/grove.png') center/cover}.guild-tile-icon{display:grid;place-items:center;width:65px;height:65px;border:1px solid #8c9164;border-radius:50%;color:#c6b67a;font:36px Georgia,serif;background:radial-gradient(ellipse at 35% 20%,#405141,#101b12);box-shadow:inset 0 0 0 4px #152117,0 3px 15px #0007;margin-bottom:28px}.guild-tile h2{font-size:30px;margin:15px 0 20px;overflow-wrap:anywhere}.guild-tile>p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:28px}.guild-tile .text-link{font-size:12px;margin-top:auto}.guild-calendar .back-link{display:inline-block;margin-bottom:30px}
@media(max-width:950px){.guild-hub{grid-template-columns:repeat(2,minmax(0,1fr))}.guild-tile-calendar{grid-column:1/-1}}
@media(max-width:600px){.guild-hub{grid-template-columns:1fr}.guild-tile-calendar{grid-column:auto}.guild-tile{min-height:290px;padding:25px}}

/* Live Sentinel calendar, private to the guild. */
.guild-calendar .sentinel-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start}.guild-calendar .calendar-days{grid-template-columns:repeat(7,minmax(0,1fr))}.guild-calendar-day{position:relative;min-width:0;min-height:48px;background:#112016;color:#cedbcb;border:1px solid #293d2d;padding:8px 3px;font:13px system-ui}.guild-calendar-day:hover,.guild-calendar-day:focus-visible,.guild-calendar-day[aria-pressed=true]{background:#2b4931;border-color:#a3bd8a}.guild-calendar-day.current{box-shadow:inset 0 0 0 1px #a5b783}.guild-calendar-day.weekend{color:#b2c19e}.guild-calendar-day .event-count{display:block;margin-top:4px;color:#ccbb7d;font-size:9px}.guild-calendar-day.has-events:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:#b6d797;top:6px;right:6px}.guild-events{min-width:0}.guild-events .section-heading{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px}.guild-events .section-heading h3{font-size:23px;flex:1 1 100%}.guild-events .button{font-size:11px;padding:8px 12px}.guild-events [hidden]{display:none!important}#calendar-status{font-size:12px;line-height:1.9;color:#adcaaf;margin:15px 0}.guild-event{border:1px solid #4a5e40;margin:15px 0;background:linear-gradient(135deg,#1a2c1e,#0b150e);overflow-wrap:anywhere}.guild-event summary{padding:20px;cursor:pointer;list-style-position:inside;color:#b9cda5}.guild-event summary strong{display:block;font:23px/1.4 Georgia,serif;color:#e0e7d6;margin-top:12px}.event-date{font-size:11px;color:#b5c8a8}.event-state{display:inline-block;font-size:11px;border:1px solid #7c7046;padding:4px 8px;margin-top:10px;color:#dbca96}.guild-event-body{padding:0 20px 22px}.guild-event-body p{font-size:13px;line-height:1.9}.event-description{white-space:pre-wrap;margin:10px 0 18px}.event-stats{color:#b5caa7}.event-roles{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.event-roles span{font-size:10px;padding:6px 9px;border:1px solid #4d6545;color:#c2d3b0}.guild-event-body h4{font:19px Georgia,serif;margin:24px 0 18px}.event-character-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:18px}.event-character-groups h5{font:13px system-ui;color:#c5b882;margin-bottom:12px}.event-character-groups ul{margin:0;padding-left:15px}.event-character-groups li{font:12px/1.9 system-ui;color:#cbd9c0;overflow-wrap:anywhere}.calendar-empty{padding:25px;border:1px solid #3f5538;font-size:13px;line-height:1.9;color:#b7c9ad}
@media(max-width:900px){.guild-calendar .sentinel-grid{grid-template-columns:1fr}.guild-calendar .calendar{min-width:0}.guild-events{margin-top:20px}}
@media(max-width:450px){.guild-calendar-day{min-height:42px;font-size:11px}.guild-event summary{padding:16px}.guild-event-body{padding:0 16px 18px}.guild-event summary strong{font-size:21px}}

/* Accessible multi-level navigation. */
.nav-category.submenu-toggle{width:auto;height:auto;gap:8px}
.submenu-toggle>span{display:inline-block;transition:transform .18s ease}
.submenu-toggle[aria-expanded=true]>span{transform:rotate(180deg)}
.nav-submenu{max-height:min(75vh,640px);overflow-y:auto;overscroll-behavior:contain}
.nav-nested-group{border-top:1px solid #354238}
.nav-nested-parent{display:flex;align-items:stretch;min-width:0}
.site-shell .header nav .nav-nested-parent>a{display:flex;align-items:center;flex:1;min-width:0;margin:0;border:1px solid transparent;color:#d0ddce;padding:10px 13px;background:none;white-space:normal}
.nav-nested-toggle{display:grid;place-items:center;flex:0 0 40px;min-height:40px;padding:0;background:transparent;color:var(--green);border-left:1px solid #354238}
.nav-nested-parent:hover,.nav-nested-parent:focus-within{background:#29392b}
.nav-nested-parent:hover>a,.nav-nested-parent:focus-within>a{color:#d9ecd8}
.nav-submenu-nested{position:static;min-width:0;max-height:none;margin:0 7px 8px 16px;padding:3px 0 3px 9px;border:0;border-left:1px solid #4c6750;box-shadow:none;background:#07100bcc;overflow:visible}
.site-shell .header nav .nav-submenu-nested a{padding:8px 11px;font-size:11px}

@media(max-width:1050px){
  .site-shell .header #navigation.open{max-height:calc(100dvh - 105px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:4px}
  .nav-submenu{max-height:none;overflow:visible}
}
@media(max-width:650px){
  .site-shell .header #navigation.open{display:block;max-height:calc(100dvh - 92px);padding:8px 4px 14px}
  .site-shell .header #navigation .nav-group{width:100%;margin-bottom:8px}
  .site-shell .header nav .nav-category{justify-content:space-between;text-align:left}
  .site-shell .header nav .nav-submenu{margin-top:5px}
  .site-shell .header nav .nav-submenu a{min-height:40px}
  .nav-nested-toggle{min-height:42px}
}
@media(prefers-reduced-motion:reduce){.submenu-toggle>span{transition:none}}
