@font-face{font-family:Cinzel;src:url('assets/fonts/Cinzel.ttf') format('truetype');font-weight:400 900;font-display:swap}
@font-face{font-family:'Crimson Pro';src:url('assets/fonts/CrimsonPro.ttf') format('truetype');font-weight:200 900;font-display:swap}
:root{--skin:url('assets/ui/panel-skin-v29.png');--ink:#453421;--ink-soft:#705b40;--old-gold:#9b783d;--cream:#e6d3ad;--wood:#34271c}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:radial-gradient(ellipse at 50% 400px,#51402a55,transparent 65%),#201a14;color:var(--ink);font:19px/1.45 'Crimson Pro',Georgia,serif;min-width:320px}
[hidden]{display:none!important}.symbols{position:absolute;width:0;height:0;overflow:hidden}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #a77a31;outline-offset:3px}.skip-link{position:fixed;z-index:50;left:20px;top:10px;transform:translateY(-180%);background:#e5d0a5;color:#3e2c1a;padding:9px 14px}.skip-link:focus{transform:none}
.masthead{height:370px;position:relative;isolation:isolate;background:url('assets/ui/drakuna-gate-v29.png') center 53%/cover no-repeat,#5a5034;border-bottom:1px solid #9b7c4a88}
.masthead-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0d140f8c,transparent 24%,transparent 76%,#0d140f8c),linear-gradient(#0d160a30,transparent 48%,#201a14 100%)}
.brand{text-align:center;position:relative;padding:23px 15px 0;filter:drop-shadow(0 4px 8px #0008)}
.brand-crest{width:37px;height:44px;color:#e0c18a;fill:#38291566;stroke-width:1.4;filter:drop-shadow(0 2px 1px #000b)}
.brand-kicker{font:500 10px/1 Cinzel,Georgia,serif;letter-spacing:4px;color:#f2e0b9;text-shadow:0 1px 3px #000;margin:8px 0 4px}
.brand h1{font:700 clamp(68px,8vw,112px)/1.1 Cinzel,Georgia,serif;letter-spacing:5px;margin:0;color:#e6c484;-webkit-text-stroke:1px #5a3a1c;text-shadow:0 2px #f2dfac,0 5px #3b2516,0 7px 14px #000a}
.brand-rule{display:flex;align-items:center;justify-content:center;gap:11px;max-width:370px;margin:15px auto 12px}
.brand-rule span{height:1px;flex:1;background:linear-gradient(90deg,transparent,#e3c18a)}.brand-rule span:last-child{transform:rotate(180deg)}.brand-rule i{width:6px;height:6px;transform:rotate(45deg);background:#dfbb79;border:1px solid #f2dba3}
.brand-tagline{font:500 22px/1.2 'Crimson Pro',Georgia,serif;color:#f4e4bf;text-shadow:0 2px 4px #000;margin:0;letter-spacing:.5px}
.site-wrap{width:min(1120px,calc(100% - 40px));margin:-42px auto 0;position:relative;z-index:2}
.main-nav{min-height:58px;padding:4px 15px;display:flex;align-items:stretch;border:10px solid transparent;border-image:var(--skin) 17.5% /10px stretch;background:linear-gradient(#51402c,#302319);box-shadow:0 5px 15px #0008}
.main-nav a,.main-nav button{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;padding:5px 20px;border:0;border-right:1px solid #c09a5555;color:#d9c49b;font:500 14px/1.2 Cinzel,Georgia,serif;text-decoration:none;background:none;white-space:nowrap;transition:color .15s,background .15s}
.main-nav .active{color:#ffdf9c;background:#d4b4730b;text-shadow:0 1px #000}.main-nav .active:after{content:'';position:absolute;bottom:-5px;left:20%;right:20%;height:2px;background:linear-gradient(90deg,transparent,#c9a15a,transparent)}
.main-nav a:hover,.main-nav button:hover{color:#ffeac0;background:#d2b16c0c}.main-nav button{margin-left:auto;border-right:0;color:#e5c486}.main-nav button svg{width:17px;height:17px}
.portal-grid{display:grid;grid-template-columns:294px minmax(0,1fr);align-items:start;gap:18px;margin-top:18px}.portal-aside,.portal-main{display:grid;gap:18px;min-width:0}
.paper-panel{border:20px solid transparent;border-image:var(--skin) 17.5% fill /20px stretch;background:#d5bc90;box-shadow:0 6px 18px #0007;min-width:0}
.panel-content{padding:15px 17px 17px}.eyebrow{font:600 10px/1.3 Cinzel,Georgia,serif;letter-spacing:1.4px;color:#80613b;display:block}
h2,h3{font-family:Cinzel,Georgia,serif;font-weight:500;line-height:1.25}h2{font-size:29px;margin:8px 0 13px;color:#47301e;letter-spacing:-.2px}h3{font-size:23px;color:#513820;margin:12px 0}p{margin:0 0 14px}
.ornament-rule{height:1px;position:relative;background:linear-gradient(90deg,#83633877,#83633822);margin:15px 0 20px}.ornament-rule:before{content:'';position:absolute;left:0;top:-3px;width:6px;height:6px;background:#977440;transform:rotate(45deg);border:1px solid #b9945d}
.account-panel{scroll-margin-top:20px}.account-panel .panel-content{padding:14px 9px 10px}.account-panel h2{font-size:25px}.account-panel .eyebrow{font-size:9px;letter-spacing:1.6px}
.account-panel label{display:block;font:600 16px/1.2 'Crimson Pro',Georgia,serif;color:#5d452c;margin:13px 0 6px}.account-panel input{display:block;width:100%;height:41px;padding:9px 11px;border:1px solid #8c6c3f;border-radius:1px;background:linear-gradient(#30271f,#3d3023);color:#f3dfb8;box-shadow:inset 0 2px 5px #0008,0 1px #f5e1ba80;outline:none;font:16px/1.2 'Crimson Pro',Georgia,serif;min-width:0}
.account-panel input::placeholder{color:#bfab8a}.account-panel input:focus{border-color:#d4af65;box-shadow:inset 0 2px 5px #0007,0 0 0 2px #8a632d33}
.password-field{position:relative}.password-field input{padding-right:39px}.eye-button{position:absolute;top:1px;bottom:1px;right:1px;width:36px;display:grid;place-items:center;border:0;border-left:1px solid #bd9f5e33;background:none;color:#bcaa89}.eye-button svg{width:18px;height:18px}.eye-button:hover{color:#f4d99e;background:#fff3c008}
.enter-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:46px;padding:7px 8px;margin-top:20px;border:6px solid transparent;border-image:var(--skin) 7.5% /6px stretch;background:linear-gradient(#68462b,#3b2b1d);box-shadow:inset 0 1px #d8b57844,0 3px 5px #55391844;color:#f0d29b;text-shadow:0 1px 1px #180b03;font:600 19px/1.1 'Crimson Pro',Georgia,serif;text-decoration:none;transition:filter .15s,box-shadow .15s}
.enter-button svg{width:19px;height:19px}.enter-button:hover{filter:brightness(1.12);box-shadow:inset 0 1px #d8b57844,0 0 8px #8e622344}.enter-button:active{transform:translateY(1px)}
.form-switch{text-align:center;font-size:16px;color:#7f6748;margin:14px 0 0;line-height:1.25}.form-switch button,.logout-button{border:0;padding:0;background:none;color:#67411e;font:600 16px/1.3 'Crimson Pro',Georgia,serif;text-decoration:underline;text-decoration-color:#8f6f4566;text-underline-offset:3px}.form-switch button:hover,.logout-button:hover{color:#3f2815;text-decoration-color:currentColor}
.guest-button{width:100%;padding:11px 0 0;margin-top:19px;border:0;border-top:1px solid #87673d55;background:none;font:500 17px/1.2 'Crimson Pro',Georgia,serif;color:#715332}.guest-button:hover{color:#3e2a18;text-decoration:underline;text-underline-offset:3px}.guest-note{font-size:13px;line-height:1.25;text-align:center;color:#8b7354;margin:7px 0 0}
.form-error{border-left:2px solid #9e4b32;padding:8px 10px;margin:0 0 12px;background:#a34e3210;color:#873e2b;font-size:16px;line-height:1.25}.account-panel small{font-size:13px;color:#866c49;display:block;margin:6px 0 1px;line-height:1.2}
.account-seal{display:flex;justify-content:center;margin:20px auto 10px;color:#9b763c}.account-seal svg{width:42px;height:48px;fill:#b28b3e12}.greeting{text-align:center;font-size:22px;line-height:1.2}.greeting strong{font-weight:600;color:#54391f;overflow-wrap:anywhere}.signed-description{text-align:center;font-size:17px;line-height:1.3;color:#7f6847}.logout-button{display:block;margin:16px auto 5px}
.world-panel{text-align:center}.world-panel .panel-content{padding:10px 10px 14px}.world-compass{width:37px;height:37px;margin:16px 0 5px;color:#9a793f;stroke-width:1.1}.world-panel h2{font-size:20px;margin:8px 0 12px}.world-panel p{font-size:17px;line-height:1.3;color:#7c6445}.world-panel a{display:inline-flex;align-items:center;gap:8px;color:#755329;font-size:16px;text-decoration:none;border-bottom:1px solid #99724255}.world-panel a:hover{color:#382614}.world-panel a span{font-size:22px;line-height:1}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-heading h2{margin-bottom:3px}.section-heading>svg{width:34px;height:38px;color:#9b7c47;flex:none;stroke-width:1.1}
.news-meta{display:flex;justify-content:space-between;gap:15px;font:12px/1.3 'Crimson Pro',Georgia,serif;letter-spacing:.3px;color:#8e7450}.news-meta span{color:#876235;font-style:italic}.lead-news h3{font-size:27px;margin:15px 0 17px;letter-spacing:-.25px}.lead-news .lead{font-size:22px;line-height:1.35;color:#67492d;margin-bottom:15px}.lead-news p{font-size:20px;line-height:1.4;color:#70573c}
.text-link{display:inline-flex;align-items:center;gap:9px;border:0;border-bottom:1px solid #9b753e66;padding:0 0 4px;margin-top:3px;background:none;font:600 18px/1.2 'Crimson Pro',Georgia,serif;color:#755020}.text-link svg{width:19px;height:19px}.text-link:hover{color:#422a14;border-color:currentColor}
.chronicle-notes{display:grid;gap:20px;margin-top:28px;padding-top:24px;border-top:1px solid #99774655}.chronicle-notes article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:13px}.note-mark{font:500 29px/1 Cinzel,Georgia,serif;color:#a07b43;margin-top:5px;border-right:1px solid #9d794644}.chronicle-notes h3{font-size:18px;margin:0 0 7px;color:#684b2d}.chronicle-notes p{font-size:18px;line-height:1.35;color:#7a6143;margin:0}
.world-story h2{font-size:27px}.places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.places article{padding-right:14px;border-right:1px solid #a17d4344}.places article:last-child{padding-right:0;border:0}.places svg{width:28px;height:31px;color:#9b793e;stroke-width:1.2}.places h3{font-size:18px;margin:8px 0 10px}.places p{font-size:18px;line-height:1.3;color:#7c6243;margin:0}
.site-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:25px 5px 32px;color:#ad9471;font:15px/1.2 'Crimson Pro',Georgia,serif}.site-footer i{font-style:normal;color:#6d5639;margin:0 6px}.site-footer a{text-decoration:none;color:#c0a57d}.site-footer a:hover{color:#ead0a4;text-decoration:underline;text-underline-offset:4px}
@media(min-width:1600px){.masthead{height:410px;background-position:center 54%}.brand{padding-top:42px}}
@media(max-width:1000px){.site-wrap{width:calc(100% - 28px)}.portal-grid{grid-template-columns:270px minmax(0,1fr);gap:14px}.portal-aside,.portal-main{gap:14px}.main-nav a,.main-nav button{padding-left:14px;padding-right:14px}.panel-content{padding:13px 11px 14px}.account-panel .panel-content{padding:12px 5px 10px}.lead-news h3{font-size:24px}.lead-news .lead{font-size:21px}.places{gap:12px}.places article{padding-right:10px}.places h3{font-size:16px}}
@media(max-width:760px){.masthead{height:275px;background-position:56% 50%}.brand{padding-top:18px}.brand-crest{width:29px;height:35px}.brand-kicker{font-size:8px;letter-spacing:3px;margin-top:6px}.brand h1{font-size:74px;letter-spacing:3px}.brand-rule{max-width:270px;margin-top:10px;margin-bottom:9px}.brand-tagline{font-size:20px}.site-wrap{margin-top:-25px;width:calc(100% - 24px)}.main-nav{padding:2px 3px;min-height:49px;border-width:8px;border-image-width:8px}.main-nav a,.main-nav button{font-size:11px;padding:5px 10px;gap:5px}.main-nav button svg{width:14px;height:14px}.portal-grid{grid-template-columns:1fr;margin-top:14px;gap:14px}.portal-aside{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);align-items:start;gap:14px}.paper-panel{border-width:16px;border-image-width:16px}.account-panel .panel-content{padding:12px 9px 10px}.account-panel h2{font-size:25px}.world-panel .panel-content{padding:13px 3px}.world-panel .eyebrow{font-size:8px;letter-spacing:1px}.world-panel h2{font-size:19px}.world-panel p{font-size:17px}.world-panel a{font-size:15px}.world-compass{margin-top:20px}.portal-main .panel-content{padding:14px 16px 18px}.lead-news h3{font-size:26px}.places h3{font-size:18px}.site-footer{font-size:14px;padding-top:22px}}
@media(max-width:520px){.masthead{height:248px}.brand h1{font-size:65px}.brand-tagline{font-size:18px}.brand-rule{max-width:235px}.brand-crest{height:31px}.main-nav a,.main-nav button{padding:5px 8px;font-size:10px}.main-nav a[href="#kronika"]{display:none}.portal-aside{grid-template-columns:1fr}.world-panel{display:none}.account-panel .panel-content{padding:12px 18px 13px}.portal-main .panel-content{padding:12px 9px 15px}h2{font-size:25px}.section-heading .eyebrow{font-size:8px;letter-spacing:1px}.section-heading>svg{width:29px}.news-meta{font-size:12px;gap:10px}.lead-news h3{font-size:23px}.lead-news .lead{font-size:21px}.lead-news p{font-size:19px}.places{grid-template-columns:1fr;gap:20px}.places article{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:12px;border-right:0;padding:0}.places svg{grid-row:1 / 3}.places h3{margin:0 0 7px}.places p{grid-column:2}.world-story .eyebrow{font-size:9px}.site-footer{align-items:flex-start;flex-direction:column;gap:10px}.brand{-webkit-text-stroke:0}.chronicle-notes article{grid-template-columns:29px minmax(0,1fr);gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
