@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/DMSans-Regular.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/DMSans-Semibold.ttf) format("truetype")}@font-face{font-family:Libre Caslon Display;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/LibreCaslonDisplay-Regular.ttf) format("truetype")}:root{font-family:DM Sans,sans-serif;color:#293d35;background:#eeeadf;font-synthesis:none;--ink:#293d35;--muted:#7b8275;--paper:#f4f1e7;--line:#d5d7c9;--green:#294f41;--orange:#bc714b;--teal:#5d9b93;--serif:"Libre Caslon Display",Georgia,serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.38}button,a,input,select{outline-offset:5px}button:focus-visible,a:focus-visible{outline:2px solid #b57048}button,a{color:inherit}svg{display:block}button svg{width:19px;height:19px}#scene{position:fixed;inset:0;z-index:0}#scene canvas{display:block;width:100%;height:100%;outline:0}#app{position:relative;height:100dvh;pointer-events:none}button,input,select,a,.panel{pointer-events:auto}button{border:0;background:none}.topbar{position:absolute;inset:0 4.4% auto;display:flex;align-items:center;justify-content:space-between;height:103px;border-bottom:1px solid #aebba635;z-index:3}.brand{display:flex;align-items:center;gap:12px;padding:0}.brand-symbol{width:43px;height:43px}.wordmark{font-family:var(--serif);font-size:30px;letter-spacing:-1px;line-height:1}.wordmark small{display:block;font:8px DM Sans,sans-serif;letter-spacing:3.1px;text-transform:uppercase;margin:6px 0 0 2px;color:#7b8275}.top-note{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:#7b8275;position:absolute;left:50%;transform:translate(-50%)}.top-actions{display:flex;align-items:center;gap:12px}.icon-button{width:38px;height:38px;border:1px solid #9eab9740;border-radius:50%;display:grid;place-items:center;transition:background .2s}.icon-button:hover{background:#faf8ee}.inventory-button{display:flex;align-items:center;gap:9px;padding:11px 15px;border-radius:7px;border:1px solid #a4b39d66;font-size:11px}.inventory-button kbd{background:transparent;border:1px solid #b4bcad80;border-radius:3px;width:17px;line-height:17px;font-size:9px;text-align:center;color:var(--muted)}.intro{position:absolute;left:6.2%;top:23%;width:340px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.4px;text-transform:uppercase;display:flex;align-items:center;gap:10px}.eyebrow .dot{display:block;width:5px;height:5px;background:var(--orange);border-radius:50%}.intro h1{font:normal clamp(64px,6.2vw,100px)/.95 var(--serif);letter-spacing:-3px;margin:26px 0 21px}.intro h1 em{font-style:italic;color:var(--orange)}.intro p{font-size:12px;line-height:1.95;max-width:265px;color:#727b6e;margin:0 0 30px}.primary-button{background:var(--green);color:#f6f2e5;padding:17px 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:12px;font-weight:500;border-radius:6px;box-shadow:0 5px 12px #203d3520;transition:background .2s,transform .2s}.primary-button:hover{background:#39644e;transform:translateY(-2px)}.primary-button svg{width:17px}.intro .under-button{display:flex;align-items:center;gap:7px;color:#7c8475;font-size:9px;margin-top:13px;padding:0 3px}.under-button .dot{width:4px;height:4px;background:#76a27a;border-radius:50%}.text-button{display:flex;align-items:center;gap:9px;font-size:10px;padding:0;margin-top:24px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#a7ae9a}.map-note{position:absolute;right:5.2%;top:21%;width:193px}.map-note-top{display:flex;align-items:center;gap:9px;color:#7c897a;font-size:8px;letter-spacing:2px}.map-note-top:before{content:"";width:19px;height:1px;background:#7c897a}.map-note h2{font:31px/1.05 var(--serif);margin:13px 0 10px}.map-note p{font-size:10px;line-height:1.7;color:#7c8475;margin:0 0 15px}.map-meta{font-size:8px;letter-spacing:1.1px;color:#7c8475;text-transform:uppercase}.map-note .text-button{font-size:9px;margin-top:17px}.pair-selector{position:absolute;left:46%;bottom:14.2%;display:flex;gap:12px;transform:translate(-8%)}.pair-caption{position:absolute;left:2px;top:-25px;font-size:8px;color:#798775;letter-spacing:2px;text-transform:uppercase;white-space:nowrap}.pair-card{display:flex;align-items:center;gap:12px;background:#f4f1e7d9;backdrop-filter:blur(10px);border:1px solid #fff9;border-radius:9px;width:190px;padding:13px 12px 13px 14px;text-align:left;box-shadow:0 4px 15px #4054370b;transition:transform .2s,border-color .2s}.pair-card:hover{transform:translateY(-3px);border-color:#9dad94}.role-icon{width:37px;height:37px;flex:0 0 37px;display:grid;place-items:center;border-radius:8px;background:#bc714b16;color:var(--orange)}.role-icon svg{width:23px;height:23px}.role-icon.teal{background:#598f8b15;color:#538c89}.pair-card small{font-size:7px;letter-spacing:1.6px;color:#7a8174;display:block;margin-bottom:4px}.pair-card strong{font-size:12px;font-weight:500;display:block}.pair-card .chev{width:12px;color:#8b9485;margin-left:auto}.pair-link{position:absolute;left:50%;top:22px;margin-left:-15px;z-index:1;background:#eeeadf;border:1px solid #d3d8c8;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#84977d}.pair-link svg{width:17px}.camp-footer{position:absolute;bottom:0;left:4.4%;right:4.4%;height:76px;border-top:1px solid #9eac8f50;display:flex;justify-content:space-between;align-items:center}.control-hint{display:flex;align-items:center;gap:11px;font-size:9px;color:#7c8475}.key-group{display:flex;gap:3px}.key-group kbd,.key{font:8px DM Sans,sans-serif;min-width:17px;height:18px;border:1px solid #b8c0ab;border-radius:3px;display:inline-grid;place-items:center;color:#6b7664;padding:0 4px}.footer-message{font-size:9px;color:#7a8472;display:flex;gap:12px;align-items:center}.footer-message span{font-size:14px;color:#a3ad98}.footer-controls{display:flex;gap:25px}.version{position:absolute;right:5.2%;bottom:108px;font-size:8px;letter-spacing:1.4px;color:#8b9481}.hidden{display:none!important}.in-game .topbar{height:77px;background:linear-gradient(#eeeadfbf,transparent);border:0}.in-game .wordmark{font-size:25px}.in-game .brand-symbol{width:34px;height:34px}.in-game .wordmark small,.in-game .top-note{display:none}.hud{position:absolute;inset:0;pointer-events:none}.hud-pair{position:absolute;top:99px;left:4.4%;display:flex;gap:12px}.hero-status{width:175px;padding:12px 14px;border:1px solid #fff6;border-radius:8px;background:#f4f1e7dc;backdrop-filter:blur(10px)}.hero-status-head{display:flex;justify-content:space-between;font-size:11px;align-items:center;margin-bottom:10px}.hero-status-head small{font-size:8px;color:#85917e}.bar{height:4px;border-radius:3px;background:#d6dccb;overflow:hidden}.bar i{display:block;height:100%;width:100%;background:#bb764c;border-radius:3px;transition:width .2s}.hero-status.second .bar i{background:#659f98}.health-values{display:flex;justify-content:space-between;font-size:8px;color:#87907e;margin-top:6px}.hud-objective{position:absolute;top:102px;left:50%;transform:translate(-50%);text-align:center;min-width:230px;text-shadow:0 1px 6px #f2eddb}.hud-objective .eyebrow{justify-content:center;font-size:8px}.hud-objective h2{font:30px var(--serif);margin:7px 0 4px}.hud-objective p{font-size:9px;color:#6a7e67;margin:0}.hud-progress{display:flex;align-items:center;gap:9px;margin:12px auto 0;max-width:210px}.hud-progress .bar{flex:1;height:3px}.hud-progress .bar i{background:#698c6c}.hud-progress span{font-size:9px;font-variant-numeric:tabular-nums}.boss-bar{margin:8px auto;max-width:280px}.boss-bar .bar i{background:#bc654f}.boss-bar p{font-size:9px;margin-bottom:6px}.hud-bottom{position:absolute;bottom:30px;left:50%;transform:translate(-50%);text-align:center}.bond-label{font-size:8px;letter-spacing:2px;display:flex;justify-content:center;align-items:center;gap:9px}.bond-label svg{width:16px}.bond-meter{display:flex;gap:4px;justify-content:center;margin:9px 0}.bond-meter i{height:3px;width:21px;border-radius:2px;background:#5a9389}.hud-help{font-size:8px;color:#73816c;margin-top:12px;white-space:nowrap}.hud-help kbd{font:8px inherit;border:1px solid #b3bea5;border-radius:2px;padding:2px 4px}.hud-xp{position:absolute;left:4.4%;bottom:31px;width:205px}.hud-xp .level-row{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin-bottom:9px}.hud-xp .bar i{background:#c3984f}.hud-xp small{font-size:8px;color:#7b8871;display:block;margin-top:6px}.points-button{color:#9b642d;font-size:9px;background:#f4e6c4;border:1px solid #c9a56855;border-radius:4px;padding:3px 6px}.minimap{position:absolute;bottom:30px;right:4.4%;width:128px;height:128px;border-radius:50%;background:#e2e4d2aa;border:1px solid #a4b58d88;backdrop-filter:blur(8px)}.minimap canvas{width:100%;height:100%;border-radius:50%}.minimap:after{content:"N";position:absolute;top:-14px;left:61px;font-size:8px;color:#80926f}.pause-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#eae8db60;backdrop-filter:blur(5px);pointer-events:auto}.pause-overlay h2{font:65px var(--serif);margin:0}.pause-overlay p{font-size:12px;color:#71816c}.secondary-button{border:1px solid #b9c1ad;background:#faf8ef80;padding:12px 18px;font-size:11px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.secondary-button:hover{background:#fff9ec}.subtle{color:#798673}.modal-backdrop{position:fixed;inset:0;z-index:20;background:#233e3650;backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:center;padding:28px}.modal{background:#f2efe3;width:min(960px,100%);max-height:90dvh;overflow:auto;border:1px solid #fff8;border-radius:14px;box-shadow:0 30px 90px #15251d30;padding:32px;position:relative}.modal.narrow{max-width:650px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:26px}.modal-header h2{font:44px/1 var(--serif);margin:9px 0 0;letter-spacing:-1px}.modal-header .eyebrow{color:#7e8b75;font-size:8px}.close-modal{width:31px;height:31px;display:grid;place-items:center;border:1px solid #c8cebb;border-radius:50%;flex:0 0 auto}.close-modal svg{width:15px;height:15px}.modal-intro{font-size:12px;line-height:1.8;color:#77816e;max-width:570px;margin:0 0 26px}.class-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.class-option{padding:21px 13px;border:1px solid #ced3c2;border-radius:8px;text-align:left;background:#fbf8ed70;position:relative}.class-option.selected{border-color:#4c806a;background:#dae4d14d}.class-option .role-icon{margin-bottom:24px}.class-option strong{display:block;font:24px var(--serif)}.class-option .class-title{font-size:8px;letter-spacing:1px;text-transform:uppercase;color:#879079;display:block;margin-top:6px}.class-option p{font-size:10px;line-height:1.7;min-height:75px;color:#79846f;margin:14px 0}.class-option .stats-mini{font-size:9px;line-height:1.8;color:#607358}.class-option .selected-mark{position:absolute;right:12px;top:14px;width:17px;color:#557f60}.modal-footnote{margin:22px 0 0;color:#7f8b73;font-size:10px;line-height:1.7}.realm-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}.realm-card{border:1px solid #d2d7c4;border-radius:8px;padding:15px;text-align:left;min-height:166px;background:#f9f6eb90;position:relative;overflow:hidden}.realm-card.selected{border-color:#6d987a;background:#dce6d16b}.realm-card .realm-num{display:flex;justify-content:space-between;font-size:9px;color:#88947b;margin-bottom:19px}.realm-card strong{font:23px/1.05 var(--serif);display:block;margin-bottom:9px}.realm-card small{font-size:8px;line-height:1.8;color:#7a886f;display:block}.realm-card .biome-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.realm-card .lock{position:absolute;right:12px;bottom:14px;color:#a1ad95}.realm-card .lock svg{width:13px}.realm-readiness{display:flex;align-items:center;gap:14px;padding:13px 16px;background:#e4e9d8;border-radius:7px;font-size:11px;margin-top:20px}.realm-readiness .primary-button{padding:12px 18px;margin-left:auto;white-space:nowrap}.inventory-toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:20px}.inventory-toolbar input{flex:1;min-width:120px}.inventory-toolbar input,.inventory-toolbar select{border:1px solid #cfd5c0;background:#faf7ec;padding:10px 12px;border-radius:5px;font-size:10px;color:#607054}.material-count{display:flex;gap:12px;font-size:10px;align-items:center;color:#7c876e;margin-left:auto}.material-count b{font-weight:500;color:#476a51}.inventory-layout{display:grid;grid-template-columns:1fr 260px;gap:22px;min-height:320px}.inventory-grid{display:grid;grid-template-columns:repeat(5,1fr);align-content:start;gap:8px;max-height:390px;overflow:auto;padding-right:5px}.item-tile{position:relative;height:91px;border:1px solid var(--rarity,#c4cab5);border-radius:7px;background:linear-gradient(145deg,#fdfaf0,#e6e8d8);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#667a59}.item-tile svg{width:29px;height:29px;opacity:.85}.item-tile .item-level{font-size:8px;color:#88917b}.item-tile .equip-dot{position:absolute;left:6px;top:5px;font-size:7px;background:#476c52;color:#f7f2df;border-radius:3px;padding:2px 3px}.item-tile .upgrade-label{position:absolute;right:5px;top:5px;font-size:8px;color:#94804b}.item-tile.selected{outline:2px solid #476c52;outline-offset:1px}.item-detail{padding:19px;border:1px solid #d2d6c2;border-radius:8px;background:#fbf8ed70}.item-detail .detail-icon{width:54px;height:54px;margin:3px 0 20px;background:#e7e9d9;border-radius:10px;display:grid;place-items:center}.detail-icon svg{width:30px;height:30px}.item-detail h3{font:28px/1.05 var(--serif);margin:0 0 8px}.item-rarity{font-size:9px;letter-spacing:1px;text-transform:uppercase}.detail-stats{padding:16px 0;margin:14px 0;border-top:1px solid #d9ddcb;border-bottom:1px solid #d9ddcb;display:grid;gap:8px;font-size:11px}.detail-stats div{display:flex;justify-content:space-between;color:#6b7c5e}.detail-stats strong{font-weight:500;color:#405a41}.equip-actions{display:flex;gap:6px}.equip-actions button{flex:1;padding:10px 5px;border:1px solid #bfcab0;border-radius:4px;font-size:9px;background:#e2e9d7}.detail-action{width:100%;margin-top:8px;font-size:10px;padding:10px;background:#45694c;color:#f7f3e3;border-radius:4px}.salvage-action{background:transparent;color:#8c7a5c;border:1px solid #d4cbb7}.item-detail .warning{font-size:9px;color:#a16f46;margin:10px 0;line-height:1.7}.equipment-strip{display:flex;gap:15px;border-top:1px solid #d4d9c6;margin-top:22px;padding-top:18px}.equipment-hero{flex:1}.equipment-hero h4{font-size:10px;font-weight:500;margin:0 0 10px}.equipment-slots{display:flex;gap:6px}.equipment-slot{flex:1;min-height:45px;border:1px solid #ccd3bd;border-radius:4px;font-size:8px;padding:7px;line-height:1.5;text-align:left;background:#e9ecdd}.equipment-slot small{display:block;font-size:7px;color:#89987b;text-transform:uppercase;margin-bottom:4px}.inventory-empty{grid-column:1/-1;font-size:12px;color:#879079;padding:60px 15px;text-align:center}.stats-top{display:flex;align-items:center;gap:20px;padding:20px;background:#e3e9d7;border-radius:8px;margin-bottom:20px}.stats-level{font:60px var(--serif)}.stats-top p{font-size:11px;line-height:1.9;color:#6c7c61}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid #d4dac5}.stat-row h3{font:25px var(--serif);margin:0 0 4px}.stat-row p{margin:0;color:#7f8a71;font-size:10px}.stat-row button{border:1px solid #bcc7a8;border-radius:5px;padding:10px 15px;font-size:12px;display:flex;align-items:center;gap:12px}.story-layout{display:grid;grid-template-columns:190px 1fr;gap:28px}.story-symbol{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border:1px solid #c3cbb1;border-radius:50%;position:relative;margin:15px 10px}.story-symbol svg{width:95px;height:95px;color:#688465}.story-symbol:after{content:"";position:absolute;inset:18px;border:1px dashed #b8c5a5;border-radius:50%}.story-copy p{font-size:12px;line-height:1.95;color:#718069;margin:0 0 16px}.story-copy blockquote{font:30px/1.15 var(--serif);margin:0 0 22px;color:#526e4d}.chapter-list{margin-top:24px;border-top:1px solid #d3d9c4}.chapter-entry{padding:16px 0;border-bottom:1px solid #d3d9c4;display:flex;gap:16px}.chapter-entry small{font-size:9px;color:#8b997e;padding-top:4px}.chapter-entry h4{font:22px var(--serif);margin:0 0 8px}.chapter-entry p{font-size:11px;line-height:1.8;color:#73836a;margin:0}.result-content{text-align:center;padding:15px 10px}.result-content .eyebrow{justify-content:center}.result-content h2{font:64px/1 var(--serif);margin:20px 0}.result-content p{font-size:12px;line-height:1.9;color:#79866c;max-width:440px;margin:0 auto 24px}.result-values{display:flex;justify-content:center;gap:45px;margin:30px 0}.result-values strong{font:34px var(--serif);display:block}.result-values small{font-size:8px;text-transform:uppercase;letter-spacing:1.7px;color:#869478}.result-buttons{display:flex;gap:10px;justify-content:center}.control-table{display:grid;grid-template-columns:1fr 1fr;gap:13px}.control-box{padding:18px;border:1px solid #d0d8bf;border-radius:7px}.control-box h3{font:26px var(--serif);margin:0 0 13px}.control-box p{font-size:11px;line-height:1.9;color:#738368}.control-box kbd{background:#e1e8d2;border:1px solid #bdc9a8;border-radius:3px;padding:2px 5px;font-size:10px}.control-tip{font-size:11px;line-height:1.85;color:#748369;padding:14px 0;border-bottom:1px solid #d5dcc8}.toast{background:#f7f4e8f5;border:1px solid #d2dac0;border-radius:7px;box-shadow:0 4px 22px #39523814;padding:12px 18px;font-size:11px;color:#526b47;animation:toast-in .2s ease;max-width:340px;margin-bottom:8px}.toast strong{font-weight:500}.toast.warn{color:#a17543}.toast.levelup{background:#f7ebc9;border-color:#dac48c}#toasts{position:fixed;bottom:100px;left:50%;transform:translate(-50%);z-index:40;pointer-events:none;display:flex;flex-direction:column;align-items:center}.touch-controls{position:absolute;bottom:95px;left:22px;right:22px;display:none;justify-content:space-between;pointer-events:none}.touch-cluster{display:flex;align-items:center;gap:10px}.touch-stick{width:95px;height:95px;border:1px solid #78957566;border-radius:50%;background:#dce5cf70;pointer-events:auto;touch-action:none;position:relative}.touch-stick span{position:absolute;width:37px;height:37px;left:28px;top:28px;background:#547e5d90;border:1px solid #e7efd8;border-radius:50%;pointer-events:none}.touch-aim{height:40px;width:45px;border:1px solid #83997388;border-radius:8px;background:#e6ebd9a0;font-size:8px;pointer-events:auto;touch-action:none}.touch-aim.active{background:#638a6b;color:#fff}.webgl-error{position:fixed;inset:30%;padding:30px;background:#f3efdf;border-radius:12px;z-index:50;text-align:center;line-height:1.8}.webgl-error h2{font:35px var(--serif)}.loading-note{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:12px;letter-spacing:1px;color:#7c9074;z-index:30}.mobile-camp-note{display:none}@keyframes toast-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1600px){.intro{top:24%;left:7%}.pair-selector{left:49%}.map-note{right:6%}}@media(max-width:1100px){.intro{left:5%;width:290px}.intro h1{font-size:76px}.map-note{right:4%;width:157px}.map-note h2{font-size:27px}.pair-selector{left:43%;transform:none}.pair-card{width:165px;padding:11px;gap:8px}.pair-card .role-icon{width:30px;height:34px;flex-basis:30px}.footer-message{display:none}.hud-pair{gap:7px}.hero-status{width:143px;padding:10px}.hud-objective{left:64%}.class-grid{grid-template-columns:repeat(3,1fr)}.class-option p{min-height:0}.realm-grid{grid-template-columns:repeat(5,1fr)}.realm-card{padding:12px;min-height:158px}.realm-card strong{font-size:21px}.inventory-grid{grid-template-columns:repeat(4,1fr)}}@media(max-height:760px)and (min-width:800px){.topbar{height:83px}.intro{top:22%}.intro h1{font-size:72px;margin:18px 0}.intro p{margin-bottom:22px;font-size:11px}.pair-selector{bottom:15%}.map-note{top:20%}.camp-footer{height:59px}.version{bottom:83px}.intro .text-button{margin-top:19px}}@media(max-width:760px){.topbar{height:77px;inset:0 6% auto}.brand-symbol{width:34px;height:34px}.wordmark{font-size:26px}.wordmark small{font-size:6px;letter-spacing:2.5px}.top-note{display:none}.inventory-button{font-size:0;padding:9px;border-radius:50%;width:35px;height:35px;justify-content:center}.inventory-button kbd{display:none}.icon-button{width:34px;height:34px}.top-actions{gap:8px}.intro{top:16%;left:7%;width:230px}.intro .eyebrow{font-size:7px;letter-spacing:1.6px}.intro h1{font-size:64px;margin:19px 0 16px}.intro p{font-size:10px;max-width:200px;line-height:1.8;margin-bottom:20px}.intro .primary-button{padding:14px 17px;font-size:10px;gap:20px}.intro .under-button{font-size:8px}.intro .text-button{margin-top:16px;font-size:9px}.map-note{top:18%;right:5%;width:108px;text-align:right}.map-note-top{font-size:6px;letter-spacing:1px;justify-content:flex-end}.map-note-top:before{display:none}.map-note h2{font-size:22px;margin:10px 0}.map-note p{display:none}.map-meta{font-size:6px;line-height:1.8}.map-note .text-button{margin-left:auto;font-size:8px;gap:3px}.pair-selector{left:7%;right:7%;bottom:11%;gap:12px}.pair-card{flex:1;width:auto;padding:12px}.pair-card strong{font-size:11px}.pair-card small{font-size:6px}.pair-card .role-icon{width:29px;flex-basis:29px}.camp-footer{height:55px;left:7%;right:7%}.footer-controls{gap:16px}.control-hint{font-size:7px;gap:5px}.key-group{gap:1px}.key-group kbd{min-width:13px;height:15px;font-size:6px;padding:0 2px}.version{display:none}.hud-pair{top:85px;left:5%;right:5%;justify-content:space-between}.hero-status{width:43%;padding:11px}.hud-objective{top:174px;left:50%;min-width:200px}.hud-objective h2{font-size:24px}.hud-objective p{font-size:8px}.hud-objective .eyebrow{font-size:7px}.hud-progress{margin-top:7px}.hud-bottom{bottom:25px}.hud-xp{bottom:22px;left:5%;width:103px}.hud-xp .level-row{font-size:8px}.hud-xp small{font-size:6px}.minimap{width:79px;height:79px;right:5%;bottom:20px}.minimap:after{left:36px}.hud-help{display:none}.bond-label{font-size:6px;letter-spacing:1px}.bond-meter{gap:2px}.bond-meter i{width:10px}.modal-backdrop{padding:12px}.modal{padding:22px 18px;max-height:94dvh;border-radius:10px}.modal-header h2{font-size:35px}.modal-header{margin-bottom:20px}.class-grid{grid-template-columns:1fr 1fr;gap:8px}.class-option{padding:15px}.class-option .role-icon{margin-bottom:15px}.class-option strong{font-size:24px}.class-option p{font-size:10px}.realm-grid{grid-template-columns:repeat(2,1fr)}.realm-card{min-height:145px}.realm-card strong{font-size:25px}.realm-readiness{flex-wrap:wrap;font-size:10px}.realm-readiness .primary-button{margin-left:0;width:100%}.inventory-layout{grid-template-columns:1fr;gap:13px}.inventory-grid{grid-template-columns:repeat(4,1fr);max-height:206px}.item-tile{height:80px}.item-detail{padding:16px}.item-detail .detail-icon{float:right;margin:0}.item-detail h3{font-size:26px}.detail-stats{display:flex;gap:20px;padding:12px 0;margin:12px 0;font-size:10px}.detail-stats div{gap:10px}.equip-actions{gap:8px}.inventory-toolbar{gap:6px}.material-count{font-size:9px}.equipment-strip{gap:10px}.equipment-slots{flex-direction:column}.equipment-slot{min-height:0}.story-layout{grid-template-columns:1fr}.story-symbol{display:none}.story-copy blockquote{font-size:31px}.result-content h2{font-size:53px}.result-values{gap:30px}.result-buttons{flex-direction:column}.control-table{grid-template-columns:1fr}.control-box{padding:12px 16px}.control-box h3{font-size:24px;margin-bottom:8px}.control-box p{font-size:10px;margin:7px 0}.modal-intro{font-size:11px}.webgl-error{inset:25% 5%}}@media(pointer:coarse){.touch-controls{display:flex}.hud-help{display:none}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition:none!important}}*{scrollbar-color:#7b744e #1a2c25;scrollbar-width:thin}.modal:focus{outline:none}.inventory-button svg{flex-shrink:0}.item-compare{display:grid;gap:8px;padding:9px 0 15px;color:#aeb89a}.item-compare>div{display:flex;gap:9px;align-items:center}.item-compare span{font-size:9px;width:40px}.item-compare small{font-size:8px;color:#9ba58b}.item-compare .positive{color:#a6cf8e}.item-compare .negative{color:#e39b7d}.under-button:hover{color:#e0c791!important;text-decoration:underline;text-underline-offset:4px}:root{--ink:#eee2c7;--muted:#b3ad96;--paper:#252e28;--line:#6d6647;--green:#456951;--orange:#e5a451;--teal:#63c9c1;color:var(--ink);background:#182b2a}body{background:#182b2a}#app:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0d191bd9 0%,#12201b99 25%,transparent 52%),linear-gradient(0deg,#101b1ca8,transparent 24%,transparent 80%,#101b1c88);z-index:-0}#app.in-game:before{background:linear-gradient(0deg,#0a151bd9,transparent 23%,transparent 76%,#0d1c2088)}.topbar{height:91px;border-bottom:1px solid #b3965460;color:#ecdbb3}.brand{gap:14px}.brand-symbol{color:#d1b175;width:43px;height:43px;filter:drop-shadow(0 1px 5px #d8a35a33)}.wordmark{text-transform:uppercase;font-size:26px;letter-spacing:.7px;font-weight:400;text-shadow:0 2px 3px #0008}.wordmark small{color:#ad9c75;letter-spacing:3.5px;font-size:7px}.top-note{color:#b5aa89;font-size:8px;letter-spacing:2.4px}.icon-button,.inventory-button{border-color:#ab8f5566;border-radius:3px;background:linear-gradient(#34392dca,#192623d9);box-shadow:inset 0 1px #e8ce8a22,0 2px 4px #0003;color:#d9c8a0}.icon-button:hover,.inventory-button:hover{background:linear-gradient(#4c4c34,#2b3c32);border-color:#ba985e}.inventory-button{font-size:10px;letter-spacing:.4px}.inventory-button kbd{border-color:#95805a;color:#c4b082}.intro{top:25%;width:355px}.eyebrow{color:#c6b68c;letter-spacing:2.2px}.eyebrow .dot{background:#d78b3b;box-shadow:0 0 8px #e2943a}.intro h1{color:#f1e4c9;text-shadow:0 3px 20px #10171188;font-size:clamp(68px,6.4vw,100px);letter-spacing:-2px;margin:24px 0}.intro h1 em{color:#e8a858;text-shadow:0 0 30px #a9543026}.intro p{color:#bcbca2;font-size:12px;line-height:1.95}.primary-button{background:linear-gradient(180deg,#b88a45,#98672e);border:1px solid #dfbd77;border-radius:3px;color:#fff2cf;box-shadow:inset 0 1px #ffdfa273,inset 0 -2px #4c341c60,0 5px 18px #0005;font-size:11px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;padding:17px 22px}.primary-button:hover{background:linear-gradient(#cda154,#ab7437);box-shadow:inset 0 1px #ffdfa299,0 4px 24px #c8944329;transform:translateY(-1px)}.intro .under-button{color:#939e85;font-size:8px;margin-top:14px}.under-button .dot{background:#9cb685}.text-button{color:#c0b593;text-decoration-color:#917746;font-size:10px}.intro .text-button{margin-top:27px}.text-button svg{color:#c4a86e}.map-note{top:22%;right:4.6%;padding:19px 20px 20px;border:1px solid #99805166;border-top:2px solid #c3a36b;background:linear-gradient(135deg,#1c302bdb,#152622bb);box-shadow:0 5px 20px #08161933;width:210px;border-radius:1px;backdrop-filter:blur(5px)}.map-note-top{color:#c2a774;font-size:7px;letter-spacing:1.6px}.map-note-top:before{background:#d0a869;width:15px}.map-note h2{color:#e8ddbd;font-size:32px;margin:15px 0 10px}.map-note p{color:#a9b39a}.map-meta{color:#b1ad8c;font-size:7px;letter-spacing:1px}.map-note .text-button{color:#cdb78a;font-size:9px}.pair-selector{bottom:14%;gap:14px}.pair-caption{color:#c1b793;text-shadow:0 1px 6px #14201a;letter-spacing:2px;font-size:7px}.pair-card{background:linear-gradient(150deg,#344139f2,#1e2c29f2);border:1px solid #9a824a99;border-top-color:#c2a36b;border-radius:3px;box-shadow:inset 0 0 0 3px #202d26,0 5px 15px #07171955;width:190px;min-height:72px;padding:13px 15px;color:#eee2c4}.pair-card:hover{border-color:#d6b773;background:linear-gradient(150deg,#425545,#2b3d32)}.role-icon{background:linear-gradient(135deg,#7d573440,#392d2660);border:1px solid #9c754958;border-radius:3px;color:#e4aa65;width:39px;height:39px}.role-icon.teal{background:linear-gradient(135deg,#3e797950,#1a323c80);border-color:#62969166;color:#8ed6cf}.pair-card small{color:#b5ad8b;font-size:7px;letter-spacing:1.6px}.pair-card strong{font-size:13px}.pair-card .chev{color:#a9976c}.pair-link{background:#25372e;border-color:#b89a5e;color:#d1ba82;top:22px;box-shadow:inset 0 0 0 3px #182620}.camp-footer{border-top-color:#ad955447;height:70px}.control-hint{color:#aaa990;font-size:9px}.control-hint svg{color:#b5a372}.key-group kbd,.key{border-color:#9c8c5c66;background:#1d2b25aa;color:#c2b38f;box-shadow:inset 0 -1px #ab92583b;border-radius:2px}.footer-message{color:#a7ac93}.footer-message span{color:#c4a567}.version{color:#979d82;letter-spacing:1.7px;font-size:7px}.in-game .topbar{background:transparent;height:75px}.in-game .wordmark{font-size:22px}.in-game .top-actions{opacity:.96}.hud-objective{top:87px;text-shadow:0 2px 6px #061815,0 0 18px #10251a;left:50%}.hud-objective .eyebrow{color:#d5bc7e;font-size:8px}.hud-objective h2{font-size:34px;color:#f2e3c2}.hud-objective p{color:#c0c2a3;font-size:10px}.hud-progress{color:#c8ba92;max-width:225px}.bar{background:#0c1b18;box-shadow:inset 0 1px 3px #0009;border:1px solid #8c795944;height:6px;border-radius:0}.bar i{border-radius:0;background:linear-gradient(#dcb86c,#937233)}.hud-progress .bar i{background:linear-gradient(#c9af60,#9d7b40)}.hud-pair{top:auto;bottom:44px;left:50%;transform:translate(-50%);gap:170px;width:650px}.hero-status{width:240px;min-height:89px;position:relative;border:1px solid #9d814ea6;border-top-color:#c3a66d;border-radius:4px;background:linear-gradient(160deg,#35413ae8,#192723f2);box-shadow:inset 0 0 0 3px #1c2924,0 5px 25px #0006;padding:18px 14px 13px 83px;backdrop-filter:blur(8px)}.hero-status-head{font-size:11px;gap:9px;display:block;white-space:nowrap;color:#e7d8b4;margin-bottom:7px}.hero-status-head small{color:#ae9a6f;font-size:6px;display:block;margin-top:4px;letter-spacing:1.3px}.hero-status .bar{display:none}.health-orb{--health:100%;position:absolute;width:65px;height:65px;left:10px;top:11px;border:5px solid #8f744b;border-radius:50%;box-shadow:inset 0 0 0 2px #152423,inset 0 0 15px #050f17,0 0 0 1px #cfb77c,0 3px 8px #0008;background:linear-gradient(to top,#a53e2e var(--health),#192c2c var(--health));overflow:hidden}.health-orb:before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 32% 25%,#fff1b077,transparent 30%),radial-gradient(ellipse at 50% 80%,transparent 30%,#051118a3 90%)}.health-orb:after{content:"";position:absolute;inset:7px 3px 10px;border-top:1px solid #fff6;border-radius:50%;transform:rotate(-25deg)}.hero-status.second .health-orb{background:linear-gradient(to top,#259fa7 var(--health),#192c2c var(--health))}.health-values{color:#aeb69b;font-size:8px;gap:8px}.hud-bottom{bottom:72px}.bond-label{color:#cdbb86;font-size:7px;letter-spacing:1.2px;gap:7px}.bond-label svg{color:#90d4bc;width:18px}.bond-meter{gap:3px;margin:10px 0}.bond-meter i{width:13px;height:4px;border-radius:0;box-shadow:0 0 4px #4dada94d}.hud-help{position:fixed;bottom:-49px;left:50%;transform:translate(-50%);font-size:8px;color:#a8ae91}.hud-help kbd{border-color:#7e82555c;color:#c6bc9c;background:#1b2b2599}.hud-xp{left:50%;transform:translate(-50%);bottom:39px;width:500px}.hud-xp .level-row{position:absolute;left:0;right:0;bottom:-24px;pointer-events:none;font-size:8px;color:#bfac7e;justify-content:space-between}.hud-xp .bar{height:4px}.hud-xp .bar i{background:linear-gradient(90deg,#7b6834,#cfb465);box-shadow:0 0 6px #bba25677}.hud-xp small{display:none}.points-button{background:#5c4a28;color:#f4d28c;border-color:#b38a43;pointer-events:auto;font-size:8px;padding:2px 5px}.minimap{right:4.4%;top:100px;bottom:auto;width:126px;height:126px;border:3px solid #94794d;border-radius:50%;background:#1e372cbe;box-shadow:0 0 0 1px #d9ba7c44,inset 0 0 20px #081c16bb,0 4px 20px #05191755}.minimap:after{color:#e0c181;font-size:8px;top:-18px;left:58px}.boss-bar .bar{height:7px;border-color:#ac7a4759}.boss-bar .bar i{background:linear-gradient(#e77843,#9b3326)}.boss-bar p{color:#edd4a3}.pause-overlay{background:#101d22a8}.pause-overlay h2{color:#ead9ad}.pause-overlay p{color:#b3bea4}.secondary-button{border-color:#9e865352;background:linear-gradient(#39413480,#1d302c90);color:#dbcca6;border-radius:3px}.secondary-button:hover{background:#455342}.subtle{color:#aaa98a}.modal-backdrop{background:#050e16a6;backdrop-filter:blur(8px)}.modal{background:linear-gradient(135deg,#2e382efc,#1c2b29fc);border:1px solid #b49459;border-radius:5px;box-shadow:inset 0 0 0 4px #14221f,inset 0 0 0 5px #ab8b4c40,0 30px 100px #0009;color:#dfd4b6}.modal-header{padding-bottom:18px;border-bottom:1px solid #9c824549}.modal-header h2{color:#e7d4a5;font-size:40px;letter-spacing:-.6px}.modal-header .eyebrow{color:#ad986d}.close-modal{border-color:#ab8c535e;color:#cfb788;border-radius:3px;background:#2f392e}.modal-intro{color:#b1b49b}.class-option{background:linear-gradient(155deg,#414a3522,#1426208f);border-color:#7f795446;border-radius:3px;box-shadow:inset 0 1px #bea66615}.class-option.selected{border-color:#cfb071;background:linear-gradient(145deg,#71603c50,#35504066);box-shadow:inset 0 0 0 3px #1328203b}.class-option strong{color:#e0cfa7}.class-option .class-title{color:#bea877}.class-option p{color:#a8b39c}.class-option .stats-mini{color:#c1bea0}.class-option .selected-mark{color:#ebcc86}.modal-footnote{color:#99a88e;line-height:1.8}.realm-card{background:linear-gradient(145deg,#354236a6,#1c2e26);border-color:#7f7a524f;border-radius:3px;box-shadow:inset 0 1px #cab17316}.realm-card.selected{border-color:#d4b474;background:linear-gradient(135deg,#75633e5c,#304a37)}.realm-card strong{color:#ddcfaa}.realm-card .realm-num{color:#a49a75}.realm-card small{color:#a3b195}.realm-card .lock{color:#a9956b}.realm-readiness{border:1px solid #8e7c4844;background:#14271e99;border-radius:3px;color:#c1bc98}.inventory-toolbar input,.inventory-toolbar select{background:#172923;border-color:#7f7b4d66;color:#c9c4a3;border-radius:3px}.inventory-toolbar input::placeholder{color:#7f937b}.material-count{color:#9eac8f}.material-count b{color:#d5ba78}.item-tile{background:radial-gradient(ellipse at 40% 30%,#42503b,#172821);border-radius:3px;box-shadow:inset 0 0 0 2px #101d1880,inset 0 0 18px #061d1c70}.item-tile svg{color:#dbbf85;filter:drop-shadow(1px 2px 2px #0008);width:33px;height:33px}.item-tile .item-level{color:#9eaf92;font-size:7px}.item-tile .equip-dot{background:#71613e;color:#ffe4a5;border:1px solid #c0a26355;font-size:6px}.item-tile .upgrade-label{color:#ecc66e}.item-tile.selected{outline-color:#efd69b;background:radial-gradient(ellipse at 40% 30%,#675f3a,#20352a)}.item-detail{background:linear-gradient(#172b2499,#13251e55);border-color:#9b84514d;border-radius:3px}.item-detail h3{color:#ecdfbb}.item-detail .detail-icon{border:1px solid #b19b6144;background:radial-gradient(#5e6843,#203127);border-radius:4px}.detail-stats{border-color:#78814d55}.detail-stats div{color:#aebc99}.detail-stats strong{color:#e4dcad}.equip-actions button{border-color:#9b905544;background:linear-gradient(#4b6040,#304a36);color:#e2d9b2;border-radius:3px}.detail-action{background:linear-gradient(#9d7a3f,#6c512c);border:1px solid #c6a168;color:#fff0c6;border-radius:3px}.salvage-action{background:transparent;border-color:#887b5655;color:#bbaa82}.item-detail .warning{color:#bda575}.equipment-strip{border-color:#7e80504f}.equipment-hero h4{color:#d5c69c}.equipment-slot{background:#1b302799;border-color:#75794b55;color:#b5c3a3;border-radius:3px}.equipment-slot small{color:#929a74}.inventory-empty{color:#9aaa8e}.stats-top{background:#192d2399;border:1px solid #8c805044;border-radius:3px}.stats-top p{color:#b4bd99}.stats-level{color:#ddc483}.stat-row{border-color:#7d815449}.stat-row h3{color:#e0cda1}.stat-row p{color:#aab696}.stat-row button{border-color:#a18c4f;background:#3b503799;color:#e6cc8f}.story-symbol{border-color:#998d535e;color:#c7b376}.story-symbol:after{border-color:#a2955c5c}.story-symbol svg{color:#b3c287}.story-copy p,.chapter-entry p{color:#b1b99c}.story-copy blockquote{color:#e0c98b}.chapter-list,.chapter-entry{border-color:#89814e55}.chapter-entry small{color:#af9b64}.chapter-entry h4{color:#d7c494}.result-content h2{color:#e4d0a0}.result-content p{color:#a9b897}.result-values strong{color:#dec584}.result-values small{color:#a2ac87}.control-box{background:#182b2399;border-color:#87825255;border-radius:3px}.control-box h3{color:#ddc89a}.control-box p,.control-tip{color:#acb799}.control-box kbd{background:#3e5033;border-color:#938650;color:#e0d3a4}.control-tip{border-color:#7d80514a}.toast{background:linear-gradient(#384333f5,#1d3028fa);border-color:#a48c51;color:#e2d4a7;box-shadow:0 4px 20px #0006;border-radius:3px}.toast.warn{color:#f0b777;border-color:#bc7d44}.toast.levelup{background:linear-gradient(#705b32f5,#3f4229fa);border-color:#c3a259;color:#f5dda0}.touch-stick{background:#152d2a88;border-color:#a8985966;box-shadow:inset 0 0 20px #05181a55}.touch-stick span{background:#6e927d99;border-color:#c2b57688}.touch-aim{background:#2c4431c4;border-color:#af985b88;color:#decda3}.touch-aim.active{background:#a58347;color:#fff0cd}.webgl-error{background:#253b2e;border:1px solid #b59b63;color:#dfd2af}@media(max-width:1100px){.hud-objective{left:50%}.intro{width:300px}.intro h1{font-size:76px}.map-note{width:173px;padding:16px;right:4%}.map-note h2{font-size:27px}.pair-card{width:166px;padding:12px}.wordmark{font-size:23px}.top-note{font-size:7px;letter-spacing:1.6px}.hud-pair{width:610px;gap:150px}.hero-status{width:230px;padding-left:79px}.hud-bottom{bottom:72px}.minimap{width:102px;height:102px}.minimap:after{left:46px}.hud-help{font-size:7px}}@media(max-height:760px)and (min-width:800px){.intro{top:22%}.intro h1{font-size:74px;margin:20px 0}.intro p{font-size:11px;margin-bottom:22px}.topbar{height:83px}.camp-footer{height:59px}.pair-selector{bottom:15%}}@media(max-width:760px){#app:before{background:linear-gradient(90deg,#101d1cca,transparent 95%),linear-gradient(0deg,#0d1b20bf,transparent 50%,#12211c55)}.topbar{height:77px}.wordmark{font-size:21px;letter-spacing:.4px}.wordmark small{font-size:6px;letter-spacing:2.7px}.brand-symbol{width:32px;height:32px}.brand{gap:10px}.inventory-button{font-size:0;width:34px;height:34px;padding:9px}.icon-button{width:32px;height:32px}.intro{top:16%;width:220px}.intro h1{font-size:64px;letter-spacing:-1.7px;margin:18px 0}.intro p{font-size:10px}.intro .primary-button{padding:14px 16px;font-size:9px;gap:17px}.intro .under-button{font-size:7px;max-width:200px}.intro .text-button{margin-top:19px;font-size:9px}.map-note{padding:10px;width:113px;right:4%;top:18%;background:#162c25b0}.map-note h2{font-size:22px;margin:11px 0}.map-note-top{font-size:5px;letter-spacing:1px}.map-note .text-button{font-size:7px;gap:3px;margin-top:12px}.map-meta{font-size:6px;line-height:1.8;letter-spacing:.5px}.pair-selector{bottom:11%;gap:10px}.pair-card{padding:12px 9px;width:auto;min-height:64px}.pair-card strong{font-size:11px}.pair-card .role-icon{height:31px;width:29px;flex-basis:29px}.pair-card small{font-size:6px;letter-spacing:1px}.pair-link{top:19px;width:27px;height:27px;margin-left:-14px}.camp-footer{height:55px}.control-hint{font-size:7px}.hud-pair{inset:83px 5% auto;transform:none;width:auto;gap:12px}.hero-status{width:45%;min-height:70px;padding:13px 8px 10px 62px}.health-orb{left:9px;top:13px;width:43px;height:43px;border-width:3px}.hero-status-head{font-size:9px}.hero-status-head small{font-size:5px;letter-spacing:.8px}.health-values{font-size:6px;gap:6px}.hud-objective{top:174px;left:50%}.hud-objective h2{font-size:26px}.hud-objective p{font-size:8px}.hud-objective .eyebrow{font-size:6px}.minimap{width:73px;height:73px;top:auto;bottom:31px;right:5%;border-width:2px}.minimap:after{left:32px;font-size:6px;top:-13px}.hud-bottom{bottom:65px}.hud-xp{bottom:32px;width:200px}.hud-xp .level-row{bottom:-19px;font-size:6px}.points-button{font-size:7px}.bond-label{font-size:6px}.bond-meter i{width:9px}.hud-help{display:none}.modal{padding:22px 18px;border-radius:4px}.modal-header h2{font-size:34px}.modal-header{padding-bottom:15px}.class-option strong{font-size:23px}.realm-card strong{font-size:24px}.item-tile svg{width:28px;height:28px}.item-detail h3{font-size:26px}.touch-controls{bottom:124px}.toast{font-size:10px;max-width:310px}.result-content h2{font-size:48px}}@media(max-width:760px){.inventory-button{gap:0}.intro{width:236px}.intro h1{font-size:58px}}
