@font-face{font-family:'NotoEgypt';src:url('/fonts/NotoSansEgyptianHieroglyphs.woff2') format('woff2');font-display:swap;}
/* touch-action:none keeps every finger gesture for the room (no browser pan, pinch-zoom or double-tap zoom) */
#zroom{position:fixed;inset:0;z-index:2147483000;background:#05060f;overflow:hidden;font-family:Georgia,'Times New Roman',serif;color:#f4ecd8;touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;}
body.zroom-active{overflow:hidden;}
#zroom-gl{position:absolute;inset:0;display:block;pointer-events:none;}
#zroom-css{position:absolute;inset:0;pointer-events:none;}
#zroom-css *{box-sizing:border-box;}
#zroom-reticle{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;border:1px solid rgba(230,210,150,.55);pointer-events:none;opacity:.5;}
#zroom-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:5;display:flex;gap:14px;align-items:center;background:rgba(12,14,28,.7);border:1px solid rgba(200,170,110,.35);border-radius:999px;padding:10px 18px;backdrop-filter:blur(6px);font-size:14px;max-width:94vw;}
#zroom-hint strong{color:#f0d98a;white-space:nowrap;}
#zroom-hint span{color:#c8cee0;font-size:12px;}
#zroom-hint kbd{background:#26305a;border-radius:4px;padding:1px 5px;margin:0 1px;font-size:11px;}
#zroom-exit{background:#3a2f6e;color:#f4ecd8;border:1px solid rgba(200,170,110,.5);border-radius:999px;padding:6px 14px;cursor:pointer;font-family:inherit;white-space:nowrap;flex:0 0 auto;}
#zroom-exit:hover{background:#4a3f86;}
/* the ? button that reveals the controls/help — gold, glowing and gently blinking */
#zroom-help{width:30px;height:30px;flex:0 0 auto;padding:0;border-radius:50%;cursor:pointer;font-family:inherit;font-weight:900;font-size:16px;line-height:1;color:#1a1206;background:radial-gradient(circle at 38% 32%,#ffe89a,#caa14a 70%,#9a742a);border:1px solid #ffe089;box-shadow:0 0 10px rgba(255,216,112,.7),inset 0 1px 2px rgba(255,255,255,.5);animation:zHelpBlink 1.6s ease-in-out infinite;}
#zroom-help:hover{filter:brightness(1.12);}
#zroom-help[aria-expanded="true"]{box-shadow:0 0 16px rgba(255,224,140,.95),inset 0 1px 2px rgba(255,255,255,.5);animation:none;}
@keyframes zHelpBlink{0%,100%{box-shadow:0 0 7px rgba(255,206,90,.5),inset 0 1px 2px rgba(255,255,255,.5);}50%{box-shadow:0 0 20px rgba(255,224,140,1),0 0 34px rgba(255,180,60,.6),inset 0 1px 2px rgba(255,255,255,.6);}}
/* the help popover, opening upward from the ? button */
#zroom-help-pop{position:absolute;left:12px;right:12px;bottom:calc(100% + 10px);z-index:6;background:rgba(12,14,28,.92);border:1px solid rgba(200,170,110,.45);border-radius:14px;padding:12px 16px;backdrop-filter:blur(8px);box-shadow:0 10px 34px rgba(0,0,0,.5);max-width:640px;margin:0 auto;}
#zroom-help-pop span{display:block;color:#c8cee0;font-size:13px;line-height:1.6;}
#zroom-tour{display:block;margin:0 auto 10px;padding:8px 18px;border-radius:999px;cursor:pointer;font-family:inherit;font-weight:800;font-size:14px;color:#1a1430;background:linear-gradient(180deg,#caa14a,#8a6a24);border:1px solid #e0b85e;box-shadow:0 0 14px rgba(255,216,112,.4);}
#zroom-tour:hover{filter:brightness(1.1);}
#zroom-help-pop span + span{margin-top:6px;}
#zroom-credits{font-size:11px;color:#8d93a8;margin-top:8px;border-top:1px solid rgba(200,170,110,.18);padding-top:6px;}
#zroom-credits a{color:#c8a85e;}
@media (prefers-reduced-motion: reduce){#zroom-help{animation:none;}}
#zroom-audio{background:rgba(40,34,86,.7);border:1px solid rgba(200,170,110,.45);border-radius:50%;width:34px;height:34px;padding:0;font-size:16px;line-height:1;cursor:pointer;color:#f4ecd8;flex:0 0 auto;}
#zroom-audio:hover{background:rgba(74,63,134,.85);border-color:#f0d98a;}
#zroom-audio[aria-pressed="true"]{opacity:.6;}
#zroom-vol{-webkit-appearance:none;appearance:none;width:96px;height:5px;border-radius:999px;background:linear-gradient(90deg,#caa14a,#3a2f6e);outline:none;cursor:pointer;flex:0 0 auto;}
#zroom-vol::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 38% 34%,#ffe089,#a9812f);border:1px solid rgba(255,240,190,.7);box-shadow:0 0 8px rgba(255,210,110,.6);cursor:pointer;}
#zroom-vol::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 38% 34%,#ffe089,#a9812f);border:1px solid rgba(255,240,190,.7);box-shadow:0 0 8px rgba(255,210,110,.6);cursor:pointer;}
@media (pointer:coarse){#zroom-vol{width:120px;height:8px;}}
#zroom-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#c8b06a;font-size:20px;letter-spacing:.05em;z-index:10;background:radial-gradient(ellipse at center,#12142a 0%,#080a16 70%,#05060f 100%);}
/* Loading indicator. The ring and bar animate transform/opacity only, so they run on the compositor thread
   and keep moving smoothly even while the main thread is busy building the room — so the screen never looks
   frozen and shows real progress. */
#zroom-loading.zldr{flex-direction:column;gap:20px;}
.zldr-glass{font-size:40px;line-height:1;animation:zldrglass 2.4s ease-in-out infinite;will-change:transform;filter:drop-shadow(0 0 10px rgba(240,217,138,.35));}
.zldr-step{color:#bfae86;font-size:13px;letter-spacing:.03em;opacity:.85;min-height:1.2em;text-align:center;max-width:80vw;font-variant-numeric:tabular-nums;}
.zldr-pct{color:#d9c88a;font-size:13px;letter-spacing:.06em;min-height:1em;font-variant-numeric:tabular-nums;}
.zldr-fill.zldr-real{animation:none;transition:transform .35s ease-out;}
@keyframes zldrglass{0%,40%{transform:rotate(0deg);}50%,90%{transform:rotate(180deg);}100%{transform:rotate(360deg);}}
.zldr-ring{width:46px;height:46px;border-radius:50%;border:3px solid rgba(206,176,104,.22);border-top-color:#f0d98a;animation:zldrspin .9s linear infinite;will-change:transform;}
.zldr-txt{color:#d9c88a;}
.zldr-bar{width:min(260px,62vw);height:4px;border-radius:999px;background:rgba(206,176,104,.16);overflow:hidden;}
.zldr-fill{height:100%;width:100%;border-radius:999px;background:linear-gradient(90deg,#a9812f,#f0d98a);transform-origin:left center;transform:scaleX(.04);animation:zldrfill 4s cubic-bezier(.15,.72,.2,1) forwards;will-change:transform;}
.zldr-fill.zldr-done{animation:none;transform:scaleX(1);transition:transform .3s ease;}
@keyframes zldrspin{to{transform:rotate(360deg);}}
@keyframes zldrfill{0%{transform:scaleX(.04);}55%{transform:scaleX(.62);}100%{transform:scaleX(.9);}}
@media (prefers-reduced-motion:reduce){.zldr-ring{animation-duration:2s;}.zldr-glass{animation:none;}.zldr-fill{animation:none;transform:scaleX(.6);}}
/* "Glow" (bloom) toggle — bottom-right, desktop only. Off by default; the pulsing ? opens a one-line explainer. */
#zroom-bloomctl{position:absolute;right:16px;bottom:78px;z-index:8;display:flex;align-items:center;gap:9px;background:rgba(20,18,40,.6);border:1px solid rgba(206,176,104,.38);border-radius:999px;padding:6px 11px;font:13px Georgia,serif;color:#e9dcae;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
#zroom-bloom-lbl{display:flex;align-items:center;gap:7px;cursor:pointer;user-select:none;letter-spacing:.03em;}
#zroom-bloom-cb{accent-color:#caa14a;width:15px;height:15px;cursor:pointer;margin:0;}
#zroom-bloom-q{width:21px;height:21px;border-radius:50%;border:1px solid rgba(255,240,190,.7);background:radial-gradient(circle at 38% 34%,#ffe089,#a9812f);color:#2a1a06;font:bold 12px Georgia,serif;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;animation:zbloomq 1.8s ease-in-out infinite;}
#zroom-bloom-tip{position:absolute;right:0;bottom:46px;width:min(300px,72vw);background:rgba(14,14,28,.96);border:1px solid rgba(206,176,104,.42);border-radius:10px;padding:12px 14px;font:13px/1.5 Georgia,serif;color:#e6dcc4;box-shadow:0 8px 30px rgba(0,0,0,.55);}
@keyframes zbloomq{0%,100%{box-shadow:0 0 0 0 rgba(255,210,110,.55);transform:scale(1);}50%{box-shadow:0 0 11px 3px rgba(255,210,110,.5);transform:scale(1.12);}}
@media (prefers-reduced-motion:reduce){#zroom-bloom-q{animation:none;}}
/* virtual joysticks — touch devices only. Left walks, right looks (up/down/left/right). They sit above
   the bottom bar in the two corners so nothing overlaps. */
#zroom-stick,#zroom-look{display:none;position:absolute;bottom:calc(74px + env(safe-area-inset-bottom,0px));width:min(118px,28vw,28vh);height:min(118px,28vw,28vh);border-radius:50%;background:radial-gradient(circle,rgba(30,26,60,.5),rgba(12,14,28,.35));border:1px solid rgba(206,176,104,.4);z-index:6;touch-action:none;}
#zroom-stick{left:calc(22px + env(safe-area-inset-left,0px));}
#zroom-look{right:calc(22px + env(safe-area-inset-right,0px));}
#zroom-stick__knob,#zroom-look__knob{position:absolute;left:50%;top:50%;width:46%;height:46%;margin:-23% 0 0 -23%;border-radius:50%;background:radial-gradient(circle at 38% 34%,rgba(240,216,138,.95),rgba(120,95,40,.9));border:1px solid rgba(255,240,190,.6);box-shadow:0 0 16px rgba(255,210,110,.5);}
#zroom-help-pop .zroom-hint--touch{display:none;}
@media (pointer:coarse){
  #zroom-stick,#zroom-look{display:block;}
  #zroom-help-pop .zroom-hint--desktop{display:none;} #zroom-help-pop .zroom-hint--touch{display:block;}
  /* the bottom panel spans the width, stays compact, and always fits — the volume slider flexes to fill
     whatever space is left after the fixed-size buttons, so it never pushes anything off-screen. */
  #zroom-hint{left:calc(8px + env(safe-area-inset-left,0px));right:calc(8px + env(safe-area-inset-right,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));transform:none;width:auto;max-width:none;gap:8px;padding:7px 10px;justify-content:center;flex-wrap:nowrap;}
  #zroom-hint strong{display:none;}
  #zroom-vol{flex:1 1 auto;min-width:0;width:auto;height:8px;}
  #zroom-exit{padding:6px 10px;}
  #zroom-help-pop{left:0;right:0;max-width:none;}
  /* finger-sized targets inside the 3D windows and menus (44px-class), so a tap lands where it was aimed */
  .zr-x,.zr-back{min-width:44px;min-height:40px;font-size:18px;padding:6px 12px;}
  .zr-panel__head,.zr-win__bar{padding:8px 10px 8px 14px;}
  .zr-item{padding:14px 14px;min-height:50px;}
  .zr-badge{width:34px;height:34px;font-size:15px;}
  .zr-orb__mute{width:40px;height:40px;}
  .zr-orb__vol{height:8px;}
  .zr-gate__btn{padding:11px 18px;}
  /* touch: a page screen is driven entirely by the room (tap bridged in, thumb scroll) — the iframe itself never
     takes the finger, so a tap or a scroll can't vanish into the page's own document */
  .zr-screen iframe{pointer-events:none;}
}
/* touch (incl. an iPad that reports a fine pointer): the page iframe never takes the finger — the room scrolls it */
html.zroom-touch .zr-screen iframe{pointer-events:none;}
/* CSS3D panels */
.zr-sign{width:340px;padding:18px 22px;text-align:center;border-radius:16px;background:radial-gradient(ellipse at center,rgba(46,40,86,.92),rgba(10,12,26,.94));border:1px solid rgba(206,176,104,.55);box-shadow:0 0 40px rgba(120,100,200,.35),inset 0 0 24px rgba(120,100,200,.2);cursor:pointer;user-select:none;}
.zr-sign h3{margin:0;font-size:30px;color:#f0e2c8;text-shadow:0 0 18px rgba(240,216,138,.5);}
.zr-sign small{color:#b8c0da;font-size:13px;}
.zr-sign:hover,.zr-sign.zr-hot{border-color:#f0d98a;box-shadow:0 0 60px rgba(200,170,220,.6),inset 0 0 30px rgba(140,120,220,.35);}
/* wall-mounted terminal look: a lit bezel with a small status light, hung off the wall bracket */
.zr-terminal{position:relative;border-width:2px;box-shadow:0 0 40px rgba(120,100,200,.4),inset 0 0 22px rgba(120,100,200,.22),0 12px 34px rgba(0,0,0,.55);}
.zr-terminal::before{content:"";position:absolute;left:14px;top:14px;width:7px;height:7px;border-radius:50%;background:#8effc0;box-shadow:0 0 9px #8effc0;}
.zr-panel{width:420px;max-height:520px;overflow:auto;border-radius:18px;background:linear-gradient(180deg,rgba(20,18,44,.96),rgba(8,9,20,.97));border:1px solid rgba(206,176,104,.5);box-shadow:0 0 60px rgba(90,70,180,.4);}
.zr-panel__head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid rgba(206,176,104,.25);position:sticky;top:0;background:rgba(16,14,36,.98);cursor:move;}
.zr-panel__head h3{margin:0;font-size:20px;color:#f0d98a;flex:1;}
.zr-panel__head .zr-grip{color:#c8b06a;font-size:15px;letter-spacing:-2px;opacity:.8;}
.zr-back,.zr-x{background:rgba(60,50,110,.7);border:1px solid rgba(206,176,104,.4);color:#f4ecd8;border-radius:8px;padding:4px 10px;cursor:pointer;font-family:inherit;font-size:14px;}
.zr-back:hover,.zr-x:hover{background:rgba(90,75,150,.8);}
.zr-item{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.05);font-size:17px;color:#eae3cf;}
.zr-item:hover,.zr-item.zr-hot{background:rgba(120,100,200,.28);color:#fff;}
.zr-item__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.zr-item .zr-caret{margin-left:2px;color:#c8b06a;}
.zr-back.zr-hot,.zr-x.zr-hot{background:rgba(90,75,150,.9);}
/* per-row badges — the ⓘ demo, ★ promo and 🎬 film buttons carried over from the 2D menu */
.zr-badges{display:flex;align-items:center;gap:6px;}
.zr-badge{width:27px;height:27px;flex:0 0 auto;border-radius:50%;border:1px solid rgba(206,176,104,.5);background:rgba(24,20,50,.92);color:#f0d98a;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;font-family:inherit;}
.zr-badge--promo{color:#ffd86a;}
.zr-badge--movie{color:#e2a6ff;}
.zr-badge--demo{color:#93d2ff;}
.zr-badge:hover,.zr-badge.zr-hot{background:#c8a86a;color:#1a1430;border-color:#f7e6a8;box-shadow:0 0 12px rgba(240,216,138,.65);}
/* floating video player (a demo/promo/film clip) */
.zr-video .zr-win__body{padding:0;background:#000;}
.zr-video video{width:100%;height:100%;object-fit:contain;display:block;background:#000;pointer-events:auto;cursor:pointer;}
/* Floating windows — live-page screens and info cards. A gold grab-frame surrounds the content;
   the frame is grabbed to move and the edges resize it (both via the ray-caster). On a page screen
   only the iframe takes pointer events, so dragging the frame never leaks a click into the page. */
.zr-win{position:relative;border-radius:16px;overflow:hidden;border:3px solid rgba(255,255,255,.92);box-shadow:0 0 0 1px rgba(206,176,104,.55),0 0 20px rgba(255,255,255,.25),0 0 90px rgba(90,70,180,.5),inset 0 0 0 1px rgba(206,176,104,.3);display:flex;flex-direction:column;pointer-events:none;cursor:move;}
.zr-screen{width:760px;height:540px;background:linear-gradient(180deg,rgba(30,26,60,.98),rgba(12,12,26,.98));}
.zr-info{width:500px;height:440px;background:linear-gradient(180deg,rgba(26,22,50,.98),rgba(12,11,24,.98));}
.zr-win__bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(180deg,rgba(28,24,58,.99),rgba(18,16,40,.99));border-bottom:1px solid rgba(206,176,104,.4);cursor:move;user-select:none;}
.zr-win__bar .zr-grip{color:#c8b06a;font-size:16px;letter-spacing:-2px;opacity:.85;}
.zr-win__bar h4{margin:0;font-size:15px;color:#f0d98a;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.zr-win__body{position:relative;flex:1;padding:16px;overflow:hidden;}
.zr-screen .zr-win__body::after{content:"";position:absolute;inset:8px;border:1px dashed rgba(206,176,104,.22);border-radius:12px;pointer-events:none;}
.zr-screen iframe{width:1px;min-width:100%;height:100%;border:0;border-radius:9px;background:#fff;display:block;pointer-events:auto;cursor:auto;}
html.zroom-touch .zr-screen iframe{pointer-events:none;cursor:auto;}   /* touch: the room drives the page, the iframe never takes the finger (overrides the base auto below its source order) */
.zr-info__body{display:flex;flex-direction:column;overflow:hidden;padding:14px 18px 18px;color:#eae3cf;line-height:1.55;}
.zr-info__body .zr-info__era{flex:0 0 auto;}
.zr-info__answer{overflow:auto;}
/* the standard "day pass or subscription" paywall, shown in place of an AI answer for non-members */
.zr-gate{pointer-events:auto;text-align:center;padding:8px 6px 4px;}
.zr-gate__lock{font-size:34px;margin-bottom:6px;}
.zr-gate__title{font-size:17px;font-weight:800;color:#f0e2c8;line-height:1.3;margin-bottom:8px;}
.zr-gate__lead{font-size:13px;color:#c8cee0;line-height:1.5;margin-bottom:14px;}
.zr-gate__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;pointer-events:auto;}
.zr-gate__btn{pointer-events:auto;display:inline-block;text-decoration:none;padding:9px 16px;border-radius:999px;font-weight:800;font-size:14px;cursor:pointer;background:rgba(96,80,170,.5);border:1px solid rgba(206,176,104,.5);color:#f4ecd8;}
.zr-gate__btn--gold{background:linear-gradient(180deg,#caa14a,#8a6a24);border-color:#e0b85e;color:#1a1430;}
.zr-gate__btn:hover{filter:brightness(1.12);}
/* a gate-only popup (non-member): show just the message, sized to fit — no cramped inner scroll */
.zr-orb__body--gate{padding:10px 16px 18px;}
.zr-info--gate{height:auto;}
.zr-info__body--gate{justify-content:flex-start;overflow:auto;padding:12px 18px 18px;}
.zr-info__body--gate .zr-gate{padding-top:2px;}
.zr-info__era{font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;opacity:.95;}
.zr-info__body p{margin:0 0 10px;font-size:15px;}
.zr-info__load{color:#e8d9a8;font-style:italic;margin-top:8px;animation:zrPulse 1.4s ease-in-out infinite;}
@keyframes zrPulse{0%,100%{opacity:.35}50%{opacity:.95}}
/* a small corner mark hinting the window resizes from its edges (Meta-window style) */
.zr-win::after{content:"";position:absolute;right:5px;bottom:5px;width:14px;height:14px;border-right:2px solid rgba(206,176,104,.6);border-bottom:2px solid rgba(206,176,104,.6);border-bottom-right-radius:6px;pointer-events:none;}
/* the Oracle orb's question popup — a thick glowing gold frame */
.zr-orb{width:440px;height:auto;min-height:210px;border:3px solid rgba(255,255,255,.92);border-radius:18px;box-shadow:0 0 0 1px rgba(224,184,94,.7),0 0 40px rgba(255,210,110,.7),0 0 96px rgba(120,140,255,.28),inset 0 0 0 1px rgba(255,240,190,.4);background:radial-gradient(circle at 50% 0%,rgba(30,42,98,.98),rgba(8,10,30,.98));}
.zr-orb .zr-win__bar{border-bottom-color:rgba(224,184,94,.55);}
.zr-orb__body{display:flex;flex-direction:column;gap:12px;padding:16px 18px 18px;overflow:auto;min-height:0;}   /* scrolls when the window is capped on a low screen */
.zr-orb__viz{display:block;align-self:center;width:200px;height:140px;}
.zr-orb__input{width:100%;box-sizing:border-box;padding:11px 14px;border-radius:10px;border:1px solid rgba(224,184,94,.6);background:rgba(10,8,20,.85);color:#f4ecd8;font-family:inherit;font-size:16px;pointer-events:auto;line-height:1.4;resize:none;overflow:hidden;white-space:pre-wrap;word-break:break-word;min-height:44px;display:block;}   /* a textarea now: wraps a two-sentence question onto multiple lines and grows to fit */
.zr-orb__input:focus{outline:none;border-color:#ffe089;box-shadow:0 0 12px rgba(255,220,120,.6);}
.zr-orb__ask{align-self:flex-start;padding:9px 20px;border-radius:999px;border:1px solid #e0b85e;background:linear-gradient(180deg,#caa14a,#8a6a24);color:#1a1430;font-weight:800;letter-spacing:.03em;cursor:pointer;font-family:inherit;pointer-events:auto;}
.zr-orb__ask:hover,.zr-orb__ask.zr-hot{background:linear-gradient(180deg,#ffe089,#c8a24a);box-shadow:0 0 14px rgba(255,220,120,.7);}
.zr-orb__answer{color:#eae3cf;font-size:15px;line-height:1.5;max-height:210px;overflow:auto;white-space:pre-wrap;}
.zr-orb__load{display:block;margin:4px auto;width:132px;height:132px;}
/* mute + volume for the spoken voice (Oracle and painting cards). Native controls, so pointer-events:auto. */
.zr-orb__ctrls{display:flex;align-items:center;gap:10px;pointer-events:auto;}
.zr-orb__mute{flex:0 0 auto;width:32px;height:32px;padding:0;border-radius:50%;font-size:16px;line-height:1;cursor:pointer;color:#f4ecd8;background:rgba(40,34,86,.7);border:1px solid rgba(224,184,94,.55);pointer-events:auto;}
.zr-orb__mute:hover{background:rgba(74,63,134,.9);border-color:#f0d98a;}
.zr-orb__vol{-webkit-appearance:none;appearance:none;flex:1 1 auto;min-width:80px;height:6px;border-radius:999px;background:linear-gradient(90deg,#e0b85e,#3a2f6e);outline:none;cursor:pointer;pointer-events:auto;}
.zr-orb__vol::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 38% 34%,#ffe089,#a9812f);border:1px solid rgba(255,240,190,.7);box-shadow:0 0 8px rgba(255,210,110,.6);cursor:pointer;}
.zr-orb__vol::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 38% 34%,#ffe089,#a9812f);border:1px solid rgba(255,240,190,.7);box-shadow:0 0 8px rgba(255,210,110,.6);cursor:pointer;}
/* painting card: the talking orb sits smaller above its scrolling description */
.zr-info__body .zr-orb__viz{width:150px;height:104px;margin:0 auto 4px;}
.zr-info__body .zr-orb__ctrls{margin:2px 0 8px;}
.zr-info__answer{max-height:none;flex:1;min-height:0;}
/* a low touch screen (landscape phone): smaller voice-orb in the Oracle popup, none on painting cards, tighter popup */
@media (pointer:coarse) and (max-height:500px){
  .zr-orb__viz{width:130px;height:84px;}
  .zr-info__body .zr-orb__viz{display:none;}
  .zr-orb__body{gap:8px;padding:10px 14px 12px;}
  #zroom-stick,#zroom-look{bottom:calc(64px + env(safe-area-inset-bottom,0px));}
}
.zr-info__foot{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:10px 16px 24px;pointer-events:auto;background:linear-gradient(0deg,rgba(14,11,24,.98),rgba(14,11,24,.0));}
.zr-info__foot .zr-artask{flex:1 1 auto;width:auto;}
.zr-artask{display:block;width:100%;box-sizing:border-box;margin:0;padding:12px 16px;border-radius:999px;cursor:pointer;pointer-events:auto;font-family:inherit;font-weight:800;font-size:14px;color:#1a1206;background:linear-gradient(180deg,#f0d98a,#caa14a 60%,#9a742a);border:1px solid #ffe089;box-shadow:0 0 14px rgba(255,216,112,.55);}
.zr-artask:hover{filter:brightness(1.08);}
/* the "Voorlezen" (read aloud) button — nothing speaks until it is pressed */
.zr-orb__read{flex:0 0 auto;padding:8px 15px;border-radius:999px;cursor:pointer;pointer-events:auto;white-space:nowrap;font-family:inherit;font-weight:800;font-size:13px;letter-spacing:.02em;color:#f4ecd8;background:rgba(40,34,86,.7);border:1px solid rgba(224,184,94,.6);}
.zr-orb__read:hover,.zr-orb__read.zr-hot{background:rgba(74,63,134,.95);border-color:#f0d98a;box-shadow:0 0 12px rgba(255,220,120,.5);}
/* Read-aloud button feedback: an unmistakable press flash, and a lit state while loading / speaking */
.zr-orb__read{transition:transform .08s ease, box-shadow .12s ease, background .12s ease;}
.zr-orb__read.zr-read--press{transform:scale(.9);background:#f0d98a;color:#241a06;box-shadow:0 0 18px rgba(255,220,120,.95);}
.zr-orb__read.zr-read--on{background:rgba(74,63,134,.98);border-color:#ffe089;color:#fff;box-shadow:0 0 14px rgba(255,220,120,.7);animation:zrReadPulse 1s ease-in-out infinite;}
@keyframes zrReadPulse{0%,100%{box-shadow:0 0 10px rgba(255,220,120,.5);}50%{box-shadow:0 0 20px rgba(255,220,120,.95);}}
@media (prefers-reduced-motion: reduce){.zr-orb__read.zr-read--on{animation:none;}}
/* Reading popup: the AI answer opened big and comfortable to read (📖 on an answer card) */
.zr-reader__body{display:flex;flex-direction:column;gap:12px;}
.zr-reader__ctrls{justify-content:flex-start;flex-wrap:wrap;}
.zr-reader__text{font-size:20px;line-height:1.8;color:#f6efdc;letter-spacing:.008em;max-height:62vh;overflow-y:auto;padding:6px 6px 10px;white-space:pre-wrap;word-break:break-word;text-align:left;}
.zr-reader__text::-webkit-scrollbar{width:10px;}
.zr-reader__text::-webkit-scrollbar-thumb{background:rgba(224,184,94,.55);border-radius:6px;}
/* the 📖 open-in-reader button */
.zr-reader-open{flex:0 0 auto;width:38px;height:38px;padding:0;border-radius:10px;cursor:pointer;pointer-events:auto;font-size:18px;line-height:1;color:#f4ecd8;background:rgba(40,34,86,.7);border:1px solid rgba(224,184,94,.6);}
.zr-reader-open:hover,.zr-reader-open.zr-hot{background:rgba(74,63,134,.95);border-color:#f0d98a;box-shadow:0 0 12px rgba(255,220,120,.5);}

/* ============================ Crypto Zen — Market Pulse HUD ============================ */
/* A screen-fixed trading-desk overlay: a top news ticker and a top-left glass Market Pulse card.
   Children of #zroom (position:fixed inset:0), so these are absolutely positioned within it. */
.cz-ticker{position:absolute;top:0;left:0;right:0;height:34px;display:flex;align-items:center;
  background:linear-gradient(180deg,rgba(3,18,12,.94),rgba(3,12,9,.86));
  border-bottom:1px solid rgba(57,255,154,.4);box-shadow:0 2px 18px rgba(0,0,0,.4);
  z-index:6;overflow:hidden;font-family:"Segoe UI",Arial,sans-serif;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.cz-ticker__tag{flex:0 0 auto;align-self:stretch;display:flex;align-items:center;gap:6px;
  padding:0 12px;font-weight:800;font-size:12px;letter-spacing:.12em;color:#03130b;
  background:#39ff9a;box-shadow:0 0 14px rgba(57,255,154,.6);position:relative;z-index:2;}
.cz-ticker__tag::before{content:"";width:7px;height:7px;border-radius:50%;background:#03130b;animation:czblink 1.4s infinite;}
@keyframes czblink{0%,100%{opacity:1}50%{opacity:.25}}
.cz-ticker__track{display:inline-flex;align-items:center;white-space:nowrap;will-change:transform;
  animation:czscroll 90s linear infinite;padding-left:16px;}
.cz-ticker:hover .cz-ticker__track{animation-play-state:paused;}
@keyframes czscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cz-ticker__item{color:#eafff2;font-size:14px;font-weight:600;padding:0 4px;}
.cz-ticker__item em{color:#39ff9a;font-style:normal;font-weight:800;margin-right:6px;text-transform:uppercase;letter-spacing:.03em;}
.cz-ticker__item u{color:#7fae98;text-decoration:none;font-size:12px;margin-left:8px;}
.cz-ticker__dot{color:rgba(57,255,154,.5);padding:0 14px;font-size:12px;}

.cz-pulse{position:absolute;top:44px;left:12px;width:266px;max-width:74vw;
  background:linear-gradient(180deg,rgba(6,26,18,.92),rgba(2,11,8,.92));
  border:1px solid rgba(57,255,154,.4);border-radius:16px;padding:14px 15px 12px;
  box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 22px rgba(57,255,154,.12) inset;
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  z-index:6;color:#eafff2;font-family:"Segoe UI",Arial,sans-serif;line-height:1.25;}
.cz-pulse__min{position:absolute;top:8px;right:10px;width:22px;height:22px;line-height:18px;
  border-radius:7px;border:1px solid rgba(57,255,154,.4);background:rgba(57,255,154,.08);
  color:#9be9c4;font-size:16px;font-weight:800;cursor:pointer;padding:0;}
.cz-pulse__min:hover{background:rgba(57,255,154,.2);}
.cz-pulse__h{font-size:12.5px;font-weight:800;letter-spacing:.12em;color:#9be9c4;margin-bottom:8px;}
.cz-pulse__cap{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;}
.cz-cap{font-size:27px;font-weight:800;color:#fff;text-shadow:0 0 16px rgba(57,255,154,.25);}
.cz-cap24{font-size:15px;font-weight:800;color:#9fb0c0;}
.cz-cap24.up{color:#39ff9a;} .cz-cap24.down{color:#ff5c6c;}
.cz-pulse__lbl{font-size:11.5px;color:#7fae98;margin:1px 0 11px;letter-spacing:.02em;}
.cz-dom{margin-bottom:9px;}
.cz-dom label{display:flex;justify-content:space-between;font-size:12px;color:#8fbfa8;margin-bottom:4px;}
.cz-dom label b{color:#eafff2;font-weight:800;}
.cz-bar{height:9px;border-radius:6px;background:rgba(57,255,154,.12);overflow:hidden;}
.cz-bar i{display:block;height:100%;width:0;border-radius:6px;transition:width .8s ease;box-shadow:0 0 10px rgba(255,255,255,.25);}
.cz-fng{margin-top:12px;}
.cz-fng__top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px;}
.cz-fng__cap{font-size:11px;font-weight:800;letter-spacing:.1em;color:#8fbfa8;}
.cz-fngl{font-size:13px;font-weight:800;}
.cz-fng__scale{position:relative;height:9px;border-radius:6px;
  background:linear-gradient(90deg,#ff4d4d,#ff9838,#ffd23a,#9be04a,#39ff9a);}
.cz-fng__mark{position:absolute;top:50%;left:50%;width:4px;height:17px;border-radius:2px;
  background:#fff;box-shadow:0 0 8px rgba(0,0,0,.7);transform:translate(-50%,-50%);transition:left .8s ease;}
.cz-fng__num{text-align:center;margin-top:3px;}
.cz-fngv{font-size:22px;font-weight:800;}
.cz-pulse__foot{display:flex;justify-content:space-between;gap:8px;margin-top:11px;padding-top:9px;
  border-top:1px solid rgba(57,255,154,.16);font-size:11.5px;color:#7fae98;}
.cz-pulse__show{position:absolute;top:44px;left:12px;z-index:6;cursor:pointer;
  background:linear-gradient(180deg,rgba(6,26,18,.92),rgba(2,11,8,.92));
  border:1px solid rgba(57,255,154,.4);border-radius:999px;padding:7px 14px;
  color:#9be9c4;font-family:"Segoe UI",Arial,sans-serif;font-weight:800;font-size:13px;
  box-shadow:0 8px 24px rgba(0,0,0,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
.cz-pulse__show:hover{background:rgba(57,255,154,.18);}
@media (max-width:560px){
  .cz-pulse{width:210px;top:42px;left:8px;padding:11px 12px 10px;border-radius:13px;}
  .cz-cap{font-size:22px;} .cz-ticker__item{font-size:13px;}
  .cz-pulse__show{top:42px;left:8px;}
}

/* ---- Crypto Zen — Portfolio ---- */
.cz-port-open{display:block;width:100%;margin-top:10px;padding:9px 10px;cursor:pointer;
  border:1px solid rgba(57,255,154,.45);border-radius:10px;
  background:linear-gradient(180deg,rgba(57,255,154,.16),rgba(57,255,154,.06));
  color:#d6ffe9;font-family:"Segoe UI",Arial,sans-serif;font-weight:800;font-size:13px;
  letter-spacing:.02em;transition:background .2s;}
.cz-port-open:hover{background:rgba(57,255,154,.24);}
.cz-port-open.has{display:flex;align-items:baseline;justify-content:space-between;gap:8px;}
.cz-po__lbl{font-size:11px;letter-spacing:.1em;color:#9be9c4;text-transform:uppercase;}
.cz-po__v{font-size:16px;font-weight:800;color:#fff;margin-left:auto;}
.cz-po__pl{font-size:13px;font-weight:800;}

.cz-port-back{position:absolute;inset:0;z-index:9;display:flex;align-items:center;justify-content:center;
  background:rgba(2,8,6,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:16px;}
.cz-port{position:relative;width:440px;max-width:94vw;max-height:88vh;overflow:auto;
  background:linear-gradient(180deg,rgba(6,26,18,.98),rgba(2,12,9,.98));
  border:1px solid rgba(57,255,154,.45);border-radius:18px;padding:20px 20px 16px;
  box-shadow:0 24px 70px rgba(0,0,0,.6),0 0 30px rgba(57,255,154,.14) inset;
  color:#eafff2;font-family:"Segoe UI",Arial,sans-serif;}
.cz-port__close{position:absolute;top:12px;right:14px;width:30px;height:30px;border-radius:9px;
  border:1px solid rgba(57,255,154,.4);background:rgba(57,255,154,.08);color:#9be9c4;
  font-size:20px;line-height:26px;cursor:pointer;padding:0;}
.cz-port__close:hover{background:rgba(57,255,154,.2);}
.cz-port__h{font-size:15px;font-weight:800;letter-spacing:.12em;color:#9be9c4;margin-bottom:4px;}
.cz-port__sub{font-size:12.5px;color:#8fbfa8;margin-bottom:14px;line-height:1.4;max-width:92%;}
.cz-prow{display:grid;grid-template-columns:34px 1fr auto 116px auto;align-items:center;gap:10px;
  padding:8px 0;border-top:1px solid rgba(57,255,154,.12);}
.cz-prow__chip{width:34px;height:34px;}
.cz-prow__name b{display:block;font-size:15px;font-weight:800;}
.cz-prow__name em{display:block;font-size:11px;font-style:normal;color:#7fae98;}
.cz-prow__price{font-size:13px;color:#bfe0d0;text-align:right;min-width:74px;}
.cz-prow__in{position:relative;}
.cz-prow__in input{width:116px;box-sizing:border-box;padding:8px 10px;border-radius:9px;
  border:1px solid rgba(57,255,154,.35);background:rgba(3,16,11,.85);color:#fff;
  font-family:inherit;font-size:14px;text-align:right;outline:none;}
.cz-prow__in input:focus{border-color:#39ff9a;box-shadow:0 0 0 2px rgba(57,255,154,.2);}
.cz-prow__val{text-align:right;min-width:92px;}
.cz-prow__valv{display:block;font-size:15px;font-weight:800;}
.cz-prow__pl{display:block;font-size:12px;font-weight:700;}
.cz-port__tot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;
  margin-top:14px;padding-top:14px;border-top:2px solid rgba(57,255,154,.3);}
.cz-port__totlbl{display:block;font-size:11px;letter-spacing:.1em;color:#8fbfa8;text-transform:uppercase;}
.cz-port__totv{font-size:30px;font-weight:800;color:#fff;text-shadow:0 0 18px rgba(57,255,154,.25);}
.cz-port__pl{font-size:15px;font-weight:800;padding-bottom:4px;}
.cz-port__alloc{display:flex;height:12px;border-radius:7px;overflow:hidden;margin-top:12px;
  background:rgba(57,255,154,.1);}
.cz-alloc__seg{height:100%;transition:width .6s ease;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);}
.cz-port__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;}
.cz-port__clear{cursor:pointer;border:1px solid rgba(255,120,120,.4);border-radius:9px;padding:7px 14px;
  background:rgba(255,92,108,.1);color:#ff9aa5;font-family:inherit;font-weight:700;font-size:12.5px;}
.cz-port__clear:hover{background:rgba(255,92,108,.22);}
.cz-port__note{font-size:11px;color:#6f9a86;text-align:right;}
@media (max-width:560px){
  .cz-prow{grid-template-columns:30px 1fr 96px auto;}
  .cz-prow__price{display:none;}
  .cz-prow__in input{width:96px;}
  .cz-port__totv{font-size:25px;}
}

/* ---- Crypto Zen — Explorer, tabs, detail, alerts ---- */
.cz-expl-open{display:block;width:100%;margin-top:8px;padding:9px 10px;cursor:pointer;
  border:1px solid rgba(120,180,255,.4);border-radius:10px;
  background:linear-gradient(180deg,rgba(120,170,255,.14),rgba(120,170,255,.05));
  color:#d8e8ff;font-family:"Segoe UI",Arial,sans-serif;font-weight:800;font-size:13px;transition:background .2s;}
.cz-expl-open:hover{background:rgba(120,170,255,.22);}
.cz-chip{border-radius:50%;flex:0 0 auto;background:rgba(255,255,255,.04);object-fit:cover;}
.cz-mini{opacity:.9;}

.cz-modal-back{position:absolute;inset:0;z-index:9;display:flex;align-items:center;justify-content:center;
  background:rgba(2,8,6,.64);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:14px;}
.cz-modal{position:relative;width:520px;max-width:95vw;height:min(88vh,760px);display:flex;flex-direction:column;
  background:linear-gradient(180deg,rgba(6,26,18,.99),rgba(2,12,9,.99));
  border:1px solid rgba(57,255,154,.42);border-radius:18px;padding:16px 16px 12px;
  box-shadow:0 24px 70px rgba(0,0,0,.62),0 0 30px rgba(57,255,154,.13) inset;color:#eafff2;font-family:"Segoe UI",Arial,sans-serif;}
.cz-modal__close{position:absolute;top:10px;right:12px;width:30px;height:30px;border-radius:9px;z-index:2;
  border:1px solid rgba(57,255,154,.4);background:rgba(57,255,154,.08);color:#9be9c4;font-size:20px;line-height:26px;cursor:pointer;padding:0;}
.cz-modal__close:hover{background:rgba(57,255,154,.2);}
.cz-tabs{display:flex;gap:8px;margin:2px 40px 12px 2px;}
.cz-tab{flex:0 0 auto;padding:7px 16px;border-radius:999px;cursor:pointer;font-family:inherit;font-weight:800;font-size:13px;
  border:1px solid rgba(57,255,154,.3);background:transparent;color:#8fbfa8;}
.cz-tab.is-on{background:rgba(57,255,154,.16);color:#eafff2;border-color:rgba(57,255,154,.5);}
.cz-hold,.cz-expl,.cz-detail{overflow:auto;flex:1 1 auto;}
.cz-hold__sub,.cz-hold__note{font-size:12px;color:#8fbfa8;}
.cz-hold__sub{margin-bottom:10px;line-height:1.4;}
.cz-prow{display:grid;grid-template-columns:30px 1fr auto 108px auto;align-items:center;gap:9px;padding:7px 0;border-top:1px solid rgba(57,255,154,.12);}
.cz-prow__name b{display:block;font-size:14px;font-weight:800;} .cz-prow__name em{display:block;font-size:11px;font-style:normal;color:#7fae98;}
.cz-prow__price{font-size:12.5px;color:#bfe0d0;text-align:right;min-width:66px;}
.cz-prow__in input{width:108px;box-sizing:border-box;padding:7px 9px;border-radius:9px;border:1px solid rgba(57,255,154,.35);background:rgba(3,16,11,.85);color:#fff;font-family:inherit;font-size:14px;text-align:right;outline:none;}
.cz-prow__in input:focus{border-color:#39ff9a;box-shadow:0 0 0 2px rgba(57,255,154,.2);}
.cz-prow__val{text-align:right;min-width:84px;} .cz-prow__valv{display:block;font-size:14px;font-weight:800;} .cz-prow__pl{display:block;font-size:12px;font-weight:700;}
.cz-hold__tot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:2px solid rgba(57,255,154,.3);}
.cz-hold__totlbl{display:block;font-size:11px;letter-spacing:.1em;color:#8fbfa8;text-transform:uppercase;}
.cz-hold__totv{font-size:28px;font-weight:800;color:#fff;} .cz-hold__pl{font-size:15px;font-weight:800;padding-bottom:3px;}
.cz-hold__alloc{display:flex;height:12px;border-radius:7px;overflow:hidden;margin-top:10px;background:rgba(57,255,154,.1);}
.cz-alloc__seg{height:100%;transition:width .6s ease;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);}
.cz-hold__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;}
.cz-hold__add{cursor:pointer;border:1px solid rgba(120,180,255,.4);border-radius:9px;padding:7px 14px;background:rgba(120,170,255,.12);color:#d8e8ff;font-family:inherit;font-weight:800;font-size:12.5px;}
.cz-hold__add:hover{background:rgba(120,170,255,.24);}

.cz-expl__search{position:sticky;top:0;background:linear-gradient(180deg,rgba(6,26,18,1),rgba(6,26,18,.9));padding-bottom:8px;z-index:1;display:flex;align-items:center;gap:10px;}
.cz-expl__search input{flex:1 1 auto;padding:10px 12px;border-radius:10px;border:1px solid rgba(57,255,154,.35);background:rgba(3,16,11,.9);color:#fff;font-family:inherit;font-size:14px;outline:none;}
.cz-expl__search input:focus{border-color:#39ff9a;box-shadow:0 0 0 2px rgba(57,255,154,.2);}
.cz-expl__hint{font-size:11px;color:#7fae98;white-space:nowrap;}
.cz-expl__sec{font-size:11px;letter-spacing:.1em;color:#8fbfa8;font-weight:800;margin:10px 0 2px;}
.cz-erow{display:grid;grid-template-columns:30px 1fr auto auto auto auto auto;align-items:center;gap:9px;padding:7px 2px;border-top:1px solid rgba(57,255,154,.1);}
.cz-erow__name{cursor:pointer;} .cz-erow__name b{display:block;font-size:14px;font-weight:800;} .cz-erow__name em{display:block;font-size:11px;font-style:normal;color:#7fae98;}
.cz-erow__price{text-align:right;} .cz-erow__price b{display:block;font-size:13.5px;font-weight:800;} .cz-erow__price em{display:block;font-size:11.5px;font-style:normal;font-weight:700;}
.cz-erow__star,.cz-erow__bell,.cz-erow__add{width:28px;height:28px;border-radius:8px;cursor:pointer;font-size:13px;padding:0;
  border:1px solid rgba(57,255,154,.28);background:rgba(57,255,154,.06);color:#7fae98;}
.cz-erow__star.on{color:#ffd23a;border-color:rgba(255,210,58,.5);background:rgba(255,210,58,.12);}
.cz-erow__bell.on{color:#39ff9a;border-color:rgba(57,255,154,.6);background:rgba(57,255,154,.16);}
.cz-erow__add{font-weight:800;} .cz-erow__add.on{color:#39ff9a;}
.cz-erow__star:hover,.cz-erow__bell:hover,.cz-erow__add:hover{background:rgba(57,255,154,.18);}

.cz-detail__top{margin-bottom:8px;} .cz-detail__back{cursor:pointer;border:1px solid rgba(57,255,154,.3);background:rgba(57,255,154,.08);color:#9be9c4;border-radius:8px;padding:6px 12px;font-family:inherit;font-weight:800;font-size:12.5px;}
.cz-detail__head{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.cz-detail__id b{display:block;font-size:17px;font-weight:800;} .cz-detail__id em{display:block;font-size:12px;font-style:normal;color:#7fae98;}
.cz-detail__px{margin-left:auto;text-align:right;} .cz-detail__px b{display:block;font-size:20px;font-weight:800;} .cz-detail__px em{display:block;font-size:12.5px;font-style:normal;font-weight:700;}
.cz-detail__tf{display:flex;align-items:center;gap:6px;margin-bottom:6px;}
.cz-detail__tf button{cursor:pointer;border:1px solid rgba(57,255,154,.3);background:transparent;color:#8fbfa8;border-radius:7px;padding:5px 12px;font-family:inherit;font-weight:800;font-size:12px;}
.cz-detail__tf button.on{background:rgba(57,255,154,.16);color:#eafff2;border-color:rgba(57,255,154,.5);}
.cz-detail__cmp-lbl{font-size:11.5px;color:#8fbfa8;margin-left:6px;} .cz-detail__cmp-lbl i{font-style:normal;font-weight:800;}
.cz-detail__chart{width:100%;height:auto;border-radius:10px;border:1px solid rgba(57,255,154,.16);background:rgba(3,16,11,.6);}
.cz-detail__stats{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin:12px 0;}
.cz-stat{display:flex;justify-content:space-between;font-size:12.5px;border-bottom:1px solid rgba(57,255,154,.1);padding:4px 0;}
.cz-stat span{color:#8fbfa8;} .cz-stat b{font-weight:800;}
.cz-detail__acts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.cz-detail__acts button{cursor:pointer;border-radius:9px;padding:8px 13px;font-family:inherit;font-weight:800;font-size:12.5px;border:1px solid rgba(57,255,154,.35);background:rgba(57,255,154,.1);color:#d6ffe9;}
.cz-detail__ai{border-color:rgba(255,206,90,.5)!important;background:linear-gradient(180deg,rgba(255,206,90,.2),rgba(255,206,90,.07))!important;color:#ffe89a!important;}
.cz-detail__acts button:hover{filter:brightness(1.15);}
.cz-detail__cmp{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#8fbfa8;margin-bottom:8px;}
.cz-detail__cmpsel{background:rgba(3,16,11,.9);color:#eafff2;border:1px solid rgba(57,255,154,.3);border-radius:8px;padding:6px 8px;font-family:inherit;font-size:12.5px;max-width:60%;}

.cz-toasts{position:absolute;left:50%;bottom:84px;transform:translateX(-50%);z-index:10;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;}
.cz-toast{pointer-events:auto;min-width:220px;max-width:min(360px,88vw);cursor:pointer;
  background:linear-gradient(180deg,rgba(6,26,18,.97),rgba(2,12,9,.97));border:1px solid rgba(57,255,154,.5);
  border-radius:12px;padding:11px 15px;color:#eafff2;font-family:"Segoe UI",Arial,sans-serif;font-size:13.5px;
  box-shadow:0 12px 34px rgba(0,0,0,.5);opacity:0;transform:translateY(14px);transition:opacity .35s,transform .35s;}
.cz-toast.in{opacity:1;transform:translateY(0);}
.cz-toast b{color:#fff;} .cz-toast span{color:#8fbfa8;font-size:12px;}
.cz-toast--alert{border-color:rgba(255,210,58,.7);box-shadow:0 12px 34px rgba(0,0,0,.5),0 0 18px rgba(255,210,58,.25);}
@media (max-width:560px){
  .cz-modal{height:90vh;width:96vw;padding:12px 12px 10px;}
  .cz-prow{grid-template-columns:28px 1fr 92px auto;} .cz-prow__price{display:none;} .cz-prow__in input{width:92px;}
  .cz-erow{grid-template-columns:28px 1fr auto auto auto;} .cz-erow .cz-mini{display:none;}
  .cz-detail__stats{grid-template-columns:1fr;}
}

/* clickable news ticker items → AI briefing */
.cz-ticker__item{cursor:pointer;transition:color .15s;}
.cz-ticker:hover .cz-ticker__item:hover{color:#39ff9a;}
.cz-ticker__ai{font-style:normal;color:#ffd23a;margin-left:7px;font-size:12px;opacity:.85;}
.cz-ticker__item:hover .cz-ticker__ai{opacity:1;}

/* ---- Crypto Zen — bottom dock, mini dialogs, onboarding ---- */
.cz-dock{display:flex;align-items:center;gap:6px;padding-right:10px;margin-right:4px;border-right:1px solid rgba(57,255,154,.3);}
.cz-dock__btn{position:relative;width:34px;height:34px;border-radius:10px;cursor:pointer;font-size:16px;line-height:32px;padding:0;
  border:1px solid rgba(57,255,154,.4);background:rgba(57,255,154,.08);color:#eafff2;transition:background .15s;}
.cz-dock__btn:hover{background:rgba(57,255,154,.22);}
.cz-dock__alerts[data-n]:not([data-n=""])::after{content:attr(data-n);position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;
  border-radius:8px;background:#ffd23a;color:#03130b;font:800 10px/16px "Segoe UI",Arial;padding:0 4px;box-shadow:0 0 8px rgba(255,210,58,.6);}
.cz-dock__coins{display:flex;align-items:center;gap:4px;margin-left:4px;padding-left:8px;border-left:1px solid rgba(57,255,154,.2);}
.cz-dock__coin{cursor:pointer;border-radius:50%;transition:transform .15s,box-shadow .15s;}
.cz-dock__coin:hover{transform:scale(1.18);box-shadow:0 0 10px rgba(57,255,154,.6);}
.cz-mini-back{position:absolute;inset:0;z-index:11;display:flex;align-items:center;justify-content:center;background:rgba(2,8,6,.55);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:16px;}
.cz-mini{width:380px;max-width:94vw;background:linear-gradient(180deg,rgba(6,26,18,.99),rgba(2,12,9,.99));border:1px solid rgba(57,255,154,.45);
  border-radius:16px;padding:18px 18px 14px;box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 24px rgba(57,255,154,.14) inset;
  color:#eafff2;font-family:"Segoe UI",Arial,sans-serif;}
.cz-mini__h{font-size:15px;font-weight:800;letter-spacing:.04em;color:#9be9c4;margin-bottom:6px;}
.cz-mini__sub{font-size:12.5px;color:#8fbfa8;margin-bottom:12px;line-height:1.4;}
.cz-mini__in{width:100%;box-sizing:border-box;padding:11px 12px;border-radius:10px;border:1px solid rgba(57,255,154,.4);background:rgba(3,16,11,.9);
  color:#fff;font-family:inherit;font-size:18px;font-weight:800;text-align:right;outline:none;}
.cz-mini__in:focus{border-color:#39ff9a;box-shadow:0 0 0 2px rgba(57,255,154,.2);}
.cz-mini__acts{display:flex;gap:8px;justify-content:flex-end;margin-top:12px;}
.cz-mini__acts button{cursor:pointer;border-radius:9px;padding:8px 14px;font-family:inherit;font-weight:800;font-size:13px;}
.cz-mini__ok{border:1px solid rgba(57,255,154,.5);background:linear-gradient(180deg,rgba(57,255,154,.28),rgba(57,255,154,.1));color:#eafff2;}
.cz-mini__cancel{border:1px solid rgba(255,255,255,.18);background:transparent;color:#8fbfa8;}
.cz-onb{width:460px;}
.cz-onb__list{margin:8px 0 0;padding-left:18px;font-size:13.5px;line-height:1.5;color:#d6ffe9;}
.cz-onb__list li{margin-bottom:8px;} .cz-onb__list b{color:#fff;}
@media (max-width:640px){ .cz-dock__coins{display:none;} .cz-dock__btn{width:30px;height:30px;font-size:14px;line-height:28px;} }
/* personalised walls */
.cz-erow{grid-template-columns:30px 1fr auto auto auto auto auto auto;}
.cz-erow__wall{width:28px;height:28px;border-radius:8px;cursor:pointer;font-size:13px;padding:0;border:1px solid rgba(120,180,255,.35);background:rgba(120,170,255,.08);color:#8fb4d8;}
.cz-erow__wall.on{color:#d8e8ff;border-color:rgba(120,180,255,.7);background:rgba(120,170,255,.25);}
.cz-erow__wall:hover{background:rgba(120,170,255,.22);}
.cz-walls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 8px;padding:8px 10px;border-radius:10px;background:rgba(120,170,255,.08);border:1px solid rgba(120,180,255,.3);font-size:12.5px;color:#cfe0ff;}
.cz-walls__t{flex:1 1 auto;} .cz-walls__t b{color:#fff;}
.cz-walls button{cursor:pointer;border-radius:8px;padding:6px 11px;font-family:inherit;font-weight:800;font-size:12px;border:1px solid rgba(120,180,255,.45);background:rgba(120,170,255,.16);color:#e4efff;}
.cz-walls button:disabled{opacity:.45;cursor:default;}
@media (max-width:560px){ .cz-erow{grid-template-columns:28px 1fr auto auto auto auto;} }
/* Explorer polish: pin the small canvases (a page-wide canvas rule otherwise stretches them), one-line names, tidy columns */
#zroom canvas.cz-mini{position:static!important;width:62px!important;height:26px!important;max-width:none!important;display:block;}
#zroom canvas.cz-chip{position:static!important;width:30px!important;height:30px!important;max-width:none!important;}
#zroom canvas.cz-dock__coin{width:26px!important;height:26px!important;}
#zroom .cz-detail__head canvas.cz-chip{width:40px!important;height:40px!important;}
#zroom .cz-prow canvas.cz-chip{width:30px!important;height:30px!important;}
#zroom canvas.cz-detail__chart{position:static!important;width:100%!important;height:auto!important;max-width:100%!important;aspect-ratio:640/230;}
.cz-erow{grid-template-columns:30px minmax(0,1fr) 62px 96px 28px 28px 28px 28px;min-height:44px;}
.cz-erow__name{min-width:0;} .cz-erow__name b,.cz-erow__name em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cz-erow__price{min-width:96px;} .cz-erow__price b,.cz-erow__price em{white-space:nowrap;}
.cz-modal{width:560px;}
@media (max-width:560px){ .cz-erow{grid-template-columns:28px minmax(0,1fr) 88px 28px 28px 28px;} }

/* ---- Crypto Zen — YouTube news player ---- */
.cz-vid-back{z-index:12;}
.cz-vid{width:min(880px,96vw);background:linear-gradient(180deg,rgba(6,26,18,.99),rgba(2,12,9,.99));border:1px solid rgba(57,255,154,.45);border-radius:16px;
  padding:12px 14px 12px;box-shadow:0 24px 70px rgba(0,0,0,.65),0 0 30px rgba(57,255,154,.14) inset;color:#eafff2;font-family:"Segoe UI",Arial,sans-serif;}
.cz-vid__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.cz-vid__lbl{font-size:12.5px;font-weight:800;letter-spacing:.08em;color:#9be9c4;} .cz-vid__lbl::first-letter{color:#ff3b30;}
.cz-vid__x{width:30px;height:30px;border-radius:9px;border:1px solid rgba(57,255,154,.4);background:rgba(57,255,154,.08);color:#9be9c4;font-size:20px;line-height:26px;cursor:pointer;padding:0;}
.cz-vid__frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden;border:1px solid rgba(57,255,154,.25);}
.cz-vid__frame iframe,.cz-vid__player{position:absolute;inset:0;width:100%;height:100%;border:0;}
.cz-vid__none{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-size:14px;color:#cfe9da;line-height:1.5;}
.cz-vid__t{font-size:15px;font-weight:800;margin:10px 0 2px;line-height:1.3;} .cz-vid__c{font-size:12.5px;color:#8fbfa8;}
.cz-vid__acts{display:flex;align-items:center;gap:10px;margin-top:10px;}
.cz-vid__yt,.cz-vid__next{cursor:pointer;border-radius:9px;padding:8px 13px;font-family:inherit;font-weight:800;font-size:12.5px;text-decoration:none;border:1px solid rgba(57,255,154,.35);background:rgba(57,255,154,.1);color:#d6ffe9;}
.cz-vid__yt{border-color:rgba(255,80,80,.45);background:rgba(255,59,48,.14);color:#ffd9d6;}
.cz-vid__n{margin-left:auto;font-size:12px;color:#7fae98;}

/* Tesla Mars, the robot guide: a dark chat card like Cheng Yi's — gold capital title, a green greeting bubble, a rounded gold-edged question field and a pill Send */
.zr-guide{width:460px;min-height:0;border:2px solid rgba(255,255,255,.35);border-radius:18px;background:rgba(22,15,12,.86);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 0 0 1px rgba(206,176,104,.35),0 12px 40px rgba(0,0,0,.55);}
.zr-guide .zr-win__bar{background:transparent;border-bottom:none;padding:16px 18px 6px;}
.zr-guide .zr-win__bar h4{font-size:24px;letter-spacing:.06em;color:#e7c565;font-weight:700;}
.zr-guide .zr-win__bar .zr-grip{display:none;}
.zr-guide .zr-x{background:transparent;border:none;font-size:22px;color:#e9dcc0;}
.zr-guide__body{gap:16px;padding:8px 18px 20px;}
.zr-guide__bubble{background:#1e3f35;border:1px solid rgba(120,200,160,.35);border-radius:16px;padding:16px 20px;color:#f3ead6;font-size:19px;line-height:1.45;}
.zr-guide__row{display:flex;align-items:center;gap:12px;}
.zr-guide .zr-orb__input{flex:1 1 auto;min-height:56px;border-radius:999px;padding:14px 20px;border:2px solid #d9b45c;background:rgba(10,8,8,.7);font-size:19px;box-shadow:0 0 14px rgba(255,220,120,.25);}
.zr-guide .zr-orb__ask{flex:0 0 auto;padding:14px 26px;border-radius:999px;font-size:19px;font-weight:700;color:#f3ead6;background:rgba(58,44,28,.85);border:1.5px solid #d9b45c;box-shadow:0 0 12px rgba(255,220,120,.35);animation:zrGuideGlow 2.4s ease-in-out infinite;}
.zr-guide .zr-orb__ask:hover,.zr-guide .zr-orb__ask.zr-hot{background:rgba(90,70,40,.95);}
@keyframes zrGuideGlow{0%,100%{box-shadow:0 0 10px rgba(255,220,120,.35);}50%{box-shadow:0 0 22px rgba(255,230,150,.85),0 0 44px rgba(255,205,100,.35);}}
.zr-guide__gate{margin:6px 0 2px;color:#ffe2a6;font-size:15px;line-height:1.45;text-align:center;}

/* Nova, the cyber queen of Crypto Zen: the same card as a green cybernetic console — dark glass with faint scanlines, a neon
   green frame, a monospace status line, a pulsing link-dot beside her name and a blinking cursor in the question field */
.zr-guide--cz{border:1px solid rgba(57,255,154,.55);border-radius:14px;background:linear-gradient(180deg,rgba(4,22,15,.92),rgba(2,12,9,.94));
  box-shadow:0 0 0 1px rgba(57,255,154,.18),0 0 26px rgba(57,255,154,.22),0 14px 44px rgba(0,0,0,.6),inset 0 0 40px rgba(57,255,154,.06);color:#d9ffe9;font-family:"Segoe UI",Arial,sans-serif;overflow:hidden;}
.zr-guide--cz::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:repeating-linear-gradient(180deg,rgba(57,255,154,.05) 0 1px,transparent 1px 4px);mix-blend-mode:screen;}
.zr-guide--cz::after{content:"";position:absolute;left:0;right:0;top:-40%;height:40%;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(57,255,154,.10),transparent);animation:zrCzSweep 5.5s linear infinite;}
@keyframes zrCzSweep{0%{top:-40%;}100%{top:110%;}}
.zr-guide--cz .zr-win__bar h4{display:flex;align-items:baseline;gap:10px;font-size:22px;letter-spacing:.18em;color:#7dffba;text-shadow:0 0 10px rgba(57,255,154,.65);font-weight:700;font-family:"SF Mono",Menlo,Consolas,monospace;}
.zr-guide--cz .zr-cz__tag{margin-left:auto;font-size:10px;letter-spacing:.22em;color:#5fbf8f;font-weight:400;}
.zr-guide--cz .zr-cz__dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#39ff9a;box-shadow:0 0 8px #39ff9a,0 0 18px rgba(57,255,154,.6);animation:zrCzDot 1.6s ease-in-out infinite;align-self:center;}
@keyframes zrCzDot{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.45;transform:scale(.75);}}
.zr-guide--cz .zr-x{color:#9be9c4;}
.zr-guide--cz .zr-cz__status{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;gap:4px 10px;align-items:center;padding:6px 12px;border:1px solid rgba(57,255,154,.28);border-radius:8px;
  background:rgba(57,255,154,.05);font-family:"SF Mono",Menlo,Consolas,monospace;font-size:11px;letter-spacing:.16em;color:#5fbf8f;}
.zr-guide--cz .zr-cz__status b{color:#9dffcf;font-weight:600;}
.zr-guide--cz .zr-cz__status b:last-child{animation:zrCzBlink 1.2s steps(2,start) infinite;}
@keyframes zrCzBlink{to{visibility:hidden;}}
.zr-guide--cz .zr-guide__bubble{background:rgba(57,255,154,.07);border:1px solid rgba(57,255,154,.35);border-left:3px solid #39ff9a;border-radius:10px;color:#e6fff1;font-size:18px;box-shadow:inset 0 0 24px rgba(57,255,154,.06);}
.zr-guide--cz .zr-orb__input{border-radius:10px;border:1px solid rgba(57,255,154,.55);background:rgba(2,14,9,.85);color:#d9ffe9;font-family:"SF Mono",Menlo,Consolas,monospace;font-size:17px;box-shadow:inset 0 0 14px rgba(57,255,154,.08),0 0 10px rgba(57,255,154,.18);caret-color:#39ff9a;}
.zr-guide--cz .zr-orb__input::placeholder{color:#4f9c76;}
.zr-guide--cz .zr-orb__ask{border-radius:10px;color:#03150c;background:linear-gradient(180deg,#5dffb0,#25d67f);border:1px solid #9dffcf;font-family:"SF Mono",Menlo,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;animation:zrCzAsk 2.4s ease-in-out infinite;}
.zr-guide--cz .zr-orb__ask:hover,.zr-guide--cz .zr-orb__ask.zr-hot{background:linear-gradient(180deg,#8dffc9,#39ff9a);}
@keyframes zrCzAsk{0%,100%{box-shadow:0 0 10px rgba(57,255,154,.35);}50%{box-shadow:0 0 22px rgba(57,255,154,.85),0 0 44px rgba(57,255,154,.35);}}
.zr-guide--cz .zr-guide__gate{color:#9dffcf;}
