:root {
  --night-950:#02091e;
  --night-900:#06163b;
  --night-850:#08245a;
  --panel:#092c68e8;
  --cyan:#40dcff;
  --cyan-bright:#8ef3ff;
  --blue:#158cff;
  --gold:#ffd65a;
  --orange:#ff9b22;
  --orange-light:#ffe273;
  --white:#f7fdff;
  --muted:#b7d6ee;
}

* { box-sizing:border-box; }
html { min-width:320px; background:var(--night-950); }
body { margin:0; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.quest-home {
  min-height:100svh;
  overflow-x:hidden;
  color:var(--white);
  font-family:"DM Sans",sans-serif;
  background:
    radial-gradient(circle at 7% 18%,#24c9ff 0 1px,transparent 2px),
    radial-gradient(circle at 88% 14%,#ffe480 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 73% 72%,#45d6ff 0 1px,transparent 2px),
    radial-gradient(circle at 15% 80%,#fff 0 1px,transparent 2px),
    linear-gradient(145deg,#020718 0%,#071846 48%,#02091e 100%);
  background-size:190px 190px,260px 260px,320px 320px,240px 240px,auto;
}
.quest-home.rtl { font-family:"Noto Kufi Arabic",sans-serif; }
.quest-home::before { content:""; position:fixed; inset:0; pointer-events:none; background:radial-gradient(ellipse at 50% -10%,rgba(39,111,255,.34),transparent 48%),linear-gradient(90deg,rgba(4,16,52,.78),transparent 13%,transparent 87%,rgba(4,16,52,.78)); }
.sky-glow { position:fixed; width:480px; height:480px; border-radius:50%; top:-330px; left:calc(50% - 240px); background:#0d9cff; filter:blur(90px); opacity:.24; pointer-events:none; }

.quest-header {
  width:min(1480px,calc(100% - 32px));
  min-height:78px;
  margin:16px auto 12px;
  padding:12px 16px;
  display:grid;
  grid-template-columns:minmax(215px,1fr) auto minmax(390px,1fr);
  align-items:center;
  gap:18px;
  position:relative;
  z-index:10;
  border:1px solid rgba(91,204,255,.42);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(9,42,96,.93),rgba(4,21,61,.93));
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 10px 35px rgba(0,0,0,.32),0 0 28px rgba(34,163,255,.12);
  backdrop-filter:blur(16px);
}
.quest-brand { display:flex; align-items:center; color:#d9f8ff; text-decoration:none; }
.quest-brand img { display:block; width:104px; height:104px; object-fit:contain; border:0; border-radius:0; filter:drop-shadow(0 0 10px rgba(53,215,255,.38)) drop-shadow(0 6px 9px rgba(0,0,0,.36)); }
.quest-title-lockup { display:flex; align-items:center; gap:14px; text-align:center; }
.quest-title-lockup h1 { margin:0; color:var(--orange-light); font:800 clamp(23px,2.2vw,34px)/1 "Baloo 2",sans-serif; letter-spacing:.025em; text-transform:uppercase; text-shadow:0 2px 0 #9b4b16,0 0 12px rgba(255,183,42,.85); }
.title-star { color:var(--cyan); filter:drop-shadow(0 0 7px var(--cyan)); animation:twinkle 2.8s ease-in-out infinite; }
.hud-actions { display:flex; justify-content:flex-end; align-items:center; gap:8px; }
.hud-pill,.round-hud,.language-hud { min-height:42px; border:1px solid #398fdf; color:white; text-decoration:none; background:linear-gradient(180deg,#174e9c,#102b68); border-radius:22px; box-shadow:0 0 8px rgba(51,195,255,.45) inset,0 0 9px rgba(41,150,255,.28); }
.hud-pill { padding:6px 11px; display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:13px; }
.hud-pill small { color:#bdd9f4; font-size:9px; text-transform:uppercase; }
.hud-icon { width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:#1baee1; border:2px solid #76edff; box-shadow:0 0 8px #2bd5ff; color:#d8fbff; }
.hud-icon.gem { color:#ff8fff; background:#8a25d0; border-color:#f2a3ff; }
.hud-icon.crown { color:#ffe16e; background:#a75c14; border-color:#ffd358; }
.hud-icon.age-icon { color:#dffcff; background:#145fb3; border-color:#65e8ff; font-size:8px; }
.round-hud,.language-hud { padding:0 12px; }
.round-hud { width:42px; padding:0; }
.language-hud { font-size:12px; font-weight:800; }
.hud-pill:hover,.round-hud:hover,.language-hud:hover { transform:translateY(-2px); filter:brightness(1.15); }

.home-page-nav {
  width:min(1480px,calc(100% - 32px));
  min-height:54px;
  margin:0 auto 12px;
  padding:6px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
  position:relative;
  z-index:9;
  border:1px solid rgba(91,204,255,.42);
  border-radius:17px;
  background:linear-gradient(180deg,rgba(8,42,94,.94),rgba(4,21,61,.94));
  box-shadow:0 8px 25px rgba(0,0,0,.25),0 0 20px rgba(34,163,255,.1);
}
.home-page-nav a {
  min-width:0;
  min-height:40px;
  padding:7px 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid rgba(56,143,223,.72);
  border-radius:12px;
  color:#d9f4ff;
  background:linear-gradient(180deg,#15498e,#0d2d69);
  text-decoration:none;
  box-shadow:0 0 8px rgba(51,195,255,.22) inset;
  transition:.18s transform,.18s border-color,.18s color,.18s filter;
}
.home-page-nav a:hover,.home-page-nav a:focus-visible {
  color:#fff3a9;
  border-color:#ffd65a;
  filter:brightness(1.12);
  transform:translateY(-2px);
  outline:0;
}
.home-page-nav span { display:grid; place-items:center; width:24px; height:24px; flex:0 0 24px; border-radius:8px; color:#082354; background:linear-gradient(145deg,#ffe77b,#ff9b22); font-weight:900; }
.home-page-nav b { min-width:0; overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }

.quest-shell { width:min(1480px,calc(100% - 32px)); margin:0 auto 28px; display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:14px; position:relative; z-index:2; }
.world-panel,.neon-card,.quick-nav { border:1px solid rgba(64,205,255,.5); background:linear-gradient(160deg,rgba(8,50,109,.96),rgba(4,23,66,.96)); box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 18px 55px rgba(0,0,0,.32),0 0 18px rgba(20,150,255,.14); }
.world-panel { min-width:0; padding:14px; border-radius:24px; }
.world-heading { min-height:70px; padding:2px 7px 12px; display:flex; justify-content:space-between; align-items:end; gap:18px; }
.quest-kicker { margin:0 0 4px; color:var(--cyan-bright); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.quest-kicker span:first-child { color:var(--gold); }
.world-heading h2 { margin:0; font:800 clamp(23px,2.3vw,36px)/1 "Baloo 2",sans-serif; color:#bcfbff; text-shadow:0 0 12px rgba(30,228,255,.42); }
.world-heading>p { max-width:270px; margin:0; color:var(--muted); font-size:12px; text-align:right; }
.rtl .world-heading>p { text-align:left; }

.world-stage { min-height:clamp(560px,70vh,760px); position:relative; overflow:hidden; isolation:isolate; border-radius:18px; border:1px solid #3a8dd7; background:#061a45 url("assets/quest-city-v1.png") center/cover no-repeat; box-shadow:0 0 22px rgba(20,174,255,.42) inset; }
.world-stage::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(1,9,35,.16) 0%,transparent 35%,rgba(2,10,35,.05) 70%,rgba(2,10,35,.9) 100%); }
.world-stage::after { content:""; position:absolute; inset:0; pointer-events:none; z-index:7; box-shadow:0 0 65px #020a25 inset; }
.world-vignette { position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 15% 73%,rgba(255,206,56,.12),transparent 11%),radial-gradient(circle at 28% 59%,rgba(255,206,56,.1),transparent 10%),radial-gradient(circle at 41% 43%,rgba(61,220,255,.09),transparent 10%),radial-gradient(circle at 55% 31%,rgba(61,220,255,.09),transparent 10%),radial-gradient(circle at 66% 51%,rgba(255,206,56,.1),transparent 10%),radial-gradient(circle at 80% 69%,rgba(61,220,255,.09),transparent 10%),radial-gradient(circle at 87% 27%,rgba(255,206,56,.11),transparent 10%); mix-blend-mode:screen; }
.marker-layer { position:absolute; inset:0; z-index:5; }
.quest-route { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
.quest-route polyline { fill:none; vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-linejoin:round; }
.route-shadow { stroke:rgba(73,210,255,.42); stroke-width:4; stroke-dasharray:3 8; filter:drop-shadow(0 0 4px rgba(43,194,255,.7)); }
.route-light { stroke:#ffc53d; stroke-width:3; filter:drop-shadow(0 0 5px #ffb62d); transition:stroke-dasharray .55s ease; }
.map-marker { position:absolute; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; gap:4px; width:112px; padding:0; border:0; background:transparent; color:white; text-align:center; filter:drop-shadow(0 4px 8px rgba(0,0,0,.65)); }
.map-marker:hover { z-index:8; transform:translate(-50%,-54%) scale(1.06); }
.marker-pin { width:50px; height:50px; display:grid; place-items:center; position:relative; border:3px solid #8ceeff; border-radius:50% 50% 50% 15%; transform:rotate(-45deg); background:linear-gradient(145deg,#1a9cff,#0c347b); box-shadow:0 0 0 4px rgba(10,49,112,.75),0 0 20px #22c8ff; }
.marker-pin span { transform:rotate(45deg); font-size:24px; }
.marker-label { padding:4px 7px; border-radius:8px; background:rgba(2,14,47,.82); border:1px solid rgba(88,214,255,.34); font:800 11px/1.08 "Baloo 2",sans-serif; text-shadow:0 2px 3px #000; }
.marker-status { color:#a9e9ff; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.map-marker.current .marker-pin { border-color:#fff4a0; background:linear-gradient(145deg,#ffbd32,#e56b13); box-shadow:0 0 0 5px rgba(80,41,6,.6),0 0 26px #ffd33e; animation:markerPulse 1.8s ease-in-out infinite; }
.map-marker.complete .marker-pin { border-color:#baffbf; background:linear-gradient(145deg,#52d36f,#17723c); box-shadow:0 0 0 4px rgba(10,68,46,.65),0 0 19px #54ec82; }
.map-marker.locked { filter:grayscale(.65) drop-shadow(0 3px 7px rgba(0,0,0,.65)); opacity:.7; }
.map-marker.locked .marker-pin { border-color:#b0b9cc; background:linear-gradient(145deg,#55627d,#242f4e); box-shadow:0 0 0 4px rgba(5,14,38,.7); }

.robot-launcher { position:absolute; z-index:6; left:44%; bottom:75px; width:170px; height:215px; padding:0; border:0; background:transparent; color:white; }
.robot-launcher img { width:112px; height:140px; object-fit:contain; position:absolute; left:0; bottom:0; z-index:2; filter:drop-shadow(0 0 13px #32ddff); animation:robotFloat 3.1s ease-in-out infinite; }
.robot-ring { position:absolute; z-index:1; left:18px; bottom:0; width:80px; height:18px; border:2px solid #64ecff; border-radius:50%; box-shadow:0 0 16px #21d7ff,0 0 26px #158cff inset; animation:ringPulse 2s ease-in-out infinite; }
.robot-speech { position:absolute; z-index:3; left:78px; top:8px; width:150px; padding:9px 11px; text-align:left; border:2px solid #4de4ff; border-radius:13px 13px 13px 3px; background:linear-gradient(145deg,rgba(9,76,147,.96),rgba(5,34,93,.96)); box-shadow:0 0 13px rgba(48,218,255,.55); }
.robot-speech strong { display:block; color:#c7fbff; font:800 17px/1 "Baloo 2",sans-serif; }
.robot-speech small { display:block; margin-top:3px; color:#d9efff; font-size:9px; line-height:1.3; }
.robot-launcher:hover img { filter:drop-shadow(0 0 21px #75f0ff); }

.map-legend { position:absolute; z-index:6; right:12px; bottom:84px; display:grid; gap:5px; padding:8px 10px; border:1px solid rgba(87,203,255,.42); border-radius:10px; background:rgba(3,18,54,.78); backdrop-filter:blur(8px); }
.map-legend span { display:flex; align-items:center; gap:6px; font-size:9px; color:#cbe8ff; }
.legend-dot { width:9px; height:9px; border:2px solid white; border-radius:50%; }
.legend-dot.current { background:#ff9a20; box-shadow:0 0 6px #ffbd3d; }
.legend-dot.complete { background:#44dc74; box-shadow:0 0 6px #44dc74; }
.legend-dot.locked { background:#738199; }
.world-bottom-bar { position:absolute; z-index:8; left:14px; right:14px; bottom:13px; min-height:58px; display:flex; align-items:center; gap:16px; padding:9px 12px; border:1px solid rgba(76,195,255,.43); border-radius:14px; background:linear-gradient(180deg,rgba(4,30,83,.94),rgba(2,17,53,.96)); box-shadow:0 0 16px rgba(26,153,255,.22) inset; backdrop-filter:blur(12px); }

.glow-button { min-height:39px; display:inline-flex; justify-content:center; align-items:center; gap:9px; border:1px solid transparent; border-radius:22px; padding:8px 18px; color:#fff; text-decoration:none; font-weight:800; font-size:13px; text-shadow:0 1px 2px rgba(0,0,0,.5); transition:transform .16s ease,filter .16s ease,box-shadow .16s ease; }
.glow-button:hover { transform:translateY(-2px) scale(1.015); filter:brightness(1.12); }
.glow-button:active { transform:translateY(1px); }
.primary-glow,.orange-glow { background:linear-gradient(180deg,#ffe46d 0%,#ff9b20 48%,#ee6716 100%); border-color:#fff2a2; box-shadow:0 3px 0 #8f3211,0 0 13px rgba(255,174,35,.9),0 0 8px rgba(255,255,255,.5) inset; }
.blue-glow { background:linear-gradient(180deg,#54e6ff 0%,#118dde 50%,#075bb5 100%); border-color:#8ff4ff; box-shadow:0 3px 0 #043b85,0 0 13px rgba(36,206,255,.85),0 0 8px rgba(255,255,255,.45) inset; }
.journey-progress { flex:1; min-width:130px; }
.progress-copy { display:flex; justify-content:space-between; margin-bottom:5px; color:#c9e7fa; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.progress-copy strong { color:var(--gold); font-size:13px; }
.progress-track { height:13px; overflow:hidden; border:2px solid #3b76bb; border-radius:10px; background:#071b4a; box-shadow:0 2px 5px rgba(0,0,0,.55) inset; }
.progress-track i { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#ff8b1b,#ffd44c); box-shadow:0 0 10px #ffbc27; transition:width .55s ease; }

.quest-rail { display:grid; align-content:start; gap:12px; }
.neon-card { position:relative; overflow:hidden; border-radius:20px; padding:14px; }
.neon-card::before { content:""; position:absolute; height:2px; left:18px; right:18px; top:0; background:linear-gradient(90deg,transparent,#80efff,transparent); box-shadow:0 0 11px #40ddff; }
.card-title { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#82ecff; font:800 15px/1 "Baloo 2",sans-serif; }
.card-title a { color:#98eaff; font:700 9px "DM Sans",sans-serif; }
.info-button { width:23px; height:23px; border-radius:50%; color:#bdf8ff; background:#1768b8; border:1px solid #6ce6ff; font-weight:800; }
.quest-artifact { display:flex; justify-content:center; align-items:center; gap:4px; height:54px; margin:5px 0 0; font-size:37px; filter:drop-shadow(0 0 8px rgba(255,187,54,.7)); }
.quest-artifact i { font-style:normal; font-size:32px; }
.location-label { margin:0 0 2px; color:#7deaff; font-size:9px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.neon-card h2 { margin:0; color:white; font:800 20px/1.05 "Baloo 2",sans-serif; }
.age-mode { display:inline-block; margin-top:6px; padding:4px 7px; border:1px solid rgba(104,225,255,.38); border-radius:11px; color:#9eefff; background:rgba(15,112,180,.24); font-size:8px; font-weight:800; letter-spacing:.03em; }
.neon-card>p:not(.location-label) { margin:5px 0 11px; color:#c5def2; font-size:11px; line-height:1.42; }
.neon-card .glow-button { width:100%; }
.quick-card h2 { margin-top:12px; }
.quick-card small { display:block; margin-top:10px; color:#aacbe7; text-align:center; font-size:9px; }
.badges-card { padding-bottom:13px; }
.mini-badges { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:13px 0; }
.mini-badge { min-width:0; text-align:center; }
.mini-badge span { width:50px; height:50px; margin:0 auto 5px; display:grid; place-items:center; border:2px solid #ffda5f; border-radius:15px; background:linear-gradient(145deg,#2fd0f4,#1262be); box-shadow:0 0 10px rgba(51,218,255,.7),0 0 5px rgba(255,213,77,.7) inset; font-size:23px; }
.mini-badge b { display:block; color:#dff7ff; font-size:8px; line-height:1.15; }
.mini-badge.locked { opacity:.36; filter:grayscale(1); }
.quick-nav { display:grid; grid-template-columns:repeat(4,1fr); border-radius:16px; overflow:hidden; }
.quick-nav a { min-width:0; padding:10px 4px; color:#cfeeff; text-align:center; text-decoration:none; border-right:1px solid rgba(74,187,242,.3); }
.rtl .quick-nav a { border-right:0; border-left:1px solid rgba(74,187,242,.3); }
.quick-nav a:last-child { border:0; }
.quick-nav span { display:block; margin-bottom:3px; }
.quick-nav b { display:block; font-size:8px; }

dialog { color:white; }
dialog::backdrop { background:rgba(1,7,25,.76); backdrop-filter:blur(9px); }
.quest-dialog,.noor-dialog { width:min(620px,calc(100% - 28px)); max-height:90svh; overflow:auto; padding:28px; border:1px solid #55d9ff; border-radius:24px; background:linear-gradient(155deg,#0b397b 0%,#061841 72%); box-shadow:0 0 0 2px rgba(32,139,245,.3),0 0 45px rgba(32,186,255,.45),0 26px 80px rgba(0,0,0,.7); }
.dialog-close { position:absolute; top:13px; right:13px; width:34px; height:34px; border:1px solid #64dff5; border-radius:50%; color:white; background:#0d559f; font-size:22px; line-height:1; }
.rtl .dialog-close { right:auto; left:13px; }
.dialog-kicker,.story-place { margin:0; color:#65e7ff; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.quest-dialog>h2,.noor-dialog h2 { margin:6px 0; color:#fff4b2; font:800 clamp(28px,5vw,42px)/1 "Baloo 2",sans-serif; text-shadow:0 0 10px rgba(255,188,50,.42); }
.story-copy { color:#d8ebf8; font-size:14px; line-height:1.65; }
.fact-scroll { display:flex; align-items:flex-start; gap:10px; margin:18px 0; padding:13px; border:1px solid rgba(255,208,73,.55); border-radius:13px; background:rgba(255,175,35,.13); }
.fact-scroll span { color:#ffdb59; }
.fact-scroll p { margin:0; color:#ffeab0; font-size:12px; line-height:1.5; }
.story-challenge { padding-top:16px; border-top:1px solid rgba(74,205,255,.35); }
.story-challenge h3 { margin:5px 0 13px; font:700 20px/1.2 "Baloo 2",sans-serif; }
.challenge-answers { display:grid; gap:8px; }
.answer-button { padding:11px 13px; text-align:left; border:1px solid #4dbce5; border-radius:12px; color:white; background:#0c438c; font-weight:700; }
.rtl .answer-button { text-align:right; }
.answer-button:hover:not(:disabled) { background:#1468bd; transform:translateX(3px); }
.answer-button.correct { color:#062b29; background:#72efa1; border-color:#baffc6; }
.answer-button.wrong { background:#b23b50; border-color:#ff9b9b; }
.challenge-feedback { min-height:24px; margin:11px 0 0; color:#ffdf6d; font-weight:800; font-size:13px; }

.noor-dialog { width:min(720px,calc(100% - 28px)); }
.noor-dialog-head { display:flex; align-items:center; gap:12px; padding-right:30px; }
.rtl .noor-dialog-head { padding-right:0; padding-left:30px; }
.noor-dialog-head img { width:105px; height:118px; object-fit:contain; filter:drop-shadow(0 0 15px #38e7ff); }
.noor-dialog-head p { margin-bottom:0; color:#c8e4f5; font-size:11px; }
.noor-messages { display:flex; flex-direction:column; gap:8px; min-height:88px; max-height:260px; overflow:auto; margin:12px 0; padding:12px; border:1px solid rgba(76,203,255,.32); border-radius:14px; background:rgba(1,13,43,.56); }
.noor-message,.user-message { max-width:88%; display:flex; gap:8px; padding:10px 12px; border-radius:13px; color:#dff5ff; background:#0b4e98; font-size:12px; line-height:1.52; }
.user-message { align-self:flex-end; background:#f4b12e; color:#112c50; }
.noor-message p,.user-message p { margin:0; white-space:pre-wrap; }
.noor-message>span { color:#ffdd64; }
.quick-prompts { display:flex; gap:7px; flex-wrap:wrap; margin-bottom:10px; }
.quick-prompt { padding:7px 10px; border:1px solid #46b8e8; border-radius:18px; color:#d7f6ff; background:rgba(7,66,133,.76); font-size:10px; }
.noor-form { display:flex; gap:8px; }
.noor-form input { min-width:0; flex:1; padding:12px 14px; border:1px solid #4bbce7; border-radius:13px; outline:none; color:white; background:#041d50; }
.noor-form input:focus { border-color:#9bf5ff; box-shadow:0 0 0 3px rgba(68,215,255,.16); }
.noor-form .glow-button { flex:0 0 auto; }
.safety-note { margin:8px 0 0; color:#8fb9d8; font-size:9px; text-align:center; }

.celebration { pointer-events:none; position:fixed; inset:0; z-index:90; overflow:hidden; }
.confetti { position:absolute; animation:confetti 1.15s ease-out forwards; font-size:24px; }
.profile-modal { position:fixed; z-index:100; inset:0; display:grid; place-items:center; padding:20px; background:rgba(1,7,25,.78); backdrop-filter:blur(9px); }
.profile-card { width:min(520px,100%); max-height:92svh; overflow:auto; position:relative; padding:30px; text-align:center; color:white; border:1px solid #52dfff; border-radius:24px; background:linear-gradient(155deg,#0b397b,#061841); box-shadow:0 0 40px rgba(45,204,255,.35),0 30px 80px rgba(0,0,0,.55); }
.profile-star { width:56px; height:56px; margin:0 auto 14px; display:grid; place-items:center; border:2px solid #ffe679; border-radius:18px; color:#fff5aa; background:#ef971d; box-shadow:0 0 15px #ffb62d; font-size:28px; }
.profile-card .eyebrow { margin:0; color:#7deaff; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.profile-card h2 { margin:6px 0 9px; color:#fff2a7; font:800 34px/1 "Baloo 2",sans-serif; }
.profile-card p { color:#c9e1f2; font-size:12px; line-height:1.55; }
.profile-card form { display:grid; gap:10px; }
.profile-card input { width:100%; padding:12px 14px; border:1px solid #55ccea; border-radius:12px; color:white; background:#041b4a; }
.profile-card .button { padding:12px 16px; border:1px solid #fff1a1; border-radius:22px; color:white; background:linear-gradient(#ffd95b,#ed7717); font-weight:800; }
.profile-close { position:absolute; top:13px; right:13px; width:34px; height:34px; border:1px solid #64dff5; border-radius:50%; color:white; background:#0d559f; font-size:22px; }
.rtl .profile-close { right:auto; left:13px; }
.profile-field-label,.age-fieldset legend { color:#c9efff; text-align:left; font-size:11px; font-weight:800; }
.rtl .profile-field-label,.rtl .age-fieldset legend { text-align:right; }
.age-fieldset { margin:3px 0 0; padding:0; border:0; }
.age-choice-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:8px; }
.age-choice { padding:11px 6px; border:1px solid #3f8ecd; border-radius:13px; color:#cceaff; background:#07285e; }
.age-choice strong,.age-choice small { display:block; }
.age-choice strong { color:white; font:800 20px/1 "Baloo 2",sans-serif; }
.age-choice small { margin-top:4px; font-size:8px; }
.age-choice:hover,.age-choice.selected { border-color:#fff09a; color:#fff3b6; background:linear-gradient(180deg,#1b74b9,#0c4a95); box-shadow:0 0 0 2px rgba(255,210,73,.18),0 0 13px rgba(46,216,255,.35); }
.age-choice.selected strong { color:#ffe87a; }
.profile-error { min-height:17px; margin:0!important; color:#ffd264!important; font-weight:800; }
.skip-profile { margin-top:13px; border:0; color:#a8d4eb; background:transparent; text-decoration:underline; }

@keyframes markerPulse { 50% { box-shadow:0 0 0 9px rgba(255,199,35,.12),0 0 34px #ffd33e; } }
@keyframes robotFloat { 50% { transform:translateY(-9px) rotate(1deg); } }
@keyframes ringPulse { 50% { transform:scale(1.18); opacity:.55; } }
@keyframes twinkle { 50% { transform:scale(1.35) rotate(20deg); opacity:.55; } }
@keyframes confetti { to { transform:translate(var(--x),var(--y)) rotate(540deg); opacity:0; } }

@media (max-width:1360px) {
  .quest-header { grid-template-columns:auto 1fr; }
  .quest-title-lockup { grid-column:1/-1; grid-row:1; justify-content:center; }
  .quest-brand { grid-row:2; }
  .hud-actions { grid-row:2; }
}
@media (max-width:1180px) {
  .quest-shell { grid-template-columns:1fr; }
  .quest-rail { grid-template-columns:repeat(3,1fr); }
  .quick-nav { grid-column:1/-1; }
}
@media (max-width:760px) {
  .quest-header,.quest-shell { width:min(100% - 18px,1480px); }
  .home-page-nav { width:calc(100% - 18px); grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-page-nav a:last-child { grid-column:1/-1; }
  .quest-header { grid-template-columns:1fr; gap:9px; padding:10px; }
  .quest-brand { display:flex; grid-row:1; justify-self:center; }
  .quest-brand img { width:88px; height:88px; border-radius:15px; }
  .quest-title-lockup { position:static; grid-column:1; grid-row:2; }
  .quest-title-lockup h1 { font-size:21px; }
  .hud-actions { grid-row:3; justify-content:center; flex-wrap:wrap; }
  .profile-hud { max-width:120px; }
  .world-panel { padding:8px; }
  .world-heading { align-items:start; }
  .world-heading>p { display:none; }
  .world-stage { min-height:630px; background-position:48% center; }
  .map-marker { width:75px; }
  .marker-pin { width:38px; height:38px; border-width:2px; }
  .marker-pin span { font-size:15px; }
  .marker-label { max-width:75px; font-size:8px; }
  .marker-status { display:none; }
  .robot-launcher { left:31%; bottom:91px; transform:scale(.85); transform-origin:bottom left; }
  .map-legend { right:7px; bottom:91px; }
  .world-bottom-bar { flex-direction:column; align-items:stretch; }
  .world-bottom-bar .glow-button { width:100%; }
  .journey-progress { width:100%; }
  .quest-rail { grid-template-columns:1fr; }
  .quick-nav { grid-column:auto; }
  .noor-form { flex-direction:column; }
  .noor-dialog-head img { width:76px; height:88px; }
  .age-choice-grid { grid-template-columns:1fr; }
  .age-choice { display:flex; align-items:center; justify-content:space-between; padding:9px 13px; }
  .age-choice small { margin:0; }
}
@media (max-width:390px) {
  .home-page-nav { gap:5px; padding:5px; }
  .home-page-nav a { padding-inline:7px; gap:6px; }
  .home-page-nav b { font-size:10px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
