:root{color-scheme:dark;--bg:#0f1612;--panel:rgba(15,22,18,0.78);--panel-strong:rgba(12,18,15,0.92);--line:rgba(208,234,190,0.18);--text:#eef5e6;--muted:#afbea9;--accent:#92d16b;--accent-strong:#b7f089;--danger:#ff7f70;--shadow:0 24px 60px rgba(0,0,0,0.35);--display-font:var(--font-display),"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic","Segoe UI",sans-serif;--body-font:var(--font-body),"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic","Segoe UI",sans-serif}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(circle at top,rgba(136,187,92,.18),transparent 32%),linear-gradient(180deg,#111912,#0b100d);color:var(--text);font-family:var(--body-font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-synthesis:none}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.eyebrow{margin:0 0 .5rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);font-size:.72rem}.muted{color:var(--muted)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:2rem}.auth-shell--google{position:relative;overflow:hidden;background:radial-gradient(circle at top,rgba(137,188,96,.12),transparent 26%),linear-gradient(180deg,rgba(7,11,8,.72),rgba(6,9,7,.88)),#081009}.auth-backdrop{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,9,7,.32),rgba(5,9,7,.72)),url(/auth/loginpage.png) 50% /cover no-repeat;filter:blur(7px) saturate(.86) brightness(.64);transform:scale(1.04)}.auth-card{width:min(100%,440px);padding:2rem;border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,rgba(26,37,28,.92),rgba(10,14,11,.95));box-shadow:var(--shadow)}.auth-google-card{position:relative;z-index:1;width:min(100%,420px);min-height:420px;padding:2rem;display:grid;align-content:center;grid-gap:1rem;gap:1rem;border:1px solid rgba(190,223,171,.16);border-radius:32px;background:radial-gradient(circle at top,rgba(190,223,171,.08),transparent 40%),linear-gradient(180deg,rgba(20,30,21,.92),rgba(8,11,9,.96));box-shadow:0 30px 70px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.04);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-google-card__copy{display:grid;grid-gap:.75rem;gap:.75rem}.auth-google-card__copy h1{margin:0;font-size:clamp(2.2rem,4vw,3rem);line-height:1.08;letter-spacing:-.04em;font-family:var(--body-font)}.auth-google-hint{margin:0;color:rgba(227,239,221,.72);font-size:.95rem;line-height:1.55}.auth-google-button{min-height:60px;display:flex;align-items:center;justify-content:center;gap:.8rem;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(236,241,235,.9));color:#0f1711;font-weight:700;box-shadow:0 14px 26px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.65);transition:transform .16s ease,box-shadow .16s ease}.auth-google-button:hover{transform:translateY(-1px);box-shadow:0 18px 30px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.72)}.auth-google-button__icon{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:#ffffff}.auth-oauth-error{margin-top:-.15rem}.auth-dev-details{margin-top:.4rem;border:1px solid rgba(190,223,171,.1);border-radius:20px;background:rgba(255,255,255,.025);overflow:hidden}.auth-dev-details summary{list-style:none;cursor:pointer;padding:.95rem 1rem;color:rgba(234,244,229,.88);font-weight:600}.auth-dev-details summary::-webkit-details-marker{display:none}.auth-dev-hint{margin:0;padding:0 1rem .9rem;color:var(--muted);font-size:.92rem;line-height:1.55}.auth-card h1{margin:0;font-size:clamp(2rem,4vw,2.8rem);font-family:var(--display-font);letter-spacing:-.02em;line-height:1.06}.auth-copy{color:var(--muted);line-height:1.6}.auth-form{display:grid;grid-gap:1rem;gap:1rem;margin-top:1.5rem}.auth-form--compact{margin-top:0;padding:0 1rem 1rem}.auth-form label{display:grid;grid-gap:.45rem;gap:.45rem}.auth-form input{width:100%;border:1px solid rgba(213,240,201,.12);border-radius:14px;background:rgba(255,255,255,.04);padding:.95rem 1rem;color:var(--text)}.auth-form button,.ghost-button{border:0;border-radius:14px;padding:.95rem 1.1rem;color:#10210e;background:linear-gradient(180deg,var(--accent-strong),var(--accent));font-weight:700;box-shadow:0 12px 22px rgba(146,209,107,.24)}.auth-form button:disabled{opacity:.72;cursor:wait}.auth-link{display:inline-block;margin-top:1rem;color:var(--muted)}.auth-link--subtle{margin:0;padding:0 1rem 1rem;font-size:.92rem}.form-error{margin:0;color:var(--danger)}.base-layout{min-height:100vh;display:grid;grid-template-columns:360px minmax(0,1fr);grid-gap:1.25rem;gap:1.25rem;padding:1.25rem}.base-layout--immersive{position:relative;display:block;padding:0;overflow:hidden;background:#09110b}.base-sidebar{display:grid;grid-gap:1rem;gap:1rem}.panel{border:1px solid var(--line);border-radius:24px;background:var(--panel);padding:1.2rem;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow)}.stack-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:.75rem;gap:.75rem}.stack-list li{display:flex;justify-content:space-between;gap:1rem;color:var(--muted)}.base-main{border:1px solid var(--line);border-radius:28px;background:var(--panel-strong);padding:1rem;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.base-main--immersive{min-height:100vh;border:0;border-radius:0;background:transparent;padding:0}.base-hover-action{position:fixed;top:20px;right:20px;z-index:20;opacity:0;transition:opacity .18s ease}.base-layout--immersive:hover .base-hover-action{opacity:1}.base-main__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.5rem .25rem 1rem}.base-main__header h2{margin:0;font-size:clamp(1.7rem,3vw,2.4rem);font-family:var(--display-font)}.base-main__meta{display:flex;gap:.75rem;flex-wrap:wrap;color:var(--muted);font-size:.92rem}.map-frame{display:grid;grid-template-rows:minmax(0,1fr) auto;grid-gap:.9rem;gap:.9rem;min-height:0}.map-frame--minimal{display:block;width:100vw;height:100vh}.map-viewport{position:relative;min-height:540px;overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#121a14,#080d0a)}.map-frame--minimal .map-viewport{min-height:100vh;border:0;border-radius:0;background:linear-gradient(180deg,rgba(10,15,12,.28),rgba(5,8,6,.72)),#0c110d}.map-canvas{position:absolute;left:50%;top:50%;transform-origin:center center;transform:scale(var(--map-scale,1))}.map-canvas--backdrop{filter:brightness(.5) saturate(.78)}.map-image{object-fit:cover;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;filter:saturate(1.04) contrast(1.03) brightness(.98)}.map-image--backdrop{filter:blur(3px) saturate(.9) brightness(.7)}.map-atmosphere{position:absolute;inset:-6%;pointer-events:none;mix-blend-mode:screen}.map-atmosphere--rear{z-index:1;opacity:.14;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(173,214,201,.18) 48%,rgba(255,255,255,0)),linear-gradient(180deg,rgba(138,173,156,0),rgba(138,173,156,.18) 55%,rgba(138,173,156,0));filter:blur(34px)}.map-atmosphere--front{z-index:5;opacity:.08;background:linear-gradient(180deg,rgba(245,255,250,0),rgba(245,255,250,.26) 52%,rgba(245,255,250,0)),linear-gradient(90deg,rgba(255,255,255,0),rgba(207,236,224,.14) 50%,rgba(255,255,255,0));filter:blur(44px)}.map-core-glow{position:absolute;left:50%;top:50%;width:280px;height:280px;transform:translate(-50%,-50%);border-radius:999px;background:radial-gradient(circle,rgba(116,188,255,.22) 0,rgba(116,188,255,.08) 38%,rgba(116,188,255,0) 72%);filter:blur(10px);opacity:.66;pointer-events:none}.map-vignette{position:absolute;inset:0;background:radial-gradient(circle at center,rgba(7,12,10,0) 0,rgba(7,12,10,.16) 52%,rgba(4,7,6,.58) 100%),linear-gradient(180deg,rgba(4,7,6,.32),rgba(4,7,6,.72))}.hub-shell{position:relative;z-index:7;display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:100vh;padding:1.4rem 2rem 2.6rem;grid-gap:1.2rem;gap:1.2rem}.hub-shell--centered{align-content:center;justify-items:center}.hub-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;width:min(1720px,100%);margin:0 auto}.hub-location{display:grid;grid-gap:.2rem;gap:.2rem}.hub-kicker{color:rgba(190,222,182,.7);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase}.hub-location strong{font-size:clamp(3.8rem,8.2vw,6.6rem);line-height:.92;letter-spacing:-.06em}.hub-location span:last-child{color:rgba(228,239,232,.72);font-size:1.35rem}.hub-status-chips{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.hub-chip{padding:.4rem .7rem;border-radius:999px;border:1px solid rgba(214,230,220,.12);background:rgba(10,16,13,.58);color:rgba(236,244,239,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:.8rem}.hub-menu-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.hub-landing-stage{width:100%;flex:1 1;display:grid;align-items:start;padding-top:11vh}.hub-menu-grid--landing{width:min(1700px,100%);margin:0 auto}.hub-menu-card{min-height:132px;padding:1rem;border:1px solid rgba(211,228,217,.12);border-radius:22px;background:linear-gradient(180deg,rgba(22,30,25,.84),rgba(9,12,11,.88)),rgba(12,18,15,.7);text-align:left;color:inherit;box-shadow:0 18px 40px rgba(0,0,0,.18);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.hub-menu-card--landing{min-height:420px;padding:1.6rem}.hub-menu-card:hover{transform:translateY(-3px);border-color:rgba(175,219,177,.28);box-shadow:0 24px 46px rgba(0,0,0,.24)}.hub-menu-card--active{border-color:rgba(180,225,182,.32);background:linear-gradient(180deg,rgba(39,54,43,.94),rgba(10,13,11,.94)),rgba(12,18,15,.8)}.hub-menu-card__label{display:block;color:rgba(195,223,186,.74);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.hero-rule-card strong,.hub-feature-card strong,.hub-menu-card strong,.hub-panel-card__header strong,.podium-card strong{display:block}.hub-menu-card strong{margin-top:.5rem;font-size:1.28rem}.hub-menu-card span:last-child{display:block;margin-top:.45rem;color:rgba(225,237,228,.72);line-height:1.45;font-size:1rem}.hub-board{display:grid;grid-template-rows:auto minmax(0,1fr);grid-gap:1rem;gap:1rem;min-height:0;padding:1.1rem;border:1px solid rgba(218,232,223,.12);border-radius:28px;background:linear-gradient(180deg,rgba(12,17,14,.84),rgba(8,11,10,.92)),rgba(10,14,12,.72);box-shadow:0 26px 64px rgba(0,0,0,.28);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);max-height:calc(100vh - 180px);overflow:auto}.hub-board--centered{width:min(1240px,100%);margin:0 auto}.hub-board__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.hub-board__header--compact{align-items:center}.hub-board__header h2{margin:.2rem 0 0;font-size:clamp(1.45rem,2vw,2.1rem)}.hub-board__header p{max-width:460px;margin:0;color:rgba(223,234,226,.72);line-height:1.55}.hub-back-button{margin-bottom:.7rem;border:0;background:transparent;color:rgba(215,230,221,.78);padding:0}.hub-back-button--solid{margin-bottom:.9rem;min-height:44px;padding:.7rem 1rem;border-radius:999px;border:1px solid rgba(214,228,218,.14);background:rgba(13,18,15,.7)}.hub-panel-grid{display:grid;grid-template-columns:.95fr 1.45fr;grid-gap:1rem;gap:1rem;min-height:0}.hero-modal__card,.hub-feature-card,.hub-panel-card{border:1px solid rgba(217,230,220,.11);border-radius:24px;background:linear-gradient(180deg,rgba(18,24,21,.92),rgba(8,10,9,.94)),rgba(10,14,12,.84);box-shadow:0 18px 38px rgba(0,0,0,.2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hub-panel-card{padding:1rem}.hub-panel-card--tall,.hub-panel-card--wide{min-height:0}.event-banner p,.hero-modal__section p,.hero-rule-card span,.hub-feature-card p,.hub-panel-card__header span{color:rgba(221,233,225,.74);line-height:1.55}.hub-panel-card__header{display:grid;grid-gap:.2rem;gap:.2rem;margin-bottom:.9rem}.hub-detail-shell{display:grid;grid-gap:1rem;gap:1rem}.hero-table--centered,.hub-card-grid--centered,.hub-detail-shell--narrow,.leaderboard-shell,.ranking-list--centered{width:min(1120px,100%);margin:0 auto}.hub-variable-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.hub-variable-card{padding:.95rem 1rem;border:1px solid rgba(214,228,218,.1);border-radius:18px;background:rgba(16,21,18,.56)}.hub-variable-card--wide{grid-column:span 2}.hub-variable-card span{display:block;color:rgba(197,223,188,.72);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.hub-variable-card strong{display:block;margin-top:.4rem;line-height:1.4}.adventure-copy,.sort-note{color:rgba(221,233,225,.74)}.shop-balance{display:flex;align-items:center;gap:.6rem;color:rgba(238,244,240,.88)}.adventure-node-list,.hub-card-grid,.party-grid{display:grid;grid-gap:.8rem;gap:.8rem}.adventure-node{padding:1rem;border:1px solid rgba(217,230,220,.1);border-radius:20px;background:rgba(19,27,22,.54);text-align:left;color:inherit;transition:border-color .18s ease,background .18s ease,opacity .18s ease}.adventure-node:disabled{opacity:.52;cursor:not-allowed}.adventure-node--active{border-color:rgba(173,224,180,.34);background:rgba(31,43,35,.74)}.adventure-node small,.adventure-node span,.adventure-node strong{display:block}.adventure-node span,.adventure-statline span,.hub-feature-card__eyebrow,.podium-card__rank{color:rgba(197,223,188,.72);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.adventure-node strong{margin-top:.35rem}.adventure-node small{margin-top:.35rem;color:rgba(221,233,225,.66)}.adventure-detail p{margin:.75rem 0 0;color:rgba(221,233,225,.74)}.adventure-statline{display:flex;gap:.6rem;flex-wrap:wrap}.monster-pill-list{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1rem}.event-banner,.hero-rule-card,.monster-pill,.party-member-card,.ranking-list__row{border:1px solid rgba(214,228,218,.1);background:rgba(16,21,18,.56)}.monster-pill{padding:.38rem .62rem;border-radius:999px;color:rgba(233,241,236,.84);font-size:.82rem}.party-builder{margin-top:1.2rem}.party-layout{display:grid;grid-gap:.9rem;gap:.9rem;margin-top:1.25rem}.party-panel{padding:.95rem;border:1px solid rgba(214,228,218,.1);border-radius:20px;background:rgba(16,21,18,.56)}.party-panel__header{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:.8rem}.party-slot-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.7rem;gap:.7rem}.party-slot{min-height:116px;border:1px dashed rgba(214,228,218,.16);border-radius:18px;display:grid;place-items:center;padding:.55rem .4rem;background:rgba(8,12,10,.44);text-align:center;color:inherit}.party-slot:disabled{cursor:default}.party-slot--filled{border-style:solid}.party-slot__plus{width:40px;height:40px;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(214,228,218,.16);font-size:1.35rem;color:rgba(223,234,226,.76)}.party-slot small{margin-top:.45rem;color:rgba(221,233,225,.74);font-size:.72rem}.party-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.party-member-card{padding:.85rem;border-radius:18px;text-align:left;color:inherit}.party-member-card--active{border-color:rgba(174,224,181,.34);background:rgba(28,38,32,.76)}.party-member-card small,.party-member-card span{display:block;margin-top:.3rem}.party-member-card span{color:#f4db97}.party-member-card small{color:rgba(221,233,225,.68)}.hero-list-card{margin-top:1rem}.hero-list{display:grid;grid-gap:.7rem;gap:.7rem}.hero-list__identity,.hero-list__row,.hero-modal__title,.hero-table__identity{display:flex;align-items:center;gap:.75rem}.hero-list__row{justify-content:space-between;padding:.85rem .95rem;border:1px solid rgba(214,228,218,.1);border-radius:18px;background:rgba(16,21,18,.56)}.hero-list__row--assigned{border-color:rgba(174,224,181,.24)}.hero-list__copy{display:grid;grid-gap:.35rem;gap:.35rem}.hero-list__copy strong{line-height:1}.hero-list__copy small{color:rgba(221,233,225,.68)}.empty-state-card{margin-top:.8rem;padding:1rem 1.1rem;border:1px dashed rgba(214,228,218,.14);border-radius:18px;background:rgba(16,21,18,.38);color:rgba(221,233,225,.7)}.hero-avatar{position:relative;width:52px;height:52px;border-radius:999px;overflow:hidden;background:linear-gradient(180deg,rgba(92,118,99,.9),rgba(33,42,35,.92));border:1px solid rgba(214,228,218,.16);flex-shrink:0}.hero-avatar--sm{width:42px;height:42px}.hero-avatar__image{object-fit:cover}.hero-avatar__fallback{position:absolute;inset:0;display:grid;place-items:center;color:#f3f6f2;font-weight:700}.hub-primary-button{width:100%;margin-top:1rem;min-height:50px;border:1px solid rgba(182,228,182,.22);border-radius:18px;background:linear-gradient(180deg,rgba(86,120,91,.92),rgba(32,48,35,.96)),rgba(36,48,39,.9);color:#f5f8f4;font-weight:700}.hub-primary-button:disabled{opacity:.45}.hero-rule-grid,.hero-table,.ranking-list{display:grid;grid-gap:.8rem;gap:.8rem}.event-banner,.hero-rule-card,.hub-feature-card,.podium-card{padding:1rem}.hero-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.hero-table{margin-top:1rem}.hero-table__head,.hero-table__row{display:grid;grid-template-columns:1.2fr .7fr .8fr .8fr .8fr 1.3fr;grid-gap:.8rem;gap:.8rem;align-items:center}.hero-table__head{padding:0 .4rem;color:rgba(193,214,198,.7);font-size:.78rem}.hero-table__row{padding:.95rem 1rem;border:1px solid rgba(214,228,218,.1);border-radius:18px;background:rgba(16,21,18,.56);text-align:left;color:inherit}.hub-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hub-card-grid--centered{align-content:center}.hub-card-grid--buildings{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-feature-card__eyebrow{display:block;margin-bottom:.5rem}.hub-feature-card p{margin:.55rem 0 .8rem}.hub-feature-card small{color:rgba(198,219,204,.74)}.podium-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem}.podium-card{display:grid;justify-items:center;text-align:center;min-height:220px}.podium-card--rank-1{padding-top:1.8rem}.podium-card--rank-2,.podium-card--rank-3{margin-top:2rem}.podium-card__floor{margin:1rem 0 .5rem;width:120px;height:120px;display:grid;place-items:center;border-radius:24px;background:rgba(215,226,219,.08);font-size:2rem;font-weight:800}.ranking-list{margin-top:1rem}.ranking-list__row{display:grid;grid-template-columns:.5fr 1fr 1fr 1fr .6fr;grid-gap:.75rem;gap:.75rem;padding:.9rem 1rem;border-radius:18px}.hub-feature-card--shop{min-height:320px;padding:1.3rem}.hub-feature-card--building{min-height:320px}.shop-timer-card{margin-top:1rem;padding:.95rem 1rem;border:1px solid rgba(214,228,218,.1);border-radius:18px;background:rgba(16,21,18,.56)}.shop-timer-card__timer{font-size:1.8rem;font-weight:800;text-align:center}.hub-primary-button--compact{margin-top:.7rem}.hero-modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:1.5rem}.hero-modal__scrim{position:absolute;inset:0;background:rgba(4,7,6,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-modal__card{position:relative;z-index:1;width:min(100%,620px);padding:1.25rem}.hero-modal__close{position:absolute;right:1rem;top:1rem;border:0;background:transparent;color:rgba(226,236,229,.76)}.hero-modal__card h3{margin:0;font-size:1.7rem}.hero-modal__title p{margin:.25rem 0 0;color:rgba(221,233,225,.72)}.hero-modal__stats{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.hero-modal__stats span{padding:.42rem .68rem;border-radius:999px;background:rgba(17,23,19,.64);border:1px solid rgba(214,228,218,.1)}.hero-modal__body{display:grid;grid-gap:.9rem;gap:.9rem;margin-top:1rem}.hero-modal__section{padding:.95rem 1rem;border:1px solid rgba(214,228,218,.1);border-radius:18px;background:rgba(16,21,18,.56)}.hero-modal__section p{margin:.35rem 0 0}.ghost-button--map{padding:.75rem 1rem}.ghost-button--secondary{color:var(--text);background:rgba(255,255,255,.06);box-shadow:none}.onboarding-back-button{min-height:44px;border:1px solid rgba(183,240,137,.18);border-radius:999px;padding:.7rem 1rem;color:#edf7e8;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02)),rgba(15,21,17,.78);font-weight:600;letter-spacing:-.01em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.onboarding-back-button:before{content:"←";margin-right:.45rem;color:var(--accent-strong)}.onboarding-shell{position:relative;min-height:100vh;overflow:hidden;background:radial-gradient(circle at top,rgba(129,179,99,.22),transparent 25%),linear-gradient(180deg,#111912,#0b100d)}.onboarding-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(183,240,137,.08),transparent 22%),radial-gradient(circle at 85% 10%,rgba(88,132,215,.12),transparent 18%),radial-gradient(circle at 50% 100%,rgba(255,210,120,.08),transparent 24%);pointer-events:none}.onboarding-panel{position:relative;z-index:1;min-height:100vh;padding:2rem 1.5rem 4rem;display:grid;align-items:center}.onboarding-step{position:relative;overflow:hidden;width:min(100%,760px);margin:0 auto;padding:2rem 2rem 2.1rem;border:1px solid rgba(190,223,171,.16);border-radius:32px;background:radial-gradient(circle at top,rgba(154,209,112,.08),transparent 42%),linear-gradient(180deg,rgba(24,35,26,.96),rgba(8,12,9,.98)),rgba(10,14,11,.95);box-shadow:0 28px 70px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.04);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.onboarding-step:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(183,240,137,.65),transparent);opacity:.85}.onboarding-step h1{margin:0;max-width:none;font-size:clamp(2rem,3vw,2.9rem);line-height:1.12;letter-spacing:-.045em;white-space:nowrap;font-family:var(--body-font);font-weight:700}.onboarding-step .auth-copy{max-width:34ch;font-size:1rem}.onboarding-step--name{min-height:clamp(300px,34vh,360px);display:flex;flex-direction:column;justify-content:center;gap:1rem;transform:translateY(10vh)}.onboarding-name-intro{transform:none}.onboarding-name-form{display:grid;grid-gap:.9rem;gap:.9rem;margin-top:.25rem;padding:.8rem;border:1px solid rgba(190,223,171,.09);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));box-shadow:inset 0 1px 0 rgba(255,255,255,.03);transform:none}.onboarding-name-form input{width:100%;min-height:54px;border:1px solid rgba(190,223,171,.14);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02)),rgba(255,255,255,.03);padding:.95rem 1.05rem;color:var(--text);font-size:1.02rem;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.onboarding-name-form input:focus{outline:none;border-color:rgba(183,240,137,.58);background:rgba(255,255,255,.07);box-shadow:0 0 0 4px rgba(146,209,107,.12)}.onboarding-actions button,.onboarding-name-form button{min-height:52px}.onboarding-name-form button{border-radius:18px;background:linear-gradient(180deg,#c0f28e,#89cf54);box-shadow:0 14px 24px rgba(137,207,84,.2),inset 0 1px 0 rgba(255,255,255,.42)}.onboarding-step--worlds{width:100%;max-width:1240px;align-self:start;margin-top:4vh;margin-bottom:4vh}.onboarding-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}.onboarding-world-hint{margin:.7rem 0 0;max-width:52ch}.world-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1.2rem;gap:1.2rem}.world-card{padding:0;overflow:hidden;border:1px solid rgba(224,239,215,.1);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02)),rgba(255,255,255,.03);color:var(--text);text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.world-card:hover{transform:translateY(-3px);border-color:rgba(183,240,137,.48);box-shadow:0 18px 42px rgba(0,0,0,.24)}.world-card--selected{border-color:rgba(183,240,137,.7);box-shadow:0 0 0 1px rgba(183,240,137,.28),0 18px 42px rgba(0,0,0,.24)}.world-card__image{position:relative;aspect-ratio:1/1;overflow:hidden}.world-card__image img{object-fit:cover}.world-card__copy{display:grid;grid-gap:.45rem;gap:.45rem;padding:1rem 1rem 1.15rem;background:linear-gradient(180deg,rgba(9,14,11,0),rgba(9,14,11,.24))}.world-card__name{color:var(--accent-strong);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase}.world-card__copy strong{font-size:1.05rem;line-height:1.32}.world-card__copy p{margin:0;color:var(--muted);line-height:1.55}.world-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:2rem;overscroll-behavior:contain;overflow-y:auto}.world-modal__backdrop{position:absolute;inset:0;background:radial-gradient(circle at top,rgba(79,123,63,.16),transparent 36%),rgba(3,6,5,.72);-webkit-backdrop-filter:blur(20px) saturate(.9);backdrop-filter:blur(20px) saturate(.9)}.world-modal__panel{position:relative;z-index:1;width:min(100%,1080px);max-height:min(88vh,920px);overflow:auto;padding:1.4rem;border:1px solid rgba(224,239,215,.14);border-radius:32px;background:linear-gradient(180deg,rgba(22,31,24,.97),rgba(10,14,11,.98));box-shadow:0 26px 72px rgba(0,0,0,.42);scrollbar-width:thin}.world-modal__close{position:-webkit-sticky;position:sticky;top:-.35rem;z-index:2;margin-left:auto;display:block;min-width:84px;border:1px solid rgba(224,239,215,.12);border-radius:999px;padding:.6rem .95rem;color:var(--text);background:rgba(255,255,255,.05);box-shadow:none}.world-modal__hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);grid-gap:1.25rem;gap:1.25rem;align-items:stretch}.world-modal__copy{display:grid;grid-gap:.55rem;gap:.55rem}.world-modal__copy h2{margin:0;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.08;letter-spacing:-.02em;font-family:var(--body-font);font-weight:800}.world-modal__copy strong{font-size:1.05rem;line-height:1.4}.world-modal__copy p:last-child{margin:.2rem 0 0;color:var(--muted);line-height:1.7}.world-modal__image{position:relative;min-height:260px;overflow:hidden;border-radius:24px;border:1px solid rgba(224,239,215,.12)}.world-modal__image img{object-fit:cover}.world-modal__grid{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem;margin-top:1rem}.world-modal__card{padding:1.15rem 1.2rem;border-radius:22px;background:rgba(255,255,255,.035);border:1px solid rgba(224,239,215,.08)}.world-modal__card p:last-child{margin:0;color:var(--muted);line-height:1.7}.world-modal__summary{margin:.4rem 0 0;color:var(--muted);line-height:1.8}.world-modal__card--restricted{background:linear-gradient(180deg,rgba(72,22,22,.18),rgba(18,11,11,.25)),rgba(255,255,255,.03)}.world-modal__header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.world-modal__header span{font-size:.82rem;color:#f2c7c0}.world-modal__actions{display:flex;justify-content:flex-end;margin-top:1rem}.world-modal__confirm{min-width:320px}.onboarding-actions{display:flex;justify-content:flex-end;margin-top:1.4rem}.onboarding-primary-button{min-width:280px;border:1px solid rgba(196,245,150,.26);border-radius:18px;padding:.95rem 1.35rem;color:#0d180e;background:linear-gradient(180deg,#cff7a7,#9ae05f 58%,#7bc84a);font-size:1rem;font-weight:800;letter-spacing:-.01em;box-shadow:0 18px 28px rgba(122,200,74,.2),inset 0 1px 0 rgba(255,255,255,.44);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.onboarding-primary-button:hover{transform:translateY(-1px);box-shadow:0 22px 32px rgba(122,200,74,.24),inset 0 1px 0 rgba(255,255,255,.48)}.onboarding-primary-button:disabled{cursor:wait;opacity:.82;transform:none;filter:saturate(.8)}.onboarding-loading{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(circle at 50% 25%,rgba(147,211,104,.1),transparent 26%),rgba(5,8,6,.82);-webkit-backdrop-filter:blur(18px) saturate(.9);backdrop-filter:blur(18px) saturate(.9)}.onboarding-loading__panel{width:min(100%,620px);display:grid;grid-gap:.9rem;gap:.9rem;padding:2rem 2rem 1.8rem;border:1px solid rgba(190,223,171,.18);border-radius:28px;background:radial-gradient(circle at top,rgba(154,209,112,.08),transparent 40%),linear-gradient(180deg,rgba(20,31,22,.97),rgba(9,12,10,.98));box-shadow:0 26px 70px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.04)}.onboarding-loading__spinner{width:54px;height:54px;border:3px solid rgba(255,255,255,.08);border-top:3px solid var(--accent-strong);border-radius:999px;animation:onboarding-spin .9s linear infinite}.onboarding-loading__panel strong{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em}.onboarding-loading__panel p{margin:0;color:var(--muted);line-height:1.65}.onboarding-loading__terminal{min-height:60px;display:flex;align-items:center;gap:.4rem;margin-top:.15rem;padding:.95rem 1rem;border:1px solid rgba(183,240,137,.12);border-radius:18px;background:rgba(0,0,0,.26);color:#dff0d2;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.98rem}.onboarding-loading__prompt{color:var(--accent-strong)}.onboarding-loading__typed{min-height:1.25em}.onboarding-loading__caret{width:.6ch;height:1.15em;background:rgba(223,240,210,.92);border-radius:1px;animation:onboarding-caret .85s steps(1) infinite}@keyframes onboarding-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes onboarding-caret{0%,49%{opacity:1}50%,to{opacity:0}}@media (max-width:1080px){.base-layout{grid-template-columns:1fr}.map-viewport{min-height:420px}.hub-shell{padding:1.25rem}.hub-board__header,.hub-topline{flex-direction:column}.hub-status-chips{justify-content:flex-start}.hero-rule-grid,.hub-card-grid,.hub-card-grid--buildings,.hub-menu-grid,.hub-panel-grid,.hub-variable-strip,.podium-grid{grid-template-columns:1fr}.hero-table__head,.hero-table__row,.party-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.onboarding-panel{padding:1.25rem;align-items:start}.onboarding-step{padding:1.5rem}.onboarding-heading{flex-direction:column}.world-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.world-modal{padding:1rem}.world-modal__grid,.world-modal__hero{grid-template-columns:1fr}.world-modal__image{min-height:220px}.world-modal__confirm{min-width:100%}}@media (max-width:720px){.onboarding-step--name{min-height:auto;display:flex;gap:1rem;transform:none}.onboarding-name-form,.onboarding-name-intro{transform:none}.world-grid{grid-template-columns:1fr}.hub-shell{padding:1rem}.hero-modal__card,.hub-feature-card,.hub-menu-card,.hub-panel-card{border-radius:20px}.hub-menu-grid,.party-grid{grid-template-columns:1fr}.party-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-table__head,.hero-table__row,.ranking-list__row{grid-template-columns:1fr}.shop-balance{justify-content:flex-start;flex-wrap:wrap}.hub-location strong{font-size:1.3rem}}