:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101a1b;--panel:#172122;--gold:#d1b679;--text:#edece4;--muted:#9faeaa;font-family:Manrope,Segoe UI,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:inherit;text-decoration:none}.welcome{background:radial-gradient(at 25% 65%,#2e4a4033,#0000 60%),linear-gradient(125deg,#0c1718,#152123 60%,#111a1b);min-height:100dvh;position:relative;overflow:hidden}.welcome:before{content:"";pointer-events:none;background-image:linear-gradient(#afbc9b08 1px,#0000 1px),linear-gradient(90deg,#afbc9b08 1px,#0000 1px);background-size:80px 80px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#0004,#0000);mask-image:linear-gradient(90deg,#0000,#0004,#0000)}.welcome-header,.welcome-footer{justify-content:space-between;align-items:center;padding:30px 5vw;display:flex;position:relative}.wordmark{flex-direction:column;align-items:center;display:flex}.wordmark span{letter-spacing:5px;color:var(--gold);font-family:Georgia,serif;font-size:11px}.wordmark strong{letter-spacing:5px;color:#e4e5cf;font-family:Georgia,serif;font-size:32px;font-weight:500}.edition{letter-spacing:2px;color:#8faaa2;border:1px solid #8fa79a35;border-radius:3px;padding:10px 14px;font-size:10px}.welcome-content{grid-template-columns:1.3fr 1fr;align-items:center;gap:100px;max-width:1260px;margin:42px auto 65px;padding:0 5vw;display:grid;position:relative}.eyebrow{font-weight:700;line-height:1.6;letter-spacing:2.4px!important;color:var(--gold)!important;font-size:10px!important}.intro h1{letter-spacing:-1px;margin:26px 0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(43px,5vw,70px);font-weight:400;line-height:1.08}.intro h1 em{color:#c7d3bf;font-weight:400}.intro-copy{color:#a2b3ac;max-width:390px;font-size:14px;line-height:1.9}.world-mark{color:#b9c89a;border:1px solid #9ab3952b;border-radius:50%;justify-content:center;align-items:center;width:150px;height:150px;margin:25px 0;font-family:Georgia,serif;font-size:58px;display:flex;position:relative}.world-mark:before,.world-mark:after{content:"";border:1px solid #9ab39530;position:absolute;inset:14px;transform:rotate(45deg)}.world-mark:after{border-radius:50%;inset:28px;transform:rotate(15deg)}.journey-points{color:#98a99e;white-space:nowrap;align-items:center;gap:14px;font-size:10px;display:flex}.journey-points i{background:#a99565;width:3px;height:3px;transform:rotate(45deg)}.login-card{background:linear-gradient(155deg,#22312d90,#132020ee);border:1px solid #bec19c25;border-radius:7px;justify-self:end;width:100%;max-width:420px;padding:30px 34px;box-shadow:0 24px 70px #0003}.card-heading h2{margin:10px 0;font-family:Cormorant Garamond,Georgia,serif;font-size:34px;font-weight:500}.card-heading>p:last-child{color:var(--muted);margin-bottom:26px;font-size:12px;line-height:1.8}.small-rune{color:var(--gold);font-size:26px}form{flex-direction:column;gap:10px;display:flex}label{color:#bdc5bd;margin-top:5px;font-size:11px}input{color:#edf0e5;background:#0d181a80;border:1px solid #6a83783b;border-radius:4px;outline:none;width:100%;min-height:48px;padding:10px 13px;font-size:16px}input:focus{border-color:#bdab6c}input::placeholder{color:#697c75;font-size:12px}.password-field{position:relative}.password-field input{padding-right:56px}.password-field button{color:#abb8aa;background:0 0;border:0;min-width:44px;height:44px;font-size:11px;position:absolute;top:2px;right:2px}.primary{color:#1a241f;background:#cdb47a;border:1px solid #dfc58f;border-radius:4px;justify-content:space-between;align-items:center;gap:25px;min-height:49px;margin-top:13px;padding:13px 17px;font-size:12px;font-weight:700;display:flex}.primary:hover{background:#e0c68c}.primary:disabled{opacity:.65;cursor:wait}#login-message{color:#e7bf9d;min-height:18px;margin:0;font-size:11px;line-height:1.7}.access-note{color:#a8b7a8;align-items:center;gap:8px;margin-top:21px;font-size:10px;display:flex}.status-dot{background:#b1ba7f;border-radius:50%;width:5px;height:5px}.version-note{color:#7c9188;margin-top:14px;font-size:10px;line-height:1.7}.welcome-footer{letter-spacing:2px;color:#768e81;border-top:1px solid #91ab9620;font-size:9px}.welcome-footer button{color:#b5b69c;letter-spacing:0;background:0 0;border:0;min-height:44px;font-size:10px}dialog{color:var(--text);background:#142022;border:1px solid #5f756045;border-radius:9px;width:calc(100% - 24px);max-width:540px;max-height:calc(100dvh - 30px);padding:30px;overflow:auto;box-shadow:0 20px 100px #000a}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#020909b3}dialog h2{font-family:Georgia,serif;font-size:25px;font-weight:400}dialog p{color:#bdc9bd;font-size:12px;line-height:1.8}.close-dialog:not(.primary){width:44px;height:44px;color:var(--gold);background:0 0;border:0;font-size:26px;position:absolute;top:9px;right:9px}.game{touch-action:none;background:#080e0f;position:fixed;inset:0}.loading{z-index:50000;color:#e8e5cc;text-align:center;background:#0c181bee;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;display:flex;position:fixed;inset:0}.loading[hidden],.game[hidden],.web-controls[hidden]{display:none}.loading span{color:#95ad9f;font-size:11px}.spinner{border:2px solid #b4ab7730;border-top-color:#d8bd7b;border-radius:50%;width:30px;height:30px;margin-bottom:12px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.web-controls{right:max(12px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));z-index:900;pointer-events:none;align-items:center;gap:5px;display:flex;position:fixed}.web-controls button{pointer-events:auto;color:#e4d19d;background:#101b20e8;border:1px solid #6f806a80;border-radius:5px;min-width:44px;min-height:44px;padding:8px;font-size:12px}.web-controls #connection-label{color:#d2dbcd;white-space:nowrap;background:#111b20b3;border-radius:4px;padding:4px 8px;font-size:9px;position:absolute;top:50px;right:0}.character-picker{z-index:40000;text-align:center;background:#112022f5;padding:40px 25px;position:fixed;inset:0;overflow:auto}.character-picker h2{font-family:Georgia,serif;font-size:32px;font-weight:400}.character-grid{grid-template-columns:repeat(auto-fit,minmax(180px,260px));justify-content:center;gap:15px;max-width:900px;margin:35px auto;display:grid}.character-card{color:#efedd4;background:linear-gradient(#25342d,#142423);border:1px solid #79815d6b;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:160px;padding:20px;display:flex}.character-card strong{font-size:18px}.character-card small{color:#b0bb9c}.character-card span{color:#dfc48b;font-size:10px}.pass-content{grid-template-columns:1.5fr 1fr;gap:20px;display:grid}#pass-dialog{max-width:940px}.pass-rewards{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;display:grid}.reward{color:#dcd8b8;background:#203036;border:1px solid #59654a70;border-radius:4px;flex-direction:column;align-items:center;gap:5px;min-width:44px;min-height:75px;padding:7px 3px;font-size:10px;display:flex}.reward img{object-fit:contain;width:28px;height:28px;image-rendering:pixelated}.reward.active{background:#534c32;border-color:#dbbb70}.reward.complete{background:#254b3c}#pass-detail{overflow-wrap:anywhere;font-size:12px;line-height:1.8}#pass-detail img{width:48px;height:48px;image-rendering:pixelated}#pass-detail h3{color:var(--gold);font-weight:500}#pass-detail p{font-size:11px}.progress-track{background:#34413c;border-radius:4px;height:6px;margin:9px 0}.progress-track span{background:#d1b679;border-radius:4px;height:100%;display:block}.portrait-hint{z-index:21000;color:#d5d8bb;pointer-events:none;background:#10201ace;border-radius:4px;padding:5px 9px;font-size:9px;position:fixed;bottom:10px;left:10px}@media (max-width:900px){.welcome-content{gap:40px;margin-top:25px;padding:0 5vw}.intro h1{font-size:48px}.journey-points{white-space:normal;flex-wrap:wrap;gap:8px}.world-mark{width:115px;height:115px}.login-card{padding:24px}.edition{letter-spacing:1px;font-size:8px}}@media (max-width:650px){.welcome-header{padding:22px 25px}.wordmark strong{font-size:25px}.wordmark span{font-size:9px}.edition{text-align:center;max-width:133px;line-height:1.5}.welcome-content{flex-direction:column;gap:22px;max-width:450px;margin:15px auto 30px;padding:0 23px;display:flex}.intro{width:100%}.intro h1{margin:14px 0;font-size:42px}.intro-copy{font-size:12px;line-height:1.8}.world-mark,.journey-points{display:none}.login-card{max-width:none;padding:22px}.card-heading h2{font-size:29px}.card-heading>p:last-child{margin-bottom:20px}.welcome-footer{padding:15px 22px}.welcome-footer>span{display:none}.pass-content{display:block}.pass-rewards{grid-template-columns:repeat(5,minmax(0,1fr))}#pass-detail{border-top:1px solid #59654a70;margin-top:20px;padding-top:15px}.reward{min-height:70px}dialog{padding:23px 19px}.web-controls #connection-label{display:none}}@media (max-height:540px) and (min-width:651px){.welcome-header{padding-top:15px;padding-bottom:10px}.welcome-content{gap:35px;max-width:1000px;margin:10px auto}.intro h1{font-size:42px}.intro-copy{font-size:11px}.world-mark{display:none}.login-card{padding:18px 24px}.card-heading h2{margin:7px 0;font-size:28px}.card-heading>p:last-child{margin-bottom:10px}.small-rune,.version-note{display:none}.access-note{margin-top:12px}.welcome-footer{padding-top:5px;padding-bottom:5px}.edition{font-size:8px}.card-heading .eyebrow{margin:0}.login-card input{min-height:44px}.primary{min-height:44px;margin-top:7px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}body>div[id]:not(#loading):not(#web-controls){color:#111;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.player-status{display:none}@media (pointer:coarse){.player-status:not([hidden]){top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));z-index:800;pointer-events:none;background:#112024ed;border:1px solid #71816488;border-radius:5px;flex-direction:column;gap:3px;width:175px;padding:9px 11px;display:flex;position:fixed}.player-status strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.player-status>span{color:#c5c8a9;font-size:9px}.vital{height:14px;position:relative}.vital span{color:#f3f1d9;z-index:1;text-align:center;font-size:8px;line-height:14px;position:absolute;inset:0}.vital progress{appearance:none;background:#263a32;border:0;border-radius:3px;width:100%;height:14px;position:absolute;inset:0;overflow:hidden}.vital progress::-webkit-progress-bar{background:#243a32}.vital progress::-webkit-progress-value{background:#61784c}.vital.sp progress::-webkit-progress-value{background:#3d6181}}.pass-content{align-items:start}#pass-detail{overscroll-behavior:contain;max-height:min(460px,100dvh - 190px);padding-right:6px;overflow:auto}#pass-dialog>.close-dialog{float:right;z-index:3;background:#142022;margin-top:-14px;margin-right:-14px;position:sticky;top:0}#pass-dialog>h2{margin-top:12px}@media (max-height:540px) and (min-width:651px){#pass-dialog{max-height:calc(100dvh - 12px);padding:13px 17px}#pass-dialog>.eyebrow{display:none}#pass-dialog>h2{margin:0 0 5px;font-size:20px}#pass-progress{max-height:32px;margin:6px 0 10px;font-size:10px;line-height:1.5;overflow:auto}.pass-content{gap:14px}.pass-rewards{gap:4px}.reward{height:44px;min-height:44px;padding:3px;display:block;position:relative}.reward>span{font-size:8px;position:absolute;top:3px;left:4px}.reward>img{width:22px;height:22px;position:absolute;bottom:3px;left:4px}.reward>strong{font-size:9px;font-weight:500;position:absolute;bottom:6px;right:4px}#pass-detail{max-height:calc(100dvh - 107px)}#pass-detail h3{margin-top:0;font-size:12px}#pass-detail p{font-size:10px;line-height:1.7}}
