:root{color-scheme:dark;--gold:#f6bd70;--cyan:#98dbe8;--teal:#72dfdf;font-family:Arial,Helvetica,sans-serif;color:#faf7f5;background:#101018}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}a{color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #ffda88;outline-offset:5px}html,body{height:100%;min-width:320px}.skip-link{position:fixed;left:16px;top:-100px;z-index:1200;padding:12px 16px;border-radius:8px;background:#31283c;color:#fff;text-decoration:none}.skip-link:focus{top:12px}
.background-wrapper{position:fixed;inset:0;background:linear-gradient(180deg,rgba(31,23,57,.17),transparent 48%,rgba(10,10,18,.16) 68%,#0d0d16 100%),url('../img/flarocity-reference-scene.webp') center center/cover no-repeat;z-index:-2}.background-wrapper:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,12,24,.23),transparent 30%,transparent 75%,rgba(13,12,24,.15))}#firefly-canvas{position:fixed;inset:0;pointer-events:none;z-index:-1}
.app-container{height:100svh;min-height:580px;position:relative;display:grid;grid-template-rows:58px 1fr 78px;align-items:center}.navbar{height:58px;display:flex;align-items:center;justify-content:center;gap:clamp(35px,7vw,110px);background:linear-gradient(90deg,rgba(74,66,110,.3),rgba(126,94,137,.26));border-bottom:1px solid #ffffff1a;backdrop-filter:blur(12px);padding:0 24px}.nav-links{display:flex;align-items:center;list-style:none;gap:13px;padding:0;margin:0}.nav-links a{text-decoration:none;font-size:14px;font-weight:400}.nav-links a.active{color:#ffd282;text-shadow:0 0 16px #ffd28277}.nav-links a:hover{color:#ffd282}.nav-separator{color:#ddd2e5;font-size:16px;font-weight:300}.nav-cta{display:flex;gap:20px;align-items:center}.btn-play-now{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 18px;border:1px solid #e5b48f;border-radius:8px;background:linear-gradient(120deg,#a37d7270,#b57e5580);box-shadow:inset 0 0 0 1px #ffffff0c,0 0 18px #ffa14b18;text-decoration:none;color:#fff5ee;font-size:14px;font-weight:600;text-transform:uppercase;transition:background .2s}.btn-play-now:hover{background:#bc865caa}.search-icon-btn{border:0;background:transparent;color:#d7cada;width:26px;height:34px;display:grid;place-items:center}
.hero-center{height:100%;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:0}.brand-header{position:absolute;top:5.7%;left:50%;right:auto;translate:-50% 0;width:max-content;max-width:calc(100% - 24px);padding:10px 24px 12px;border:1px solid #ffffff20;border-radius:18px;background:#171221;box-shadow:inset 0 1px 0 #ffffff1c,0 8px 30px #08061066,0 0 30px #f3ad4b12}.server-title{display:inline-flex;align-items:center;gap:2px;font-size:clamp(44px,5.25vw,74px);letter-spacing:-1.5px;line-height:1;margin:0;color:#fffaf3;font-weight:750;text-shadow:0 3px 4px #211a36b3,0 0 25px #30223a55}.flame-icon{display:inline-flex;width:.72em;height:1.12em;margin:0 3px;filter:drop-shadow(0 2px 2px #44203655)}.flame-icon svg{height:100%;width:100%}.server-tagline{font-size:clamp(13px,1.35vw,18px);font-weight:400;margin:5px 0 0;color:#fff4ee;text-shadow:0 2px 4px #241b30}.mascot-scenic-spacer{flex:1}
.hero-quick-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 8px}.mascot-reaction-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;margin:0;padding:8px 16px;border:1px solid #f6bd7088;border-radius:999px;background:linear-gradient(120deg,#2d223bc9,#8a563ab8);box-shadow:inset 0 1px 0 #ffffff24,0 0 20px #f6a84b33;color:#fff4df;font-size:11px;font-weight:800;letter-spacing:.12em;text-decoration:none;text-shadow:0 1px 4px #160c1d;backdrop-filter:blur(12px);transition:transform .2s,border-color .2s,box-shadow .2s}.mascot-reaction-btn span{color:#ffd282;font-size:15px}.mascot-reaction-btn:hover,.mascot-reaction-btn:focus-visible{transform:translateY(-2px);border-color:#ffe0a8;box-shadow:inset 0 1px 0 #ffffff38,0 0 28px #ffad4d55}.adventure-reaction-btn{border-color:#76e7dd88;background:linear-gradient(120deg,#172b35d9,#275f64c9);box-shadow:inset 0 1px 0 #ffffff24,0 0 20px #56ded233}.adventure-reaction-btn span{color:#8df7ed}.hero-quick-actions-mobile{display:none}
.cards-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:min(870px,84vw);margin:0 0 8px}.action-card{--accent:var(--gold);position:relative;text-decoration:none;border:1px solid #d8c5b36b;border-radius:19px;padding:14px;min-height:142px;background:linear-gradient(125deg,#b9ad9347,#6e55563d);box-shadow:inset 0 1px 0 #ffffff20,0 12px 24px #0004;backdrop-filter:blur(16px);transition:transform .2s,background .2s}.action-card:after{content:'';position:absolute;bottom:-5px;left:22%;right:22%;height:1px;background:var(--accent);box-shadow:0 0 23px 6px color-mix(in srgb,var(--accent) 22%,transparent);pointer-events:none}.card-store{--accent:var(--cyan);border-color:#d6c7d16b;background:linear-gradient(125deg,#b8b1c44a,#64566442)}.card-vote{--accent:var(--teal);border-color:#a2dddd75;background:linear-gradient(125deg,#71b5bb4d,#334c514d)}.action-card:hover{transform:translateY(-4px);background-color:#ffffff14}.card-top{display:flex;align-items:center;gap:13px;min-height:66px;margin-bottom:11px}.card-icon-box{display:grid;place-items:center;width:64px;height:64px;flex-shrink:0;border-radius:17px;border:1px solid #e8ddd650;background:linear-gradient(140deg,#e7dfc34d,#c9c4bb24);box-shadow:inset 0 1px 2px #fff2,0 3px 7px #0002}.card-icon-box svg{width:37px;height:37px;filter:drop-shadow(0 2px 2px #0003)}.card-meta{text-align:left}.card-title{font-size:21px;margin:0 0 4px;font-weight:700;line-height:1}.card-desc{font-size:13px;line-height:1.2;margin:0;color:#fff9f4;text-shadow:0 1px 3px #0009}.card-action-btn{border:1px solid var(--accent);border-radius:11px;padding:7px 5px;font-size:14px;line-height:1.1;font-weight:600;box-shadow:inset 0 0 13px #ffffff13,0 0 13px color-mix(in srgb,var(--accent) 14%,transparent);background:linear-gradient(110deg,#ffffff05,color-mix(in srgb,var(--accent) 18%,transparent));text-shadow:0 1px 3px #0007}
.status-dock{justify-self:center;align-self:center;display:flex;align-items:center;gap:24px;padding:8px 10px 8px 9px;border-radius:40px;border:1px solid #b1b4b650;background:linear-gradient(110deg,#39534b99,#4c37378c);backdrop-filter:blur(18px);box-shadow:inset 0 2px 1px #ffffff12,0 10px 26px #0007;margin:0 12px;min-height:54px}.dock-status-group{display:flex;align-items:center;gap:14px}.status-pill{display:flex;align-items:center;gap:9px;border-radius:30px;padding:8px 12px;background:#123b303d;color:#65efaa;font-size:16px;font-weight:700}.pulse-dot{width:16px;height:16px;border-radius:50%;background:#30ef97;box-shadow:0 0 13px 4px #20e88b66}.status-pill[data-state=checking],.status-pill[data-state=unknown]{color:#ffdc99;background:#4a3b283d}.status-pill[data-state=checking] .pulse-dot,.status-pill[data-state=unknown] .pulse-dot{background:#edc16f;box-shadow:0 0 12px #edc16f66}.status-pill[data-state=offline]{color:#ffc4b5;background:#472c283d}.status-pill[data-state=offline] .pulse-dot{background:#ef9580;box-shadow:0 0 12px #ef958066}.dock-text{font-size:13px;line-height:1.15}.btn-copy-ip{border:1px solid #fff6;background:linear-gradient(#fffdf9,#e9ddcd);border-radius:30px;color:#292421;padding:8px 19px;font-size:14px;font-weight:700;white-space:nowrap;box-shadow:0 3px 9px #e4ac6a44}.btn-copy-ip:hover{background:#fff}
.copy-toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%,10px);opacity:0;pointer-events:none;padding:12px 20px;border-radius:12px;background:#173d31;border:1px solid #71b18c;font-size:14px;transition:opacity .2s,transform .2s;z-index:10;max-width:90vw;text-align:center}.copy-toast.show{opacity:1;transform:translate(-50%,0)}
.modal-box{color:#fff4eb;width:min(560px,calc(100% - 32px));max-height:85svh;border:1px solid #c9b3a655;border-radius:22px;padding:28px;background:linear-gradient(135deg,#352c40f5,#1c1c28fa);box-shadow:0 25px 100px #0008}.modal-box::backdrop{background:#0c0b17bb;backdrop-filter:blur(10px)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.modal-header h2{font-size:25px;margin:0}.btn-close-modal{border:0;background:transparent;color:#eddfd8;font-size:28px;line-height:1;padding:5px 9px}.step-list{display:grid;gap:22px;margin-bottom:26px}.step-item{display:flex;gap:14px}.step-num{display:grid;place-items:center;flex-shrink:0;width:29px;height:29px;background:#bb8059;border-radius:50%;font-weight:bold}.step-item p{margin:0;line-height:1.6;font-size:14px;color:#d6cdd9}.modal-copy{width:100%}.modal-box a{color:#ffcf91}.modal-box p{line-height:1.6}.search-input{width:100%;border:1px solid #b4a7be66;background:#ffffff0b;padding:12px;border-radius:9px;color:#fff}.search-results{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}.search-results a,.search-results button{display:block;width:100%;text-align:left;padding:12px;background:#ffffff08;border:1px solid #ffffff16;border-radius:9px;color:#ffdbad;text-decoration:none}
.explore-menu-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border:1px solid #8fe2df70;border-radius:8px;background:#123b423d;color:#bff8f4;font-size:11px;font-weight:800;letter-spacing:.12em;box-shadow:inset 0 0 12px #71dfdf10,0 0 16px #71dfdf12}.explore-menu-btn:hover{border-color:#9ff3ef;background:#1a505966;color:#e7fffd}.explore-modal{width:min(920px,calc(100% - 32px));padding:30px}.explore-modal .modal-header{align-items:flex-start;margin-bottom:10px}.explore-modal .modal-header .eyebrow{display:block;margin-bottom:7px;color:#83e6e3;font-size:9px;font-weight:800;letter-spacing:.18em}.explore-modal .modal-header h2{font-size:30px}.explore-intro{max-width:690px;margin:0 0 22px;color:#d8cedc;font-size:14px}.explore-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.explore-group{display:grid;align-content:start;gap:8px;padding:17px;border:1px solid #ffffff1a;border-radius:16px;background:linear-gradient(145deg,#ffffff0a,#15142170)}.explore-group h3{margin:0 0 3px;color:#ffd08c;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.explore-group>a,.explore-group>div{position:relative;display:grid;gap:4px;min-height:68px;padding:12px 13px;border:1px solid #ffffff14;border-radius:11px;background:#ffffff08;text-decoration:none}.explore-group>a{color:#fff5e9;transition:border-color .18s,background .18s,transform .18s}.explore-group>a:hover{transform:translateY(-1px);border-color:#79e4df88;background:#71dfdf12}.explore-group strong{font-size:14px}.explore-group small{color:#cfc4d3;font-size:11px;line-height:1.45}.explore-later>div{padding-right:78px}.explore-later span{position:absolute;right:11px;top:11px;padding:4px 6px;border:1px solid #f6bd704a;border-radius:999px;color:#efc98f;font-size:8px;font-weight:800;letter-spacing:.1em}
.mascot-modal{width:min(720px,calc(100% - 32px))}.mascot-showcase{display:grid;grid-template-columns:minmax(220px,290px) 1fr;gap:24px;align-items:center}.mascot-video-frame{overflow:hidden;aspect-ratio:1;border:1px solid #f6bd7066;border-radius:20px;background:#171020;box-shadow:inset 0 0 30px #160c25,0 0 28px #ff9d3c22}.mascot-video-frame video{display:block;width:100%;height:100%;object-fit:cover}.mascot-story .eyebrow{color:#f6bd70;font-size:10px;font-weight:800;letter-spacing:.17em}.mascot-story p{color:#ded3df}.mascot-story .fine-print{color:#ffd89b}
.mascot-modal .btn-close-modal{min-width:44px;min-height:44px}
@media(min-width:1600px){.cards-row{width:960px;gap:22px}.action-card{padding:16px;min-height:154px}.card-top{margin-bottom:14px}.card-title{font-size:23px}.card-desc{font-size:14px}.card-icon-box{width:68px;height:68px}.brand-header{top:6.5%}}
@media(max-height:700px) and (min-width:701px){.app-container{grid-template-rows:50px 1fr 64px;min-height:480px}.navbar{height:50px}.brand-header{top:4%}.server-title{font-size:54px}.cards-row{width:min(780px,85vw)}.action-card{min-height:126px;padding:12px}.card-icon-box{height:54px;width:54px}.card-top{min-height:54px;margin-bottom:10px}.card-title{font-size:19px}.card-desc{font-size:12px}.card-action-btn{font-size:13px}.status-dock{min-height:48px;padding:6px 9px}}
@media(max-width:900px){.navbar{gap:28px;padding:0 16px}.nav-links{gap:9px}.nav-links a{font-size:12px}.cards-row{width:92vw;gap:12px}.action-card{padding:12px}.card-top{gap:9px}.card-icon-box{width:48px;height:54px;border-radius:14px}.card-title{font-size:18px}.card-desc{font-size:12px}}
@media(max-width:820px) and (min-width:701px){.app-container{height:auto;min-height:100svh;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;align-items:start}.navbar{width:100%;min-width:0;height:auto;min-height:100px;flex-wrap:wrap;gap:4px 8px;padding:7px 12px}.navbar nav{order:2;width:100%;min-width:0}.nav-links{justify-content:center;flex-wrap:wrap;gap:2px 7px;max-width:100%}.nav-links a{display:flex;align-items:center;min-height:40px;padding:5px 2px}.nav-separator{display:none}.nav-cta{width:100%;justify-content:center;gap:8px}.explore-menu-btn,.nav-cta .btn-play-now,.search-icon-btn{min-height:40px}.hero-center{height:auto;min-height:740px}.status-dock{align-self:start;width:calc(100% - 24px);max-width:700px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:9px 10px;border-radius:24px;margin:18px auto 8px}.dock-status-group{min-width:0}.dock-text{min-width:0;overflow-wrap:anywhere}.btn-copy-ip{min-height:40px}body:not(.inner-page):not(.hof-page)>.company-credit{position:relative;top:auto;right:auto;display:flex;align-items:center;min-height:40px;width:max-content;max-width:calc(100% - 24px);margin:12px auto 20px}}
@media(max-width:700px){.app-container{min-height:920px;height:100svh;grid-template-rows:auto 1fr 164px}.navbar{height:auto;min-height:92px;flex-wrap:wrap;gap:8px;padding:9px 10px}.navbar nav{order:2;width:100%;min-width:0}.nav-links{justify-content:center;flex-wrap:wrap;gap:2px 4px;max-width:100%}.nav-links a{display:flex;align-items:center;min-height:44px;padding:7px;font-size:11px}.nav-separator{display:none}.nav-cta{width:100%;justify-content:center}.nav-cta .btn-play-now{min-width:145px;min-height:44px}.search-icon-btn{min-width:44px;min-height:44px}.brand-header{top:24px;padding:8px 12px 10px;border-radius:15px}.server-title{font-size:49px}.server-tagline{font-size:12px}.background-wrapper{background-position:center 25%;background-size:auto 740px;background-color:#101018}.cards-row{width:min(430px,90vw);grid-template-columns:1fr;gap:12px;margin-bottom:3px}.action-card{min-height:112px;padding:11px 13px;border-radius:16px}.card-top{min-height:47px;margin-bottom:8px}.card-icon-box{width:48px;height:47px;border-radius:12px}.card-icon-box svg{width:29px;height:29px}.card-title{font-size:19px}.card-desc{font-size:12px}.card-action-btn{min-height:44px;padding:7px;font-size:12px;border-radius:8px}.status-dock{width:calc(100% - 24px);max-width:430px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:9px 10px;border-radius:24px;margin-inline:auto}.dock-status-group{min-width:0;gap:9px}.dock-text{min-width:0;overflow-wrap:anywhere}.status-pill{font-size:11px;padding:8px;gap:6px}.pulse-dot{width:10px;height:10px}.dock-text{font-size:11px}.btn-copy-ip{min-height:44px;font-size:11px;padding:9px 12px}.modal-box{padding:22px}.modal-header h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

@media(max-width:360px){.nav-links{gap:7px 9px}.nav-links a{font-size:10px}.status-dock{gap:7px 8px}.dock-status-group{gap:6px}.status-pill{font-size:10px;padding:6px;gap:5px}.pulse-dot{width:8px;height:8px}.dock-text{font-size:10px;max-width:125px}.btn-copy-ip{font-size:10px;padding:8px 10px}}
@media(max-width:700px){.hero-quick-actions-mobile{flex-wrap:wrap;gap:7px}.mascot-showcase{grid-template-columns:1fr;gap:17px}.mascot-video-frame{width:min(260px,100%);justify-self:center}.mascot-story{text-align:center}.mascot-story .modal-copy{min-height:44px}}
@media(max-width:900px){.hero-center>.hero-quick-actions{display:none}.hero-quick-actions-mobile{display:flex;width:max-content;max-width:calc(100% - 24px);margin:14px auto 2px}}
.company-credit{position:fixed;z-index:8;top:68px;right:16px;padding:6px 10px;border:1px solid #ffffff1f;border-radius:999px;background:#1714218f;backdrop-filter:blur(10px);color:#c8bfd0;font-size:10px;letter-spacing:.04em;text-transform:uppercase}.company-credit a{color:#f6bd70;text-decoration:none;font-weight:700}.company-credit a:hover{text-decoration:underline}.company-credit-static{position:relative;top:auto;right:auto;width:max-content;max-width:calc(100% - 32px);margin:18px auto 90px}@media(max-width:700px){body:not(.inner-page):not(.hof-page)>.company-credit{position:relative;top:auto;right:auto;display:flex;align-items:center;min-height:44px;width:max-content;max-width:calc(100% - 24px);margin:12px auto 20px;font-size:9px;padding:0 8px}body:not(.inner-page):not(.hof-page)>.company-credit a{display:inline-flex;align-items:center;min-height:44px}.company-credit-static{top:auto;right:auto;display:flex;align-items:center;min-height:44px;margin:14px auto 170px}.company-credit-static a{display:inline-flex;align-items:center;min-height:44px}}

/* Prelaunch is a product phase, not a server-health result. It never pulses like live availability. */
.status-pill[data-state=prelaunch]{color:#ffdc99;background:#4a3b283d}.status-pill[data-state=prelaunch] .pulse-dot{background:#edc16f;box-shadow:0 0 12px #edc16f66;animation:none}

/* Brighter portal-card lighting: each card carries its own amber/cyan/teal neon. */
@property --neon-angle {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}
.action-card {
  border-color: color-mix(in srgb, var(--accent) 62%, #ffffff 18%);
  box-shadow:
    inset 0 1px 0 #ffffff35,
    inset 0 0 24px color-mix(in srgb, var(--accent) 10%, transparent),
    0 12px 28px #0007,
    0 0 18px color-mix(in srgb, var(--accent) 24%, transparent),
    0 0 42px color-mix(in srgb, var(--accent) 10%, transparent);
}
.action-card::before {
  content: '';
  position: absolute;
  inset: -2px;
  z-index: 2;
  border-radius: inherit;
  padding: 2px;
  background: conic-gradient(
    from var(--neon-angle),
    transparent 0deg 248deg,
    color-mix(in srgb, var(--accent) 18%, transparent) 270deg,
    color-mix(in srgb, var(--accent) 78%, transparent) 302deg,
    #fff8dd 322deg,
    var(--accent) 338deg,
    transparent 360deg
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  opacity: .82;
  pointer-events: none;
  transition: opacity .25s;
}
.action-card:hover,
.action-card:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 84%, white 16%);
  box-shadow:
    inset 0 1px 0 #ffffff48,
    inset 0 0 30px color-mix(in srgb, var(--accent) 15%, transparent),
    0 16px 34px #0008,
    0 0 24px color-mix(in srgb, var(--accent) 48%, transparent),
    0 0 60px color-mix(in srgb, var(--accent) 22%, transparent);
}
.action-card:hover::before,
.action-card:focus-visible::before {
  opacity: 1;
}
.card-icon-box,
.card-action-btn {
  box-shadow:
    inset 0 1px 2px #fff3,
    0 0 14px color-mix(in srgb, var(--accent) 24%, transparent);
}
.status-dock {
  border-color: #d7c8d080;
  box-shadow:
    inset 0 2px 1px #ffffff1c,
    0 10px 28px #0008,
    -18px 0 42px #f6bd701c,
    18px 0 42px #72dfdf1c;
}
.modal-readiness {
  margin: -8px 0 20px;
  padding: 10px 12px;
  border: 1px solid #f6bd7066;
  border-radius: 10px;
  background: #f6bd7012;
  color: #ffe0a6;
  font-size: 12px;
  line-height: 1.5;
}

/* The Adventure Passport is deliberately local-only: playful preparation without an account. */
.modal-box{overflow:auto}
@media(max-width:700px){.nav-cta{gap:8px}.explore-menu-btn{min-height:44px;padding-inline:10px}.explore-modal{width:calc(100% - 20px);max-height:92svh;padding:20px}.explore-modal .modal-header{gap:8px}.explore-modal .modal-header h2{font-size:24px}.explore-modal .btn-close-modal{min-width:44px;min-height:44px}.explore-intro{margin-bottom:16px;font-size:13px}.explore-grid{grid-template-columns:1fr;gap:11px}.explore-group{padding:14px}.explore-group>a,.explore-group>div{min-height:70px}.explore-later>div{padding-right:72px}}
.launch-passport{display:grid;gap:13px}.passport-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.passport-heading h3{margin:3px 0 0;font-size:19px}.passport-heading>strong{flex:none;color:#ffd18a;font-size:13px;letter-spacing:.08em}.passport-progress{height:8px;overflow:hidden;border:1px solid #ffc56a42;border-radius:999px;background:#0e0d18aa;box-shadow:inset 0 1px 5px #0008}.passport-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff9b44,#ffd16d,#55e1d4);box-shadow:0 0 18px #ffb34f99;transition:width .35s ease}.passport-privacy{margin:0!important;color:#bfb3c8;font-size:11px}.passport-tasks{display:grid;gap:8px}.passport-task{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid #ffffff17;border-radius:12px;background:#ffffff08}.passport-task label{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;min-width:0;cursor:pointer}.passport-task input{position:absolute;opacity:0;pointer-events:none}.passport-check{display:grid;place-items:center;width:26px;height:26px;border:1px solid #f5c87c55;border-radius:8px;background:#140f1d;color:transparent;font-weight:900;transition:.2s}.passport-task input:focus-visible+.passport-check{outline:2px solid #ffe4a8;outline-offset:2px}.passport-task input:checked+.passport-check{border-color:#67e0d6;background:linear-gradient(135deg,#1aa79c,#5fe7d8);box-shadow:0 0 15px #50e7d466;color:#10272b}.passport-task label>span:last-child{display:grid;min-width:0}.passport-task strong{font-size:12px}.passport-task small{margin-top:2px;color:#c6bbc9;font-size:10px;line-height:1.35}.passport-task>a,.passport-task>button{display:grid;place-items:center;min-width:62px;min-height:44px;padding:6px 8px;border:1px solid #ffc66c55;border-radius:9px;background:#7a4e3938;color:#ffd99d!important;font-size:9px;font-weight:800;text-decoration:none}.passport-task>a:hover,.passport-task>a:focus-visible,.passport-task>button:hover,.passport-task>button:focus-visible{border-color:#ffe0a2;background:#ad714750}.passport-complete{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:2px 9px;padding:10px 12px;border:1px solid #62e3d577;border-radius:12px;background:linear-gradient(110deg,#193638cc,#49334fcc);box-shadow:inset 0 1px #ffffff22,0 0 22px #4ee1d233}.passport-complete>span{grid-row:1/3;color:#ffd478;font-size:24px;text-align:center}.passport-complete strong{color:#9cf3e8;font-size:12px;letter-spacing:.1em}.passport-complete small{color:#d6cdd9;font-size:10px;line-height:1.35}.passport-reset{justify-self:center;min-height:44px;border:0;background:transparent;color:#aa9cae;font-size:10px;text-decoration:underline;text-underline-offset:3px}
.passport-complete[hidden]{display:none}
@media(max-width:560px){.passport-task{grid-template-columns:1fr}.passport-task>a,.passport-task>button{width:100%}.passport-heading{align-items:flex-start}.passport-heading h3{font-size:17px}}
.btn-close-modal{min-width:44px;min-height:44px}.passport-task small{font-size:11px}.passport-task>a,.passport-task>button{font-size:10px}

/* Forged FlaroCity controls: custom project assets replace the generic glass pills. */
.btn-play-now,
.mascot-reaction-btn,
.page-button,
.card-action-btn,
.btn-dock-ghost,
.explore-menu-btn {
  border-color: transparent;
  background-color: #1c1428;
  background-image: url('../assets/ui/button-frame-ember-v1.webp');
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  box-shadow: 0 0 18px #ffad4d38;
  color: #fff8ea;
  text-shadow: 0 2px 4px #09050dcc;
}
.adventure-reaction-btn,
.page-button.secondary,
.card-store .card-action-btn,
.card-vote .card-action-btn,
.btn-dock-ghost,
.explore-menu-btn {
  background-color: #10182a;
  background-image: url('../assets/ui/button-frame-cyan-v1.webp');
  box-shadow: 0 0 18px #50e3df36;
}
.btn-play-now:hover,
.btn-play-now:focus-visible,
.mascot-reaction-btn:hover,
.mascot-reaction-btn:focus-visible,
.page-button:hover,
.page-button:focus-visible,
.btn-dock-ghost:hover,
.btn-dock-ghost:focus-visible,
.explore-menu-btn:hover,
.explore-menu-btn:focus-visible {
  border-color: transparent;
  background-color: #251a34;
  filter: brightness(1.12) saturate(1.08);
  box-shadow: 0 0 28px #ffd06b55;
}
.adventure-reaction-btn:hover,
.adventure-reaction-btn:focus-visible,
.page-button.secondary:hover,
.page-button.secondary:focus-visible,
.btn-dock-ghost:hover,
.btn-dock-ghost:focus-visible,
.explore-menu-btn:hover,
.explore-menu-btn:focus-visible {
  box-shadow: 0 0 28px #5df4ee55;
}
.card-action-btn {
  min-height: 46px;
  padding: 12px 26px;
}
.btn-dock-ghost,
a.btn-dock-ghost {
  min-height: 44px;
  padding: 11px 25px;
}
.company-credit {
  top: 68px;
  right: 16px;
  bottom: auto;
  left: auto;
}

/* Crisp reusable brand lockup: original crest art plus real text, never generated lettering. */
.nav-brand{display:inline-flex;flex:none;align-items:center;gap:7px;color:#fff8f0;text-decoration:none;filter:drop-shadow(0 0 13px #ffad4630)}
.nav-brand img{width:36px;height:36px;object-fit:contain;transition:transform .25s ease,filter .25s ease}
.nav-brand span{font-size:14px;font-weight:950;line-height:1;letter-spacing:-.035em}
.nav-brand strong{color:#ffd18a;font:inherit}
.nav-brand:hover img,.nav-brand:focus-visible img{transform:rotate(5deg) scale(1.06);filter:drop-shadow(0 0 10px #ffc15f99)}
@media(max-width:1100px){.navbar{gap:22px}.nav-brand span{display:none}}
@media(max-width:820px){.nav-brand{position:absolute;top:8px;left:12px}.nav-brand img{width:38px;height:38px}.nav-cta{padding-left:44px}}
@media(max-width:700px){.nav-brand{top:10px;left:11px}.nav-brand img{width:36px;height:36px}.nav-cta{padding-left:42px}}

/* On phones, content determines the grid height. Fixed viewport rows caused the dock to
   overlap the Vote card on shorter displays. */
@media(max-width:700px) {
  .app-container {
    height: auto;
    min-height: 0;
    grid-template-rows: auto auto auto;
    align-items: start;
  }
  .hero-center {
    height: auto;
    min-height: 780px;
  }
  .status-dock {
    align-self: start;
    margin-top: 18px;
    margin-bottom: 8px;
  }
  .card-action-btn {
    min-height: 48px;
  }
  body:not(.inner-page):not(.hof-page) > .company-credit {
    position: relative;
    inset: auto;
  }
}
