
:root{color-scheme:dark;--bg:#061311;--ink:#eef3e9;--muted:#9eafa3;--line:#ffffff19;--accent:#b6ce82;--accent-ink:#18251b;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 14% 52%,#224a3550,transparent 58%),radial-gradient(ellipse at 92% 10%,#273d3333,transparent 50%),linear-gradient(120deg,#061311,#0d1d19)}a{color:inherit;text-decoration:none}.masthead{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:34px 54px;border-bottom:1px solid var(--line)}.wordmark{font-family:Georgia,serif;font-size:28px;letter-spacing:5px;font-weight:bold}.wordmark span{display:block;font:10px system-ui;letter-spacing:7px;margin-top:2px;color:var(--accent)}.test-label{color:#c0ccb9;font-size:12px;letter-spacing:.06em;display:flex;align-items:center;gap:10px}.test-label i{width:6px;height:6px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px #b6ce8255}.launch-layout{max-width:1212px;margin:0 auto;display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center;padding:70px 34px 56px}.eyebrow,.small-label{font-size:10px;font-weight:600;letter-spacing:.2em;color:var(--accent)}h1{font:clamp(44px,5.4vw,76px)/1.09 Georgia,serif;letter-spacing:-.04em;font-weight:normal;margin:20px 0 26px}h2{font:32px/1.2 Georgia,serif;font-weight:normal;margin:24px 0}.intro{font-size:16px;line-height:1.8;color:var(--muted);max-width:490px}.world-tag{display:flex;align-items:center;gap:16px;margin-top:44px}.compass{display:grid;place-items:center;width:44px;height:44px;border:1px solid #b6ce8244;border-radius:50%;font-size:25px;color:var(--accent)}.world-tag strong,.world-tag div span{display:block}.world-tag strong{font-size:13px;font-weight:500}.world-tag div span{font-size:11px;color:var(--muted);margin-top:5px}.launch-card,.gate-card{border:1px solid var(--line);background:linear-gradient(145deg,#182b23bb,#0b1c15cc);padding:30px 32px;box-shadow:0 24px 80px #0003;border-radius:4px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.card-heading .small-label{color:var(--muted);font-size:9px;letter-spacing:.12em}.edition{font-size:9px;color:#778d7d;letter-spacing:.12em}.checks{margin-bottom:28px}.checks>div{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.checks strong{font-size:11px;font-weight:500;color:#93a794;text-align:right}.checks strong.ok{color:var(--accent)}.checks strong.bad{color:#ecae94}.setting-label,label{display:block;font-size:12px;color:#b9c7bb;margin-bottom:10px}select,input{appearance:none;width:100%;border:1px solid #ffffff22;border-radius:3px;padding:13px 14px;background:#061610;color:var(--ink);font:12px system-ui;outline:none}select{background-image:linear-gradient(45deg,transparent 50%,#9eafa3 50%),linear-gradient(135deg,#9eafa3 50%,transparent 50%);background-position:calc(100% - 18px) 18px,calc(100% - 14px) 18px;background-size:4px 4px;background-repeat:no-repeat;padding-right:28px}select:focus,input:focus{border-color:var(--accent)}button{font:inherit;cursor:pointer}.primary{width:100%;padding:17px 18px;margin-top:18px;border:0;border-radius:3px;background:var(--accent);color:var(--accent-ink);font-size:13px;font-weight:650;display:flex;justify-content:space-between;align-items:center;transition:background .15s}.primary:hover:not(:disabled){background:#c8df97}.primary:disabled{opacity:.45;cursor:wait}.primary span{font-size:20px;font-weight:normal;line-height:1}.form-message{font-size:12px;line-height:1.6;color:var(--accent);min-height:20px;margin:13px 0}.note{font-size:11px;line-height:1.7;color:#7f9685;margin:20px 0 0}.quick-help{display:flex;max-width:1144px;margin:0 auto;gap:50px;padding:25px 0;border-top:1px solid var(--line)}.quick-help div{display:flex;gap:12px;align-items:center}.quick-help b{font-size:10px;letter-spacing:.08em;font-weight:500;color:#cad3c4}.quick-help span{font-size:11px;color:#748c7d}footer{font-size:10px;color:#577262;max-width:1144px;margin:0 auto;padding:18px 0 30px}.gate-page{min-height:100dvh}.gate-card{width:min(440px,calc(100% - 36px));margin:70px auto}.gate-card h1{font-size:42px}.gate-card .intro{font-size:14px;margin-bottom:28px}.gate-page footer{text-align:center}#benilla{display:none;width:100vw;height:100dvh;touch-action:none}body.playing{overflow:hidden;background:#000}body.playing #benilla{display:block}#game-bar{position:fixed;right:12px;top:max(10px,env(safe-area-inset-top));z-index:60;display:flex;align-items:center;gap:12px;padding:7px 10px;background:#05110cbb;border:1px solid #ffffff22;border-radius:4px;font-size:10px;color:#cedbc8}#game-bar[hidden]{display:none}#game-bar span:first-child{font-family:Georgia,serif;letter-spacing:.13em}#game-bar em{font:8px system-ui;color:var(--accent);font-style:normal;letter-spacing:.15em}#game-bar button{background:none;border:0;color:#bac9b6;font-size:10px;padding:3px;cursor:pointer}#touch-controls{position:fixed;inset:0;pointer-events:none;z-index:55;touch-action:none}#touch-controls[hidden]{display:none}.move-pad{position:absolute;left:max(18px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));width:160px;height:160px}.move-pad button,.action-pad button{pointer-events:auto;color:#e4f3d5;background:#06180fb5;border:1px solid #cfdeb844;border-radius:12px;user-select:none;-webkit-user-select:none;touch-action:none;min-width:44px;min-height:44px}.move-pad button:active,.action-pad button:active{background:#9db97399}.move-pad button{position:absolute;width:48px;height:48px;font-size:22px}.forward{top:0;left:56px}.left{left:0;top:56px}.back{left:56px;top:56px}.right{right:0;top:56px}.turn-left{left:0;bottom:0}.turn-right{right:0;bottom:0}.action-pad{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,48px);gap:7px}.action-pad button{font-size:10px;padding:3px}.action-pad button:nth-child(n+4){font-size:20px}@media(max-width:800px){.masthead{padding:22px}.launch-layout{grid-template-columns:1fr;gap:30px;padding:38px 22px}.hero h1{font-size:50px}.hero .intro{font-size:14px}.world-tag{margin-top:24px}.launch-card{padding:25px}.quick-help{flex-wrap:wrap;margin:0 22px;gap:18px;padding:22px 0}footer{padding:18px 22px}.test-label{font-size:10px}.wordmark{font-size:23px}.gate-card{margin-top:40px}}@media(max-height:550px) and (orientation:landscape){.launch-layout{grid-template-columns:1fr 1fr;gap:24px;padding:24px}.hero h1{font-size:39px}.hero .intro{font-size:12px}.masthead{padding:15px 24px}.launch-card{padding:20px}.quick-help,footer{display:none}.world-tag{margin-top:18px}.checks>div{padding:8px 0}.launch-card h2{font-size:25px;margin:15px 0}.checks{margin-bottom:14px}.launch-card .note{margin-top:10px}}
/* Kraken branding, shared with the main site. */
:root{--bg:#070c12;--ink:#f2f0e9;--muted:#b5bcc1;--line:#d4af372b;--accent:#d4af37;--accent-ink:#17120a}body{background:#070c12}body:before{background:linear-gradient(90deg,#03090de8,#03090d96 60%,#03090dd6),linear-gradient(0deg,#05090ff2,transparent 70%),url('/images/forest.png') center/cover no-repeat}.masthead{background:#050a0edf;max-width:none;padding:18px 5%;border-bottom:1px solid #d4af3733}.wordmark{font-size:0;letter-spacing:0}.wordmark img{width:190px;height:auto;display:block}.wordmark span{font-size:9px;letter-spacing:3px;text-align:center;margin-top:7px;color:#d4af37}.test-label{color:#d4af37}.test-label i{background:#54d7df;box-shadow:0 0 12px #54d7df55}h1,h2{font-family:Georgia,'Times New Roman',serif}h1{color:#f2f0e9}h1::first-line{color:#d4af37}.launch-card,.gate-card{background:linear-gradient(145deg,#111b24f2,#070d14ed);border:1px solid #d4af373d;border-radius:10px;box-shadow:0 18px 65px #0008}.primary{background:linear-gradient(#d7b746,#b79227);color:#110e07;border:1px solid #e9cd68}.primary:hover:not(:disabled){background:#e1c557}.primary:disabled{cursor:not-allowed}input,select{background-color:#090f17;border-color:#d4af3740;color:#f2f0e9}.world-tag strong,.quick-help b{color:#efe9d8}.world-tag div span,.quick-help span,.note{color:#99a9b5}.compass{color:#d4af37;border-color:#d4af3755}.edition,footer{color:#82939f}.gate-card{margin:64px auto}.gate-card h1{color:#e7c652}.intro{color:#bec8ce}.checks>div{border-color:#d4af3722}.checks strong.ok{color:#69d2d9}#game-stage{display:none}body.playing{background:#070c12;overflow:auto}body.playing #game-stage{display:block;position:relative;width:calc(100vw - 48px);max-width:1440px;height:calc(100dvh - 112px);min-height:360px;margin:78px auto 24px;border:1px solid #d4af3755;box-shadow:0 12px 50px #0009}body.playing #benilla{display:block;width:100%;height:100%;outline:none}#game-bar{top:16px;right:24px;background:#081019f0;border-color:#d4af3755;color:#eee7d3}#game-bar em{color:#d4af37}#game-bar button{border-color:#d4af3744;color:#e9d289}#runtime-error{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:10000;max-width:min(800px,92vw);padding:16px 22px;background:#201511f5;border:1px solid #cd9b45;border-radius:8px;color:#fff0d2;font:14px/1.6 system-ui;box-shadow:0 10px 40px #0009}:root:fullscreen body.playing #game-stage{width:100vw;max-width:none;height:100dvh;min-height:0;margin:0;border:0}:root:fullscreen #game-bar{opacity:.85}@media(max-width:680px){.masthead{padding:15px 18px}.wordmark img{width:155px}.wordmark span{font-size:7px;letter-spacing:2px}.test-label{font-size:10px}.launch-layout{gap:30px;padding-top:35px}.gate-card{margin:35px auto}body.playing #game-stage{width:calc(100vw - 16px);height:calc(100dvh - 86px);margin-top:68px;min-height:240px}#game-bar{right:8px;left:8px;top:12px;justify-content:flex-end;gap:8px}}

.addon-options{margin:14px 0;color:#ced7e4}.addon-options summary{cursor:pointer;color:#d4af37}.addon-options #addon-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0;max-height:220px;overflow:auto;font-size:12px}.addon-options label{display:flex;align-items:center;gap:5px;overflow-wrap:anywhere}.addon-options input{width:auto;margin:0}
/* Touch login fields use native browser editing/keyboard over the game's own field bounds. */
.mobile-login-field{position:fixed;z-index:70;box-sizing:border-box;appearance:none;-webkit-appearance:none;border:1px solid #706c5e;border-radius:3px;background:#101116;color:#f5e8c9;padding:1px 5px;font:16px/1.1 system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:normal;touch-action:manipulation;user-select:text;-webkit-user-select:text;outline:none;min-width:0}.mobile-login-field:focus{border-color:#d4af37}.mobile-login-field[hidden]{display:none}
#world-loading{position:fixed;z-index:75;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));margin:auto;max-width:680px;padding:12px 16px;border:1px solid #a27c36;border-radius:8px;background:rgba(14,19,25,.94);color:#f2e3bf;font:15px/1.45 system-ui;pointer-events:none}
#world-loading[hidden]{display:none}

/* Touch viewport: controls overlay the game and never reserve a top strip. */
#game-menu-toggle{display:none}
body.playing.mobile-ui{overflow:hidden}
body.playing.mobile-ui #game-stage{position:fixed;inset:0;width:100%;height:100%;max-width:none;min-height:0;margin:0;border:0}
body.playing.mobile-ui #game-menu-toggle{display:block;position:fixed;z-index:65;top:max(6px,env(safe-area-inset-top));right:max(6px,env(safe-area-inset-right));width:38px;height:32px;padding:0;border:1px solid #d4af3755;border-radius:6px;background:#081019a8;color:#e9d289;font-size:20px;touch-action:manipulation}
body.playing.mobile-ui #game-bar{display:none;top:calc(max(6px,env(safe-area-inset-top)) + 38px);left:auto;right:max(6px,env(safe-area-inset-right));max-width:calc(100vw - 12px);flex-wrap:wrap}
body.playing.mobile-ui #game-bar.mobile-open:not([hidden]){display:flex}
.move-pad{width:176px;height:114.4px}
.move-pad button{width:52.8px;height:52.8px}
.move-pad .forward{left:61.6px;top:0}
.move-pad .left{left:0;top:61.6px}
.move-pad .back{left:61.6px;top:61.6px}
.move-pad .right{right:0;top:61.6px}
