/* boot.css */
/* First-paint guard: keep the route transition inside the game's visual world. */
html[data-kdu-page="world"],html[data-kdu-page="world"] body.worldStandalone{background:#06131f;color-scheme:dark}
body.worldStandalone::before{display:none!important}
#kodklassBootScreen{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,rgba(50,157,203,.18),transparent 32%),linear-gradient(180deg,#071722,#041019);transition:opacity .22s ease,visibility .22s ease}
#kodklassBootScreen .kkBootCard{display:flex;align-items:center;gap:14px;padding:15px 20px;border:1px solid rgba(120,232,255,.22);border-radius:18px;background:rgba(7,28,43,.92);box-shadow:0 20px 60px rgba(0,0,0,.42),0 0 32px rgba(65,192,231,.08);color:#effcff;font:900 16px/1.15 Arial,sans-serif}
#kodklassBootScreen .kkBootLogo{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#42d8e9,#2864c8);color:white;font-size:26px;box-shadow:0 0 24px rgba(74,221,242,.24)}
#kodklassBootScreen small{display:block;margin-top:4px;color:#86aebe;font-size:10px;letter-spacing:.06em}
body.kodklass-booting>*:not(#kodklassBootScreen){visibility:hidden!important}
body.kodklass-ready #kodklassBootScreen{opacity:0;visibility:hidden;pointer-events:none}
/* The old pass renderer is never allowed to flash before the album mounts. */
body:not(.kodklass-ready) .profileTabPanel[data-profile-panel="pass"]{visibility:hidden!important}


/* base.css */
/* ===== base-1 ===== */
:root{
      --blue:#4098f7;
      --blue2:#157df2;
      --yellow:#ffc226;
      --yellow2:#ffad00;
      --ink:#102a55;
      --text:#173867;
      --muted:#5b77a5;
      --line:rgba(64,152,247,.18);
      --shadow:0 22px 60px rgba(37,104,180,.16);
      --shadowSoft:0 14px 38px rgba(37,104,180,.11);
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Arial,Helvetica,sans-serif;
      color:var(--text);
      min-height:100vh;
      overflow-x:hidden;
      background:
        radial-gradient(circle at 0% 0%,rgba(64,152,247,.22),transparent 30%),
        radial-gradient(circle at 100% 0%,rgba(255,194,38,.20),transparent 28%),
        linear-gradient(180deg,#f7fbff 0%,#eff7ff 48%,#fff8e7 100%);
    }
    body:before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      opacity:.42;
      background-image:
        radial-gradient(circle,rgba(64,152,247,.22) 2px,transparent 2px),
        radial-gradient(circle,rgba(255,194,38,.22) 2px,transparent 2px);
      background-size:38px 38px,62px 62px;
      animation:bgMove 24s linear infinite;
      z-index:0;
    }
    @keyframes bgMove{to{background-position:320px 200px,-260px 180px}}

    .blob{
      position:fixed;
      border-radius:42% 58% 64% 36%;
      pointer-events:none;
      z-index:0;
      opacity:.95;
      animation:blob 9s ease-in-out infinite;
    }
    .blob.b1{width:330px;height:330px;left:-150px;bottom:-105px;background:linear-gradient(135deg,var(--yellow),#ffd96b)}
    .blob.b2{width:300px;height:300px;right:-120px;top:-110px;background:linear-gradient(135deg,#bfe4ff,#6db9ff)}
    .blob.b3{width:210px;height:210px;right:-70px;bottom:-65px;background:linear-gradient(135deg,var(--yellow),#ffcf48);animation-delay:-3s}
    @keyframes blob{0%,100%{transform:translate(0,0) rotate(0deg)}50%{transform:translate(14px,-18px) rotate(8deg)}}

    .page{width:min(1180px,calc(100vw - 24px));margin:0 auto;padding:18px 0 34px;position:relative;z-index:1}

    .hero{
      min-height:330px;
      border-radius:34px;
      padding:30px;
      background:rgba(255,255,255,.76);
      border:1px solid rgba(255,255,255,.9);
      box-shadow:var(--shadow);
      position:relative;
      overflow:hidden;
      backdrop-filter:blur(14px);
    }
    .hero:before{
      content:"</>";
      position:absolute;
      left:54px;
      top:134px;
      font-size:44px;
      font-weight:1000;
      color:rgba(64,152,247,.28);
      animation:float 4s ease-in-out infinite;
    }
    .hero:after{
      content:"🎮";
      position:absolute;
      right:72px;
      top:126px;
      font-size:58px;
      filter:drop-shadow(0 12px 22px rgba(64,152,247,.25));
      animation:float 3.4s ease-in-out infinite reverse;
    }
    @keyframes float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-14px) rotate(5deg)}}

    .logo{display:flex;align-items:center;justify-content:center;gap:16px;margin:2px auto 18px;width:max-content;max-width:100%}
    .robot{
      width:92px;height:92px;border-radius:30px;
      background:linear-gradient(145deg,#ffd83e,#ffb700);
      box-shadow:0 16px 36px rgba(255,173,0,.22),inset 0 0 0 4px rgba(255,255,255,.35);
      position:relative;animation:robot 3s ease-in-out infinite;flex:0 0 auto;
    }
    .robot:before,.robot:after{content:"";position:absolute;top:-13px;width:4px;height:20px;border-radius:999px;background:#614100}
    .robot:before{left:23px;transform:rotate(-24deg)}
    .robot:after{right:23px;transform:rotate(24deg)}
    .eye{position:absolute;top:32px;width:24px;height:12px;border-bottom:4px solid #553700;border-radius:0 0 30px 30px}
    .eye.e1{left:20px}.eye.e2{right:20px}
    .book{position:absolute;width:50px;height:38px;left:24px;top:50px;background:linear-gradient(135deg,#0d7ff0,#63b6ff);border:3px solid #0b3b8e;border-radius:6px;transform:rotate(-7deg)}
    @keyframes robot{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

    .brand{font-size:clamp(42px,7vw,76px);line-height:1;font-weight:1000;letter-spacing:-.06em;font-style:italic}
    .brand .blue{color:var(--blue)}
    .brand .yellow{color:var(--yellow2)}
    h1{margin:0 auto;text-align:center;max-width:850px;color:var(--ink);font-size:clamp(30px,4.2vw,48px);letter-spacing:-.04em;line-height:1.05}
    .lead{margin:16px auto 0;max-width:800px;text-align:center;color:var(--muted);font-size:clamp(16px,2vw,20px);line-height:1.5}

    .heroStats{margin:22px auto 0;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
    .heroStat{min-width:150px;padding:12px 16px;border-radius:18px;background:rgba(239,247,255,.8);border:1px solid var(--line);text-align:center;box-shadow:0 9px 24px rgba(37,104,180,.08)}
    .heroStat strong{display:block;color:var(--ink);font-size:22px;line-height:1.1}
    .heroStat span{display:block;margin-top:3px;color:var(--muted);font-size:13px;font-weight:900}

    .topActions{margin:20px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
    .btn{
      min-height:56px;border-radius:18px;padding:0 18px;border:0;
      display:inline-flex;align-items:center;justify-content:center;gap:9px;
      text-decoration:none;font-weight:1000;color:#fff;
      background:linear-gradient(135deg,var(--blue),var(--blue2));
      box-shadow:0 14px 30px rgba(64,152,247,.22);
      transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
      text-align:center;cursor:pointer;font-family:inherit;
    }
    .btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 18px 38px rgba(64,152,247,.3)}
    .btn:active{transform:translateY(0) scale(.99)}
    .btn.yellow{color:#6c4600;background:linear-gradient(135deg,#ffd957,var(--yellow2));box-shadow:0 14px 30px rgba(255,180,0,.22)}
    .btn.soft{color:var(--blue2);background:#eaf5ff;box-shadow:none;border:1px solid var(--line)}
    .btn.dark{background:linear-gradient(135deg,#152b4f,#09182f)}
    .shareVK{background:linear-gradient(135deg,#2787f5,#0066cc)}
    .shareMAX{background:linear-gradient(135deg,#111827,#4098f7);font-size:16px}

    .notice{margin:18px auto 0;max-width:800px;padding:13px 16px;border-radius:18px;color:#244b7f;background:linear-gradient(135deg,#edf8ff,#fff7df);border:1px solid rgba(64,152,247,.16);text-align:center;line-height:1.45;font-weight:700}

    .sectionHead{margin:30px 0 14px;display:flex;align-items:end;justify-content:space-between;gap:14px}
    .sectionHead h2{margin:0;color:var(--ink);font-size:34px;letter-spacing:-.04em}
    .small{color:var(--muted);font-weight:800;line-height:1.45}

    /* featured */
    .featuredGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
    .featuredCard{
      min-height:230px;border-radius:28px;padding:20px;position:relative;overflow:hidden;
      background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.92);box-shadow:var(--shadowSoft);
      transition:transform .22s ease,box-shadow .22s ease;
    }
    .featuredCard:hover{transform:translateY(-6px);box-shadow:0 26px 65px rgba(37,104,180,.2)}
    .featuredCard:before{content:"";position:absolute;inset:auto -60px -80px auto;width:210px;height:210px;border-radius:50%;background:var(--accent);opacity:.2}
    .featuredTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:relative;z-index:1}
    .featuredIcon{width:72px;height:72px;display:grid;place-items:center;border-radius:24px;background:rgba(255,255,255,.8);font-size:38px;border:1px solid var(--line)}
    .featuredBadge{padding:7px 10px;border-radius:999px;background:#fff6ca;color:#805600;font-size:11px;font-weight:1000;border:1px solid rgba(255,173,0,.2)}
    .featuredCard h3{margin:14px 0 6px;color:var(--ink);font-size:25px;letter-spacing:-.03em;position:relative;z-index:1}
    .featuredCard p{margin:0 0 16px;color:var(--muted);line-height:1.45;position:relative;z-index:1}
    .featuredCard .btn{position:relative;z-index:1;width:100%;min-height:50px}

    /* sticky controls */
    .gameSorter{
      margin:0 0 18px;padding:12px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;
      border:1px solid rgba(64,152,247,.18);border-radius:24px;
      background:rgba(255,255,255,.91);box-shadow:0 14px 36px rgba(37,104,180,.12);
      backdrop-filter:blur(16px);position:sticky;top:8px;z-index:30;
    }
    .searchBox{position:relative;flex:1 1 220px;min-width:210px}
    .searchBox input{
      width:100%;height:44px;border-radius:15px;border:1px solid rgba(64,152,247,.2);
      background:#f8fbff;color:var(--ink);font:800 14px Arial,sans-serif;padding:0 38px 0 14px;outline:none;
    }
    .searchBox input:focus{border-color:rgba(64,152,247,.55);box-shadow:0 0 0 4px rgba(64,152,247,.08)}
    .searchBox span{position:absolute;right:13px;top:50%;transform:translateY(-50%);pointer-events:none}
    .sorterLabel{padding:0 5px;color:var(--ink);font-size:14px;font-weight:1000}
    .filterBtn{min-height:44px;padding:0 13px;border:1px solid rgba(64,152,247,.18);border-radius:15px;background:#eef7ff;color:var(--text);cursor:pointer;font:900 13px/1 Arial,sans-serif;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
    .filterBtn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(64,152,247,.15)}
    .filterBtn[aria-pressed="true"]{color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue2));box-shadow:0 10px 26px rgba(64,152,247,.25)}
    .filterBtn .count{display:inline-grid;place-items:center;min-width:23px;height:23px;margin-left:5px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.7);color:var(--blue2);font-size:11px}
    .filterBtn[aria-pressed="true"] .count{background:rgba(255,255,255,.22);color:#fff}
    .filterResult{width:100%;color:var(--muted);font-size:12px;font-weight:900;text-align:right;padding:0 4px}

    /* cards */
    .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}
    .card{
      min-height:0;border-radius:30px;padding:18px;background:rgba(255,255,255,.84);
      border:1px solid rgba(255,255,255,.92);box-shadow:var(--shadow);
      position:relative;overflow:hidden;backdrop-filter:blur(10px);
      transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
      opacity:0;transform:translateY(18px);
    }
    .card.isVisible{opacity:1;transform:translateY(0);transition:opacity .48s ease,transform .48s ease,box-shadow .22s ease}
    .card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 28px 70px rgba(37,104,180,.22);border-color:rgba(64,152,247,.28)}
    .card:before{content:"";position:absolute;width:180px;height:180px;right:-62px;top:-70px;border-radius:50%;background:var(--accent);opacity:.23}
    .card:after{content:"✦";position:absolute;right:24px;top:22px;color:var(--spark);font-size:25px;animation:twinkle 1.8s ease-in-out infinite}
    @keyframes twinkle{0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(1.25) rotate(18deg);opacity:1}}

    .projectPreview{
      height:145px;border-radius:22px;position:relative;overflow:hidden;margin-bottom:15px;
      display:flex;align-items:center;justify-content:center;
      background:linear-gradient(135deg,#dff2ff,#f8fcff 52%,#fff0ab);
      border:1px solid rgba(64,152,247,.15);
    }
    .yellowStyle .projectPreview{background:linear-gradient(135deg,#fff2b4,#fffaf0 52%,#dff2ff)}
    .projectPreview.hasImage{background-size:cover;background-position:center}
    .projectPreview.hasImage:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(4,20,45,.55))}
    .previewIcon{font-size:64px;filter:drop-shadow(0 12px 20px rgba(16,42,85,.14));position:relative;z-index:1;transition:transform .2s ease}
    .card:hover .previewIcon{transform:scale(1.09) rotate(4deg)}
    .previewCode{position:absolute;left:14px;bottom:12px;font-size:12px;font-weight:1000;color:rgba(16,42,85,.55);z-index:2}
    .hasImage .previewCode{color:#fff}
    .newBadge{position:absolute;left:12px;top:12px;z-index:3;padding:7px 10px;border-radius:999px;background:linear-gradient(135deg,#ffcf48,#ffad00);color:#694400;font-size:11px;font-weight:1000;box-shadow:0 7px 18px rgba(255,173,0,.2)}
    .kindBadge{position:absolute;right:12px;bottom:12px;z-index:3;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.9);color:#244b7f;font-size:11px;font-weight:1000;border:1px solid rgba(64,152,247,.14)}

    .card h3{margin:0 0 6px;color:var(--ink);font-size:27px;letter-spacing:-.04em;position:relative;z-index:1}
    .card p{margin:0;color:var(--muted);line-height:1.45;font-size:14px;position:relative;z-index:1}
    .projectMeta{margin-top:11px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;position:relative;z-index:2}
    .projectCount{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:999px;background:rgba(64,152,247,.1);border:1px solid rgba(64,152,247,.16);color:#315c91;font-size:12px;font-weight:1000}
    .yellowStyle .projectCount{background:rgba(255,194,38,.14);border-color:rgba(255,173,0,.2);color:#8a5a00}
    .typeTags{margin-top:9px;display:flex;flex-wrap:wrap;gap:6px;position:relative;z-index:2}
    .typeTag{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 9px;border-radius:11px;background:#eef7ff;border:1px solid rgba(64,152,247,.15);color:#315c91;font-size:11px;font-weight:900}
    .yellowStyle .typeTag{background:#fff7d8;border-color:rgba(255,173,0,.18);color:#805600}

    .actions{margin-top:14px;display:grid;gap:9px;position:relative;z-index:2}
    .open{min-height:60px;font-size:17px;border-radius:19px}
    .gameLinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
    .mini{min-height:54px;border-radius:15px;font-size:14px;padding:7px 10px}
    .gameOnlyLinks .mini{min-height:62px;font-size:15px}
    .gameLinks>a:last-child:nth-child(odd){grid-column:1/-1}
    .comingSoon{min-height:62px;display:grid;place-items:center;padding:12px 16px;border:1px dashed rgba(49,92,145,.28);border-radius:18px;color:#5d7290;background:rgba(255,255,255,.5);font-size:14px;font-weight:900;text-align:center}

    .groupDivider{grid-column:1/-1;margin:10px 0 2px;display:flex;align-items:center;gap:14px;color:#5b77a5;font-weight:1000;font-size:16px}
    .groupDivider::before,.groupDivider::after{content:"";height:2px;flex:1;border-radius:999px;background:linear-gradient(90deg,rgba(64,152,247,.05),rgba(64,152,247,.45),rgba(255,194,38,.45),rgba(255,194,38,.05))}
    .groupDivider span{padding:10px 17px;border-radius:999px;background:rgba(255,255,255,.9);border:1px solid rgba(64,152,247,.16);box-shadow:0 8px 24px rgba(37,104,180,.1);white-space:nowrap}
    .groupDivider small{display:block;font-size:11px;font-weight:800;color:var(--muted);margin-top:2px;text-align:center}
    .card[hidden],.groupDivider[hidden]{display:none!important}

    .emptyState{display:none;grid-column:1/-1;padding:34px 20px;border-radius:25px;background:rgba(255,255,255,.72);border:1px dashed rgba(64,152,247,.3);text-align:center;color:var(--muted);font-weight:900}
    .emptyState.show{display:block}

    /* collection */
    .collectionPanel{
      margin-top:50px;padding:28px;border-radius:34px;position:relative;overflow:hidden;
      background:linear-gradient(135deg,rgba(225,244,255,.86),rgba(255,251,232,.91));
      border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow);
    }
    .collectionPanel:before{content:"🎮";position:absolute;right:-5px;top:-20px;font-size:120px;opacity:.07;transform:rotate(12deg)}
    .collectionPanel .sectionHead{margin-top:0;position:relative;z-index:1}

    /* footer */
    .footer{margin-top:24px;padding:24px;border-radius:26px;text-align:center;color:#315c91;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.88);box-shadow:var(--shadowSoft);font-weight:800}
    .footer strong{display:block;color:var(--ink);font-size:20px;margin-bottom:5px}
    .footerActions{margin-top:15px;display:flex;gap:9px;justify-content:center;flex-wrap:wrap}
    .footerActions .btn{min-height:48px}

    /* modal player */
    .gameModal{position:fixed;inset:0;z-index:1000;background:rgba(2,12,28,.82);backdrop-filter:blur(10px);display:none;padding:18px}
    .gameModal.open{display:grid;place-items:center}
    .playerShell{width:min(1200px,100%);height:min(780px,calc(100vh - 36px));background:#071426;border-radius:26px;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.45);display:grid;grid-template-rows:auto 1fr;position:relative}
    .playerBar{min-height:58px;padding:9px 12px;display:flex;align-items:center;gap:9px;background:linear-gradient(135deg,#102a55,#07182f);color:#fff}
    .playerTitle{font-weight:1000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:auto}
    .playerBar button,.playerBar a{min-height:39px;border:0;border-radius:12px;padding:0 12px;background:rgba(255,255,255,.11);color:#fff;text-decoration:none;font:900 13px Arial,sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}
    .playerBar button:hover,.playerBar a:hover{background:rgba(255,255,255,.18)}
    .gameFrame{width:100%;height:100%;border:0;background:#000}
    .launchCover{position:absolute;inset:58px 0 0;display:grid;place-items:center;background:linear-gradient(135deg,#071426,#102a55);z-index:5;color:#fff;transition:opacity .28s ease,visibility .28s ease}
    .launchCover.hide{opacity:0;visibility:hidden}
    .launchBox{text-align:center}
    .launchEmoji{font-size:58px;animation:launchPulse .7s ease-in-out infinite alternate}
    .launchText{margin-top:10px;font-size:18px;font-weight:1000}
    @keyframes launchPulse{to{transform:scale(1.15) translateY(-5px)}}

    .confetti{position:fixed;width:10px;height:10px;border-radius:3px;background:var(--c);top:-20px;left:var(--x);z-index:3;pointer-events:none;animation:fall var(--t) linear infinite;opacity:.8}
    @keyframes fall{to{transform:translateY(calc(100vh + 40px)) rotate(260deg)}}


    /* screenshots carousel */
    .projectPreview.previewSlider{
      padding:0;
      background:#0b1422;
    }
    .previewSlide{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      opacity:0;
      transform:scale(1.01);
      transition:opacity .42s ease,transform .42s ease;
    }
    .previewSlide.active{
      opacity:1;
      transform:scale(1);
    }
    .previewShade{
      position:absolute;
      inset:0;
      z-index:1;
      pointer-events:none;
      background:linear-gradient(180deg,rgba(2,12,28,.02) 55%,rgba(2,12,28,.18));
    }
    .previewDots{
      position:absolute;
      right:10px;
      bottom:10px;
      z-index:3;
      display:flex;
      gap:5px;
      padding:7px 9px;
      border-radius:999px;
      background:rgba(255,255,255,.9);
      box-shadow:0 6px 18px rgba(0,0,0,.12);
    }
    .previewDots i{
      width:6px;
      height:6px;
      border-radius:50%;
      background:rgba(64,152,247,.28);
      transition:transform .2s ease,background .2s ease;
    }
    .previewDots i.active{
      background:#157df2;
      transform:scale(1.25);
    }


    /* standalone random game button - extra emphasis */
    .randomHeroWrap{
      margin:26px auto 4px;
      display:flex;
      justify-content:center;
      position:relative;
      z-index:4;
    }

    .randomHeroButton{
      min-height:82px;
      min-width:360px;
      padding:0 38px;
      border:3px solid rgba(255,255,255,.9);
      border-radius:27px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:14px;
      cursor:pointer;
      font:1000 20px/1 Arial,sans-serif;
      letter-spacing:.035em;
      color:#fff;
      background:
        linear-gradient(135deg,#ff4f7b 0%,#ff7a1a 48%,#ffc400 100%);
      box-shadow:
        0 22px 50px rgba(255,92,43,.34),
        0 0 0 7px rgba(255,170,0,.12),
        inset 0 1px 0 rgba(255,255,255,.5);
      position:relative;
      isolation:isolate;
      overflow:visible;
      animation:randomHeroJump 2.8s ease-in-out infinite;
      transition:filter .18s ease,box-shadow .18s ease,transform .18s ease;
    }

    .randomHeroButton::before{
      content:"";
      position:absolute;
      inset:-10px;
      border-radius:34px;
      border:3px solid rgba(255,128,56,.34);
      opacity:0;
      z-index:-1;
      animation:randomHeroRing 2.8s ease-in-out infinite;
      pointer-events:none;
    }

    .randomHeroButton::after{
      content:"";
      position:absolute;
      inset:5px;
      border-radius:20px;
      background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.42) 45%,transparent 68%);
      transform:translateX(-140%);
      z-index:-1;
      animation:randomShine 3.6s ease-in-out infinite;
      pointer-events:none;
    }

    .randomHeroButton:hover{
      animation-play-state:paused;
      transform:translateY(-4px) scale(1.045);
      filter:brightness(1.06) saturate(1.08);
      box-shadow:
        0 30px 64px rgba(255,92,43,.42),
        0 0 0 9px rgba(255,170,0,.16),
        inset 0 1px 0 rgba(255,255,255,.55);
    }

    .randomHeroButton:hover::before,
    .randomHeroButton:hover::after{
      animation-play-state:paused;
    }

    .randomHeroDice{
      display:inline-block;
      font-size:34px;
      filter:drop-shadow(0 4px 7px rgba(90,20,0,.22));
      animation:randomDiceWiggle 1.35s ease-in-out infinite;
    }

    .randomSpark{
      position:absolute;
      color:#fff6b6;
      font-size:22px;
      text-shadow:0 0 12px rgba(255,255,255,.95);
      pointer-events:none;
      animation:randomSpark 1.8s ease-in-out infinite;
    }

    .randomSpark1{
      left:-14px;
      top:-14px;
    }

    .randomSpark2{
      right:-16px;
      bottom:-13px;
      animation-delay:.7s;
    }

    @keyframes randomHeroJump{
      0%,62%,100%{transform:translateY(0) scale(1)}
      69%{transform:translateY(-16px) scale(1.055)}
      76%{transform:translateY(0) scale(1)}
      82%{transform:translateY(-7px) scale(1.025)}
      88%{transform:translateY(0) scale(1)}
    }

    @keyframes randomHeroRing{
      0%,62%,100%{opacity:0;transform:scale(.95)}
      69%{opacity:1;transform:scale(1.04)}
      88%{opacity:0;transform:scale(1.16)}
    }

    @keyframes randomDiceWiggle{
      0%,100%{transform:rotate(0) scale(1)}
      25%{transform:rotate(-10deg) scale(1.06)}
      55%{transform:rotate(10deg) scale(1.1)}
      78%{transform:rotate(-5deg) scale(1.04)}
    }

    @keyframes randomShine{
      0%,58%{transform:translateX(-140%);opacity:0}
      65%{opacity:1}
      78%{transform:translateX(140%);opacity:0}
      100%{transform:translateX(140%);opacity:0}
    }

    @keyframes randomSpark{
      0%,100%{transform:scale(.7) rotate(0deg);opacity:.3}
      50%{transform:scale(1.25) rotate(25deg);opacity:1}
    }


    .lead{
      max-width:560px;
      font-size:18px;
      margin-top:12px;
    }

    .heroFlow{
      margin:18px auto 0;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      flex-wrap:wrap;
      max-width:860px;
    }
    .flowItem{
      min-height:58px;
      padding:0 16px;
      border-radius:18px;
      background:rgba(255,255,255,.88);
      border:1px solid rgba(64,152,247,.16);
      box-shadow:0 10px 24px rgba(37,104,180,.08);
      display:inline-flex;
      align-items:center;
      gap:10px;
      color:var(--ink);
      font-weight:1000;
    }
    .flowIcon{
      width:34px;
      height:34px;
      display:grid;
      place-items:center;
      border-radius:12px;
      background:linear-gradient(135deg,#edf7ff,#fff4cd);
      font-size:18px;
      box-shadow:inset 0 0 0 1px rgba(64,152,247,.12);
      flex:0 0 auto;
    }
    .flowArrow{
      color:#7a92b9;
      font-size:22px;
      font-weight:1000;
      line-height:1;
    }

    .footer{
      text-align:center;
    }

    /* improved loading screen */
    .launchCover{
      position:absolute;
      inset:58px 0 0;
      display:grid;
      place-items:center;
      background:
        radial-gradient(circle at 20% 18%,rgba(255,194,38,.26),transparent 20%),
        radial-gradient(circle at 80% 22%,rgba(64,152,247,.22),transparent 18%),
        linear-gradient(135deg,#071426 0%,#0b1c36 48%,#102a55 100%);
      z-index:5;
      transition:opacity .28s ease,visibility .28s ease;
      overflow:hidden;
    }
    .launchCover.hide{
      opacity:0;
      visibility:hidden;
    }
    .launchDecor{
      position:absolute;
      border-radius:50%;
      filter:blur(10px);
      opacity:.75;
      pointer-events:none;
      animation:launchFloat 6s ease-in-out infinite;
    }
    .launchDecor.decor1{
      width:180px;
      height:180px;
      left:12%;
      top:18%;
      background:rgba(255,194,38,.22);
    }
    .launchDecor.decor2{
      width:220px;
      height:220px;
      right:10%;
      bottom:14%;
      background:rgba(64,152,247,.18);
      animation-delay:-2.2s;
    }
    @keyframes launchFloat{
      0%,100%{transform:translateY(0) scale(1)}
      50%{transform:translateY(-18px) scale(1.04)}
    }

    .launchPanel{
      width:min(560px,calc(100% - 34px));
      padding:28px 26px 24px;
      border-radius:30px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.14);
      box-shadow:0 30px 70px rgba(0,0,0,.28);
      backdrop-filter:blur(18px);
      text-align:center;
      position:relative;
      overflow:hidden;
    }
    .launchPanel::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(120deg,transparent 22%,rgba(255,255,255,.08) 48%,transparent 72%);
      transform:translateX(-120%);
      animation:launchShine 3.6s ease-in-out infinite;
      pointer-events:none;
    }
    @keyframes launchShine{
      0%,60%{transform:translateX(-120%)}
      85%,100%{transform:translateX(120%)}
    }

    .launchBadge{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:34px;
      padding:0 14px;
      border-radius:999px;
      background:rgba(255,255,255,.14);
      border:1px solid rgba(255,255,255,.18);
      color:#fff;
      font-size:12px;
      font-weight:1000;
      letter-spacing:.06em;
      text-transform:uppercase;
    }

    .launchOrb{
      width:112px;
      height:112px;
      margin:18px auto 14px;
      border-radius:50%;
      display:grid;
      place-items:center;
      position:relative;
      background:linear-gradient(135deg,#ffd755,#ffae00);
      box-shadow:0 16px 42px rgba(255,173,0,.28), inset 0 0 0 4px rgba(255,255,255,.26);
    }
    .launchEmoji{
      font-size:52px;
      position:relative;
      z-index:2;
      animation:launchPulse 1s ease-in-out infinite alternate;
    }
    .launchOrbit{
      position:absolute;
      inset:-10px;
      border-radius:50%;
      border:2px solid rgba(255,255,255,.18);
      animation:orbitSpin 5.6s linear infinite;
    }
    .launchOrbit.orbit2{
      inset:-22px;
      border-style:dashed;
      opacity:.82;
      animation-direction:reverse;
      animation-duration:7s;
    }
    @keyframes orbitSpin{
      to{transform:rotate(360deg)}
    }
    @keyframes launchPulse{
      to{transform:scale(1.08) translateY(-3px)}
    }

    .launchText{
      margin-top:2px;
      color:#fff;
      font-size:28px;
      font-weight:1000;
      letter-spacing:-.03em;
    }
    .launchGameName{
      margin-top:8px;
      color:rgba(255,255,255,.82);
      font-size:16px;
      font-weight:800;
      line-height:1.35;
    }

    .launchProgress{
      height:16px;
      margin:20px auto 0;
      width:min(360px,100%);
      padding:3px;
      border-radius:999px;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.12);
      overflow:hidden;
    }
    .launchProgressBar{
      display:block;
      height:100%;
      width:38%;
      border-radius:999px;
      background:linear-gradient(90deg,#ffe26e,#ffb100,#68bcff);
      box-shadow:0 0 18px rgba(255,194,38,.34);
      animation:loadingBar 1.5s ease-in-out infinite;
    }
    @keyframes loadingBar{
      0%{transform:translateX(-115%);width:30%}
      50%{transform:translateX(95%);width:44%}
      100%{transform:translateX(235%);width:30%}
    }

    .launchSteps{
      margin-top:18px;
      display:flex;
      justify-content:center;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
    }
    .launchSteps span{
      min-height:34px;
      padding:0 12px;
      border-radius:999px;
      background:rgba(255,255,255,.1);
      border:1px solid rgba(255,255,255,.12);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      color:#fff;
      font-size:12px;
      font-weight:900;
    }


    /* interactive project previews */
    .projectPreview.isPlayable{
      cursor:pointer;
    }

    .previewPlay{
      position:absolute;
      left:50%;
      top:50%;
      z-index:5;
      transform:translate(-50%,-44%) scale(.94);
      min-height:44px;
      padding:0 16px;
      border-radius:999px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:7px;
      color:#fff;
      background:rgba(7,24,47,.84);
      border:1px solid rgba(255,255,255,.22);
      box-shadow:0 12px 32px rgba(0,0,0,.25);
      backdrop-filter:blur(10px);
      font-size:13px;
      font-weight:1000;
      opacity:0;
      pointer-events:none;
      transition:opacity .2s ease,transform .2s ease;
    }

    .projectPreview.isPlayable:hover .previewPlay{
      opacity:1;
      transform:translate(-50%,-50%) scale(1);
    }

    .previewArrow{
      position:absolute;
      top:50%;
      z-index:7;
      width:36px;
      height:36px;
      margin-top:-18px;
      padding:0;
      border:1px solid rgba(255,255,255,.38);
      border-radius:50%;
      display:grid;
      place-items:center;
      color:#fff;
      background:rgba(7,24,47,.62);
      box-shadow:0 8px 24px rgba(0,0,0,.18);
      backdrop-filter:blur(8px);
      cursor:pointer;
      font:1000 22px/1 Arial,sans-serif;
      opacity:.2;
      transition:opacity .18s ease,transform .18s ease,background .18s ease;
    }

    .projectPreview:hover .previewArrow{
      opacity:1;
    }

    .previewArrow:hover{
      background:rgba(7,24,47,.9);
      transform:scale(1.08);
    }

    .previewArrow.prev{left:9px}
    .previewArrow.next{right:9px}

    .previewCounter{
      position:absolute;
      left:50%;
      bottom:10px;
      z-index:7;
      transform:translateX(-50%);
      min-height:28px;
      padding:0 10px;
      border-radius:999px;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#244b7f;
      background:rgba(255,255,255,.93);
      border:1px solid rgba(64,152,247,.14);
      box-shadow:0 7px 18px rgba(0,0,0,.1);
      font-size:11px;
      font-weight:1000;
    }

    .previewDots{
      left:auto;
      right:10px;
      transform:none;
    }

    /* featured screenshots */
    .featuredCard{
      padding:14px;
    }

    .featuredPreview{
      height:132px;
      border-radius:20px;
      position:relative;
      overflow:hidden;
      display:block;
      margin-bottom:14px;
      background:linear-gradient(135deg,#dff2ff,#fff5c8);
      border:1px solid rgba(64,152,247,.14);
      text-decoration:none;
    }

    .featuredPreview img{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      z-index:2;
      transition:transform .25s ease;
    }

    .featuredCard:hover .featuredPreview img{
      transform:scale(1.035);
    }

    .featuredFallback{
      position:absolute;
      inset:0;
      display:grid;
      place-items:center;
      font-size:52px;
      z-index:1;
    }

    .featuredPreviewShade{
      position:absolute;
      inset:0;
      z-index:3;
      background:linear-gradient(180deg,transparent 45%,rgba(7,24,47,.42));
      pointer-events:none;
    }

    .featuredPreview .featuredBadge{
      position:absolute;
      right:10px;
      top:10px;
      z-index:4;
    }

    .featuredPreview .previewPlay{
      z-index:5;
    }

    .featuredPreview:hover .previewPlay{
      opacity:1;
      transform:translate(-50%,-50%) scale(1);
    }

    @media(max-width:900px){
      .previewArrow{opacity:.9}
      .previewPlay{opacity:.92;top:auto;bottom:10px;transform:translateX(-50%);min-height:36px;font-size:12px}
      .projectPreview.isPlayable:hover .previewPlay{transform:translateX(-50%)}
      .featuredPreview .previewPlay{top:50%;bottom:auto;transform:translate(-50%,-50%);opacity:.92}
      .featuredPreview:hover .previewPlay{transform:translate(-50%,-50%) scale(1)}
    }

    @media(max-width:900px){
      .page{width:100%;padding:10px}
      .hero{padding:21px 16px;border-radius:28px}
      .hero:before,.hero:after{display:none}
      .logo{gap:10px;margin-bottom:15px}
      .robot{width:70px;height:70px;border-radius:23px}
      .robot:before,.robot:after{height:16px;top:-10px}
      .eye{top:24px;width:18px;height:10px;border-bottom-width:3px}
      .eye.e1{left:15px}.eye.e2{right:15px}
      .book{width:39px;height:29px;left:18px;top:39px;border-width:2px}
      .brand{font-size:42px}
      h1{font-size:31px}
      .lead{font-size:15px}
      .heroStat{min-width:120px;flex:1}
      .randomHeroButton{width:min(100%,390px);min-width:0;min-height:72px;font-size:18px;padding:0 24px}
      .topActions{display:grid;grid-template-columns:1fr 1fr}
      .topActions .btn{width:100%}
      .sectionHead{display:block;margin-left:2px}
      .sectionHead h2{font-size:29px}
      .small{margin-top:4px;font-size:14px}
      .featuredGrid,.cards{grid-template-columns:1fr;gap:13px}
      .featuredCard,.card{border-radius:25px;padding:16px}
      .projectPreview{height:132px}
      .card h3{font-size:25px}
      .gameSorter{top:4px;border-radius:20px;padding:9px;gap:7px}
      .sorterLabel{width:100%}
      .searchBox{order:-1;flex-basis:100%;width:100%}
      .filterBtn{flex:1 1 calc(50% - 7px);padding:0 9px}
      .filterResult{text-align:left}
      .groupDivider{gap:8px}
      .groupDivider span{padding:9px 12px;font-size:13px}
      .collectionPanel{padding:18px 12px;border-radius:28px}
      .playerShell{height:calc(100vh - 20px);border-radius:18px}
      .gameModal{padding:10px}
      .playerBar{flex-wrap:wrap;min-height:92px}
      .playerTitle{width:100%;margin:0}
      .launchCover{inset:92px 0 0}
      .heroFlow{gap:8px}
      .flowItem{width:100%;justify-content:flex-start;min-height:50px;border-radius:16px}
      .flowArrow{display:none}
      .launchPanel{padding:22px 16px 18px;border-radius:24px}
      .launchText{font-size:23px}
      .launchGameName{font-size:14px}
      .launchOrb{width:94px;height:94px}
      .launchEmoji{font-size:44px}
      .launchSteps span{font-size:11px}
      .confetti{display:none}
    }

    @media(max-width:520px){
      .topActions{grid-template-columns:1fr}
      .heroStats{display:grid;grid-template-columns:1fr 1fr}
      .heroStat:last-child{grid-column:1/-1}
      .gameLinks{grid-template-columns:1fr}
      .gameLinks>a:last-child:nth-child(odd){grid-column:auto}
      .filterBtn{font-size:12px}
    }


    /* ===== polish v18 ===== */

    .hero{
      min-height:0;
      padding-bottom:26px;
    }

    .lead{
      margin-top:10px;
      font-size:17px;
    }

    .topActions{
      margin-top:18px;
    }

    .socialActions{
      margin:10px auto 0;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:7px;
      flex-wrap:wrap;
    }

    .socialBtn{
      min-height:40px;
      padding:0 12px;
      border-radius:13px;
      border:1px solid rgba(64,152,247,.15);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      text-decoration:none;
      cursor:pointer;
      font:900 13px/1 Arial,sans-serif;
      transition:transform .18s ease,box-shadow .18s ease;
    }

    .socialBtn:hover{
      transform:translateY(-2px);
      box-shadow:0 9px 22px rgba(37,104,180,.14);
    }

    .whatsappBtn{
      background:#fff8dd;
      color:#745100;
    }

    .vkBtn{
      background:#eaf4ff;
      color:#176fc9;
    }

    .maxBtn{
      background:#eef2f8;
      color:#1a3154;
    }

    .heroFlow{
      margin:18px auto 0;
      min-height:46px;
      width:max-content;
      max-width:100%;
      padding:0 18px;
      border-radius:999px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:12px;
      background:rgba(255,255,255,.68);
      border:1px solid rgba(64,152,247,.14);
      box-shadow:none;
      color:#49688f;
      font-size:13px;
      font-weight:1000;
    }

    .heroFlow span{
      white-space:nowrap;
    }

    .heroFlow b{
      color:#9aacca;
      font-size:16px;
    }

    .mobileHint{
      display:none;
    }

    /* random button jumps noticeably, but not constantly */
    .randomHeroButton,
    .randomHeroButton::before{
      animation-duration:4.6s;
    }

    .randomHeroButton::after{
      animation-duration:5.2s;
    }

    .randomHeroDice{
      animation-duration:2.4s;
    }

    /* bigger, clearer previews */
    .projectPreview{
      height:168px;
    }

    .previewKindLabel{
      position:absolute;
      left:10px;
      bottom:10px;
      z-index:8;
      min-height:30px;
      padding:0 11px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background:rgba(7,24,47,.78);
      border:1px solid rgba(255,255,255,.22);
      color:#fff;
      box-shadow:0 7px 18px rgba(0,0,0,.16);
      backdrop-filter:blur(9px);
      font-size:11px;
      font-weight:1000;
    }

    .previewCounter{
      bottom:10px;
    }

    .previewDots{
      bottom:10px;
    }

    .previewPlay{
      font-size:14px;
    }

    /* less duplication under cards */
    .card p{
      min-height:0;
      font-size:13px;
    }

    .projectMeta{
      margin-top:8px;
    }

    .projectCount{
      min-height:27px;
      font-size:11px;
    }

    /* current group / old group read as sections */
    .groupDivider{
      margin:14px 0 4px;
    }

    .groupDivider span{
      padding:11px 18px;
    }

    /* featured = visual showcase */
    .featuredCard{
      padding:14px;
      min-height:0;
    }

    .featuredPreview{
      height:170px;
      margin-bottom:13px;
    }

    .featuredCard h3{
      margin:0 0 12px;
      font-size:23px;
    }

    .featuredCard .btn{
      min-height:48px;
    }

    /* compact filters */
    .gameSorter{
      overflow:visible;
    }

    .moreFilters{
      position:relative;
      flex:0 0 auto;
    }

    .moreFilters summary{
      min-height:44px;
      padding:0 14px;
      border:1px solid rgba(64,152,247,.18);
      border-radius:15px;
      background:#eef7ff;
      color:var(--text);
      cursor:pointer;
      list-style:none;
      display:flex;
      align-items:center;
      justify-content:center;
      font:900 13px/1 Arial,sans-serif;
      user-select:none;
    }

    .moreFilters summary::-webkit-details-marker{
      display:none;
    }

    .moreFilters.hasActive summary{
      color:#fff;
      background:linear-gradient(135deg,var(--blue),var(--blue2));
      box-shadow:0 10px 26px rgba(64,152,247,.25);
    }

    .moreFiltersMenu{
      position:absolute;
      right:0;
      top:calc(100% + 7px);
      z-index:60;
      width:190px;
      padding:8px;
      border-radius:17px;
      display:grid;
      gap:7px;
      background:rgba(255,255,255,.98);
      border:1px solid rgba(64,152,247,.18);
      box-shadow:0 18px 46px rgba(37,104,180,.2);
      backdrop-filter:blur(16px);
    }

    .moreFiltersMenu .filterBtn{
      width:100%;
      justify-content:space-between;
    }

    /* real loading states */
    .launchSteps span{
      opacity:.46;
      transition:opacity .18s ease,background .18s ease,transform .18s ease;
    }

    .launchSteps span.active{
      opacity:1;
      background:rgba(255,194,38,.2);
      transform:translateY(-1px);
    }

    .launchSteps span.done{
      opacity:1;
      background:rgba(88,210,145,.16);
    }

    @media(max-width:900px){
      .socialActions{
        gap:6px;
      }

      .socialBtn{
        min-height:38px;
        font-size:12px;
      }

      .heroFlow{
        width:100%;
        min-height:0;
        padding:10px 12px;
        border-radius:18px;
        gap:7px;
        flex-wrap:wrap;
        font-size:12px;
      }

      .heroFlow b{
        font-size:13px;
      }

      .mobileHint{
        margin:10px auto 0;
        display:block;
        max-width:430px;
        padding:9px 12px;
        border-radius:13px;
        color:#5d7290;
        background:rgba(255,255,255,.58);
        border:1px solid rgba(64,152,247,.12);
        text-align:center;
        font-size:11px;
        font-weight:900;
      }

      .projectPreview{
        height:158px;
      }

      .previewKindLabel{
        bottom:9px;
        font-size:10px;
      }

      .featuredPreview{
        height:160px;
      }

      .moreFilters{
        flex:1 1 calc(50% - 7px);
      }

      .moreFilters summary{
        width:100%;
      }

      .moreFiltersMenu{
        right:0;
        left:auto;
      }
    }

    @media(max-width:520px){
      .socialActions{
        display:grid;
        grid-template-columns:repeat(3,1fr);
        width:100%;
      }

      .socialBtn{
        padding:0 8px;
      }

      .heroFlow span{
        white-space:normal;
      }

      .previewKindLabel{
        max-width:55%;
        overflow:hidden;
        white-space:nowrap;
        text-overflow:ellipsis;
      }
    }


    /* ===== stronger hero + game buttons v19 ===== */

    .hero{
      background:
        radial-gradient(circle at 16% 14%,rgba(64,152,247,.18),transparent 28%),
        radial-gradient(circle at 84% 12%,rgba(255,194,38,.20),transparent 27%),
        linear-gradient(135deg,rgba(255,255,255,.96),rgba(240,248,255,.94) 55%,rgba(255,249,226,.95));
      border:1px solid rgba(64,152,247,.24);
      box-shadow:
        0 26px 70px rgba(37,104,180,.18),
        inset 0 1px 0 rgba(255,255,255,.95);
    }

    .hero h1{
      color:#0a2449;
      text-shadow:0 2px 0 rgba(255,255,255,.85);
    }

    .lead{
      color:#48698f;
      font-weight:800;
    }

    .heroStat{
      background:rgba(255,255,255,.92);
      border:1px solid rgba(64,152,247,.20);
      box-shadow:0 10px 28px rgba(37,104,180,.10);
    }

    .heroStat strong{
      color:#0d376f;
    }

    .heroStat span{
      color:#55749c;
    }

    .socialActions{
      opacity:1;
    }

    .socialBtn{
      border-width:1px;
      box-shadow:0 7px 18px rgba(37,104,180,.08);
    }

    .whatsappBtn{
      background:linear-gradient(135deg,#fff8d7,#ffe89b);
      color:#6f4d00;
      border-color:rgba(255,181,0,.24);
    }

    .vkBtn{
      background:linear-gradient(135deg,#edf6ff,#cfe8ff);
      color:#0f65b8;
      border-color:rgba(39,135,245,.22);
    }

    .maxBtn{
      background:linear-gradient(135deg,#263b5e,#12233e);
      color:#fff;
      border-color:rgba(17,24,39,.25);
    }

    .heroFlow{
      background:rgba(255,255,255,.88);
      border:1px solid rgba(64,152,247,.19);
      box-shadow:0 8px 22px rgba(37,104,180,.08);
      color:#315c91;
    }

    /* Game launch buttons are primary actions now */
    .gameLinks .btn.soft,
    .actions > .btn.soft{
      color:#fff;
      background:linear-gradient(135deg,#49a4ff,#167ef2);
      border:1px solid rgba(21,125,242,.28);
      box-shadow:
        0 12px 26px rgba(21,125,242,.22),
        inset 0 1px 0 rgba(255,255,255,.25);
      font-weight:1000;
    }

    .yellowStyle .gameLinks .btn.soft,
    .yellowStyle .actions > .btn.soft{
      color:#684500;
      background:linear-gradient(135deg,#ffe16b,#ffb60b);
      border:1px solid rgba(255,173,0,.30);
      box-shadow:
        0 12px 26px rgba(255,173,0,.20),
        inset 0 1px 0 rgba(255,255,255,.42);
    }

    .gameLinks .btn.soft:hover,
    .actions > .btn.soft:hover{
      transform:translateY(-3px) scale(1.025);
      filter:brightness(1.045) saturate(1.06);
      box-shadow:
        0 17px 34px rgba(21,125,242,.30),
        0 0 0 4px rgba(64,152,247,.09);
    }

    .yellowStyle .gameLinks .btn.soft:hover,
    .yellowStyle .actions > .btn.soft:hover{
      box-shadow:
        0 17px 34px rgba(255,173,0,.29),
        0 0 0 4px rgba(255,194,38,.11);
    }

    .gameLinks .btn.soft::before,
    .actions > .btn.soft::before{
      content:"▶";
      font-size:10px;
      opacity:.88;
      margin-right:1px;
    }

    .gameOnlyLinks .mini{
      min-height:66px;
      font-size:15px;
      letter-spacing:.005em;
    }

    /* "Open site" remains distinct from game buttons */
    .actions .open{
      box-shadow:0 14px 30px rgba(64,152,247,.22);
    }

    .yellowStyle .actions .open.yellow{
      box-shadow:0 14px 30px rgba(255,173,0,.22);
    }

    @media(max-width:900px){
      .gameLinks .btn.soft,
      .actions > .btn.soft{
        min-height:58px;
      }
    }


    /* ===== header + actions redesign v20 ===== */

    .hero.heroLayout{
      min-height:0;
      padding:24px;
      display:grid;
      grid-template-columns:minmax(0,1.35fr) minmax(330px,.72fr);
      gap:22px;
      align-items:stretch;
      background:
        radial-gradient(circle at 3% 6%,rgba(64,152,247,.18),transparent 29%),
        radial-gradient(circle at 62% 100%,rgba(255,194,38,.16),transparent 30%),
        linear-gradient(135deg,#ffffff 0%,#f3f9ff 58%,#fff9e8 100%);
      border:1px solid rgba(64,152,247,.20);
      box-shadow:0 24px 68px rgba(37,104,180,.16);
    }

    .hero.heroLayout::before,
    .hero.heroLayout::after{
      display:none;
    }

    .heroPrimary{
      min-width:0;
      padding:7px 8px 7px 10px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      align-items:flex-start;
      text-align:left;
    }

    .heroBrandLine{
      width:100%;
      display:flex;
      align-items:center;
      gap:14px;
      flex-wrap:wrap;
      margin-bottom:18px;
    }

    .heroBrandLine .logo{
      margin:0;
      justify-content:flex-start;
      gap:12px;
    }

    .heroBrandLine .robot{
      width:70px;
      height:70px;
      border-radius:23px;
    }

    .heroBrandLine .robot:before,
    .heroBrandLine .robot:after{
      height:16px;
      top:-10px;
    }

    .heroBrandLine .eye{
      top:24px;
      width:18px;
      height:10px;
      border-bottom-width:3px;
    }

    .heroBrandLine .eye.e1{left:15px}
    .heroBrandLine .eye.e2{right:15px}

    .heroBrandLine .book{
      width:39px;
      height:29px;
      left:18px;
      top:39px;
      border-width:2px;
    }

    .heroBrandLine .brand{
      font-size:clamp(40px,5vw,58px);
    }

    .heroBadge{
      min-height:34px;
      padding:0 12px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#315c91;
      background:#edf7ff;
      border:1px solid rgba(64,152,247,.16);
      font-size:12px;
      font-weight:1000;
    }

    .hero.heroLayout h1{
      margin:0;
      max-width:690px;
      text-align:left;
      color:#0a2449;
      font-size:clamp(34px,4.1vw,54px);
      line-height:1.03;
    }

    .hero.heroLayout .lead{
      margin:12px 0 0;
      max-width:600px;
      text-align:left;
      color:#5b77a5;
      font-size:17px;
      font-weight:800;
    }

    .hero.heroLayout .heroStats{
      margin:20px 0 0;
      justify-content:flex-start;
      gap:9px;
    }

    .hero.heroLayout .heroStat{
      min-width:126px;
      padding:10px 14px;
      background:#fff;
      border:1px solid rgba(64,152,247,.17);
      box-shadow:0 8px 22px rgba(37,104,180,.08);
    }

    .heroPrimaryActions{
      margin-top:18px;
      display:flex;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
    }

    .heroBrowse{
      min-height:50px;
      padding:0 18px;
    }

    .hero.heroLayout .socialActions{
      margin:0;
      justify-content:flex-start;
    }

    .heroQuick{
      min-width:0;
      padding:22px;
      border-radius:28px;
      position:relative;
      overflow:hidden;
      display:flex;
      flex-direction:column;
      justify-content:center;
      background:
        radial-gradient(circle at 88% 10%,rgba(126,239,255,.20),transparent 24%),
        radial-gradient(circle at 8% 100%,rgba(255,194,38,.18),transparent 28%),
        linear-gradient(145deg,#102a55,#0b4f9c 62%,#157df2);
      border:1px solid rgba(255,255,255,.14);
      box-shadow:
        0 20px 50px rgba(16,42,85,.22),
        inset 0 1px 0 rgba(255,255,255,.15);
    }

    .heroQuick::after{
      content:"";
      position:absolute;
      width:180px;
      height:180px;
      right:-78px;
      bottom:-92px;
      border-radius:50%;
      background:rgba(255,255,255,.08);
      pointer-events:none;
    }

    .quickTop{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:14px;
      color:#fff;
      position:relative;
      z-index:2;
    }

    .quickTop > div{
      display:grid;
      gap:5px;
    }

    .quickEyebrow{
      color:rgba(255,255,255,.70);
      font-size:12px;
      font-weight:900;
    }

    .quickTop strong{
      max-width:260px;
      color:#fff;
      font-size:20px;
      line-height:1.15;
    }

    .quickGameIcon{
      width:52px;
      height:52px;
      border-radius:17px;
      display:grid;
      place-items:center;
      flex:0 0 auto;
      font-size:27px;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.14);
    }

    .heroQuick .randomHeroWrap{
      width:100%;
      margin:22px 0 0;
    }

    .heroQuick .randomHeroButton{
      width:100%;
      min-width:0;
      min-height:74px;
      padding:0 22px;
      border-radius:22px;
      font-size:17px;
      letter-spacing:.025em;
    }

    .heroQuick .heroFlow{
      width:100%;
      max-width:none;
      min-height:46px;
      margin:16px 0 0;
      padding:8px 12px;
      border-radius:15px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:7px;
      color:#fff;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.12);
      box-shadow:none;
      font-size:11px;
      font-weight:1000;
    }

    .heroQuick .heroFlow span{
      white-space:nowrap;
    }

    .heroQuick .heroFlow b{
      color:rgba(255,255,255,.55);
    }

    /* --- Website is a secondary navigation action --- */

    .actionsWithSite{
      gap:10px;
    }

    .siteOpen{
      min-height:58px;
      width:100%;
      padding:8px 12px;
      border-radius:17px;
      display:flex;
      align-items:center;
      gap:10px;
      text-decoration:none;
      color:#173867;
      background:linear-gradient(135deg,#ffffff,#f1f8ff);
      border:2px solid rgba(64,152,247,.20);
      box-shadow:0 8px 20px rgba(37,104,180,.08);
      transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
    }

    .siteOpen:hover{
      transform:translateY(-2px);
      border-color:rgba(64,152,247,.48);
      box-shadow:0 12px 26px rgba(37,104,180,.14);
    }

    .siteIcon{
      width:38px;
      height:38px;
      border-radius:12px;
      display:grid;
      place-items:center;
      flex:0 0 auto;
      color:#fff;
      background:linear-gradient(135deg,#4098f7,#157df2);
      box-shadow:0 7px 16px rgba(64,152,247,.20);
      font-size:18px;
    }

    .siteCopy{
      min-width:0;
      display:grid;
      gap:2px;
      text-align:left;
      line-height:1.1;
    }

    .siteCopy strong{
      color:#173867;
      font-size:14px;
      font-weight:1000;
    }

    .siteCopy small{
      color:#6b86aa;
      font-size:10px;
      font-weight:800;
    }

    .siteArrow{
      margin-left:auto;
      width:30px;
      height:30px;
      border-radius:10px;
      display:grid;
      place-items:center;
      flex:0 0 auto;
      color:#157df2;
      background:#eaf5ff;
      font-size:15px;
      font-weight:1000;
    }

    .gamesSeparator{
      display:flex;
      align-items:center;
      gap:8px;
      color:#6b86aa;
      font-size:11px;
      font-weight:1000;
      text-transform:uppercase;
      letter-spacing:.06em;
    }

    .gamesSeparator::before,
    .gamesSeparator::after{
      content:"";
      height:1px;
      flex:1;
      background:rgba(64,152,247,.16);
    }

    /* --- Games are the primary CTA --- */

    .card .gameLinks .btn.soft,
    .card .actions > .btn.soft,
    .yellowStyle .gameLinks .btn.soft,
    .yellowStyle .actions > .btn.soft{
      min-height:58px;
      color:#fff;
      background:linear-gradient(135deg,#167ef2,#4098f7);
      border:1px solid rgba(21,125,242,.34);
      box-shadow:
        0 11px 24px rgba(21,125,242,.22),
        inset 0 1px 0 rgba(255,255,255,.22);
      font-size:14px;
      font-weight:1000;
    }

    .card .gameLinks .btn.soft:hover,
    .card .actions > .btn.soft:hover,
    .yellowStyle .gameLinks .btn.soft:hover,
    .yellowStyle .actions > .btn.soft:hover{
      color:#fff;
      transform:translateY(-3px) scale(1.02);
      filter:brightness(1.06) saturate(1.08);
      box-shadow:
        0 16px 32px rgba(21,125,242,.31),
        0 0 0 4px rgba(64,152,247,.09);
    }

    .card .gameLinks .btn.soft::before,
    .card .actions > .btn.soft::before,
    .yellowStyle .gameLinks .btn.soft::before,
    .yellowStyle .actions > .btn.soft::before{
      content:"";
      margin:0;
    }

    .gameOnlyLinks .mini{
      min-height:64px;
      font-size:15px;
    }

    .singleGameAction > .btn.soft{
      min-height:64px;
      font-size:15px;
    }

    @media(max-width:980px){
      .hero.heroLayout{
        grid-template-columns:1fr;
      }

      .heroQuick{
        min-height:0;
      }
    }

    @media(max-width:900px){
      .hero.heroLayout{
        padding:18px 15px;
        gap:15px;
      }

      .heroPrimary{
        padding:4px 2px;
      }

      .heroBrandLine{
        margin-bottom:14px;
      }

      .hero.heroLayout h1{
        font-size:31px;
      }

      .hero.heroLayout .lead{
        font-size:14px;
      }

      .heroPrimaryActions{
        width:100%;
      }

      .heroBrowse{
        width:100%;
      }

      .hero.heroLayout .socialActions{
        width:100%;
        display:grid;
        grid-template-columns:repeat(3,1fr);
      }

      .heroQuick{
        padding:18px;
        border-radius:22px;
      }

      .quickTop strong{
        font-size:18px;
      }

      .heroQuick .randomHeroButton{
        min-height:68px;
      }
    }

    @media(max-width:520px){
      .hero.heroLayout .heroStats{
        width:100%;
        display:grid;
        grid-template-columns:1fr 1fr;
      }

      .hero.heroLayout .heroStat{
        min-width:0;
      }

      .hero.heroLayout .heroStat:last-child{
        grid-column:1/-1;
      }

      .heroQuick .heroFlow{
        gap:5px;
        flex-wrap:wrap;
      }

      .siteOpen{
        min-height:56px;
      }
    }


    /* ===== softer header + clearer site buttons v21 ===== */

    /* Right header card: lighter, integrated with the hero instead of a dark separate block */
    .heroQuick{
      background:
        radial-gradient(circle at 84% 10%,rgba(64,152,247,.16),transparent 27%),
        radial-gradient(circle at 10% 100%,rgba(255,194,38,.15),transparent 30%),
        linear-gradient(145deg,#f5faff 0%,#eaf4ff 58%,#fff8dc 100%);
      border:1px solid rgba(64,152,247,.18);
      box-shadow:
        0 18px 44px rgba(37,104,180,.12),
        inset 0 1px 0 rgba(255,255,255,.9);
    }

    .heroQuick::after{
      background:rgba(64,152,247,.07);
    }

    .quickTop{
      color:#173867;
    }

    .quickEyebrow{
      color:#6683a8;
    }

    .quickTop strong{
      color:#102f5c;
    }

    .quickGameIcon{
      background:#ffffff;
      border:1px solid rgba(64,152,247,.16);
      box-shadow:0 8px 22px rgba(37,104,180,.10);
    }

    .heroQuick .heroFlow{
      color:#315c91;
      background:rgba(255,255,255,.78);
      border:1px solid rgba(64,152,247,.14);
      box-shadow:0 8px 20px rgba(37,104,180,.06);
    }

    .heroQuick .heroFlow b{
      color:#8aa0bb;
    }

    /* Website button: brighter and clearly different from game buttons */
    .siteOpen{
      min-height:62px;
      padding:9px 13px;
      color:#0c5fb8;
      background:
        linear-gradient(135deg,#f2f9ff 0%,#dbeeff 100%);
      border:2px solid rgba(64,152,247,.34);
      box-shadow:
        0 10px 24px rgba(64,152,247,.14),
        inset 0 1px 0 rgba(255,255,255,.95);
    }

    .siteOpen:hover{
      transform:translateY(-3px);
      border-color:rgba(21,125,242,.62);
      background:
        linear-gradient(135deg,#ffffff 0%,#cfe8ff 100%);
      box-shadow:
        0 15px 30px rgba(64,152,247,.22),
        0 0 0 4px rgba(64,152,247,.08);
    }

    .siteIcon{
      width:42px;
      height:42px;
      border-radius:13px;
      background:linear-gradient(135deg,#157df2,#55b3ff);
      box-shadow:0 8px 18px rgba(21,125,242,.26);
      font-size:20px;
    }

    .siteCopy strong{
      color:#0b5cad;
      font-size:15px;
    }

    .siteCopy small{
      color:#5f83aa;
      font-size:10px;
    }

    .siteArrow{
      width:34px;
      height:34px;
      color:#ffffff;
      background:linear-gradient(135deg,#157df2,#4098f7);
      box-shadow:0 6px 14px rgba(21,125,242,.20);
    }

    /* Keep the visual hierarchy very explicit:
       website = light blue navigation, games = saturated blue launch */
    .gamesSeparator{
      color:#57779e;
    }

    .gamesSeparator::before,
    .gamesSeparator::after{
      background:rgba(64,152,247,.20);
    }


    /* ===== author / teacher credit v22 ===== */

    .footer{
      padding:26px;
    }

    .footerStudentWork{
      text-align:center;
    }

    .footerStudentWork strong{
      margin-bottom:5px;
    }

    .footerStudentWork span{
      color:#6a83a5;
      font-size:13px;
      font-weight:800;
    }

    .teacherCredit{
      margin:22px auto 0;
      max-width:900px;
      padding:18px;
      border-radius:22px;
      display:grid;
      grid-template-columns:auto minmax(0,1fr) auto;
      gap:15px;
      align-items:center;
      text-align:left;
      background:
        linear-gradient(135deg,rgba(236,247,255,.96),rgba(255,249,224,.95));
      border:1px solid rgba(64,152,247,.16);
      box-shadow:0 10px 28px rgba(37,104,180,.08);
    }

    .teacherCreditIcon{
      width:58px;
      height:58px;
      border-radius:18px;
      display:grid;
      place-items:center;
      flex:0 0 auto;
      color:#fff;
      background:linear-gradient(135deg,#167ef2,#55b3ff);
      box-shadow:0 10px 22px rgba(21,125,242,.20);
      font-size:28px;
    }

    .teacherCreditText{
      min-width:0;
    }

    .teacherCreditLabel{
      display:block;
      margin-bottom:4px;
      color:#6b86aa;
      font-size:10px;
      font-weight:1000;
      letter-spacing:.08em;
      text-transform:uppercase;
    }

    .teacherCreditText h3{
      margin:0;
      color:#102f5c;
      font-size:18px;
      line-height:1.15;
    }

    .teacherCreditText p{
      margin:6px 0 0;
      max-width:570px;
      color:#5f7899;
      font-size:12px;
      line-height:1.45;
      font-weight:750;
    }

    .teacherCreditActions{
      display:grid;
      gap:7px;
      min-width:190px;
    }

    .teacherContact{
      min-height:42px;
      padding:0 13px;
      border-radius:13px;
      display:flex;
      align-items:center;
      justify-content:center;
      text-decoration:none;
      white-space:nowrap;
      font-size:12px;
      font-weight:1000;
      transition:transform .18s ease,box-shadow .18s ease;
    }

    .teacherContact:hover{
      transform:translateY(-2px);
    }

    .teacherContact.primary{
      color:#fff;
      background:linear-gradient(135deg,#167ef2,#4098f7);
      border:1px solid rgba(21,125,242,.25);
      box-shadow:0 8px 18px rgba(21,125,242,.17);
    }

    .teacherContact.secondary{
      color:#315c91;
      background:#fff;
      border:1px solid rgba(64,152,247,.18);
    }

    @media(max-width:760px){
      .teacherCredit{
        grid-template-columns:auto 1fr;
      }

      .teacherCreditActions{
        grid-column:1/-1;
        grid-template-columns:1fr 1fr;
        width:100%;
      }
    }

    @media(max-width:520px){
      .footer{
        padding:20px 14px;
      }

      .teacherCredit{
        padding:15px;
        grid-template-columns:1fr;
        text-align:center;
      }

      .teacherCreditIcon{
        margin:0 auto;
      }

      .teacherCreditText p{
        margin-left:auto;
        margin-right:auto;
      }

      .teacherCreditActions{
        grid-column:auto;
        grid-template-columns:1fr;
        min-width:0;
      }
    }


    /* ===== colorful actions + v20 random block v23 ===== */

    /* Вернули правый блок случайной игры как в v20 */
    .heroQuick{
      min-width:0;
      padding:22px;
      border-radius:28px;
      position:relative;
      overflow:hidden;
      display:flex;
      flex-direction:column;
      justify-content:center;
      background:
        radial-gradient(circle at 88% 10%,rgba(126,239,255,.20),transparent 24%),
        radial-gradient(circle at 8% 100%,rgba(255,194,38,.18),transparent 28%),
        linear-gradient(145deg,#102a55,#0b4f9c 62%,#157df2);
      border:1px solid rgba(255,255,255,.14);
      box-shadow:
        0 20px 50px rgba(16,42,85,.22),
        inset 0 1px 0 rgba(255,255,255,.15);
    }

    .heroQuick::after{
      content:"";
      position:absolute;
      width:180px;
      height:180px;
      right:-78px;
      bottom:-92px;
      border-radius:50%;
      background:rgba(255,255,255,.08);
      pointer-events:none;
    }

    .quickTop{
      color:#fff;
    }

    .quickEyebrow{
      color:rgba(255,255,255,.70);
    }

    .quickTop strong{
      color:#fff;
    }

    .quickGameIcon{
      color:#fff;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.14);
      box-shadow:none;
    }

    .heroQuick .heroFlow{
      color:#fff;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.12);
      box-shadow:none;
    }

    .heroQuick .heroFlow b{
      color:rgba(255,255,255,.55);
    }

    /* Сайт - отдельное яркое действие, но не выглядит как запуск игры */
    .siteOpen{
      min-height:62px;
      padding:9px 13px;
      color:#fff;
      background:linear-gradient(135deg,#18b6e8,#5567ff);
      border:0;
      box-shadow:
        0 12px 25px rgba(64,113,235,.24),
        inset 0 1px 0 rgba(255,255,255,.24);
    }

    .siteOpen:hover{
      color:#fff;
      transform:translateY(-3px) scale(1.01);
      background:linear-gradient(135deg,#21c6ef,#6759ff);
      border-color:transparent;
      box-shadow:
        0 16px 32px rgba(64,113,235,.30),
        0 0 0 4px rgba(85,103,255,.10);
    }

    .siteIcon{
      width:42px;
      height:42px;
      color:#fff;
      background:rgba(255,255,255,.18);
      border:1px solid rgba(255,255,255,.22);
      box-shadow:none;
    }

    .siteCopy strong{
      color:#fff;
      font-size:15px;
    }

    .siteCopy small{
      color:rgba(255,255,255,.78);
    }

    .siteArrow{
      width:34px;
      height:34px;
      color:#fff;
      background:rgba(255,255,255,.16);
      border:1px solid rgba(255,255,255,.18);
      box-shadow:none;
    }

    /* На жёлтых карточках сайт - тёплый градиент */
    .yellowStyle .siteOpen{
      background:linear-gradient(135deg,#ff9f2f,#ff5d76);
      box-shadow:
        0 12px 25px rgba(255,111,84,.23),
        inset 0 1px 0 rgba(255,255,255,.24);
    }

    .yellowStyle .siteOpen:hover{
      background:linear-gradient(135deg,#ffb12f,#ff527c);
      box-shadow:
        0 16px 32px rgba(255,111,84,.30),
        0 0 0 4px rgba(255,123,91,.10);
    }

    /* Игры теперь имеют свой цвет по типу */
    .card .gameLinks .btn.soft,
    .card .actions > .btn.soft{
      min-height:58px;
      color:#fff;
      border:0;
      font-size:14px;
      font-weight:1000;
      box-shadow:0 10px 22px rgba(30,55,90,.14);
      transition:
        transform .18s ease,
        filter .18s ease,
        box-shadow .18s ease;
    }

    .card .gameLinks .btn.soft:hover,
    .card .actions > .btn.soft:hover{
      color:#fff;
      transform:translateY(-3px) scale(1.025);
      filter:brightness(1.06) saturate(1.08);
    }

    .gameType-clicker{
      background:linear-gradient(135deg,#ffb326,#ff7a1a)!important;
      box-shadow:0 11px 24px rgba(255,130,26,.23)!important;
    }

    .gameType-clicker:hover{
      box-shadow:0 16px 30px rgba(255,130,26,.31),0 0 0 4px rgba(255,179,38,.10)!important;
    }

    .gameType-adventure{
      background:linear-gradient(135deg,#8c67ff,#5d55e9)!important;
      box-shadow:0 11px 24px rgba(105,84,232,.23)!important;
    }

    .gameType-adventure:hover{
      box-shadow:0 16px 30px rgba(105,84,232,.31),0 0 0 4px rgba(140,103,255,.10)!important;
    }

    .gameType-runner{
      background:linear-gradient(135deg,#20c88a,#0ba86f)!important;
      box-shadow:0 11px 24px rgba(11,168,111,.22)!important;
    }

    .gameType-runner:hover{
      box-shadow:0 16px 30px rgba(11,168,111,.30),0 0 0 4px rgba(32,200,138,.10)!important;
    }

    .gameType-tycoon{
      background:linear-gradient(135deg,#25a8e8,#167ef2)!important;
      box-shadow:0 11px 24px rgba(22,126,242,.22)!important;
    }

    .gameType-tycoon:hover{
      box-shadow:0 16px 30px rgba(22,126,242,.30),0 0 0 4px rgba(37,168,232,.10)!important;
    }

    .gameType-quest{
      background:linear-gradient(135deg,#ed5fa8,#c94fc7)!important;
      box-shadow:0 11px 24px rgba(201,79,199,.22)!important;
    }

    .gameType-quest:hover{
      box-shadow:0 16px 30px rgba(201,79,199,.30),0 0 0 4px rgba(237,95,168,.10)!important;
    }

    /* Разделитель между сайтом и играми чуть заметнее */
    .gamesSeparator{
      color:#56769e;
      margin-top:1px;
    }

    .gamesSeparator::before,
    .gamesSeparator::after{
      background:rgba(64,152,247,.20);
    }

    @media(max-width:900px){
      .heroQuick{
        padding:18px;
        border-radius:22px;
      }
    }


    /* ===== compact teacher credit v24 ===== */

    .teacherCredit{
      margin-top:16px;
      padding:12px 14px;
      grid-template-columns:auto minmax(0,1fr) auto;
      gap:11px;
      border-radius:18px;
    }

    .teacherCreditIcon{
      width:46px;
      height:46px;
      border-radius:14px;
      font-size:22px;
    }

    .teacherCreditLabel{
      margin-bottom:2px;
      font-size:9px;
    }

    .teacherCreditText h3{
      font-size:16px;
    }

    .teacherCreditText p{
      margin-top:4px;
      font-size:11px;
      line-height:1.35;
    }

    .teacherCreditActions{
      min-width:175px;
      display:block;
    }

    .teacherContact{
      min-height:40px;
      padding:0 12px;
      border-radius:12px;
      font-size:11px;
    }

    .footer{
      padding-top:21px;
      padding-bottom:20px;
    }

    .footerActions{
      margin-top:15px;
    }

    @media(max-width:760px){
      .teacherCredit{
        grid-template-columns:auto minmax(0,1fr);
      }

      .teacherCreditActions{
        grid-column:1/-1;
        width:100%;
        min-width:0;
      }

      .teacherContact{
        width:100%;
      }
    }

    @media(max-width:520px){
      .teacherCredit{
        padding:12px;
        gap:9px;
      }

      .teacherCreditText p{
        font-size:10px;
      }
    }


    /* =========================================================
       KODKLASS PASS / local student profile
       ========================================================= */

    .studentHub{
      margin-top:24px;
      padding:22px;
      position:relative;
      overflow:hidden;
      border-radius:30px;
      background:
        radial-gradient(circle at 5% 20%,rgba(64,152,247,.14),transparent 27%),
        radial-gradient(circle at 95% 90%,rgba(255,194,38,.14),transparent 26%),
        rgba(255,255,255,.84);
      border:1px solid rgba(255,255,255,.95);
      box-shadow:var(--shadowSoft);
    }

    .hubGlow{
      position:absolute;
      pointer-events:none;
      border-radius:50%;
      filter:blur(4px);
      opacity:.5;
    }

    .hubGlowA{
      width:180px;height:180px;
      left:-80px;top:-100px;
      background:rgba(64,152,247,.18);
    }

    .hubGlowB{
      width:170px;height:170px;
      right:-70px;bottom:-90px;
      background:rgba(255,194,38,.18);
    }

    .hubMain{position:relative;z-index:2}

    .hubHeading{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
    }

    .hubHeading h2{
      margin:5px 0 0;
      color:var(--ink);
      font-size:clamp(23px,3vw,34px);
      line-height:1.05;
    }

    .hubHeading p{
      margin:7px 0 0;
      color:#6b83a4;
      font-size:12px;
      font-weight:800;
    }

    .hubEyebrow,.dailyEyebrow,.passEyebrow{
      color:#157df2;
      font-size:10px;
      font-weight:1000;
      letter-spacing:.10em;
    }

    .hubProfileButton{
      min-width:240px;
      min-height:64px;
      padding:8px 12px;
      border:1px solid rgba(64,152,247,.16);
      border-radius:18px;
      display:flex;
      align-items:center;
      gap:10px;
      cursor:pointer;
      color:#183a65;
      background:#fff;
      box-shadow:0 9px 24px rgba(37,104,180,.08);
      transition:transform .18s ease,box-shadow .18s ease;
    }

    .hubProfileButton:hover{
      transform:translateY(-2px);
      box-shadow:0 13px 30px rgba(37,104,180,.14);
    }

    .hubProfileAvatar{
      width:45px;height:45px;
      border-radius:14px;
      display:grid;
      place-items:center;
      flex:0 0 auto;
      background:linear-gradient(135deg,#dff1ff,#fff1bd);
      font-size:24px;
    }

    .hubProfileText{
      display:grid;
      gap:2px;
      min-width:0;
      text-align:left;
    }

    .hubProfileText small{
      color:#7890ad;
      font-size:9px;
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.06em;
    }

    .hubProfileText strong{
      overflow:hidden;
      color:#183a65;
      font-size:13px;
      white-space:nowrap;
      text-overflow:ellipsis;
    }

    .hubProfileArrow{
      margin-left:auto;
      color:#6f8bad;
      font-size:25px;
      line-height:1;
    }

    .hubDashboard{margin-top:18px}

    .hubStartCard{
      width:100%;
      min-height:86px;
      padding:15px 18px;
      border:0;
      border-radius:22px;
      display:grid;
      grid-template-columns:auto minmax(0,1fr) auto;
      align-items:center;
      gap:15px;
      cursor:pointer;
      text-align:left;
      color:#fff;
      background:
        radial-gradient(circle at 88% 0%,rgba(255,255,255,.20),transparent 24%),
        linear-gradient(135deg,#6f5cff,#367fe9 58%,#24a6dc);
      box-shadow:0 16px 34px rgba(74,99,225,.22);
      transition:transform .18s ease,box-shadow .18s ease;
    }

    .hubStartCard:hover{
      transform:translateY(-3px);
      box-shadow:0 20px 42px rgba(74,99,225,.29);
    }

    .hubStartIcon{
      width:51px;height:51px;
      border-radius:16px;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.16);
      border:1px solid rgba(255,255,255,.18);
      font-size:25px;
    }

    .hubStartCard span:nth-child(2){
      display:grid;
      gap:4px;
    }

    .hubStartCard strong{font-size:17px}
    .hubStartCard small{max-width:650px;color:rgba(255,255,255,.78);font-weight:800}
    .hubStartCard b{font-size:13px;white-space:nowrap}

    .hubLogged{margin-top:18px}

    .hubProgressRow{
      display:grid;
      grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);
      gap:13px;
    }

    .levelCard{
      padding:16px;
      border-radius:21px;
      background:linear-gradient(135deg,#0f2c59,#185aa9);
      box-shadow:0 14px 30px rgba(20,75,145,.17);
    }

    .levelTop{
      display:flex;
      align-items:center;
      gap:11px;
      color:#fff;
    }

    .levelBadge{
      width:43px;height:43px;
      border-radius:14px;
      display:grid;
      place-items:center;
      flex:0 0 auto;
      color:#664600;
      background:linear-gradient(135deg,#ffe476,#ffbb26);
      box-shadow:0 7px 18px rgba(255,194,38,.22);
      font-size:18px;
      font-weight:1000;
    }

    .levelTop > div{display:grid;gap:1px}
    .levelTop small{color:rgba(255,255,255,.67);font-size:9px;font-weight:900;text-transform:uppercase}
    .levelTop strong{font-size:16px}
    .levelXpText{margin-left:auto;color:rgba(255,255,255,.76);font-size:11px;font-weight:900}

    .xpBar{
      height:9px;
      margin-top:13px;
      overflow:hidden;
      border-radius:999px;
      background:rgba(255,255,255,.13);
    }

    .xpBar span{
      display:block;
      width:0%;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,#61e7ff,#ffdb4d);
      box-shadow:0 0 16px rgba(97,231,255,.35);
      transition:width .45s cubic-bezier(.2,.8,.2,1);
    }

    .hubMiniStats{
      padding:10px;
      border-radius:21px;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:7px;
      background:#fff;
      border:1px solid rgba(64,152,247,.13);
    }

    .hubMiniStats div{
      min-width:0;
      padding:10px 7px;
      border-radius:15px;
      display:grid;
      place-items:center;
      gap:3px;
      background:#f5f9ff;
    }

    .hubMiniStats strong{color:#153864;font-size:20px}
    .hubMiniStats span{color:#768ca7;font-size:9px;font-weight:900;text-align:center}

    .dailyHeader,.passHeader{
      margin-top:18px;
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:12px;
    }

    .dailyHeader h3,.passHeader h3{
      margin:4px 0 0;
      color:#173763;
      font-size:18px;
    }

    .dailyReset{
      color:#879ab3;
      font-size:10px;
      font-weight:900;
    }

    .questGrid{
      margin-top:10px;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:10px;
    }

    .questCard{
      min-height:122px;
      padding:13px;
      border-radius:19px;
      display:flex;
      flex-direction:column;
      position:relative;
      overflow:hidden;
      background:#fff;
      border:1px solid rgba(64,152,247,.13);
      box-shadow:0 8px 22px rgba(37,104,180,.06);
    }

    .questCard.completed{
      background:linear-gradient(135deg,#effdf7,#f9fffb);
      border-color:rgba(22,176,111,.21);
    }

    .questIcon{
      width:35px;height:35px;
      border-radius:12px;
      display:grid;
      place-items:center;
      background:#edf6ff;
      font-size:18px;
    }

    .questCard.completed .questIcon{background:#dcf8e9}

    .questCard h4{
      margin:9px 0 3px;
      color:#173763;
      font-size:13px;
      line-height:1.2;
    }

    .questCard p{
      margin:0;
      color:#738ba9;
      font-size:10px;
      line-height:1.35;
      font-weight:800;
    }

    .questFooter{
      margin-top:auto;
      padding-top:9px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
    }

    .questProgress{
      color:#5f789b;
      font-size:9px;
      font-weight:1000;
    }

    .questXp{
      min-height:25px;
      padding:0 8px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#775000;
      background:#fff2bb;
      font-size:9px;
      font-weight:1000;
    }

    .questCard.completed .questXp{
      color:#14764d;
      background:#dff8eb;
    }

    .passOpenButton{
      min-height:39px;
      padding:0 12px;
      border:1px solid rgba(64,152,247,.16);
      border-radius:12px;
      cursor:pointer;
      color:#176fca;
      background:#eef7ff;
      font-size:10px;
      font-weight:1000;
    }

    .passMiniTrack{
      margin-top:10px;
      padding:10px;
      border-radius:20px;
      display:grid;
      grid-template-columns:repeat(6,1fr);
      gap:7px;
      background:linear-gradient(135deg,#f3f8ff,#fff9e4);
      border:1px solid rgba(64,152,247,.12);
    }

    .passMiniItem{
      min-width:0;
      min-height:74px;
      padding:8px 5px;
      border-radius:14px;
      position:relative;
      display:grid;
      place-items:center;
      align-content:center;
      gap:3px;
      text-align:center;
      background:rgba(255,255,255,.84);
      border:1px solid rgba(64,152,247,.10);
    }

    .passMiniItem.current{
      box-shadow:0 0 0 2px #4098f7,0 8px 18px rgba(64,152,247,.12);
    }

    .passMiniItem.locked{filter:saturate(.35);opacity:.55}
    .passMiniItem.claimable{animation:passPulse 1.7s ease-in-out infinite}
    .passMiniLevel{position:absolute;left:6px;top:5px;color:#7991ae;font-size:8px;font-weight:1000}
    .passMiniReward{font-size:23px}
    .passMiniItem small{max-width:100%;overflow:hidden;color:#5e7799;font-size:8px;font-weight:900;white-space:nowrap;text-overflow:ellipsis}

    @keyframes passPulse{
      0%,100%{box-shadow:0 0 0 1px rgba(255,194,38,.14)}
      50%{box-shadow:0 0 0 4px rgba(255,194,38,.18),0 8px 20px rgba(255,194,38,.14)}
    }

    /* Profile modal */
    .profileModal{
      position:fixed;
      inset:0;
      z-index:150;
      padding:24px;
      display:none;
      place-items:center;
      background:rgba(8,22,44,.56);
      backdrop-filter:blur(10px);
    }

    .profileModal.open{display:grid}

    .profileShell{
      width:min(940px,100%);
      max-height:min(820px,92vh);
      padding:22px;
      position:relative;
      overflow:auto;
      border-radius:30px;
      background:#f9fbff;
      border:1px solid rgba(255,255,255,.75);
      box-shadow:0 30px 90px rgba(7,28,61,.28);
    }

    .profileClose{
      width:38px;height:38px;
      position:absolute;
      top:14px;right:14px;
      z-index:5;
      border:0;
      border-radius:12px;
      cursor:pointer;
      color:#456384;
      background:#edf3fb;
      font-weight:1000;
    }

    .profileSetup{
      max-width:540px;
      margin:20px auto 8px;
      text-align:center;
    }

    .profileModalEyebrow{
      color:#257ed8;
      font-size:9px;
      font-weight:1000;
      letter-spacing:.10em;
    }

    .profileSetup h2{
      margin:7px 0 5px;
      color:#14365f;
      font-size:30px;
    }

    .profileSetup > p{
      margin:0 auto 18px;
      max-width:420px;
      color:#7289a6;
      font-size:11px;
      line-height:1.45;
      font-weight:800;
    }

    .profileNameField{
      display:grid;
      gap:7px;
      text-align:left;
    }

    .profileNameField span,.pickerTitle{
      color:#48688e;
      font-size:10px;
      font-weight:1000;
      text-transform:uppercase;
      letter-spacing:.06em;
    }

    .profileNameField input{
      width:100%;
      min-height:52px;
      padding:0 15px;
      border:2px solid #dbe8f7;
      border-radius:16px;
      outline:none;
      color:#173763;
      background:#fff;
      font:900 15px/1 Arial,sans-serif;
    }

    .profileNameField input:focus{border-color:#4098f7}

    .avatarPickerBlock{margin-top:15px;text-align:left}
    .avatarPicker,.avatarCollection{
      margin-top:8px;
      display:grid;
      grid-template-columns:repeat(8,1fr);
      gap:7px;
    }

    .avatarChoice{
      aspect-ratio:1;
      border:2px solid transparent;
      border-radius:15px;
      display:grid;
      place-items:center;
      cursor:pointer;
      background:#eef5fd;
      font-size:25px;
      transition:transform .15s ease,border-color .15s ease;
    }

    .avatarChoice:hover{transform:translateY(-2px)}
    .avatarChoice.selected{border-color:#4098f7;background:#e3f1ff}
    .avatarChoice.locked{filter:grayscale(1);opacity:.38;cursor:not-allowed}
    .avatarChoice.equipped{box-shadow:0 0 0 3px rgba(64,152,247,.12);border-color:#4098f7}

    .profileSaveButton{
      width:100%;
      min-height:55px;
      margin-top:18px;
      border:0;
      border-radius:17px;
      cursor:pointer;
      color:#fff;
      background:linear-gradient(135deg,#6d5cff,#318be9);
      box-shadow:0 12px 28px rgba(79,91,229,.20);
      font-weight:1000;
    }

    .profileHeroCard{
      padding:18px;
      border-radius:23px;
      display:grid;
      grid-template-columns:auto minmax(0,1fr) auto;
      align-items:center;
      gap:13px;
      color:#fff;
      background:linear-gradient(135deg,#296fd7,#6a5be8);
      box-shadow:0 16px 34px rgba(62,86,205,.20);
    }

    .profileHeroAvatar{
      width:64px;height:64px;
      border-radius:20px;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.15);
      border:1px solid rgba(255,255,255,.17);
      font-size:34px;
    }

    .profileHeroInfo h2{margin:4px 0 3px;color:#fff;font-size:25px}
    .profileHeroMeta{display:flex;gap:7px;flex-wrap:wrap}
    .profileHeroMeta span{min-height:25px;padding:0 8px;border-radius:999px;display:inline-flex;align-items:center;background:rgba(255,255,255,.13);font-size:9px;font-weight:900}
    .profileHeroXp{text-align:right}
    .profileHeroXp strong{display:block;font-size:21px}
    .profileHeroXp span{color:rgba(255,255,255,.67);font-size:9px;font-weight:900}

    /* Profile skins */
    .profileHeroCard.skin-default{background:linear-gradient(135deg,#296fd7,#6a5be8)}
    .profileHeroCard.skin-neon{background:linear-gradient(135deg,#0d1630,#2e1672 55%,#00cfe8);box-shadow:0 16px 40px rgba(0,207,232,.22)}
    .profileHeroCard.skin-lava{background:linear-gradient(135deg,#4b1421,#b62921 52%,#ff8b22);box-shadow:0 16px 40px rgba(255,99,30,.20)}
    .profileHeroCard.skin-space{background:radial-gradient(circle at 80% 20%,#704fd5,transparent 28%),linear-gradient(135deg,#071328,#14295a 65%,#1e5797);box-shadow:0 16px 40px rgba(74,79,205,.22)}
    .profileHeroCard.skin-gold{background:linear-gradient(135deg,#624715,#b88316 50%,#f4c64d);box-shadow:0 16px 40px rgba(216,167,42,.23)}

    .profileTabs{
      margin-top:14px;
      padding:5px;
      border-radius:16px;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:5px;
      background:#eaf1fa;
    }

    .profileTab{
      min-height:41px;
      border:0;
      border-radius:12px;
      cursor:pointer;
      color:#607b9d;
      background:transparent;
      font-size:10px;
      font-weight:1000;
    }

    .profileTab.active{
      color:#176fc7;
      background:#fff;
      box-shadow:0 5px 14px rgba(37,104,180,.08);
    }

    .profileTabPanel{display:none;margin-top:15px}
    .profileTabPanel.active{display:block}

    .passModalHeader,.cosmeticsHeader{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:10px;
    }

    .passModalHeader h3,.cosmeticsHeader h3{
      margin:3px 0 0;
      color:#173763;
      font-size:18px;
    }

    .passModalHeader > span:last-child{
      min-height:30px;
      padding:0 10px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#6e5000;
      background:#fff1b0;
      font-size:9px;
      font-weight:1000;
    }

    .cosmeticsHeader > span:last-child{
      color:#8497b0;
      font-size:9px;
      font-weight:900;
    }

    .battlePassTrack{
      margin-top:11px;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:9px;
    }

    .passReward{
      min-height:145px;
      padding:12px;
      border-radius:18px;
      display:flex;
      flex-direction:column;
      position:relative;
      background:#fff;
      border:1px solid rgba(64,152,247,.12);
      box-shadow:0 7px 19px rgba(37,104,180,.05);
    }

    .passReward.locked{opacity:.48;filter:saturate(.35)}
    .passReward.claimed{background:linear-gradient(135deg,#f1fff8,#fbfffd);border-color:rgba(24,181,116,.18)}
    .passReward.claimable{border-color:rgba(255,183,34,.38);box-shadow:0 0 0 3px rgba(255,194,38,.09),0 8px 22px rgba(255,194,38,.13)}

    .passRewardLevel{
      color:#7990ad;
      font-size:9px;
      font-weight:1000;
    }

    .passRewardIcon{
      margin-top:10px;
      font-size:31px;
    }

    .passReward strong{
      margin-top:6px;
      color:#173763;
      font-size:12px;
    }

    .passReward small{
      margin-top:2px;
      color:#768da9;
      font-size:9px;
      line-height:1.3;
      font-weight:800;
    }

    .claimRewardButton{
      min-height:31px;
      margin-top:auto;
      border:0;
      border-radius:10px;
      cursor:pointer;
      color:#704c00;
      background:#ffe188;
      font-size:9px;
      font-weight:1000;
    }

    .claimRewardButton:disabled{
      cursor:default;
      color:#71849c;
      background:#edf2f7;
    }

    .skinGrid{
      margin-top:11px;
      display:grid;
      grid-template-columns:repeat(5,1fr);
      gap:8px;
    }

    .skinCard{
      min-height:110px;
      padding:9px;
      border:2px solid transparent;
      border-radius:16px;
      cursor:pointer;
      display:flex;
      flex-direction:column;
      justify-content:flex-end;
      position:relative;
      overflow:hidden;
      text-align:left;
      color:#fff;
      transition:transform .15s ease,border-color .15s ease;
    }

    .skinCard:hover{transform:translateY(-2px)}
    .skinCard.equipped{border-color:#4098f7;box-shadow:0 0 0 3px rgba(64,152,247,.09)}
    .skinCard.locked{filter:grayscale(.8);opacity:.45;cursor:not-allowed}
    .skinCard strong{position:relative;z-index:2;font-size:11px}
    .skinCard small{position:relative;z-index:2;margin-top:2px;color:rgba(255,255,255,.72);font-size:8px;font-weight:900}
    .skinCard::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(6,16,32,.54))}
    .skin-default{background:linear-gradient(135deg,#296fd7,#6a5be8)}
    .skin-neon{background:linear-gradient(135deg,#0d1630,#5f2fc6,#00cfe8)}
    .skin-lava{background:linear-gradient(135deg,#4b1421,#dc3a27,#ff9c2d)}
    .skin-space{background:radial-gradient(circle at 70% 18%,#845cdb,transparent 24%),linear-gradient(135deg,#071328,#16447d)}
    .skin-gold{background:linear-gradient(135deg,#60430e,#c48e1c,#f2ce62)}

    .avatarCollectionHeader{margin-top:19px}

    .statsPanelGrid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:9px;
    }

    .bigStat{
      min-height:100px;
      padding:13px;
      border-radius:17px;
      display:grid;
      place-items:center;
      align-content:center;
      text-align:center;
      background:#fff;
      border:1px solid rgba(64,152,247,.12);
    }

    .bigStat strong{color:#173763;font-size:27px}
    .bigStat span{margin-top:4px;color:#748ba6;font-size:9px;font-weight:900}

    .genreStats{
      margin-top:10px;
      padding:14px;
      border-radius:18px;
      background:#fff;
      border:1px solid rgba(64,152,247,.11);
    }

    .genreStatRow{
      min-height:35px;
      display:grid;
      grid-template-columns:110px 1fr 28px;
      align-items:center;
      gap:9px;
      color:#5d789a;
      font-size:10px;
      font-weight:900;
    }

    .genreBar{
      height:7px;
      border-radius:999px;
      overflow:hidden;
      background:#eaf1f8;
    }

    .genreBar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4098f7,#6d5cff)}

    .profileBottomActions{
      margin-top:16px;
      padding-top:13px;
      border-top:1px solid #e5edf7;
      display:flex;
      justify-content:flex-end;
      gap:7px;
    }

    .profileRenameButton,.profileResetButton{
      min-height:38px;
      padding:0 11px;
      border-radius:11px;
      cursor:pointer;
      font-size:9px;
      font-weight:1000;
    }

    .profileRenameButton{color:#276cad;background:#edf7ff;border:1px solid #d7eafb}
    .profileResetButton{color:#a65461;background:#fff0f2;border:1px solid #f4dce0}

    /* XP / reward toast */
    .rewardToast{
      width:min(360px,calc(100vw - 28px));
      min-height:67px;
      padding:10px 13px;
      position:fixed;
      left:50%;
      bottom:22px;
      z-index:300;
      border-radius:18px;
      display:flex;
      align-items:center;
      gap:10px;
      pointer-events:none;
      opacity:0;
      transform:translate(-50%,18px) scale(.96);
      color:#fff;
      background:rgba(15,38,73,.95);
      border:1px solid rgba(255,255,255,.13);
      box-shadow:0 16px 45px rgba(6,22,47,.28);
      transition:opacity .22s ease,transform .22s ease;
      backdrop-filter:blur(13px);
    }

    .rewardToast.show{
      opacity:1;
      transform:translate(-50%,0) scale(1);
    }

    .rewardToastIcon{
      width:43px;height:43px;
      border-radius:14px;
      display:grid;
      place-items:center;
      background:linear-gradient(135deg,#ffe36b,#ff9f28);
      font-size:22px;
    }

    .rewardToast div{display:grid;gap:2px}
    .rewardToast strong{font-size:13px}
    .rewardToast span:last-child{color:rgba(255,255,255,.70);font-size:9px;font-weight:800}

    @media(max-width:900px){
      .hubHeading{align-items:flex-start}
      .hubProgressRow{grid-template-columns:1fr}
      .questGrid{grid-template-columns:1fr}
      .passMiniTrack{grid-template-columns:repeat(3,1fr)}
      .battlePassTrack{grid-template-columns:repeat(3,1fr)}
      .skinGrid{grid-template-columns:repeat(3,1fr)}
      .avatarPicker,.avatarCollection{grid-template-columns:repeat(6,1fr)}
    }

    @media(max-width:650px){
      .studentHub{padding:16px;border-radius:24px}
      .hubHeading{display:grid}
      .hubProfileButton{width:100%;min-width:0}
      .hubStartCard{grid-template-columns:auto 1fr}
      .hubStartCard b{grid-column:1/-1;text-align:center}
      .hubMiniStats{grid-template-columns:repeat(3,1fr)}
      .dailyHeader,.passHeader{align-items:flex-start}
      .passOpenButton{align-self:center}
      .profileModal{padding:10px}
      .profileShell{padding:16px;border-radius:22px}
      .profileHeroCard{grid-template-columns:auto 1fr}
      .profileHeroXp{grid-column:1/-1;text-align:left}
      .battlePassTrack{grid-template-columns:repeat(2,1fr)}
      .statsPanelGrid{grid-template-columns:repeat(2,1fr)}
      .skinGrid{grid-template-columns:repeat(2,1fr)}
      .avatarPicker,.avatarCollection{grid-template-columns:repeat(5,1fr)}
    }

    @media(max-width:430px){
      .hubMiniStats{grid-template-columns:1fr}
      .passMiniTrack{grid-template-columns:repeat(2,1fr)}
      .profileTabs{grid-template-columns:1fr}
      .battlePassTrack{grid-template-columns:1fr 1fr}
      .avatarPicker,.avatarCollection{grid-template-columns:repeat(4,1fr)}
    }


    .hubProfileButton.skin-neon{
      color:#fff;
      background:linear-gradient(135deg,#161c38,#5628b8 58%,#00bcd4);
      border-color:rgba(93,226,255,.25);
    }
    .hubProfileButton.skin-lava{
      color:#fff;
      background:linear-gradient(135deg,#571725,#c63b29 58%,#ff9a29);
      border-color:rgba(255,167,79,.25);
    }
    .hubProfileButton.skin-space{
      color:#fff;
      background:radial-gradient(circle at 82% 18%,#7858d8,transparent 25%),linear-gradient(135deg,#09152c,#183e78);
      border-color:rgba(139,119,255,.24);
    }
    .hubProfileButton.skin-gold{
      color:#fff;
      background:linear-gradient(135deg,#6a4b12,#bd8b1d 58%,#efc85b);
      border-color:rgba(255,223,119,.30);
    }
    .hubProfileButton.skin-neon .hubProfileText small,
    .hubProfileButton.skin-lava .hubProfileText small,
    .hubProfileButton.skin-space .hubProfileText small,
    .hubProfileButton.skin-gold .hubProfileText small{
      color:rgba(255,255,255,.66);
    }
    .hubProfileButton.skin-neon .hubProfileText strong,
    .hubProfileButton.skin-lava .hubProfileText strong,
    .hubProfileButton.skin-space .hubProfileText strong,
    .hubProfileButton.skin-gold .hubProfileText strong,
    .hubProfileButton.skin-neon .hubProfileArrow,
    .hubProfileButton.skin-lava .hubProfileArrow,
    .hubProfileButton.skin-space .hubProfileArrow,
    .hubProfileButton.skin-gold .hubProfileArrow{
      color:#fff;
    }
    .hubProfileButton.skin-neon .hubProfileAvatar,
    .hubProfileButton.skin-lava .hubProfileAvatar,
    .hubProfileButton.skin-space .hubProfileAvatar,
    .hubProfileButton.skin-gold .hubProfileAvatar{
      background:rgba(255,255,255,.15);
      border:1px solid rgba(255,255,255,.17);
    }


    /* =========================================================
       KODKLASS PASS v26 - coins, shop, achievements, favorites
       ========================================================= */

    .hubMiniStats{
      grid-template-columns:repeat(4,1fr);
    }

    .coinMiniStat{
      background:linear-gradient(135deg,#fff9dc,#fff1ac)!important;
    }

    .coinMiniStat strong{
      color:#8a6000!important;
    }

    .profileCoins{
      min-height:28px;
      margin-top:7px;
      padding:0 9px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      color:#5f4500;
      background:linear-gradient(135deg,#ffe98b,#ffc83e);
      box-shadow:0 6px 16px rgba(255,194,38,.16);
      font-size:10px;
      font-weight:1000;
    }

    .profileTabs{
      grid-template-columns:repeat(6,1fr);
    }

    .shopHeader,.achievementHeader,.favoritesHeader{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:12px;
    }

    .shopHeader h3,.achievementHeader h3,.favoritesHeader h3{
      margin:3px 0 0;
      color:#173763;
      font-size:18px;
    }

    .shopBalance{
      min-height:34px;
      padding:0 12px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#765300;
      background:linear-gradient(135deg,#fff2a9,#ffd057);
      box-shadow:0 7px 16px rgba(255,194,38,.12);
      font-size:11px;
      font-weight:1000;
    }

    .shopHint{
      margin:8px 0 0;
      color:#758ca8;
      font-size:9px;
      line-height:1.4;
      font-weight:800;
    }

    .shopGrid{
      margin-top:11px;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:9px;
    }

    .shopItem{
      min-height:166px;
      padding:12px;
      border-radius:19px;
      position:relative;
      overflow:hidden;
      display:flex;
      flex-direction:column;
      background:#fff;
      border:2px solid transparent;
      box-shadow:0 8px 22px rgba(37,104,180,.06);
    }

    .shopItem.rarity-common{border-color:#dbe5ef}
    .shopItem.rarity-rare{border-color:#65b9ff;background:linear-gradient(150deg,#f7fbff,#eef8ff)}
    .shopItem.rarity-epic{border-color:#a36cf4;background:linear-gradient(150deg,#fff,#f6efff)}
    .shopItem.rarity-legendary{border-color:#ffbd34;background:linear-gradient(150deg,#fffdf4,#fff3c8)}

    .shopRarity{
      width:max-content;
      min-height:22px;
      padding:0 7px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#71849d;
      background:#edf2f7;
      font-size:7px;
      font-weight:1000;
      text-transform:uppercase;
      letter-spacing:.07em;
    }

    .rarity-rare .shopRarity{color:#1769b4;background:#dff1ff}
    .rarity-epic .shopRarity{color:#7642bc;background:#eee0ff}
    .rarity-legendary .shopRarity{color:#805600;background:#ffecaa}

    .shopIcon{
      margin-top:9px;
      font-size:32px;
    }

    .shopItem strong{
      margin-top:7px;
      color:#173763;
      font-size:12px;
    }

    .shopItem p{
      margin:3px 0 8px;
      color:#758ba6;
      font-size:8px;
      line-height:1.35;
      font-weight:800;
    }

    .shopBuyButton{
      min-height:33px;
      margin-top:auto;
      border:0;
      border-radius:10px;
      cursor:pointer;
      color:#6f4d00;
      background:linear-gradient(135deg,#ffe98b,#ffc540);
      font-size:9px;
      font-weight:1000;
    }

    .shopBuyButton.owned{
      color:#276b51;
      background:#e2f8ed;
    }

    .shopBuyButton:disabled{
      cursor:default;
      opacity:.55;
    }

    .decorGrid{
      margin-top:9px;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:8px;
    }

    .decorChoice{
      min-height:76px;
      padding:9px;
      border:2px solid transparent;
      border-radius:15px;
      cursor:pointer;
      display:grid;
      align-content:center;
      gap:3px;
      text-align:left;
      color:#173763;
      background:#fff;
      font-size:10px;
      font-weight:1000;
    }

    .decorChoice span{
      color:#7a8fa8;
      font-size:8px;
      font-weight:800;
    }

    .decorChoice.equipped{
      border-color:#4098f7;
      background:#edf7ff;
      box-shadow:0 0 0 3px rgba(64,152,247,.08);
    }

    .decorChoice.locked{
      cursor:not-allowed;
      opacity:.42;
      filter:grayscale(1);
    }

    .achievementHeader > span:last-child,
    .favoritesHeader > span:last-child{
      min-height:30px;
      padding:0 10px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#5f7898;
      background:#edf4fb;
      font-size:9px;
      font-weight:1000;
    }

    .achievementGrid{
      margin-top:11px;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:9px;
    }

    .achievementCard{
      min-height:128px;
      padding:12px;
      border-radius:18px;
      display:flex;
      flex-direction:column;
      position:relative;
      overflow:hidden;
      background:#fff;
      border:1px solid rgba(64,152,247,.12);
      box-shadow:0 7px 18px rgba(37,104,180,.05);
    }

    .achievementCard.unlocked{
      background:linear-gradient(135deg,#fffaf0,#fff3c4);
      border-color:rgba(255,183,34,.28);
    }

    .achievementIcon{
      width:37px;height:37px;
      border-radius:12px;
      display:grid;
      place-items:center;
      background:#edf5fd;
      font-size:20px;
    }

    .achievementCard.unlocked .achievementIcon{
      background:linear-gradient(135deg,#ffe478,#ffbd32);
    }

    .achievementCard strong{
      margin-top:8px;
      color:#173763;
      font-size:12px;
    }

    .achievementCard p{
      margin:3px 0 8px;
      color:#758ca7;
      font-size:8px;
      line-height:1.35;
      font-weight:800;
    }

    .achievementProgress{
      height:6px;
      margin-top:auto;
      overflow:hidden;
      border-radius:999px;
      background:#e9f0f7;
    }

    .achievementProgress span{
      display:block;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,#4098f7,#785cf1);
    }

    .achievementBottom{
      margin-top:6px;
      display:flex;
      justify-content:space-between;
      gap:8px;
      color:#7b90aa;
      font-size:8px;
      font-weight:1000;
    }

    .achievementReward{
      color:#785500;
    }

    .favoriteGrid{
      margin-top:11px;
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:9px;
    }

    .favoriteCard{
      min-height:86px;
      padding:11px;
      border-radius:17px;
      display:grid;
      grid-template-columns:auto minmax(0,1fr) auto;
      align-items:center;
      gap:10px;
      background:#fff;
      border:1px solid rgba(64,152,247,.12);
    }

    .favoriteIcon{
      width:43px;height:43px;
      border-radius:14px;
      display:grid;
      place-items:center;
      background:linear-gradient(135deg,#fff0f5,#ffe0eb);
      font-size:21px;
    }

    .favoriteInfo{
      min-width:0;
      display:grid;
      gap:2px;
    }

    .favoriteInfo strong{
      overflow:hidden;
      color:#173763;
      font-size:11px;
      white-space:nowrap;
      text-overflow:ellipsis;
    }

    .favoriteInfo span{
      overflow:hidden;
      color:#7b90a8;
      font-size:8px;
      font-weight:800;
      white-space:nowrap;
      text-overflow:ellipsis;
    }

    .favoriteActions{
      display:flex;
      gap:5px;
    }

    .favoritePlay,.favoriteRemove{
      width:34px;height:34px;
      border:0;
      border-radius:10px;
      cursor:pointer;
      font-weight:1000;
    }

    .favoritePlay{color:#fff;background:#4098f7}
    .favoriteRemove{color:#a85066;background:#fff0f3}

    #favoriteGameBtn.isFavorite{
      color:#9d2d55;
      background:#ffe7f0;
      border-color:#f5c4d6;
    }

    /* Purchased profile decoration */
    .profileHeroCard.frame-cyan,
    .hubProfileButton.frame-cyan{
      box-shadow:0 0 0 3px #62ddff,0 16px 38px rgba(64,183,226,.20);
    }

    .profileHeroCard.frame-pixel,
    .hubProfileButton.frame-pixel{
      outline:3px dashed #765cf1;
      outline-offset:-5px;
    }

    .profileHeroCard.frame-gold,
    .hubProfileButton.frame-gold{
      box-shadow:0 0 0 3px #ffd75d,0 0 24px rgba(255,199,55,.28),0 16px 38px rgba(90,65,13,.15);
    }

    .profileHeroCard.effect-sparkles,
    .hubProfileButton.effect-sparkles{
      animation:cosmeticGlow 2.6s ease-in-out infinite;
    }

    .profileHeroCard.effect-glitch,
    .hubProfileButton.effect-glitch{
      animation:cosmeticGlitch 3.8s steps(1,end) infinite;
    }

    @keyframes cosmeticGlow{
      0%,100%{filter:brightness(1)}
      50%{filter:brightness(1.10) saturate(1.08)}
    }

    @keyframes cosmeticGlitch{
      0%,94%,100%{transform:translate(0)}
      95%{transform:translate(2px,-1px)}
      96%{transform:translate(-2px,1px)}
      97%{transform:translate(1px,0)}
    }

    .skin-candy{
      background:linear-gradient(135deg,#ff80bb,#8f70ff 56%,#55dce7);
    }

    @media(max-width:900px){
      .profileTabs{grid-template-columns:repeat(3,1fr)}
      .shopGrid{grid-template-columns:repeat(3,1fr)}
      .achievementGrid{grid-template-columns:repeat(2,1fr)}
      .decorGrid{grid-template-columns:repeat(3,1fr)}
    }

    @media(max-width:650px){
      .hubMiniStats{grid-template-columns:repeat(2,1fr)}
      .shopGrid{grid-template-columns:repeat(2,1fr)}
      .favoriteGrid{grid-template-columns:1fr}
      .decorGrid{grid-template-columns:repeat(2,1fr)}
    }

    @media(max-width:430px){
      .profileTabs{grid-template-columns:repeat(2,1fr)}
      .shopGrid{grid-template-columns:1fr 1fr}
      .achievementGrid{grid-template-columns:1fr}
    }


    /* =========================================================
       KODKLASS CLOUD v27
       ========================================================= */

    .cloudLoginDivider{
      margin:16px 0 12px;
      display:flex;
      align-items:center;
      gap:10px;
      color:#8a9cb2;
      font-size:9px;
      font-weight:1000;
      text-transform:uppercase;
    }

    .cloudLoginDivider::before,
    .cloudLoginDivider::after{
      content:"";
      height:1px;
      flex:1;
      background:#e0e9f3;
    }

    .cloudLoginBox{
      padding:13px;
      border-radius:18px;
      text-align:left;
      background:linear-gradient(135deg,#eef8ff,#f8fbff);
      border:1px solid rgba(64,152,247,.16);
    }

    .cloudLoginHead{
      display:flex;
      align-items:center;
      gap:10px;
    }

    .cloudLoginIcon{
      width:39px;height:39px;
      border-radius:12px;
      display:grid;
      place-items:center;
      flex:0 0 auto;
      background:#fff;
      box-shadow:0 6px 16px rgba(37,104,180,.08);
      font-size:19px;
    }

    .cloudLoginHead > div{display:grid;gap:2px}
    .cloudLoginHead strong{color:#173763;font-size:12px}
    .cloudLoginHead small{color:#788da8;font-size:8px;font-weight:800}

    .cloudLoginForm{
      margin-top:10px;
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      gap:7px;
    }

    .cloudLoginForm input{
      min-width:0;
      min-height:44px;
      padding:0 12px;
      border:2px solid #d8e7f7;
      border-radius:12px;
      outline:none;
      text-transform:uppercase;
      color:#173763;
      background:#fff;
      font:1000 12px/1 Arial,sans-serif;
      letter-spacing:.05em;
    }

    .cloudLoginForm input:focus{border-color:#4098f7}

    .cloudLoginForm button{
      min-height:44px;
      padding:0 14px;
      border:0;
      border-radius:12px;
      cursor:pointer;
      color:#fff;
      background:linear-gradient(135deg,#4098f7,#685ce7);
      box-shadow:0 7px 16px rgba(64,112,221,.14);
      font-size:10px;
      font-weight:1000;
    }

    .cloudLoginForm button:disabled{opacity:.55;cursor:wait}

    .cloudLoginError{
      min-height:13px;
      margin-top:6px;
      display:block;
      color:#c04f61;
      font-size:8px;
      font-weight:900;
    }

    #cloudStatusBadge.cloudOnline{
      color:#0e6c4a;
      background:rgba(218,249,234,.16);
    }

    #cloudStatusBadge.cloudSaving{
      color:#7a5c08;
      background:rgba(255,236,168,.16);
    }

    #cloudStatusBadge.cloudError{
      color:#9d4654;
      background:rgba(255,220,226,.16);
    }

    .profileCloudButton{
      min-height:38px;
      padding:0 11px;
      border-radius:11px;
      cursor:pointer;
      color:#fff;
      background:linear-gradient(135deg,#4098f7,#665de9);
      border:0;
      font-size:9px;
      font-weight:1000;
    }

    .profileCloudButton.logout{
      color:#8b5260;
      background:#fff0f3;
      border:1px solid #f1d8de;
    }

    .playersHeader{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:10px;
    }

    .playersHeader h3{
      margin:3px 0 0;
      color:#173763;
      font-size:18px;
    }

    .playersHeader > span:last-child{
      min-height:29px;
      padding:0 9px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#587799;
      background:#edf4fb;
      font-size:8px;
      font-weight:1000;
    }

    .playersPrivacy{
      margin:8px 0 0;
      color:#7a90a9;
      font-size:8px;
      line-height:1.45;
      font-weight:800;
    }

    .playersGrid{
      margin-top:10px;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:8px;
    }

    .playerProfileCard{
      min-height:105px;
      padding:11px;
      border-radius:17px;
      display:grid;
      grid-template-columns:auto minmax(0,1fr);
      gap:10px;
      align-items:center;
      position:relative;
      overflow:hidden;
      background:#fff;
      border:1px solid rgba(64,152,247,.12);
      box-shadow:0 7px 18px rgba(37,104,180,.05);
    }

    .playerProfileCard.me{
      border-color:#4098f7;
      box-shadow:0 0 0 3px rgba(64,152,247,.08),0 7px 18px rgba(37,104,180,.07);
    }

    .playerProfileAvatar{
      width:49px;height:49px;
      border-radius:15px;
      display:grid;
      place-items:center;
      background:linear-gradient(135deg,#e7f5ff,#fff0bd);
      font-size:25px;
    }

    .playerProfileInfo{
      min-width:0;
      display:grid;
      gap:3px;
    }

    .playerProfileName{
      overflow:hidden;
      color:#173763;
      font-size:11px;
      font-weight:1000;
      white-space:nowrap;
      text-overflow:ellipsis;
    }

    .playerProfileRole{
      width:max-content;
      max-width:100%;
      min-height:20px;
      padding:0 6px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#5f7898;
      background:#edf4fb;
      font-size:7px;
      font-weight:1000;
    }

    .playerProfileRole.admin{
      color:#765200;
      background:#fff0b6;
    }

    .playerProfileMeta{
      color:#7d91aa;
      font-size:8px;
      font-weight:900;
    }

    .playersLocked{
      grid-column:1/-1;
      min-height:150px;
      padding:20px;
      border-radius:18px;
      display:grid;
      place-items:center;
      align-content:center;
      gap:7px;
      text-align:center;
      color:#6e86a3;
      background:linear-gradient(135deg,#f5f9fe,#eef6ff);
      border:1px dashed #cbdced;
    }

    .playersLocked strong{color:#315b88;font-size:13px}
    .playersLocked span{max-width:370px;font-size:9px;font-weight:800;line-height:1.45}
    .playersLocked button{
      min-height:38px;
      padding:0 11px;
      border:0;
      border-radius:11px;
      cursor:pointer;
      color:#fff;
      background:#4098f7;
      font-size:9px;
      font-weight:1000;
    }

    .profileTabs{
      grid-template-columns:repeat(7,1fr);
    }

    @media(max-width:900px){
      .profileTabs{grid-template-columns:repeat(4,1fr)}
      .playersGrid{grid-template-columns:repeat(2,1fr)}
    }

    @media(max-width:650px){
      .cloudLoginForm{grid-template-columns:1fr}
      .playersGrid{grid-template-columns:1fr}
      .profileTabs{grid-template-columns:repeat(3,1fr)}
    }

    @media(max-width:430px){
      .profileTabs{grid-template-columns:repeat(2,1fr)}
    }


    /* =========================================================
       KODKLASS PASS v29 - JUICY GAME BATTLE PASS
       ========================================================= */

    .profileShell{
      width:min(1240px,100%);
      background:
        radial-gradient(circle at 18% 0%,rgba(72,113,255,.11),transparent 26%),
        #f8fbff;
    }

    .megaPassPanel{
      margin-top:14px!important;
      padding:0 0 16px!important;
      overflow:hidden;
      border-radius:26px;
      position:relative;
      color:#fff;
      background:
        radial-gradient(circle at 75% -10%,rgba(113,70,255,.38),transparent 30%),
        radial-gradient(circle at 10% 20%,rgba(0,213,255,.17),transparent 26%),
        linear-gradient(180deg,#07142f 0%,#0a1f48 42%,#07152f 100%);
      border:1px solid rgba(82,176,255,.24);
      box-shadow:
        0 22px 50px rgba(4,22,58,.23),
        inset 0 1px 0 rgba(255,255,255,.08);
    }

    .megaPassPanel::before{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      opacity:.35;
      background-image:
        radial-gradient(circle at 8% 16%,#fff 0 1px,transparent 1.5px),
        radial-gradient(circle at 23% 72%,#5be6ff 0 1px,transparent 1.5px),
        radial-gradient(circle at 54% 18%,#fff 0 1px,transparent 1.5px),
        radial-gradient(circle at 77% 63%,#a788ff 0 1px,transparent 1.5px),
        radial-gradient(circle at 92% 32%,#ffd55c 0 1px,transparent 1.5px);
      background-size:120px 90px,180px 130px,150px 110px,200px 145px,170px 120px;
      animation:starDrift 18s linear infinite;
    }

    @keyframes starDrift{
      from{background-position:0 0,0 0,0 0,0 0,0 0}
      to{background-position:120px 90px,-180px 130px,150px -110px,-200px 145px,170px 120px}
    }

    .megaPassHero{
      min-height:245px;
      padding:24px 28px 22px;
      position:relative;
      z-index:2;
      display:grid;
      grid-template-columns:minmax(0,1.65fr) minmax(275px,.62fr);
      gap:20px;
      align-items:center;
      background:
        radial-gradient(circle at 65% 12%,rgba(0,220,255,.23),transparent 24%),
        linear-gradient(110deg,rgba(10,35,83,.88),rgba(19,49,111,.58) 54%,rgba(34,22,88,.52));
      border-bottom:1px solid rgba(81,197,255,.20);
    }

    .megaPassHeroCopy{min-width:0}

    .seasonLine{
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
    }

    .seasonCrown{
      width:36px;height:36px;
      border-radius:12px;
      display:grid;
      place-items:center;
      background:linear-gradient(135deg,#ffdf61,#ff9e21);
      box-shadow:0 0 22px rgba(255,194,38,.30);
      font-size:18px;
      transform:rotate(-7deg);
    }

    .seasonTag,.seasonName{
      min-height:26px;
      padding:0 9px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      font-size:8px;
      font-weight:1000;
      letter-spacing:.11em;
    }

    .seasonTag{
      color:#6beeff;
      background:rgba(42,195,255,.11);
      border:1px solid rgba(73,218,255,.18);
    }

    .seasonName{
      color:#ffe273;
      background:rgba(255,199,52,.10);
      border:1px solid rgba(255,202,57,.16);
    }

    .megaPassHero h3{
      margin:12px 0 3px;
      color:#fff;
      font-size:clamp(34px,5vw,58px);
      line-height:.95;
      letter-spacing:-.04em;
      text-transform:uppercase;
      text-shadow:0 0 28px rgba(38,205,255,.22);
    }

    .megaPassHero h3 span{
      color:#60e8ff;
      background:linear-gradient(180deg,#9af4ff,#29bfe8);
      -webkit-background-clip:text;
      background-clip:text;
      -webkit-text-fill-color:transparent;
    }

    .megaPassHero h3::first-letter{
      color:#fff;
    }

    .megaPassHeroCopy > p{
      margin:8px 0 0;
      max-width:650px;
      color:rgba(220,236,255,.72);
      font-size:11px;
      line-height:1.45;
      font-weight:800;
    }

    .megaXpRow{
      margin-top:19px;
      display:grid;
      grid-template-columns:auto minmax(0,1fr) auto;
      align-items:center;
      gap:13px;
    }

    .megaLevelHex{
      width:88px;height:73px;
      position:relative;
      display:grid;
      place-items:center;
      align-content:center;
      clip-path:polygon(17% 0,83% 0,100% 50%,83% 100%,17% 100%,0 50%);
      color:#fff;
      background:linear-gradient(145deg,#1edaff,#316fff);
      filter:drop-shadow(0 0 16px rgba(38,188,255,.36));
    }

    .megaLevelHex small{
      font-size:7px;
      font-weight:1000;
      opacity:.8;
      letter-spacing:.08em;
    }

    .megaLevelHex strong{
      margin-top:1px;
      font-size:30px;
      line-height:1;
    }

    .megaXpBlock{min-width:0}

    .megaXpMeta{
      margin-bottom:6px;
      display:flex;
      justify-content:space-between;
      gap:10px;
      color:#d9ecff;
      font-size:9px;
      font-weight:1000;
    }

    .megaXpMeta b{
      color:#64e7ff;
      white-space:nowrap;
    }

    .megaXpBar{
      height:20px;
      padding:3px;
      border-radius:999px;
      overflow:hidden;
      position:relative;
      background:rgba(4,13,38,.65);
      border:1px solid rgba(105,194,255,.28);
      box-shadow:inset 0 2px 8px rgba(0,0,0,.40);
    }

    .megaXpBar span{
      display:block;
      width:0%;
      height:100%;
      border-radius:inherit;
      position:relative;
      background:linear-gradient(90deg,#13d7ff 0%,#5cecff 55%,#8b60ff 100%);
      box-shadow:0 0 20px rgba(36,220,255,.48);
      transition:width .55s cubic-bezier(.2,.8,.2,1);
    }

    .megaXpBar span::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.42) 45%,transparent 70%);
      transform:translateX(-100%);
      animation:xpSweep 2.6s ease-in-out infinite;
    }

    @keyframes xpSweep{
      0%,30%{transform:translateX(-120%)}
      70%,100%{transform:translateX(120%)}
    }

    .megaCoinBank{
      min-width:105px;
      min-height:54px;
      padding:0 12px;
      border-radius:17px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:7px;
      color:#ffdf68;
      background:linear-gradient(145deg,rgba(255,195,47,.12),rgba(255,148,27,.08));
      border:1px solid rgba(255,205,75,.25);
      box-shadow:inset 0 0 18px rgba(255,190,46,.05);
    }

    .megaCoinBank span{font-size:20px}
    .megaCoinBank strong{font-size:17px}

    .premiumUnlockCard{
      min-height:164px;
      padding:18px;
      border-radius:23px;
      position:relative;
      overflow:hidden;
      display:grid;
      grid-template-columns:auto 1fr auto;
      align-items:center;
      gap:12px;
      color:#ffe8a6;
      background:
        radial-gradient(circle at 85% 12%,rgba(255,214,88,.22),transparent 32%),
        linear-gradient(145deg,#342016,#5a3813 52%,#2a1b18);
      border:1px solid rgba(255,204,71,.35);
      box-shadow:
        0 18px 38px rgba(0,0,0,.19),
        inset 0 0 28px rgba(255,185,37,.06);
    }

    .premiumUnlockCard::after{
      content:"";
      position:absolute;
      width:150px;height:250px;
      top:-70px;left:-120px;
      transform:rotate(24deg);
      background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);
      animation:premiumSweep 3.5s ease-in-out infinite;
    }

    @keyframes premiumSweep{
      0%,35%{left:-150px}
      75%,100%{left:120%}
    }

    .premiumUnlockCard.unlocked{
      background:
        radial-gradient(circle at 85% 12%,rgba(255,230,105,.34),transparent 32%),
        linear-gradient(145deg,#684610,#aa7315 58%,#553312);
      box-shadow:0 0 0 2px rgba(255,205,56,.20),0 0 34px rgba(255,184,37,.20);
    }

    .premiumGem{
      width:50px;height:50px;
      border-radius:16px;
      display:grid;
      place-items:center;
      color:#5c3b00;
      background:linear-gradient(135deg,#fff0a0,#ffb126);
      box-shadow:0 0 24px rgba(255,192,38,.30);
      font-size:25px;
    }

    .premiumUnlockCard small{
      color:#ffca55;
      font-size:8px;
      font-weight:1000;
      letter-spacing:.10em;
    }

    .premiumUnlockCard strong{
      display:block;
      margin-top:3px;
      color:#fff0b3;
      font-size:18px;
    }

    .premiumUnlockCard p{
      margin:4px 0 0;
      color:rgba(255,236,187,.66);
      font-size:9px;
      line-height:1.35;
      font-weight:800;
    }

    .premiumLock{
      width:42px;height:42px;
      border-radius:14px;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.08);
      font-size:21px;
    }

    .passLegend{
      min-height:48px;
      padding:0 20px;
      position:relative;
      z-index:2;
      display:flex;
      align-items:center;
      gap:18px;
      border-bottom:1px solid rgba(91,173,255,.12);
      color:#9db7d8;
      background:rgba(3,15,37,.48);
      font-size:8px;
      font-weight:1000;
      letter-spacing:.04em;
    }

    .passLegend span{display:inline-flex;align-items:center;gap:6px}
    .passLegend i{width:9px;height:9px;border-radius:50%;display:inline-block}
    .freeLegend i{background:#28d8ff;box-shadow:0 0 10px #28d8ff}
    .premiumLegend i{background:#ffc732;box-shadow:0 0 10px #ffc732}
    .passSwipeHint{margin-left:auto;color:#6783a9}

    .megaTrackViewport{
      position:relative;
      z-index:2;
      overflow-x:auto;
      overflow-y:hidden;
      scroll-behavior:smooth;
      scrollbar-width:thin;
      scrollbar-color:#296fb5 rgba(4,15,38,.8);
    }

    .megaTrackViewport::-webkit-scrollbar{height:9px}
    .megaTrackViewport::-webkit-scrollbar-track{background:rgba(4,15,38,.8)}
    .megaTrackViewport::-webkit-scrollbar-thumb{
      border-radius:999px;
      background:linear-gradient(90deg,#1cc8ef,#7061ff);
    }

    .megaBattlePassTrack{
      min-width:2180px;
      padding:22px 20px 25px;
      display:grid!important;
      grid-template-columns:repeat(12,170px)!important;
      gap:10px!important;
      position:relative;
      background:
        linear-gradient(180deg,rgba(13,44,94,.17),rgba(4,15,38,.07));
    }

    .megaBattlePassTrack::before{
      content:"";
      height:4px;
      position:absolute;
      left:63px;right:63px;top:45px;
      border-radius:999px;
      background:linear-gradient(90deg,#26dbff,#318cff 46%,#704bff 73%,#293650);
      box-shadow:0 0 14px rgba(44,192,255,.35);
    }

    .megaLevelColumn{
      min-width:0;
      position:relative;
      display:grid;
      grid-template-rows:54px 218px 218px;
      gap:10px;
    }

    .megaLevelMarker{
      position:relative;
      z-index:4;
      display:grid;
      place-items:center;
    }

    .megaLevelMarker span{
      width:46px;height:46px;
      clip-path:polygon(20% 0,80% 0,100% 50%,80% 100%,20% 100%,0 50%);
      display:grid;
      place-items:center;
      color:#d7edff;
      background:linear-gradient(145deg,#173a69,#214e86);
      border-radius:6px;
      font-size:16px;
      font-weight:1000;
      filter:drop-shadow(0 4px 9px rgba(0,0,0,.28));
    }

    .megaLevelColumn.passed .megaLevelMarker span{
      color:#041c33;
      background:linear-gradient(145deg,#4beaff,#20bff0);
    }

    .megaLevelColumn.current .megaLevelMarker span{
      width:53px;height:53px;
      color:#634300;
      background:linear-gradient(145deg,#fff184,#ffb41f);
      box-shadow:0 0 0 3px rgba(255,206,62,.14);
      filter:drop-shadow(0 0 15px rgba(255,197,44,.55));
      animation:currentLevelPulse 1.7s ease-in-out infinite;
    }

    @keyframes currentLevelPulse{
      0%,100%{transform:scale(1)}
      50%{transform:scale(1.08)}
    }

    .megaRewardCard{
      padding:11px;
      border-radius:17px;
      position:relative;
      overflow:hidden;
      display:flex;
      flex-direction:column;
      align-items:center;
      text-align:center;
      color:#fff;
      background:
        radial-gradient(circle at 50% 14%,rgba(43,212,255,.13),transparent 35%),
        linear-gradient(180deg,#102d5b,#0a1d40);
      border:1px solid rgba(62,194,255,.24);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.07),
        0 10px 25px rgba(0,0,0,.18);
      transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
    }

    .megaRewardCard:hover{
      transform:translateY(-4px);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.09),
        0 16px 30px rgba(0,0,0,.24),
        0 0 22px rgba(39,199,255,.10);
    }

    .megaRewardCard.lane-premium{
      color:#fff1b7;
      background:
        radial-gradient(circle at 50% 10%,rgba(255,205,65,.18),transparent 36%),
        linear-gradient(180deg,#523712,#2d2113);
      border-color:rgba(255,198,47,.36);
    }

    .megaRewardCard.lane-premium:hover{
      box-shadow:0 16px 30px rgba(0,0,0,.24),0 0 26px rgba(255,190,37,.13);
    }

    .megaRewardCard.claimable{
      border-color:#55e8ff;
      box-shadow:
        0 0 0 2px rgba(63,224,255,.12),
        0 0 26px rgba(38,205,255,.20);
      animation:claimCardPulse 2s ease-in-out infinite;
    }

    .megaRewardCard.lane-premium.claimable{
      border-color:#ffd24b;
      box-shadow:
        0 0 0 2px rgba(255,207,57,.16),
        0 0 30px rgba(255,190,34,.24);
    }

    @keyframes claimCardPulse{
      0%,100%{transform:translateY(0)}
      50%{transform:translateY(-3px)}
    }

    .megaRewardCard.claimed{
      opacity:.76;
      filter:saturate(.76);
    }

    .megaRewardCard.future,
    .megaRewardCard.premiumBlocked{
      filter:saturate(.42) brightness(.72);
    }

    .rewardLaneBadge{
      min-height:20px;
      padding:0 7px;
      border-radius:999px;
      align-self:flex-start;
      display:inline-flex;
      align-items:center;
      color:#69eaff;
      background:rgba(45,211,255,.10);
      border:1px solid rgba(72,220,255,.14);
      font-size:6px;
      font-weight:1000;
      letter-spacing:.08em;
    }

    .lane-premium .rewardLaneBadge{
      color:#ffd55a;
      background:rgba(255,196,43,.10);
      border-color:rgba(255,202,50,.15);
    }

    .rewardIconStage{
      width:100%;
      height:82px;
      margin-top:5px;
      position:relative;
      display:grid;
      place-items:center;
    }

    .megaRewardIcon{
      position:relative;
      z-index:2;
      font-size:48px;
      line-height:1;
      filter:drop-shadow(0 8px 10px rgba(0,0,0,.25));
      animation:rewardFloat 2.6s ease-in-out infinite;
    }

    @keyframes rewardFloat{
      0%,100%{transform:translateY(2px) rotate(-2deg)}
      50%{transform:translateY(-5px) rotate(2deg)}
    }

    .rewardSpark{
      position:absolute;
      color:#6eeaff;
      opacity:.7;
      animation:sparkBlink 1.8s ease-in-out infinite;
    }

    .lane-premium .rewardSpark{color:#ffd659}
    .rewardSpark.s1{left:19px;top:15px;font-size:12px}
    .rewardSpark.s2{right:19px;top:30px;font-size:9px;animation-delay:.4s}
    .rewardSpark.s3{right:30px;bottom:10px;font-size:14px;animation-delay:.8s}

    @keyframes sparkBlink{
      0%,100%{opacity:.18;transform:scale(.7)}
      50%{opacity:1;transform:scale(1.25)}
    }

    .megaRewardCard > strong{
      margin-top:2px;
      color:#f2f8ff;
      font-size:11px;
      line-height:1.15;
    }

    .lane-premium > strong{color:#fff0b0}

    .megaRewardCard > small{
      min-height:28px;
      margin-top:4px;
      color:#86a5c8;
      font-size:7px;
      line-height:1.3;
      font-weight:800;
    }

    .lane-premium > small{color:#bca979}

    .megaClaimButton{
      width:100%;
      min-height:35px;
      margin-top:auto;
      border:0;
      border-radius:10px;
      position:relative;
      z-index:5;
      cursor:pointer;
      color:#062341;
      background:linear-gradient(180deg,#7ff2ff,#22c8f5);
      box-shadow:0 6px 0 #0e779f,0 0 18px rgba(35,213,255,.25);
      font-size:8px;
      font-weight:1000;
      letter-spacing:.03em;
      transition:transform .14s ease,filter .14s ease;
    }

    .lane-premium .megaClaimButton:not(.lockedButton):not(.claimedButton){
      color:#664400;
      background:linear-gradient(180deg,#fff17b,#ffb722);
      box-shadow:0 6px 0 #a4660d,0 0 20px rgba(255,193,37,.28);
    }

    .megaClaimButton:not(:disabled):hover{
      transform:translateY(-2px) scale(1.02);
      filter:brightness(1.08);
    }

    .megaClaimButton:not(:disabled):active{
      transform:translateY(3px);
      box-shadow:none;
    }

    .megaClaimButton.lockedButton,
    .megaClaimButton.claimedButton{
      cursor:default;
      color:#879bb4;
      background:#152942;
      box-shadow:none;
    }

    .lane-premium .megaClaimButton.lockedButton,
    .lane-premium .megaClaimButton.claimedButton{
      color:#9b8b67;
      background:#342a1d;
    }

    .rewardLockOverlay{
      position:absolute;
      inset:22px 7px 49px;
      z-index:4;
      border-radius:13px;
      display:grid;
      place-items:center;
      align-content:center;
      gap:4px;
      pointer-events:none;
      background:linear-gradient(180deg,rgba(3,11,25,.26),rgba(4,12,27,.72));
      backdrop-filter:blur(1px);
    }

    .lane-premium .rewardLockOverlay{
      background:linear-gradient(180deg,rgba(36,24,8,.22),rgba(19,14,9,.72));
    }

    .rewardLockOverlay span{
      font-size:31px;
      filter:drop-shadow(0 6px 8px rgba(0,0,0,.35));
      animation:lockBreathe 2s ease-in-out infinite;
    }

    @keyframes lockBreathe{
      0%,100%{transform:scale(.94);opacity:.78}
      50%{transform:scale(1.06);opacity:1}
    }

    .rewardLockOverlay small{
      max-width:120px;
      color:#a8bad0;
      font-size:6px;
      line-height:1.3;
      font-weight:1000;
      letter-spacing:.05em;
    }

    .lane-premium .rewardLockOverlay small{color:#c4ad76}

    .rewardCardShine{
      width:70px;height:280px;
      position:absolute;
      top:-35px;left:-120px;
      transform:rotate(24deg);
      pointer-events:none;
      background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);
    }

    .megaRewardCard.claimable .rewardCardShine{
      animation:cardShine 2.8s ease-in-out infinite;
    }

    @keyframes cardShine{
      0%,25%{left:-110px}
      75%,100%{left:220px}
    }

    .rarity-legendary .megaRewardIcon,
    .rarity-mythic .megaRewardIcon{
      filter:drop-shadow(0 0 12px rgba(255,205,60,.55));
    }

    .rarity-mythic{
      background:
        radial-gradient(circle at 50% 10%,rgba(255,104,220,.17),transparent 34%),
        linear-gradient(180deg,#4a245a,#2a173d)!important;
      border-color:rgba(248,116,255,.42)!important;
    }

    .passBottomTip{
      margin:0 18px;
      min-height:58px;
      padding:10px 13px;
      position:relative;
      z-index:2;
      border-radius:15px;
      display:flex;
      align-items:center;
      gap:10px;
      color:#dbeaff;
      background:rgba(27,66,123,.23);
      border:1px solid rgba(84,177,255,.14);
    }

    .passBottomTip > span{
      width:35px;height:35px;
      border-radius:11px;
      display:grid;
      place-items:center;
      background:rgba(255,218,82,.11);
      font-size:18px;
    }

    .passBottomTip div{display:grid;gap:2px}
    .passBottomTip strong{font-size:9px}
    .passBottomTip small{color:#8fa7c7;font-size:7px;font-weight:800}

    /* Premium cosmetics */
    .profileHeroCard.skin-galaxy,
    .hubProfileButton.skin-galaxy{
      background:
        radial-gradient(circle at 80% 12%,#7d4eff,transparent 28%),
        radial-gradient(circle at 15% 85%,#00b9d4,transparent 28%),
        linear-gradient(135deg,#07142e,#243875 58%,#4b2478);
      box-shadow:0 0 28px rgba(81,93,255,.20),0 16px 38px rgba(30,33,86,.20);
    }

    .profileHeroCard.skin-royal,
    .hubProfileButton.skin-royal{
      background:
        radial-gradient(circle at 82% 12%,rgba(255,221,88,.36),transparent 27%),
        linear-gradient(135deg,#31195e,#672d92 55%,#9c6621);
      box-shadow:0 0 30px rgba(255,199,56,.20),0 16px 38px rgba(51,25,88,.20);
    }

    .profileHeroCard.frame-nova,
    .hubProfileButton.frame-nova{
      box-shadow:
        0 0 0 3px #66f4ff,
        0 0 0 6px rgba(125,73,255,.42),
        0 0 28px rgba(83,216,255,.35),
        0 16px 38px rgba(26,43,103,.18);
    }

    .profileHeroCard.frame-royal,
    .hubProfileButton.frame-royal{
      box-shadow:
        0 0 0 3px #ffe26c,
        0 0 0 6px rgba(255,169,34,.30),
        0 0 34px rgba(255,198,47,.34),
        0 16px 38px rgba(78,47,15,.18);
    }

    .profileHeroCard.effect-stars,
    .hubProfileButton.effect-stars{
      animation:premiumStars 2.2s ease-in-out infinite;
    }

    @keyframes premiumStars{
      0%,100%{filter:brightness(1) saturate(1)}
      50%{filter:brightness(1.13) saturate(1.16)}
    }

    @media(max-width:900px){
      .megaPassHero{
        grid-template-columns:1fr;
      }

      .premiumUnlockCard{min-height:112px}

      .megaBattlePassTrack{
        min-width:1940px;
        grid-template-columns:repeat(12,150px)!important;
      }

      .megaLevelColumn{
        grid-template-rows:50px 205px 205px;
      }
    }

    @media(max-width:650px){
      .megaPassHero{
        padding:18px 15px;
      }

      .megaPassHero h3{font-size:36px}
      .megaXpRow{grid-template-columns:auto 1fr}
      .megaCoinBank{grid-column:1/-1;width:max-content}
      .passLegend{padding:8px 13px;flex-wrap:wrap}
      .passSwipeHint{margin-left:0}
      .megaBattlePassTrack{padding-left:14px;padding-right:14px}
    }


    /* =========================================================
       v30 - CHILD-FIRST UI: bigger, shorter, clearer
       ========================================================= */

    /* Overall student hub */
    .studentHub{
      padding:28px;
      border-radius:32px;
    }

    .hubHeading h2{
      max-width:760px;
      font-size:clamp(28px,3.4vw,42px);
      line-height:1;
    }

    .hubHeading p{
      margin-top:8px;
      font-size:13px;
    }

    .hubEyebrow,.dailyEyebrow,.passEyebrow{
      font-size:12px;
      letter-spacing:.08em;
    }

    .hubProfileButton{
      min-width:270px;
      min-height:74px;
      border-radius:21px;
    }

    .hubProfileAvatar{
      width:52px;height:52px;
      font-size:29px;
    }

    .hubProfileText small{font-size:10px}
    .hubProfileText strong{font-size:15px}

    .hubStartCard{
      min-height:112px;
      padding:20px 22px;
      border-radius:26px;
    }

    .hubStartIcon{
      width:60px;height:60px;
      border-radius:18px;
      font-size:30px;
    }

    .hubStartCard strong{
      font-size:22px;
    }

    .hubStartCard small{
      font-size:12px;
    }

    .hubStartCard b{
      font-size:15px;
      padding:12px 15px;
      border-radius:13px;
      background:rgba(255,255,255,.13);
    }

    .levelCard{
      padding:20px;
      border-radius:24px;
    }

    .levelBadge{
      width:54px;height:54px;
      font-size:23px;
    }

    .levelTop strong{font-size:20px}
    .levelTop small{font-size:10px}
    .levelXpText{font-size:12px}
    .xpBar{height:12px}

    .hubMiniStats{
      padding:12px;
      border-radius:24px;
    }

    .hubMiniStats div{
      min-height:82px;
      border-radius:18px;
    }

    .hubMiniStats strong{font-size:27px}
    .hubMiniStats span{font-size:10px}

    /* Missions are now big 2x2 cards */
    .questGrid{
      grid-template-columns:repeat(2,1fr)!important;
      gap:13px;
    }

    .questCard{
      min-height:154px;
      padding:17px;
      border-radius:22px;
    }

    .questIcon{
      width:46px;height:46px;
      border-radius:14px;
      font-size:24px;
    }

    .questCard h4{
      margin-top:11px;
      font-size:16px;
      line-height:1.15;
    }

    .questCard p{
      margin-top:3px;
      font-size:11px;
      line-height:1.25;
    }

    .questProgress,.questXp{
      font-size:10px;
    }

    .questXp{
      min-height:31px;
      padding:0 10px;
    }

    .dailyHeader h3,.passHeader h3{
      font-size:23px;
    }

    .passOpenButton{
      min-height:48px;
      padding:0 16px;
      border-radius:14px;
      font-size:11px;
    }

    .passMiniTrack{
      padding:13px;
      gap:9px;
    }

    .passMiniItem{
      min-height:92px;
      border-radius:17px;
    }

    .passMiniReward{font-size:31px}
    .passMiniItem small{font-size:9px}

    /* Bigger profile modal */
    .profileShell{
      width:min(1320px,100%);
      padding:25px;
    }

    .profileSetup h2{
      font-size:38px;
    }

    .profileNameField span,.pickerTitle{
      font-size:12px;
    }

    .profileNameField input{
      min-height:62px;
      border-radius:18px;
      font-size:18px;
    }

    .avatarChoice{
      border-radius:18px;
      font-size:30px;
    }

    .profileSaveButton{
      min-height:64px;
      border-radius:19px;
      font-size:15px;
    }

    .profileHeroCard{
      min-height:104px;
      padding:20px;
      border-radius:26px;
    }

    .profileHeroAvatar{
      width:76px;height:76px;
      border-radius:22px;
      font-size:42px;
    }

    .profileHeroInfo h2{font-size:30px}
    .profileHeroMeta span{min-height:30px;font-size:10px}
    .profileHeroXp strong{font-size:25px}
    .profileCoins{min-height:32px;font-size:11px}

    /* Tabs: large icon buttons, 3 per row */
    .profileTabs{
      grid-template-columns:repeat(3,1fr)!important;
      gap:7px;
      padding:7px;
      border-radius:19px;
    }

    .profileTab{
      min-height:54px;
      border-radius:14px;
      font-size:12px;
    }

    /* Shop bigger and less cramped */
    .shopGrid{
      grid-template-columns:repeat(3,1fr)!important;
      gap:12px;
    }

    .shopItem{
      min-height:205px;
      padding:15px;
      border-radius:22px;
    }

    .shopIcon{font-size:43px}
    .shopItem strong{font-size:15px}
    .shopItem p{font-size:10px}
    .shopBuyButton{
      min-height:42px;
      border-radius:12px;
      font-size:10px;
    }

    .skinGrid{
      grid-template-columns:repeat(3,1fr)!important;
      gap:11px;
    }

    .skinCard{
      min-height:145px;
      border-radius:20px;
    }

    .skinCard strong{font-size:13px}
    .skinCard small{font-size:9px}

    .avatarPicker,.avatarCollection{
      grid-template-columns:repeat(6,1fr)!important;
      gap:10px;
    }

    .decorGrid{
      grid-template-columns:repeat(3,1fr)!important;
      gap:10px;
    }

    .decorChoice{
      min-height:96px;
      border-radius:18px;
      font-size:12px;
    }

    .achievementGrid{
      grid-template-columns:repeat(2,1fr)!important;
      gap:12px;
    }

    .achievementCard{
      min-height:155px;
      padding:15px;
      border-radius:21px;
    }

    .achievementIcon{
      width:46px;height:46px;
      font-size:24px;
    }

    .achievementCard strong{font-size:14px}
    .achievementCard p{font-size:10px}
    .achievementBottom{font-size:9px}

    .favoriteGrid{
      gap:12px;
    }

    .favoriteCard{
      min-height:104px;
      padding:14px;
      border-radius:20px;
    }

    .favoriteIcon{
      width:52px;height:52px;
      font-size:25px;
    }

    .favoriteInfo strong{font-size:13px}
    .favoriteInfo span{font-size:9px}
    .favoritePlay,.favoriteRemove{
      width:42px;height:42px;
    }

    .bigStat{
      min-height:125px;
      border-radius:20px;
    }

    .bigStat strong{font-size:34px}
    .bigStat span{font-size:10px}

    /* Battle Pass cards bigger and more dramatic */
    .megaPassHero{
      min-height:275px;
      padding:28px 32px 25px;
    }

    .megaPassHero h3{
      font-size:clamp(42px,5.4vw,68px);
    }

    .megaPassHeroCopy > p{
      font-size:12px;
    }

    .megaLevelHex{
      width:102px;height:84px;
    }

    .megaLevelHex strong{font-size:35px}
    .megaXpBar{height:23px}
    .megaCoinBank{min-height:60px;font-size:18px}

    .premiumUnlockCard{
      min-height:185px;
      border-radius:26px;
    }

    .premiumGem{
      width:60px;height:60px;
      font-size:30px;
    }

    .premiumUnlockCard strong{font-size:22px}
    .premiumUnlockCard p{font-size:10px}

    .passLegend{
      min-height:56px;
      font-size:9px;
    }

    .megaBattlePassTrack{
      min-width:2570px;
      grid-template-columns:repeat(12,200px)!important;
      gap:12px!important;
      padding-top:25px;
    }

    .megaLevelColumn{
      grid-template-rows:60px 246px 246px;
      gap:12px;
    }

    .megaLevelMarker span{
      width:52px;height:52px;
      font-size:19px;
    }

    .megaLevelColumn.current .megaLevelMarker span{
      width:60px;height:60px;
    }

    .megaRewardCard{
      padding:14px;
      border-radius:20px;
    }

    .rewardLaneBadge{
      min-height:23px;
      font-size:7px;
    }

    .rewardIconStage{
      height:100px;
    }

    .megaRewardIcon{
      font-size:61px;
    }

    .megaRewardCard > strong{
      font-size:14px;
    }

    .megaRewardCard > small{
      min-height:34px;
      font-size:8px;
    }

    .megaClaimButton{
      min-height:43px;
      border-radius:12px;
      font-size:10px;
    }

    .rewardLockOverlay{
      inset:25px 8px 57px;
      border-radius:16px;
    }

    .rewardLockOverlay span{
      font-size:42px;
    }

    .rewardLockOverlay small{
      font-size:7px;
    }

    .passBottomTip{
      min-height:66px;
    }

    .passBottomTip strong{font-size:11px}
    .passBottomTip small{font-size:8px}

    @media(max-width:900px){
      .questGrid{grid-template-columns:1fr!important}
      .shopGrid{grid-template-columns:repeat(2,1fr)!important}
      .skinGrid{grid-template-columns:repeat(2,1fr)!important}
      .achievementGrid{grid-template-columns:1fr!important}
      .profileTabs{grid-template-columns:repeat(2,1fr)!important}
      .megaBattlePassTrack{
        min-width:2330px;
        grid-template-columns:repeat(12,180px)!important;
      }
      .megaLevelColumn{
        grid-template-rows:56px 232px 232px;
      }
    }

    @media(max-width:600px){
      .studentHub{padding:15px}
      .hubHeading h2{font-size:29px}
      .hubStartCard strong{font-size:19px}
      .hubStartCard small{font-size:10px}
      .shopGrid{grid-template-columns:1fr!important}
      .skinGrid{grid-template-columns:1fr 1fr!important}
      .avatarPicker,.avatarCollection{grid-template-columns:repeat(4,1fr)!important}
      .decorGrid{grid-template-columns:1fr 1fr!important}
      .profileTabs{grid-template-columns:1fr 1fr!important}
    }


    /* =========================================================
       v31 - REAL ART + GAME FEEL
       ========================================================= */

    .megaPassPanel{
      background:
        linear-gradient(180deg,rgba(2,12,35,.34),rgba(3,14,38,.78)),
        url("../../pass-assets/pass-bg.webp") center/cover no-repeat!important;
    }

    .megaPassPanel::before{opacity:.12!important}

    .megaPassHero{
      min-height:330px!important;
      grid-template-columns:minmax(0,1.25fr) minmax(390px,.85fr)!important;
      overflow:hidden;
      background:linear-gradient(100deg,rgba(4,21,61,.92) 0%,rgba(8,31,76,.72) 48%,rgba(17,24,72,.18) 100%)!important;
    }

    .megaPassHeroCopy{position:relative;z-index:5}

    .passSteps{
      margin-top:16px;
      display:flex;
      align-items:center;
      gap:7px;
      flex-wrap:wrap;
    }

    .passSteps span{
      min-height:38px;
      padding:0 11px;
      border-radius:12px;
      display:inline-flex;
      align-items:center;
      gap:6px;
      color:#e9f7ff;
      background:rgba(15,76,143,.44);
      border:1px solid rgba(82,206,255,.18);
      font-size:9px;
      font-weight:1000;
      letter-spacing:.04em;
    }

    .passSteps span b{
      width:20px;height:20px;
      border-radius:7px;
      display:grid;
      place-items:center;
      color:#082647;
      background:linear-gradient(135deg,#69efff,#2cbdf0);
      font-size:9px;
    }

    .passSteps i{color:#5fdcff;font-style:normal;font-size:14px;opacity:.7}

    .passHeroVisual{
      min-height:275px;
      position:relative;
      z-index:4;
      display:flex;
      align-items:flex-end;
      justify-content:flex-end;
    }

    .passMascotArt{
      width:min(480px,115%);
      position:absolute;
      z-index:1;
      right:-20px;
      bottom:-55px;
      pointer-events:none;
      filter:drop-shadow(0 22px 26px rgba(0,0,0,.34)) drop-shadow(0 0 26px rgba(47,210,255,.18));
      animation:mascotFloat 4.2s ease-in-out infinite;
    }

    @keyframes mascotFloat{
      0%,100%{transform:translateY(4px) rotate(-1deg)}
      50%{transform:translateY(-9px) rotate(1deg)}
    }

    .premiumUnlockCard{
      width:min(330px,88%);
      min-height:132px!important;
      margin:0 7px 7px 0;
      position:relative;
      z-index:5;
      align-self:flex-end;
      backdrop-filter:blur(10px);
    }

    .premiumMiniProgress{
      height:6px;
      margin-top:8px;
      overflow:hidden;
      border-radius:999px;
      background:rgba(255,255,255,.09);
    }

    .premiumMiniProgress span{
      display:block;
      width:0;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,#ffd34d,#fff39b);
      box-shadow:0 0 12px rgba(255,205,65,.30);
      transition:width .4s ease;
    }

    .seasonLootCard{
      width:112px;height:92px;
      position:absolute;
      z-index:4;
      left:-14px;
      bottom:6px;
      pointer-events:none;
      border-radius:18px;
      overflow:hidden;
      transform:rotate(-5deg);
      background:rgba(3,15,38,.65);
      border:1px solid rgba(91,203,255,.20);
      box-shadow:0 10px 24px rgba(0,0,0,.22);
    }

    .seasonLootCard img{width:100%;height:100%;object-fit:cover;opacity:.85}
    .seasonLootCard span{
      position:absolute;
      left:5px;right:5px;bottom:5px;
      padding:4px;
      border-radius:8px;
      color:#fff2a6;
      background:rgba(3,11,29,.74);
      text-align:center;
      font-size:6px;
      font-weight:1000;
      letter-spacing:.06em;
    }

    .megaTrackViewport{
      scroll-snap-type:x mandatory;
      scroll-padding-left:20px;
    }

    .megaLevelColumn{scroll-snap-align:start}

    .rewardIconStage.hasRealArt{height:112px!important}

    .megaRewardImage{
      width:112px;height:102px;
      position:relative;
      z-index:2;
      object-fit:contain;
      filter:drop-shadow(0 10px 12px rgba(0,0,0,.30)) drop-shadow(0 0 14px rgba(58,213,255,.12));
      animation:realRewardFloat 3.1s ease-in-out infinite;
    }

    .lane-premium .megaRewardImage{
      filter:drop-shadow(0 10px 12px rgba(0,0,0,.30)) drop-shadow(0 0 16px rgba(255,201,49,.16));
    }

    @keyframes realRewardFloat{
      0%,100%{transform:translateY(3px) scale(.98)}
      50%{transform:translateY(-7px) scale(1.035)}
    }

    .megaRewardCard.claimable .megaRewardImage{animation:claimableReward 1.5s ease-in-out infinite}

    @keyframes claimableReward{
      0%,100%{transform:translateY(1px) scale(1)}
      50%{transform:translateY(-8px) scale(1.07)}
    }

    .megaRewardCard.future .megaRewardImage,
    .megaRewardCard.premiumBlocked .megaRewardImage{
      filter:grayscale(.35) brightness(.58) drop-shadow(0 7px 9px rgba(0,0,0,.30));
    }

    .rewardLockOverlay{
      background:radial-gradient(circle at 50% 35%,rgba(17,43,84,.14),rgba(2,9,24,.75))!important;
    }

    .lane-premium .rewardLockOverlay{
      background:radial-gradient(circle at 50% 35%,rgba(118,78,15,.15),rgba(20,13,6,.77))!important;
    }

    .realAvatarArt{
      width:100%;height:100%;
      display:block;
      object-fit:cover;
      border-radius:inherit;
    }

    .hubProfileAvatar,.profileHeroAvatar{overflow:hidden}

    .avatarChoice:has(.realAvatarArt){
      overflow:hidden;
      padding:0;
      background:#0b2450;
    }

    .skinCard.hasSkinArt{
      background-image:linear-gradient(180deg,rgba(7,18,42,.05),rgba(5,12,27,.66)),var(--skin-art)!important;
      background-size:cover!important;
      background-position:center!important;
    }

    .skinCardShade{
      position:absolute;
      inset:0;
      pointer-events:none;
      background:linear-gradient(180deg,transparent 35%,rgba(4,12,29,.60));
    }

    .skinCard strong,.skinCard small{z-index:2}

    .profileHeroCard.skin-galaxy,
    .hubProfileButton.skin-galaxy{
      background:linear-gradient(100deg,rgba(6,16,49,.35),rgba(51,18,93,.16)),url("../../pass-assets/skin-galaxy.webp") center/cover no-repeat!important;
    }

    .profileHeroCard.skin-royal,
    .hubProfileButton.skin-royal{
      background:linear-gradient(100deg,rgba(20,5,39,.22),rgba(63,23,79,.16)),url("../../pass-assets/skin-royal.webp") center/cover no-repeat!important;
    }

    .profileHeroCard.frame-cyan::after,
    .profileHeroCard.frame-nova::after,
    .profileHeroCard.frame-royal::after{
      content:"";
      position:absolute;
      inset:-4px;
      z-index:4;
      pointer-events:none;
      background-position:center;
      background-repeat:no-repeat;
      background-size:100% 100%;
      filter:drop-shadow(0 0 10px rgba(58,211,255,.25));
    }

    .profileHeroCard.frame-cyan::after,
    .profileHeroCard.frame-nova::after{background-image:url("../../pass-assets/neon-frame.webp")}

    .profileHeroCard.frame-royal::after{
      background-image:url("../../pass-assets/royal-frame.webp");
      filter:drop-shadow(0 0 13px rgba(255,205,62,.30));
    }

    .profileHeroCard.effect-stars::before{
      content:"";
      position:absolute;
      inset:-15%;
      z-index:3;
      pointer-events:none;
      background:url("../../pass-assets/stars.webp") center/cover no-repeat;
      opacity:.55;
      mix-blend-mode:screen;
      animation:starsDrift 4s ease-in-out infinite;
    }

    @keyframes starsDrift{
      0%,100%{transform:translate3d(-1%,1%,0) scale(1);opacity:.42}
      50%{transform:translate3d(1%,-1%,0) scale(1.04);opacity:.68}
    }

    .profileHeroCard{
      overflow:hidden;
      isolation:isolate;
    }

    .profileHeroCard > *{position:relative;z-index:5}

    .decorChoice.hasDecorArt{
      min-height:132px!important;
      position:relative;
      overflow:hidden;
      align-content:end!important;
      background:#091d42!important;
      color:#fff!important;
    }

    .decorArt{
      width:88px;height:88px;
      position:absolute;
      left:50%;top:4px;
      transform:translateX(-50%);
      object-fit:contain;
      pointer-events:none;
    }

    .decorChoice.hasDecorArt strong,
    .decorChoice.hasDecorArt span{position:relative;z-index:2}

    .shopRealArt{
      width:92px;height:92px;
      margin:4px auto -3px;
      object-fit:contain;
      filter:drop-shadow(0 8px 12px rgba(0,0,0,.16));
    }

    .rewardReveal{
      position:fixed;
      inset:0;
      z-index:500;
      display:grid;
      place-items:center;
      pointer-events:none;
      opacity:0;
      background:rgba(3,9,26,0);
      transition:opacity .22s ease,background .22s ease;
    }

    .rewardReveal.show{
      pointer-events:auto;
      opacity:1;
      background:rgba(3,9,26,.76);
      backdrop-filter:blur(8px);
    }

    .rewardRevealBurst{
      width:min(760px,90vw);
      aspect-ratio:1;
      position:absolute;
      border-radius:50%;
      opacity:0;
      background:repeating-conic-gradient(from 0deg,rgba(255,226,85,0) 0 9deg,rgba(255,226,85,.18) 10deg 14deg,rgba(63,220,255,0) 15deg 24deg);
    }

    .rewardReveal.show .rewardRevealBurst{animation:revealBurst .85s cubic-bezier(.2,.8,.2,1) both}

    @keyframes revealBurst{
      0%{transform:scale(.2) rotate(-20deg);opacity:0}
      35%{opacity:.75}
      100%{transform:scale(1.15) rotate(18deg);opacity:.16}
    }

    .rewardRevealCard{
      width:min(430px,calc(100vw - 28px));
      min-height:430px;
      padding:24px;
      position:relative;
      z-index:2;
      border-radius:32px;
      display:flex;
      flex-direction:column;
      align-items:center;
      text-align:center;
      color:#fff;
      background:radial-gradient(circle at 50% 16%,rgba(100,219,255,.21),transparent 34%),radial-gradient(circle at 50% 65%,rgba(255,201,52,.12),transparent 34%),linear-gradient(180deg,#10285c,#081837);
      border:1px solid rgba(105,217,255,.26);
      box-shadow:0 30px 90px rgba(0,0,0,.44),0 0 60px rgba(45,201,255,.13),inset 0 1px 0 rgba(255,255,255,.09);
      transform:translateY(24px) scale(.72);
      opacity:0;
    }

    .rewardReveal.show .rewardRevealCard{animation:rewardCardPop .62s cubic-bezier(.18,.9,.2,1.18) .08s forwards}

    @keyframes rewardCardPop{
      0%{transform:translateY(30px) scale(.64) rotate(-2deg);opacity:0}
      70%{transform:translateY(-5px) scale(1.04) rotate(1deg);opacity:1}
      100%{transform:translateY(0) scale(1) rotate(0);opacity:1}
    }

    .rewardRevealTop{
      color:#70e9ff;
      font-size:10px;
      font-weight:1000;
      letter-spacing:.15em;
    }

    .rewardRevealVisual{
      width:230px;height:230px;
      margin-top:8px;
      display:grid;
      place-items:center;
      position:relative;
    }

    .rewardRevealVisual::before{
      content:"";
      width:160px;height:160px;
      position:absolute;
      border-radius:50%;
      background:radial-gradient(circle,rgba(255,226,85,.34),rgba(52,211,255,.10) 50%,transparent 70%);
      filter:blur(4px);
      animation:revealGlow 1.5s ease-in-out infinite;
    }

    @keyframes revealGlow{
      0%,100%{transform:scale(.9);opacity:.55}
      50%{transform:scale(1.12);opacity:1}
    }

    .rewardRevealImage{
      width:100%;height:100%;
      position:relative;
      z-index:2;
      object-fit:contain;
      filter:drop-shadow(0 18px 18px rgba(0,0,0,.34));
      animation:revealItemFloat 2.4s ease-in-out infinite;
    }

    .rewardRevealEmoji{position:relative;z-index:2;font-size:100px}

    @keyframes revealItemFloat{
      0%,100%{transform:translateY(4px) rotate(-2deg)}
      50%{transform:translateY(-8px) rotate(2deg)}
    }

    .rewardRevealCard > strong{margin-top:-4px;font-size:26px}
    .rewardRevealCard > span:not(.rewardRevealTop){margin-top:5px;color:#9db7d7;font-size:11px;font-weight:800}

    .rewardRevealCard button{
      width:100%;
      min-height:54px;
      margin-top:auto;
      border:0;
      border-radius:16px;
      cursor:pointer;
      color:#624300;
      background:linear-gradient(180deg,#fff27d,#ffb925);
      box-shadow:0 7px 0 #9b610c,0 0 22px rgba(255,197,47,.24);
      font-size:13px;
      font-weight:1000;
    }

    .rewardRevealCard button:active{
      transform:translateY(5px);
      box-shadow:0 2px 0 #9b610c;
    }

    @media(max-width:900px){
      .megaPassHero{grid-template-columns:1fr!important}
      .passHeroVisual{min-height:260px}
      .passMascotArt{
        width:min(440px,90vw);
        right:50%;
        transform:translateX(50%);
        bottom:-70px;
      }
      @keyframes mascotFloat{
        0%,100%{transform:translateX(50%) translateY(4px) rotate(-1deg)}
        50%{transform:translateX(50%) translateY(-9px) rotate(1deg)}
      }
      .premiumUnlockCard{width:min(340px,82%);margin-left:auto;margin-right:0}
    }

    @media(max-width:600px){
      .passSteps{display:grid;grid-template-columns:1fr}
      .passSteps i{display:none}
      .passSteps span{width:max-content}
      .passHeroVisual{min-height:235px}
      .passMascotArt{width:350px;opacity:.86}
      .premiumUnlockCard{width:100%;min-height:118px!important}
      .seasonLootCard{display:none}
      .rewardRevealCard{min-height:390px}
      .rewardRevealVisual{width:190px;height:190px}
    }


    /* =========================================================
       v32 - frame/avatar/buttons/coins fixes
       ========================================================= */

    /* Old banner-wide frame off */
    .profileHeroCard.frame-cyan::after,
    .profileHeroCard.frame-nova::after,
    .profileHeroCard.frame-royal::after{
      display:none!important;
      content:none!important;
    }

    .profileHeroAvatar,
    .hubProfileAvatar{
      position:relative;
      overflow:visible!important;
      isolation:isolate;
    }

    .profileHeroAvatar .realAvatarArt,
    .hubProfileAvatar .realAvatarArt{
      position:relative;
      z-index:1;
    }

    .profileHeroCard.frame-cyan .profileHeroAvatar::after,
    .profileHeroCard.frame-nova .profileHeroAvatar::after,
    .profileHeroCard.frame-royal .profileHeroAvatar::after,
    .hubProfileButton.frame-cyan .hubProfileAvatar::after,
    .hubProfileButton.frame-nova .hubProfileAvatar::after,
    .hubProfileButton.frame-royal .hubProfileAvatar::after{
      content:"";
      position:absolute;
      inset:-8px;
      z-index:3;
      pointer-events:none;
      background-position:center;
      background-repeat:no-repeat;
      background-size:100% 100%;
      filter:drop-shadow(0 0 10px rgba(58,211,255,.26));
    }

    .profileHeroCard.frame-cyan .profileHeroAvatar::after,
    .profileHeroCard.frame-nova .profileHeroAvatar::after,
    .hubProfileButton.frame-cyan .hubProfileAvatar::after,
    .hubProfileButton.frame-nova .hubProfileAvatar::after{
      background-image:url("../../pass-assets/neon-frame.webp");
    }

    .profileHeroCard.frame-royal .profileHeroAvatar::after,
    .hubProfileButton.frame-royal .hubProfileAvatar::after{
      background-image:url("../../pass-assets/royal-frame.webp");
      filter:drop-shadow(0 0 12px rgba(255,205,62,.34));
    }

    /* Stronger profile navigation buttons */
    .profileTabs{
      padding:10px!important;
      gap:10px!important;
      background:linear-gradient(180deg,#0c2148,#091836)!important;
      border:1px solid rgba(74,171,255,.16)!important;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
    }

    .profileTab{
      min-height:62px!important;
      padding:12px 10px!important;
      border-radius:18px!important;
      border:1px solid rgba(96,184,255,.18)!important;
      color:#dcecff!important;
      background:
        linear-gradient(180deg,rgba(28,65,125,.95),rgba(17,41,90,.95))!important;
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 8px 18px rgba(3,11,29,.18)!important;
      font-size:13px!important;
      font-weight:1000!important;
      letter-spacing:.02em;
      transition:transform .15s ease,box-shadow .15s ease,filter .15s ease!important;
    }

    .profileTab:hover{
      transform:translateY(-2px);
      filter:brightness(1.08);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.12),
        0 12px 24px rgba(22,77,167,.22)!important;
    }

    .profileTab.active{
      color:#06213e!important;
      background:linear-gradient(180deg,#86f3ff,#28c9f5)!important;
      border-color:rgba(125,242,255,.52)!important;
      box-shadow:
        0 0 0 2px rgba(91,232,255,.18),
        0 14px 26px rgba(43,205,255,.28)!important;
      transform:translateY(-1px);
    }

    .profileTab:focus-visible{
      outline:3px solid rgba(255,223,98,.75);
      outline-offset:2px;
    }

    /* Bigger/clearer buttons inside profile areas */
    .shopBuyButton,
    .favoritePlay,
    .favoriteRemove,
    .profileSaveButton,
    .megaClaimButton{
      font-weight:1000!important;
      letter-spacing:.03em;
    }

    .shopBuyButton{
      min-height:48px!important;
      font-size:11px!important;
      border-radius:14px!important;
    }

    /* Coin image everywhere */
    .coinInline{
      width:18px;
      height:18px;
      display:inline-block;
      object-fit:contain;
      vertical-align:-4px;
      margin-right:6px;
      filter:drop-shadow(0 2px 4px rgba(0,0,0,.15));
    }

    .coinMiniStat span,
    .shopBalance,
    .profileCoins,
    .megaCoinBank{
      white-space:nowrap;
    }

    .shopBalance,
    .profileCoins{
      display:inline-flex!important;
      align-items:center;
      gap:6px;
    }

    .megaCoinBank{
      gap:8px!important;
    }

    .megaCoinBank strong{
      display:inline-flex;
      align-items:center;
      gap:7px;
    }

    .megaCoinBank .coinInline{
      width:24px;
      height:24px;
      margin-right:0;
      vertical-align:0;
    }

    .coinMiniStat .coinInline{
      width:16px;
      height:16px;
      margin-right:4px;
    }

    @media(max-width:700px){
      .profileTab{
        min-height:58px!important;
        font-size:12px!important;
      }
    }


    /* =========================================================
       v33 - JUICY CHILD-FRIENDLY SHOP
       ========================================================= */

    .megaShopPanel{
      padding:0!important;
      overflow:hidden;
      border-radius:27px;
      background:
        radial-gradient(circle at 82% 5%,rgba(122,75,255,.14),transparent 26%),
        linear-gradient(180deg,#f4f8ff,#edf4ff);
      border:1px solid rgba(72,143,225,.14);
      box-shadow:0 18px 42px rgba(28,72,132,.10);
    }

    .shopHero{
      min-height:190px;
      padding:24px 26px;
      position:relative;
      overflow:hidden;
      display:grid;
      grid-template-columns:minmax(0,1fr) 210px;
      align-items:center;
      color:#fff;
      background:
        radial-gradient(circle at 72% 20%,rgba(124,81,255,.38),transparent 24%),
        radial-gradient(circle at 28% 110%,rgba(23,213,255,.22),transparent 34%),
        linear-gradient(120deg,#071a3b,#123a7d 58%,#372478);
      border-bottom:1px solid rgba(105,201,255,.18);
    }

    .shopHero::before{
      content:"";
      position:absolute;
      inset:0;
      opacity:.22;
      pointer-events:none;
      background:
        radial-gradient(circle at 15% 30%,#fff 0 1px,transparent 1.5px),
        radial-gradient(circle at 53% 22%,#60eaff 0 1px,transparent 1.5px),
        radial-gradient(circle at 85% 68%,#ffd65a 0 1px,transparent 1.5px);
      background-size:95px 80px,135px 105px,115px 95px;
      animation:shopStars 14s linear infinite;
    }

    @keyframes shopStars{
      to{background-position:95px 80px,-135px 105px,115px -95px}
    }

    .shopHeroCopy{
      position:relative;
      z-index:4;
      max-width:620px;
    }

    .shopHeroEyebrow{
      color:#68eaff;
      font-size:10px;
      font-weight:1000;
      letter-spacing:.11em;
    }

    .shopHero h3{
      margin:7px 0 0;
      color:#fff;
      font-size:clamp(28px,3.6vw,42px);
      line-height:1;
      letter-spacing:-.03em;
    }

    .shopHeroPurpose{
      max-width:535px;
      margin:10px 0 0;
      color:#c8e4ee;
      font-size:12px;
      font-weight:800;
      line-height:1.45;
    }

    .shopSteps{
      margin-top:17px;
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
    }

    .shopSteps span{
      min-height:38px;
      padding:0 12px;
      border-radius:12px;
      display:inline-flex;
      align-items:center;
      color:#e8f7ff;
      background:rgba(255,255,255,.09);
      border:1px solid rgba(255,255,255,.10);
      font-size:10px;
      font-weight:1000;
    }

    .shopSteps b{
      color:#63e6ff;
      font-size:15px;
    }

    .shopHeroChest{
      width:220px;
      position:absolute;
      right:28px;
      bottom:-52px;
      z-index:2;
      pointer-events:none;
      filter:
        drop-shadow(0 18px 20px rgba(0,0,0,.28))
        drop-shadow(0 0 18px rgba(53,212,255,.17));
      animation:shopChestFloat 3.8s ease-in-out infinite;
    }

    @keyframes shopChestFloat{
      0%,100%{transform:translateY(3px) rotate(1deg)}
      50%{transform:translateY(-7px) rotate(-1deg)}
    }

    .shopWallet{
      min-width:142px;
      padding:10px 13px;
      position:absolute;
      z-index:5;
      top:18px;
      right:18px;
      border-radius:17px;
      display:grid;
      gap:3px;
      color:#fff3a8;
      background:rgba(5,15,38,.68);
      border:1px solid rgba(255,214,76,.26);
      box-shadow:0 10px 24px rgba(0,0,0,.18);
      backdrop-filter:blur(10px);
    }

    .shopWallet small{
      color:#ffdb64;
      font-size:7px;
      font-weight:1000;
      letter-spacing:.10em;
    }

    .shopWallet strong{
      display:flex;
      align-items:center;
      gap:6px;
      color:#fff5b9;
      font-size:19px;
    }

    .shopWallet .coinInline{
      width:29px;
      height:29px;
    }

    .shopCategoryBar{
      padding:13px 16px;
      display:flex;
      gap:8px;
      overflow-x:auto;
      scrollbar-width:none;
      background:#0b1f46;
      border-bottom:1px solid rgba(65,145,231,.18);
    }

    .shopCategoryBar::-webkit-scrollbar{display:none}

    .shopCategory{
      min-height:43px;
      padding:0 15px;
      flex:0 0 auto;
      border:1px solid rgba(97,176,255,.17);
      border-radius:13px;
      cursor:pointer;
      color:#c9dcf5;
      background:linear-gradient(180deg,#173b73,#102b59);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
      font-size:10px;
      font-weight:1000;
      transition:transform .15s ease,filter .15s ease,box-shadow .15s ease;
    }

    .shopCategory:hover{
      transform:translateY(-2px);
      filter:brightness(1.10);
    }

    .shopCategory.active{
      color:#082139;
      background:linear-gradient(180deg,#8bf4ff,#31d1f5);
      border-color:#9cf5ff;
      box-shadow:0 0 0 2px rgba(71,220,255,.15),0 8px 20px rgba(36,202,241,.22);
    }

    .megaShopPanel .shopGrid{
      margin:0!important;
      padding:18px;
      grid-template-columns:repeat(3,minmax(0,1fr))!important;
      gap:15px!important;
    }

    .gameShopCard{
      min-height:300px!important;
      padding:13px!important;
      border-radius:23px!important;
      position:relative;
      isolation:isolate;
      overflow:hidden;
      color:#fff;
      background:
        radial-gradient(circle at 50% 26%,rgba(74,189,255,.16),transparent 35%),
        linear-gradient(180deg,#173a70,#0c234c 72%,#091b3d)!important;
      border:2px solid rgba(79,164,248,.26)!important;
      box-shadow:
        0 12px 26px rgba(11,35,77,.15),
        inset 0 1px 0 rgba(255,255,255,.07)!important;
      transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
    }

    .gameShopCard:hover{
      transform:translateY(-5px) scale(1.01);
      box-shadow:
        0 19px 34px rgba(11,35,77,.22),
        0 0 24px rgba(62,185,255,.10),
        inset 0 1px 0 rgba(255,255,255,.10)!important;
    }

    .gameShopCard.rarity-rare{
      background:
        radial-gradient(circle at 50% 25%,rgba(34,198,255,.22),transparent 36%),
        linear-gradient(180deg,#154980,#0a2857 72%,#081d43)!important;
      border-color:rgba(66,206,255,.42)!important;
    }

    .gameShopCard.rarity-epic{
      background:
        radial-gradient(circle at 50% 25%,rgba(179,91,255,.24),transparent 36%),
        linear-gradient(180deg,#563184,#2b205e 72%,#181540)!important;
      border-color:rgba(190,112,255,.47)!important;
    }

    .gameShopCard.rarity-legendary{
      background:
        radial-gradient(circle at 50% 24%,rgba(255,209,70,.24),transparent 36%),
        linear-gradient(180deg,#6d4b17,#3d2b14 72%,#251b12)!important;
      border-color:rgba(255,201,56,.58)!important;
      box-shadow:
        0 14px 30px rgba(94,64,11,.18),
        0 0 28px rgba(255,196,44,.11)!important;
    }

    .gameShopCard.equipped{
      border-color:#6af0ff!important;
      box-shadow:
        0 0 0 3px rgba(74,226,255,.14),
        0 16px 32px rgba(23,156,211,.22),
        0 0 28px rgba(65,218,255,.15)!important;
    }

    .shopCardGlow{
      width:150px;
      height:150px;
      position:absolute;
      left:50%;
      top:42px;
      z-index:-1;
      transform:translateX(-50%);
      border-radius:50%;
      background:radial-gradient(circle,rgba(100,226,255,.19),transparent 67%);
      filter:blur(3px);
      pointer-events:none;
    }

    .rarity-epic .shopCardGlow{
      background:radial-gradient(circle,rgba(189,103,255,.24),transparent 67%);
    }

    .rarity-legendary .shopCardGlow{
      background:radial-gradient(circle,rgba(255,211,77,.28),transparent 67%);
    }

    .shopCardTop{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:7px;
    }

    .shopTypeBadge,
    .gameShopCard .shopRarity{
      min-height:26px!important;
      padding:0 8px!important;
      border-radius:999px!important;
      display:inline-flex;
      align-items:center;
      font-size:7px!important;
      font-weight:1000!important;
      letter-spacing:.05em;
    }

    .shopTypeBadge{
      color:#cce8ff;
      background:rgba(76,171,255,.12);
      border:1px solid rgba(102,190,255,.14);
    }

    .gameShopCard .shopRarity{
      color:#a9c0da!important;
      background:rgba(5,19,45,.45)!important;
      border:1px solid rgba(255,255,255,.08);
    }

    .rarity-rare .shopRarity{color:#69eaff!important}
    .rarity-epic .shopRarity{color:#e1a4ff!important}
    .rarity-legendary .shopRarity{color:#ffe174!important}

    .shopVisual{
      height:126px;
      margin-top:8px;
      display:grid;
      place-items:center;
      position:relative;
    }

    .shopItemEmoji{
      font-size:74px;
      line-height:1;
      filter:drop-shadow(0 11px 12px rgba(0,0,0,.25));
      animation:shopItemFloat 3s ease-in-out infinite;
    }

    .shopItemArt{
      width:130px;
      height:122px;
      object-fit:contain;
      filter:drop-shadow(0 13px 13px rgba(0,0,0,.24));
      animation:shopItemFloat 3s ease-in-out infinite;
    }

    @keyframes shopItemFloat{
      0%,100%{transform:translateY(2px) rotate(-1deg)}
      50%{transform:translateY(-6px) rotate(1deg)}
    }

    .shopItemInfo{
      min-height:66px;
      text-align:center;
    }

    .gameShopCard .shopItemInfo strong{
      margin:0!important;
      display:block;
      color:#fff!important;
      font-size:15px!important;
      line-height:1.1;
    }

    .gameShopCard .shopItemInfo p{
      margin:5px auto 0!important;
      max-width:220px;
      color:#9eb9d8!important;
      font-size:9px!important;
      line-height:1.3!important;
    }

    .shopCardBottom{
      margin-top:auto;
      padding-top:10px;
      display:grid;
      grid-template-columns:auto 1fr;
      align-items:center;
      gap:8px;
    }

    .shopPrice{
      min-width:70px;
      min-height:44px;
      padding:0 10px;
      border-radius:13px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:5px;
      color:#6b4800;
      background:linear-gradient(180deg,#fff09a,#ffc73d);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 5px 12px rgba(255,190,38,.14);
      font-size:13px;
      font-weight:1000;
    }

    .shopPrice .coinInline{
      width:23px;
      height:23px;
      margin:0;
    }

    .ownedPrice{
      min-width:92px;
      color:#8ceec2;
      background:rgba(43,188,129,.13);
      border:1px solid rgba(73,224,163,.18);
      box-shadow:none;
      font-size:8px;
    }

    .shopAction{
      min-height:46px;
      border:0;
      border-radius:14px;
      cursor:pointer;
      font-size:10px;
      font-weight:1000;
      letter-spacing:.04em;
      transition:transform .14s ease,filter .14s ease,box-shadow .14s ease;
    }

    .shopAction.buy{
      color:#09213c;
      background:linear-gradient(180deg,#86f3ff,#2ccbf5);
      box-shadow:0 6px 0 #117c9e,0 0 16px rgba(57,216,250,.18);
    }

    .shopAction.equip{
      color:#563500;
      background:linear-gradient(180deg,#fff079,#ffb82c);
      box-shadow:0 6px 0 #a96a0d,0 0 16px rgba(255,191,40,.17);
    }

    .shopAction.equipped{
      cursor:default;
      color:#88f2c5;
      background:rgba(38,184,124,.15);
      border:1px solid rgba(69,225,159,.20);
    }

    .shopAction.need{
      cursor:default;
      color:#92a9c4;
      background:#142946;
      border:1px solid rgba(255,255,255,.07);
      font-size:8px;
    }

    .shopAction.buy:hover,
    .shopAction.equip:hover{
      transform:translateY(-2px);
      filter:brightness(1.08);
    }

    .shopAction.buy:active,
    .shopAction.equip:active{
      transform:translateY(4px);
      box-shadow:none;
    }

    @media(max-width:980px){
      .megaShopPanel .shopGrid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
      }
    }

    @media(max-width:650px){
      .shopHero{
        min-height:235px;
        padding:18px 15px;
        grid-template-columns:1fr;
        align-items:start;
      }

      .shopHeroCopy{
        max-width:100%;
        padding-right:0;
      }

      .shopHero h3{
        max-width:300px;
        font-size:29px;
      }

      .shopSteps{
        max-width:250px;
      }

      .shopSteps b{display:none}

      .shopHeroChest{
        width:165px;
        right:-12px;
        bottom:-34px;
        opacity:.88;
      }

      .shopWallet{
        top:auto;
        right:auto;
        left:15px;
        bottom:13px;
      }

      .megaShopPanel .shopGrid{
        grid-template-columns:1fr!important;
        padding:13px!important;
      }

      .gameShopCard{
        min-height:285px!important;
      }

      .shopCategoryBar{
        padding-left:10px;
        padding-right:10px;
      }
    }


    /* =========================================================
       v34 - GAME WARDROBE
       ========================================================= */

    .wardrobePanel{
      padding:0!important;
      overflow:hidden;
      border-radius:27px;
      background:
        radial-gradient(circle at 85% 10%,rgba(137,78,255,.11),transparent 28%),
        linear-gradient(180deg,#f3f8ff,#edf4ff);
      border:1px solid rgba(70,144,224,.14);
      box-shadow:0 18px 42px rgba(31,73,133,.09);
    }

    .wardrobeHero{
      min-height:220px;
      padding:24px 26px;
      position:relative;
      overflow:hidden;
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(290px,.62fr);
      gap:24px;
      align-items:center;
      color:#fff;
      background:
        radial-gradient(circle at 82% 10%,rgba(173,78,255,.33),transparent 28%),
        radial-gradient(circle at 8% 110%,rgba(34,221,255,.24),transparent 34%),
        linear-gradient(120deg,#0b1c45,#153f84 57%,#4d267d);
      border-bottom:1px solid rgba(103,207,255,.18);
    }

    .wardrobeHero::before{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      opacity:.18;
      background:
        radial-gradient(circle at 16% 22%,#fff 0 1px,transparent 1.5px),
        radial-gradient(circle at 44% 72%,#64ecff 0 1px,transparent 1.5px),
        radial-gradient(circle at 83% 33%,#ffd968 0 1px,transparent 1.5px);
      background-size:105px 85px,145px 115px,125px 100px;
      animation:wardrobeStars 15s linear infinite;
    }

    @keyframes wardrobeStars{
      to{background-position:105px 85px,-145px 115px,125px -100px}
    }

    .wardrobeHeroCopy{
      position:relative;
      z-index:3;
    }

    .wardrobeEyebrow{
      color:#65eaff;
      font-size:10px;
      font-weight:1000;
      letter-spacing:.12em;
    }

    .wardrobeHero h3{
      margin:7px 0 0;
      color:#fff;
      font-size:clamp(31px,4vw,46px);
      line-height:1;
      letter-spacing:-.035em;
    }

    .wardrobeSteps{
      margin-top:18px;
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
    }

    .wardrobeSteps span{
      min-height:40px;
      padding:0 12px;
      border-radius:13px;
      display:inline-flex;
      align-items:center;
      color:#edf9ff;
      background:rgba(255,255,255,.09);
      border:1px solid rgba(255,255,255,.10);
      font-size:10px;
      font-weight:1000;
    }

    .wardrobeSteps b{
      color:#64eaff;
      font-size:15px;
    }

    .wardrobePreviewCard{
      min-height:160px;
      padding:16px;
      position:relative;
      z-index:3;
      overflow:hidden;
      border-radius:24px;
      display:grid;
      grid-template-columns:auto minmax(0,1fr);
      align-items:center;
      gap:14px;
      color:#fff;
      background:linear-gradient(135deg,#286ed6,#665bea);
      border:1px solid rgba(255,255,255,.16);
      box-shadow:
        0 20px 40px rgba(4,13,39,.24),
        inset 0 1px 0 rgba(255,255,255,.12);
      isolation:isolate;
    }

    .wardrobeNow{
      position:absolute;
      top:10px;
      left:12px;
      z-index:8;
      min-height:24px;
      padding:0 8px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#dff9ff;
      background:rgba(5,18,44,.58);
      border:1px solid rgba(255,255,255,.10);
      font-size:7px;
      font-weight:1000;
      letter-spacing:.08em;
    }

    .wardrobePreviewAvatar{
      width:92px;
      height:92px;
      margin-top:17px;
      position:relative;
      z-index:5;
      border-radius:26px;
      display:grid;
      place-items:center;
      overflow:visible;
      background:rgba(255,255,255,.15);
      border:1px solid rgba(255,255,255,.16);
      font-size:48px;
    }

    .wardrobePreviewAvatar .realAvatarArt{
      border-radius:26px;
      overflow:hidden;
    }

    .wardrobePreviewInfo{
      margin-top:16px;
      position:relative;
      z-index:5;
      min-width:0;
      display:grid;
      gap:4px;
    }

    .wardrobePreviewInfo strong{
      overflow:hidden;
      font-size:21px;
      white-space:nowrap;
      text-overflow:ellipsis;
    }

    .wardrobePreviewInfo span{
      width:max-content;
      max-width:100%;
      min-height:28px;
      padding:0 9px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      overflow:hidden;
      color:#eef8ff;
      background:rgba(255,255,255,.12);
      font-size:9px;
      font-weight:900;
      white-space:nowrap;
      text-overflow:ellipsis;
    }

    /* Real skins on preview */
    .wardrobePreviewCard.skin-galaxy{
      background:
        linear-gradient(100deg,rgba(6,16,49,.35),rgba(51,18,93,.16)),
        url("../../pass-assets/skin-galaxy.webp") center/cover no-repeat;
    }

    .wardrobePreviewCard.skin-royal{
      background:
        linear-gradient(100deg,rgba(20,5,39,.22),rgba(63,23,79,.16)),
        url("../../pass-assets/skin-royal.webp") center/cover no-repeat;
    }

    .wardrobePreviewCard.skin-neon{
      background:linear-gradient(135deg,#0d1630,#2e1672 55%,#00cfe8);
    }

    .wardrobePreviewCard.skin-lava{
      background:linear-gradient(135deg,#4b1421,#b62921 52%,#ff8b22);
    }

    .wardrobePreviewCard.skin-space{
      background:radial-gradient(circle at 80% 20%,#704fd5,transparent 28%),linear-gradient(135deg,#071328,#14295a 65%,#1e5797);
    }

    .wardrobePreviewCard.skin-gold{
      background:linear-gradient(135deg,#624715,#b88316 50%,#f4c64d);
    }

    .wardrobePreviewCard.skin-candy{
      background:linear-gradient(135deg,#ff80bb,#8f70ff 56%,#55dce7);
    }

    /* Frames only around avatar in wardrobe preview */
    .wardrobePreviewCard.frame-cyan .wardrobePreviewAvatar::after,
    .wardrobePreviewCard.frame-nova .wardrobePreviewAvatar::after,
    .wardrobePreviewCard.frame-royal .wardrobePreviewAvatar::after{
      content:"";
      position:absolute;
      inset:-12px;
      z-index:7;
      pointer-events:none;
      background-position:center;
      background-repeat:no-repeat;
      background-size:100% 100%;
    }

    .wardrobePreviewCard.frame-cyan .wardrobePreviewAvatar::after,
    .wardrobePreviewCard.frame-nova .wardrobePreviewAvatar::after{
      background-image:url("../../pass-assets/neon-frame.webp");
      filter:drop-shadow(0 0 10px rgba(69,221,255,.30));
    }

    .wardrobePreviewCard.frame-royal .wardrobePreviewAvatar::after{
      background-image:url("../../pass-assets/royal-frame.webp");
      filter:drop-shadow(0 0 12px rgba(255,207,67,.34));
    }

    .wardrobePreviewCard.effect-stars::before{
      content:"";
      position:absolute;
      inset:-25%;
      z-index:2;
      pointer-events:none;
      background:url("../../pass-assets/stars.webp") center/cover no-repeat;
      opacity:.55;
      mix-blend-mode:screen;
      animation:wardrobeEffectStars 3.6s ease-in-out infinite;
    }

    @keyframes wardrobeEffectStars{
      0%,100%{transform:translate(-1%,1%) scale(1);opacity:.42}
      50%{transform:translate(1%,-1%) scale(1.05);opacity:.72}
    }

    .wardrobeSection{
      margin:16px;
      overflow:hidden;
      border-radius:23px;
      background:#fff;
      border:1px solid rgba(65,138,219,.12);
      box-shadow:0 9px 24px rgba(30,69,125,.06);
    }

    .wardrobeSection + .wardrobeSection{
      margin-top:13px;
    }

    .wardrobeSectionHeader{
      min-height:73px;
      padding:12px 14px;
      display:grid;
      grid-template-columns:auto minmax(0,1fr) auto;
      align-items:center;
      gap:11px;
      background:
        linear-gradient(180deg,#f8fbff,#f1f7ff);
      border-bottom:1px solid rgba(68,143,226,.10);
    }

    .wardrobeSectionIcon{
      width:46px;
      height:46px;
      border-radius:15px;
      display:grid;
      place-items:center;
      background:linear-gradient(135deg,#e4f5ff,#eee5ff);
      font-size:23px;
    }

    .wardrobeSectionHeader div{
      display:grid;
      gap:2px;
    }

    .wardrobeSectionHeader small{
      color:#7b91ad;
      font-size:8px;
      font-weight:1000;
      letter-spacing:.09em;
    }

    .wardrobeSectionHeader h4{
      margin:0;
      color:#173763;
      font-size:20px;
    }

    .wardrobeSectionHint{
      min-height:30px;
      padding:0 10px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#43729f;
      background:#eaf5ff;
      font-size:9px;
      font-weight:900;
    }

    /* SKIN CARDS */
    .wardrobeSkinGrid{
      padding:14px;
      margin:0!important;
      grid-template-columns:repeat(3,minmax(0,1fr))!important;
      gap:12px!important;
    }

    .wardrobeSkinCard{
      min-height:235px;
      padding:11px;
      position:relative;
      overflow:hidden;
      border-radius:20px;
      display:flex;
      flex-direction:column;
      color:#fff;
      background:linear-gradient(135deg,#296fd7,#6a5be8);
      border:2px solid transparent;
      box-shadow:0 10px 22px rgba(31,65,120,.11);
      transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
      isolation:isolate;
    }

    .wardrobeSkinCard:hover{
      transform:translateY(-4px);
      box-shadow:0 16px 28px rgba(31,65,120,.18);
    }

    .wardrobeSkinCard.equipped{
      border-color:#65efff;
      box-shadow:
        0 0 0 3px rgba(84,231,255,.13),
        0 15px 30px rgba(37,155,210,.18);
    }

    .wardrobeSkinCard.locked{
      filter:saturate(.62) brightness(.78);
    }

    .wardrobeSkinCard.skin-neon{background:linear-gradient(135deg,#0d1630,#2e1672 55%,#00cfe8)}
    .wardrobeSkinCard.skin-lava{background:linear-gradient(135deg,#4b1421,#b62921 52%,#ff8b22)}
    .wardrobeSkinCard.skin-space{background:radial-gradient(circle at 80% 20%,#704fd5,transparent 28%),linear-gradient(135deg,#071328,#14295a 65%,#1e5797)}
    .wardrobeSkinCard.skin-gold{background:linear-gradient(135deg,#624715,#b88316 50%,#f4c64d)}
    .wardrobeSkinCard.skin-candy{background:linear-gradient(135deg,#ff80bb,#8f70ff 56%,#55dce7)}
    .wardrobeSkinCard.hasSkinArt{
      background-image:
        linear-gradient(180deg,rgba(7,18,42,.04),rgba(5,12,27,.62)),
        var(--skin-art)!important;
      background-size:cover!important;
      background-position:center!important;
    }

    .wardrobeCardBadge{
      width:max-content;
      min-height:24px;
      padding:0 8px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      position:relative;
      z-index:3;
      color:#dff8ff;
      background:rgba(4,16,39,.54);
      border:1px solid rgba(255,255,255,.10);
      font-size:7px;
      font-weight:1000;
      letter-spacing:.07em;
    }

    .wardrobeSkinPreview{
      height:103px;
      display:grid;
      place-items:center;
      position:relative;
      z-index:3;
    }

    .wardrobeSkinAvatar{
      width:78px;
      height:78px;
      border-radius:22px;
      display:grid;
      place-items:center;
      overflow:hidden;
      background:rgba(255,255,255,.16);
      border:1px solid rgba(255,255,255,.14);
      font-size:40px;
      box-shadow:0 10px 20px rgba(0,0,0,.14);
    }

    .wardrobeSkinCard > strong{
      position:relative;
      z-index:3;
      font-size:15px;
    }

    .wardrobeSkinCard > small{
      min-height:25px;
      margin-top:3px;
      position:relative;
      z-index:3;
      color:rgba(255,255,255,.72);
      font-size:9px;
      font-weight:800;
    }

    /* AVATARS */
    .wardrobeAvatarGrid{
      padding:14px;
      margin:0!important;
      grid-template-columns:repeat(5,minmax(0,1fr))!important;
      gap:10px!important;
    }

    .wardrobeAvatarCard{
      min-height:178px;
      padding:9px;
      border-radius:18px;
      display:flex;
      flex-direction:column;
      text-align:center;
      background:linear-gradient(180deg,#f8fbff,#edf5ff);
      border:2px solid #e3edf8;
      transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
    }

    .wardrobeAvatarCard:hover{
      transform:translateY(-3px);
      border-color:#9ddcff;
    }

    .wardrobeAvatarCard.equipped{
      border-color:#4adcf8;
      background:linear-gradient(180deg,#ecfbff,#def7ff);
      box-shadow:0 0 0 3px rgba(68,218,245,.10);
    }

    .wardrobeAvatarCard.locked{
      opacity:.64;
    }

    .wardrobeAvatarVisual{
      height:93px;
      border-radius:15px;
      display:grid;
      place-items:center;
      overflow:hidden;
      color:#738ba8;
      background:linear-gradient(135deg,#e6f3ff,#ece8ff);
      font-size:48px;
    }

    .wardrobeAvatarVisual .realAvatarArt{
      object-fit:cover;
    }

    .avatarBigLock{
      font-size:32px;
      filter:grayscale(.4);
    }

    .wardrobeAvatarCard > strong{
      margin-top:7px;
      color:#173763;
      font-size:10px;
    }

    /* FRAME / EFFECT CARDS */
    .wardrobeDecorGrid{
      padding:14px;
      margin:0!important;
      grid-template-columns:repeat(4,minmax(0,1fr))!important;
      gap:10px!important;
    }

    .wardrobeDecorCard{
      min-height:200px;
      padding:10px;
      border-radius:19px;
      display:flex;
      flex-direction:column;
      text-align:center;
      background:linear-gradient(180deg,#0e2855,#091b3e);
      border:2px solid rgba(91,174,255,.18);
      box-shadow:0 9px 20px rgba(17,46,88,.10);
      transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
    }

    .wardrobeDecorCard:hover{
      transform:translateY(-3px);
      border-color:rgba(91,216,255,.50);
    }

    .wardrobeDecorCard.equipped{
      border-color:#62eaff;
      box-shadow:0 0 0 3px rgba(89,226,255,.10),0 12px 25px rgba(21,126,173,.16);
    }

    .wardrobeDecorCard.locked{
      filter:saturate(.55) brightness(.78);
    }

    .wardrobeDecorVisual{
      height:105px;
      border-radius:15px;
      display:grid;
      place-items:center;
      overflow:hidden;
      background:
        radial-gradient(circle at 50% 40%,rgba(87,204,255,.12),transparent 62%);
    }

    .wardrobeDecorVisual img{
      width:100px;
      height:100px;
      object-fit:contain;
      filter:drop-shadow(0 9px 10px rgba(0,0,0,.20));
    }

    .wardrobeDecorVisual span{
      color:#7db7e7;
      font-size:54px;
    }

    .wardrobeDecorCard > strong{
      margin-top:7px;
      color:#eff8ff;
      font-size:11px;
    }

    .wardrobeDecorCard > small{
      min-height:24px;
      margin-top:3px;
      color:#86a5c5;
      font-size:8px;
      font-weight:800;
    }

    /* UNIVERSAL WARDROBE ACTION */
    .wardrobeAction{
      width:100%;
      min-height:42px;
      margin-top:auto;
      border:0;
      border-radius:13px;
      position:relative;
      z-index:5;
      cursor:pointer;
      font-size:9px;
      font-weight:1000;
      letter-spacing:.04em;
      transition:transform .13s ease,filter .13s ease,box-shadow .13s ease;
    }

    .wardrobeAction.wear{
      color:#06223f;
      background:linear-gradient(180deg,#85f3ff,#2dcef6);
      box-shadow:0 5px 0 #117c9f,0 0 14px rgba(58,218,250,.17);
    }

    .wardrobeAction.shop{
      color:#5b3900;
      background:linear-gradient(180deg,#fff07e,#ffb92b);
      box-shadow:0 5px 0 #a9690e,0 0 14px rgba(255,192,43,.16);
    }

    .wardrobeAction.equipped{
      cursor:default;
      color:#18805b;
      background:#dbf8eb;
      border:1px solid #a8ebcf;
    }

    .wardrobeAction.locked{
      cursor:default;
      color:#8297b1;
      background:#e8eef5;
      border:1px solid #d9e2ed;
    }

    .wardrobeAction.wear:hover,
    .wardrobeAction.shop:hover{
      transform:translateY(-2px);
      filter:brightness(1.07);
    }

    .wardrobeAction.wear:active,
    .wardrobeAction.shop:active{
      transform:translateY(3px);
      box-shadow:none;
    }

    @media(max-width:980px){
      .wardrobeSkinGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
      .wardrobeAvatarGrid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
      .wardrobeDecorGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
    }

    @media(max-width:700px){
      .wardrobeHero{
        grid-template-columns:1fr;
        padding:18px 15px;
      }

      .wardrobeSteps b{display:none}
      .wardrobePreviewCard{min-height:145px}
      .wardrobeSkinGrid{grid-template-columns:1fr!important}
      .wardrobeAvatarGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
      .wardrobeDecorGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
      .wardrobeSection{margin:11px}
      .wardrobeSectionHint{display:none}
    }

    @media(max-width:460px){
      .wardrobeAvatarGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
      .wardrobeDecorGrid{grid-template-columns:1fr 1fr!important}
    }


    /* =========================================================
       v35 - TROPHY ROOM
       ========================================================= */

    .achievementPanel{
      padding:0!important;
      overflow:hidden;
      border-radius:27px;
      background:
        radial-gradient(circle at 85% 4%,rgba(255,197,54,.10),transparent 24%),
        linear-gradient(180deg,#f5f9ff,#edf4ff);
      border:1px solid rgba(71,143,222,.14);
      box-shadow:0 18px 42px rgba(31,71,128,.09);
    }

    .achievementHero{
      min-height:240px;
      padding:24px 26px;
      position:relative;
      overflow:hidden;
      display:grid;
      grid-template-columns:minmax(0,1.25fr) minmax(300px,.72fr);
      gap:22px;
      align-items:center;
      color:#fff;
      background:
        radial-gradient(circle at 82% 12%,rgba(255,204,60,.26),transparent 28%),
        radial-gradient(circle at 8% 110%,rgba(46,221,255,.24),transparent 34%),
        linear-gradient(120deg,#081a3c,#123f81 58%,#45276c);
      border-bottom:1px solid rgba(102,204,255,.18);
    }

    .achievementHero::before{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      opacity:.20;
      background:
        radial-gradient(circle at 12% 24%,#fff 0 1px,transparent 1.5px),
        radial-gradient(circle at 46% 74%,#66eaff 0 1px,transparent 1.5px),
        radial-gradient(circle at 88% 28%,#ffda63 0 1px,transparent 1.5px);
      background-size:110px 90px,145px 120px,130px 105px;
      animation:trophyStars 14s linear infinite;
    }

    @keyframes trophyStars{
      to{background-position:110px 90px,-145px 120px,130px -105px}
    }

    .achievementHeroLeft{
      position:relative;
      z-index:3;
    }

    .achievementEyebrow{
      color:#70eaff;
      font-size:10px;
      font-weight:1000;
      letter-spacing:.12em;
    }

    .achievementHero h3{
      margin:7px 0 0;
      color:#fff;
      font-size:clamp(31px,4vw,47px);
      line-height:1;
      letter-spacing:-.035em;
    }

    .achievementHeroProgress{
      margin-top:18px;
      display:grid;
      grid-template-columns:auto minmax(0,1fr);
      gap:14px;
      align-items:center;
    }

    .achievementBigMedal{
      width:78px;
      height:78px;
      border-radius:23px;
      display:grid;
      place-items:center;
      background:
        radial-gradient(circle at 35% 25%,#fff4a7,transparent 22%),
        linear-gradient(145deg,#ffe56b,#ffad20);
      box-shadow:
        0 10px 22px rgba(0,0,0,.18),
        0 0 26px rgba(255,202,49,.25);
      font-size:39px;
      animation:medalFloat 3s ease-in-out infinite;
    }

    @keyframes medalFloat{
      0%,100%{transform:translateY(2px) rotate(-3deg)}
      50%{transform:translateY(-6px) rotate(3deg)}
    }

    .achievementProgressInfo{
      min-width:0;
    }

    .achievementProgressTop{
      margin-bottom:7px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }

    .achievementProgressTop strong{
      color:#fff;
      font-size:24px;
    }

    .achievementProgressTop span{
      min-height:29px;
      padding:0 10px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#694700;
      background:linear-gradient(180deg,#fff18a,#ffc43b);
      font-size:10px;
      font-weight:1000;
    }

    .achievementMasterBar{
      height:16px;
      padding:3px;
      overflow:hidden;
      border-radius:999px;
      background:rgba(3,14,35,.50);
      border:1px solid rgba(97,198,255,.24);
      box-shadow:inset 0 2px 7px rgba(0,0,0,.32);
    }

    .achievementMasterBar span{
      display:block;
      width:0;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,#27d8ff,#65ebff 45%,#ffd552);
      box-shadow:0 0 14px rgba(48,218,255,.36);
      transition:width .45s ease;
    }

    .achievementProgressInfo small{
      display:block;
      margin-top:6px;
      color:#a9c4df;
      font-size:9px;
      font-weight:800;
    }

    .nextAchievementCard{
      min-height:170px;
      padding:16px;
      position:relative;
      z-index:3;
      overflow:hidden;
      border-radius:23px;
      display:grid;
      grid-template-columns:auto minmax(0,1fr);
      gap:12px;
      align-items:center;
      color:#fff;
      background:
        radial-gradient(circle at 90% 15%,rgba(255,210,69,.21),transparent 30%),
        linear-gradient(145deg,rgba(13,43,92,.92),rgba(32,39,100,.92));
      border:1px solid rgba(255,213,84,.24);
      box-shadow:0 18px 34px rgba(0,0,0,.20);
    }

    .nextAchievementCard::after{
      content:"";
      width:70px;
      height:250px;
      position:absolute;
      top:-50px;
      left:-100px;
      transform:rotate(22deg);
      background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent);
      animation:nextAchievementShine 3.2s ease-in-out infinite;
    }

    @keyframes nextAchievementShine{
      0%,35%{left:-110px}
      80%,100%{left:120%}
    }

    .nextAchievementLabel{
      grid-column:1/-1;
      color:#ffd75f;
      font-size:8px;
      font-weight:1000;
      letter-spacing:.12em;
    }

    .nextAchievementIcon{
      width:66px;
      height:66px;
      border-radius:20px;
      display:grid;
      place-items:center;
      color:#fff;
      background:linear-gradient(145deg,#2d70d3,#684fe0);
      box-shadow:0 9px 20px rgba(8,21,55,.26);
      font-size:32px;
    }

    .nextAchievementText{
      min-width:0;
      display:grid;
      gap:4px;
    }

    .nextAchievementText strong{
      overflow:hidden;
      color:#fff;
      font-size:16px;
      white-space:nowrap;
      text-overflow:ellipsis;
    }

    .nextAchievementText span{
      color:#a8c0dc;
      font-size:9px;
      line-height:1.35;
      font-weight:800;
    }

    .nextAchievementReward{
      grid-column:1/-1;
      width:max-content;
      min-height:35px;
      padding:0 10px;
      border-radius:12px;
      display:flex;
      align-items:center;
      gap:6px;
      color:#664400;
      background:linear-gradient(180deg,#fff190,#ffc23a);
      box-shadow:0 6px 14px rgba(255,190,36,.14);
    }

    .nextAchievementReward img{
      width:26px;
      height:26px;
      object-fit:contain;
    }

    .nextAchievementReward strong{
      font-size:13px;
    }

    .achievementFilterBar{
      padding:13px 16px;
      display:flex;
      gap:8px;
      overflow-x:auto;
      scrollbar-width:none;
      background:#0b1f46;
      border-bottom:1px solid rgba(65,145,231,.18);
    }

    .achievementFilterBar::-webkit-scrollbar{display:none}

    .achievementFilter{
      min-height:43px;
      padding:0 15px;
      flex:0 0 auto;
      border:1px solid rgba(97,176,255,.17);
      border-radius:13px;
      cursor:pointer;
      color:#c9dcf5;
      background:linear-gradient(180deg,#173b73,#102b59);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
      font-size:10px;
      font-weight:1000;
      transition:transform .15s ease,filter .15s ease,box-shadow .15s ease;
    }

    .achievementFilter:hover{
      transform:translateY(-2px);
      filter:brightness(1.10);
    }

    .achievementFilter.active{
      color:#624000;
      background:linear-gradient(180deg,#fff080,#ffc335);
      border-color:#ffe378;
      box-shadow:0 0 0 2px rgba(255,210,65,.13),0 8px 20px rgba(255,190,38,.20);
    }

    .trophyGrid{
      margin:0!important;
      padding:18px;
      grid-template-columns:repeat(3,minmax(0,1fr))!important;
      gap:15px!important;
    }

    .trophyCard{
      min-height:315px!important;
      padding:13px!important;
      position:relative;
      isolation:isolate;
      overflow:hidden;
      border-radius:23px!important;
      display:flex!important;
      flex-direction:column!important;
      background:
        radial-gradient(circle at 50% 28%,rgba(75,188,255,.15),transparent 35%),
        linear-gradient(180deg,#173a70,#0b234d 73%,#081a3c)!important;
      border:2px solid rgba(79,164,248,.25)!important;
      box-shadow:
        0 12px 26px rgba(11,35,77,.14),
        inset 0 1px 0 rgba(255,255,255,.07)!important;
      transition:transform .17s ease,box-shadow .17s ease,filter .17s ease;
    }

    .trophyCard:hover{
      transform:translateY(-5px) scale(1.01);
      box-shadow:
        0 19px 34px rgba(11,35,77,.22),
        0 0 25px rgba(62,185,255,.10)!important;
    }

    .trophyCard.tier-rare{
      background:
        radial-gradient(circle at 50% 27%,rgba(35,200,255,.22),transparent 36%),
        linear-gradient(180deg,#154b82,#0a2858 73%,#071d43)!important;
      border-color:rgba(66,206,255,.42)!important;
    }

    .trophyCard.tier-epic{
      background:
        radial-gradient(circle at 50% 27%,rgba(185,93,255,.23),transparent 36%),
        linear-gradient(180deg,#553185,#2b205f 73%,#181540)!important;
      border-color:rgba(190,112,255,.46)!important;
    }

    .trophyCard.tier-legendary{
      background:
        radial-gradient(circle at 50% 27%,rgba(255,211,72,.26),transparent 36%),
        linear-gradient(180deg,#6e4b17,#3d2b14 73%,#251b12)!important;
      border-color:rgba(255,201,56,.58)!important;
      box-shadow:0 14px 30px rgba(94,64,11,.18),0 0 28px rgba(255,196,44,.11)!important;
    }

    .trophyCard.locked{
      filter:saturate(.72) brightness(.91);
    }

    .trophyCard.unlocked{
      border-color:#6ef0b8!important;
      box-shadow:
        0 0 0 3px rgba(85,232,171,.11),
        0 16px 30px rgba(26,127,91,.17)!important;
    }

    .trophyCardShine{
      width:70px;
      height:340px;
      position:absolute;
      top:-40px;
      left:-100px;
      z-index:-1;
      transform:rotate(22deg);
      background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);
    }

    .trophyCard.unlocked .trophyCardShine{
      animation:trophyCardSweep 3.1s ease-in-out infinite;
    }

    @keyframes trophyCardSweep{
      0%,35%{left:-100px}
      80%,100%{left:120%}
    }

    .trophyCardTop{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:7px;
    }

    .trophyTier,
    .trophyState{
      min-height:25px;
      padding:0 8px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      font-size:7px;
      font-weight:1000;
      letter-spacing:.05em;
    }

    .trophyTier{
      color:#80dbff;
      background:rgba(56,171,255,.11);
      border:1px solid rgba(96,190,255,.14);
    }

    .tier-rare .trophyTier{color:#6cecff}
    .tier-epic .trophyTier{color:#e2a2ff;background:rgba(179,82,255,.12)}
    .tier-legendary .trophyTier{color:#ffe273;background:rgba(255,199,50,.10)}

    .trophyState{
      color:#9eb7d3;
      background:rgba(4,17,41,.35);
    }

    .trophyCard.unlocked .trophyState{
      color:#8bf0bd;
      background:rgba(47,190,132,.13);
    }

    .trophyVisual{
      height:132px;
      display:grid;
      place-items:center;
    }

    .trophyRing{
      --progress:0%;
      width:104px;
      height:104px;
      padding:7px;
      position:relative;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:
        conic-gradient(#5be9ff var(--progress),rgba(255,255,255,.10) 0);
      box-shadow:0 0 22px rgba(48,204,255,.09);
    }

    .tier-epic .trophyRing{
      background:conic-gradient(#be78ff var(--progress),rgba(255,255,255,.10) 0);
    }

    .tier-legendary .trophyRing{
      background:conic-gradient(#ffd658 var(--progress),rgba(255,255,255,.10) 0);
      box-shadow:0 0 25px rgba(255,202,57,.13);
    }

    .trophyRing::before{
      content:"";
      position:absolute;
      inset:7px;
      border-radius:50%;
      background:linear-gradient(145deg,#122f5e,#0a1f43);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
    }

    .trophyIcon{
      position:relative;
      z-index:2;
      font-size:47px;
      filter:drop-shadow(0 9px 10px rgba(0,0,0,.23));
      animation:trophyIconFloat 3s ease-in-out infinite;
    }

    @keyframes trophyIconFloat{
      0%,100%{transform:translateY(2px) rotate(-2deg)}
      50%{transform:translateY(-5px) rotate(2deg)}
    }

    .trophyCard.unlocked .trophyIcon{
      font-size:53px;
      filter:drop-shadow(0 0 12px rgba(255,215,75,.30));
    }

    .trophyInfo{
      min-height:65px;
      text-align:center;
    }

    .trophyInfo strong{
      display:block;
      color:#fff;
      font-size:15px;
      line-height:1.1;
    }

    .trophyInfo p{
      margin:5px auto 0;
      max-width:230px;
      color:#9fb8d4;
      font-size:9px;
      line-height:1.35;
      font-weight:800;
    }

    .trophyProgressRow{
      margin-top:8px;
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      align-items:center;
      gap:8px;
    }

    .trophyProgressBar{
      height:9px;
      overflow:hidden;
      border-radius:999px;
      background:rgba(3,15,36,.54);
      border:1px solid rgba(255,255,255,.05);
    }

    .trophyProgressBar span{
      display:block;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,#31d8ff,#7167f4);
      box-shadow:0 0 9px rgba(48,213,255,.22);
    }

    .tier-legendary .trophyProgressBar span{
      background:linear-gradient(90deg,#ffbd35,#ffe77e);
    }

    .trophyProgressRow b{
      color:#d5e8fa;
      font-size:9px;
    }

    .trophyBottom{
      margin-top:auto;
      padding-top:11px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
    }

    .trophyCoinReward{
      min-height:38px;
      padding:0 9px;
      border-radius:12px;
      display:flex;
      align-items:center;
      gap:5px;
      color:#654300;
      background:linear-gradient(180deg,#fff095,#ffc43c);
      box-shadow:0 5px 12px rgba(255,190,38,.13);
    }

    .trophyCoinReward img{
      width:27px;
      height:27px;
      object-fit:contain;
    }

    .trophyCoinReward b{
      font-size:12px;
    }

    .trophyStatusText{
      min-height:32px;
      padding:0 9px;
      border-radius:10px;
      display:inline-flex;
      align-items:center;
      color:#91a9c4;
      background:rgba(4,17,42,.34);
      font-size:7px;
      font-weight:1000;
      letter-spacing:.05em;
    }

    .trophyCard.unlocked .trophyStatusText{
      color:#88efbd;
      background:rgba(46,184,128,.13);
    }

    .achievementEmpty{
      grid-column:1/-1;
      min-height:140px;
      border-radius:20px;
      display:grid;
      place-items:center;
      color:#6983a2;
      background:#fff;
      font-size:14px;
      font-weight:1000;
    }

    @media(max-width:980px){
      .trophyGrid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
      }
    }

    @media(max-width:720px){
      .achievementHero{
        grid-template-columns:1fr;
        padding:18px 15px;
      }

      .achievementHero h3{
        font-size:31px;
      }

      .nextAchievementCard{
        min-height:150px;
      }

      .trophyGrid{
        grid-template-columns:1fr!important;
        padding:13px;
      }

      .trophyCard{
        min-height:300px!important;
      }
    }


    /* =========================================================
       v36 - FUN GAME STATS
       ========================================================= */

    .statsGamePanel{
      padding:0!important;
      overflow:hidden;
      border-radius:27px;
      background:
        radial-gradient(circle at 88% 5%,rgba(86,201,255,.10),transparent 25%),
        linear-gradient(180deg,#f5f9ff,#edf4ff);
      border:1px solid rgba(71,143,222,.14);
      box-shadow:0 18px 42px rgba(31,71,128,.09);
    }

    .statsHero{
      min-height:245px;
      padding:25px 26px;
      position:relative;
      overflow:hidden;
      display:grid;
      grid-template-columns:minmax(0,1.25fr) minmax(270px,.62fr);
      gap:24px;
      align-items:center;
      color:#fff;
      background:
        radial-gradient(circle at 86% 15%,rgba(72,220,255,.25),transparent 28%),
        radial-gradient(circle at 8% 110%,rgba(135,83,255,.23),transparent 34%),
        linear-gradient(120deg,#071a3c,#123f82 56%,#342a75);
      border-bottom:1px solid rgba(102,204,255,.18);
    }

    .statsHero::before{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      opacity:.19;
      background:
        radial-gradient(circle at 13% 22%,#fff 0 1px,transparent 1.5px),
        radial-gradient(circle at 51% 70%,#6cefff 0 1px,transparent 1.5px),
        radial-gradient(circle at 89% 30%,#a48cff 0 1px,transparent 1.5px);
      background-size:110px 90px,145px 120px,130px 105px;
      animation:statsStars 15s linear infinite;
    }

    @keyframes statsStars{
      to{background-position:110px 90px,-145px 120px,130px -105px}
    }

    .statsHeroCopy{
      position:relative;
      z-index:3;
    }

    .statsEyebrow{
      color:#70eaff;
      font-size:10px;
      font-weight:1000;
      letter-spacing:.12em;
    }

    .statsHero h3{
      margin:7px 0 0;
      color:#fff;
      font-size:clamp(31px,4vw,47px);
      line-height:1;
      letter-spacing:-.035em;
    }

    .statsHero p{
      max-width:610px;
      margin:10px 0 0;
      color:#b7cde4;
      font-size:10px;
      line-height:1.5;
      font-weight:800;
    }

    .statsLevelProgress{
      max-width:600px;
      margin-top:20px;
    }

    .statsLevelProgressTop{
      margin-bottom:7px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      color:#dceeff;
      font-size:10px;
      font-weight:1000;
    }

    .statsLevelProgressTop strong{
      color:#70eaff;
      font-size:10px;
    }

    .statsLevelBar{
      height:18px;
      padding:3px;
      overflow:hidden;
      border-radius:999px;
      background:rgba(3,14,35,.52);
      border:1px solid rgba(97,198,255,.22);
      box-shadow:inset 0 2px 7px rgba(0,0,0,.32);
    }

    .statsLevelBar span{
      display:block;
      width:0;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,#2fd8ff,#5beaff 48%,#8a70ff);
      box-shadow:0 0 14px rgba(48,218,255,.34);
      transition:width .75s cubic-bezier(.2,.8,.2,1);
    }

    .statsHeroProfile{
      min-height:174px;
      padding:17px;
      position:relative;
      z-index:3;
      border-radius:25px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      color:#fff;
      background:
        radial-gradient(circle at 50% 28%,rgba(84,224,255,.19),transparent 34%),
        linear-gradient(145deg,rgba(13,43,92,.92),rgba(37,39,105,.92));
      border:1px solid rgba(104,218,255,.22);
      box-shadow:0 18px 34px rgba(0,0,0,.20);
    }

    .statsHeroLabel{
      position:absolute;
      top:12px;
      left:12px;
      color:#75e9ff;
      font-size:7px;
      font-weight:1000;
      letter-spacing:.10em;
    }

    .statsLevelOrb{
      width:92px;
      height:92px;
      border-radius:50%;
      position:relative;
      display:grid;
      place-items:center;
      background:
        radial-gradient(circle at 35% 28%,rgba(255,255,255,.30),transparent 16%),
        linear-gradient(145deg,#38d9ff,#556cf1 60%,#8b58ef);
      border:5px solid rgba(255,255,255,.12);
      box-shadow:
        0 14px 25px rgba(5,17,53,.28),
        0 0 30px rgba(57,216,255,.20);
      animation:statsOrbFloat 3.2s ease-in-out infinite;
    }

    @keyframes statsOrbFloat{
      0%,100%{transform:translateY(2px) rotate(-2deg)}
      50%{transform:translateY(-6px) rotate(2deg)}
    }

    .statsLevelOrb span{
      font-size:36px;
      font-weight:1000;
      line-height:1;
    }

    .statsLevelOrb small{
      position:absolute;
      bottom:15px;
      font-size:7px;
      font-weight:1000;
      letter-spacing:.08em;
      opacity:.76;
    }

    .statsHeroProfile > strong{
      margin-top:8px;
      font-size:15px;
    }

    .statsHeroProfile > span:last-child{
      margin-top:3px;
      color:#a9c6e4;
      font-size:9px;
      font-weight:900;
    }

    .statsSummaryGrid{
      padding:17px 18px 2px;
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:13px;
    }

    .statsSummaryCard{
      min-height:155px;
      padding:15px;
      position:relative;
      overflow:hidden;
      border-radius:22px;
      display:grid;
      grid-template-columns:auto minmax(0,1fr);
      grid-template-rows:auto auto auto;
      column-gap:12px;
      align-items:center;
      background:#fff;
      border:1px solid rgba(67,141,220,.12);
      box-shadow:0 10px 24px rgba(29,69,125,.07);
      transition:transform .17s ease,box-shadow .17s ease;
    }

    .statsSummaryCard::before{
      content:"";
      width:120px;
      height:120px;
      position:absolute;
      top:-35px;
      right:-30px;
      border-radius:50%;
      opacity:.12;
      background:currentColor;
      pointer-events:none;
    }

    .statsSummaryCard:hover{
      transform:translateY(-4px);
      box-shadow:0 16px 30px rgba(29,69,125,.12);
    }

    .statsSummaryIcon{
      width:57px;
      height:57px;
      grid-row:1/4;
      border-radius:18px;
      display:grid;
      place-items:center;
      color:#fff;
      background:linear-gradient(145deg,#3cbbe8,#496cf0);
      box-shadow:0 9px 18px rgba(38,117,193,.18);
      font-size:28px;
    }

    .statsSummaryIcon img{
      width:52px;
      height:52px;
      object-fit:contain;
    }

    .statsSummaryCard strong{
      color:#163966;
      font-size:29px;
      line-height:1;
    }

    .statsSummaryCard > span{
      color:#385d86;
      font-size:11px;
      font-weight:1000;
    }

    .statsSummaryCard > small{
      color:#8aa0b8;
      font-size:8px;
      font-weight:800;
    }

    .stat-games{color:#1ea9e2}
    .stat-quests{color:#2ebe86}
    .stat-rewards{color:#8b62e8}
    .stat-xp{color:#eaa631}
    .stat-coins{color:#f1b020}
    .stat-favs{color:#eb5e83}

    .stat-quests .statsSummaryIcon{background:linear-gradient(145deg,#45d99c,#20a96f)}
    .stat-rewards .statsSummaryIcon{background:linear-gradient(145deg,#ad79ff,#6c50d9)}
    .stat-xp .statsSummaryIcon{background:linear-gradient(145deg,#ffd457,#ef9823)}
    .stat-coins .statsSummaryIcon{background:linear-gradient(145deg,#ffdb65,#f1a820)}
    .stat-favs .statsSummaryIcon{background:linear-gradient(145deg,#ff8ba7,#dd4d79)}

    .statsLowerGrid{
      padding:14px 18px 18px;
      display:grid;
      grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);
      gap:14px;
    }

    .statsSection{
      overflow:hidden;
      border-radius:23px;
      background:#fff;
      border:1px solid rgba(65,138,219,.12);
      box-shadow:0 9px 24px rgba(30,69,125,.06);
    }

    .statsSectionHeader{
      min-height:78px;
      padding:14px 15px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      background:linear-gradient(180deg,#f9fbff,#f2f7ff);
      border-bottom:1px solid rgba(68,143,226,.10);
    }

    .statsSectionHeader h4{
      margin:3px 0 0;
      color:#173763;
      font-size:19px;
    }

    .statsSectionEyebrow{
      color:#7d94ae;
      font-size:8px;
      font-weight:1000;
      letter-spacing:.09em;
    }

    .favoriteGenreBadge{
      min-height:32px;
      padding:0 10px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#426c96;
      background:#eaf5ff;
      font-size:8px;
      font-weight:1000;
      white-space:nowrap;
    }

    .enhancedGenreStats{
      padding:14px!important;
      display:grid;
      gap:12px!important;
    }

    .enhancedGenreRow{
      opacity:0;
      transform:translateY(8px);
      animation:genreRowIn .38s ease forwards;
      animation-delay:var(--genre-delay);
    }

    @keyframes genreRowIn{
      to{opacity:1;transform:translateY(0)}
    }

    .genreLabelLine{
      margin-bottom:6px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }

    .genreLabelLine strong{
      color:#254b76;
      font-size:10px;
    }

    .genreLabelLine span{
      color:#8aa0b8;
      font-size:8px;
      font-weight:900;
    }

    .enhancedGenreBar{
      height:14px;
      padding:3px;
      overflow:hidden;
      border-radius:999px;
      background:#e8eff8;
      box-shadow:inset 0 1px 3px rgba(28,67,121,.08);
    }

    .enhancedGenreBar span{
      display:block;
      width:0;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,#35d7fa,#6c6cf0);
      box-shadow:0 0 9px rgba(57,205,244,.20);
      transition:width .75s cubic-bezier(.2,.8,.2,1);
    }

    .statsNextGoalCard{
      margin:14px;
      padding:14px;
      border-radius:20px;
      display:grid;
      grid-template-columns:auto minmax(0,1fr);
      gap:11px;
      align-items:center;
      color:#fff;
      background:
        radial-gradient(circle at 95% 10%,rgba(255,212,72,.20),transparent 28%),
        linear-gradient(145deg,#123b78,#302b74);
      box-shadow:0 11px 23px rgba(22,56,112,.16);
    }

    .statsNextGoalIcon{
      width:62px;
      height:62px;
      border-radius:19px;
      display:grid;
      place-items:center;
      background:linear-gradient(145deg,#40d9f7,#6271ef);
      box-shadow:0 8px 16px rgba(7,24,60,.25);
      font-size:31px;
      animation:goalIconFloat 3s ease-in-out infinite;
    }

    @keyframes goalIconFloat{
      0%,100%{transform:translateY(2px) rotate(-2deg)}
      50%{transform:translateY(-5px) rotate(2deg)}
    }

    .statsNextGoalText{
      min-width:0;
      display:grid;
      gap:4px;
    }

    .statsNextGoalText strong{
      color:#fff;
      font-size:14px;
    }

    .statsNextGoalText span{
      color:#a9c1df;
      font-size:8px;
      line-height:1.4;
      font-weight:800;
    }

    .statsNextGoalProgress{
      grid-column:1/-1;
      display:grid;
      gap:5px;
    }

    .statsNextGoalProgress > span{
      color:#dcecff;
      font-size:9px;
      font-weight:1000;
    }

    .statsNextGoalProgress > div{
      height:12px;
      padding:3px;
      overflow:hidden;
      border-radius:999px;
      background:rgba(4,16,40,.52);
    }

    .statsNextGoalProgress i{
      display:block;
      width:0;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,#58e7ff,#ffd359);
      box-shadow:0 0 10px rgba(73,224,255,.22);
      transition:width .75s cubic-bezier(.2,.8,.2,1);
    }

    .statsMiniBadges{
      padding:0 14px 14px;
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:8px;
    }

    .statsMiniBadge{
      min-height:98px;
      padding:9px 6px;
      border-radius:17px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
      background:linear-gradient(180deg,#f6faff,#eef5ff);
      border:1px solid rgba(70,143,225,.11);
    }

    .statsMiniBadge > span{
      font-size:24px;
    }

    .statsMiniBadge strong{
      margin-top:3px;
      color:#183b67;
      font-size:20px;
      line-height:1;
    }

    .statsMiniBadge small{
      margin-top:4px;
      color:#8199b4;
      font-size:7px;
      font-weight:900;
    }

    .statsAnimate .statsSummaryCard{
      opacity:0;
      transform:translateY(12px) scale(.98);
      animation:statsCardIn .45s cubic-bezier(.2,.8,.2,1) forwards;
    }

    .statsAnimate .statsSummaryCard:nth-child(1){animation-delay:.02s}
    .statsAnimate .statsSummaryCard:nth-child(2){animation-delay:.07s}
    .statsAnimate .statsSummaryCard:nth-child(3){animation-delay:.12s}
    .statsAnimate .statsSummaryCard:nth-child(4){animation-delay:.17s}
    .statsAnimate .statsSummaryCard:nth-child(5){animation-delay:.22s}
    .statsAnimate .statsSummaryCard:nth-child(6){animation-delay:.27s}

    @keyframes statsCardIn{
      to{opacity:1;transform:translateY(0) scale(1)}
    }

    @media(max-width:980px){
      .statsHero{
        grid-template-columns:1fr minmax(240px,.55fr);
      }

      .statsSummaryGrid{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }

      .statsLowerGrid{
        grid-template-columns:1fr;
      }
    }

    @media(max-width:700px){
      .statsHero{
        grid-template-columns:1fr;
        padding:18px 15px;
      }

      .statsHero h3{
        font-size:31px;
      }

      .statsHeroProfile{
        min-height:150px;
      }

      .statsSummaryGrid{
        grid-template-columns:1fr 1fr;
        padding:13px 13px 2px;
        gap:9px;
      }

      .statsSummaryCard{
        min-height:145px;
        padding:11px;
        grid-template-columns:1fr;
        grid-template-rows:auto auto auto auto;
        text-align:center;
      }

      .statsSummaryIcon{
        width:48px;
        height:48px;
        grid-row:auto;
        margin:0 auto 4px;
        border-radius:15px;
        font-size:24px;
      }

      .statsSummaryIcon img{
        width:44px;
        height:44px;
      }

      .statsSummaryCard strong{
        font-size:25px;
      }

      .statsSummaryCard > span{
        font-size:9px;
      }

      .statsSummaryCard > small{
        display:none;
      }

      .statsLowerGrid{
        padding:11px;
      }

      .statsSectionHeader{
        align-items:flex-start;
        flex-direction:column;
      }

      .favoriteGenreBadge{
        white-space:normal;
      }
    }

    @media(max-width:450px){
      .statsSummaryGrid{
        grid-template-columns:1fr 1fr;
      }

      .statsSummaryCard{
        min-height:132px;
      }

      .statsMiniBadges{
        grid-template-columns:repeat(3,1fr);
      }
    }


    /* =========================================================
       v37 - FAVORITES GAME SCREEN
       ========================================================= */

    .favoritesGamePanel{
      padding:0!important;
      overflow:hidden;
      border-radius:27px;
      background:
        radial-gradient(circle at 88% 5%,rgba(255,114,157,.10),transparent 24%),
        linear-gradient(180deg,#f5f9ff,#edf4ff);
      border:1px solid rgba(71,143,222,.14);
      box-shadow:0 18px 42px rgba(31,71,128,.09);
    }

    .favoritesHero{
      min-height:245px;
      padding:25px 26px;
      position:relative;
      overflow:hidden;
      display:grid;
      grid-template-columns:minmax(0,1.25fr) minmax(280px,.68fr);
      gap:24px;
      align-items:center;
      color:#fff;
      background:
        radial-gradient(circle at 84% 15%,rgba(255,128,176,.28),transparent 28%),
        radial-gradient(circle at 8% 110%,rgba(89,220,255,.22),transparent 34%),
        linear-gradient(120deg,#081a3c,#123f82 56%,#6c2d68);
      border-bottom:1px solid rgba(255,170,206,.18);
    }

    .favoritesHero::before{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      opacity:.20;
      background:
        radial-gradient(circle at 12% 22%,#fff 0 1px,transparent 1.5px),
        radial-gradient(circle at 49% 70%,#8befff 0 1px,transparent 1.5px),
        radial-gradient(circle at 89% 30%,#ff9bc7 0 1px,transparent 1.5px);
      background-size:110px 90px,145px 120px,130px 105px;
      animation:favoritesStars 15s linear infinite;
    }

    @keyframes favoritesStars{
      to{background-position:110px 90px,-145px 120px,130px -105px}
    }

    .favoritesHeroCopy{
      position:relative;
      z-index:3;
    }

    .favoritesEyebrow{
      color:#ffb4d4;
      font-size:10px;
      font-weight:1000;
      letter-spacing:.12em;
    }

    .favoritesHero h3{
      margin:7px 0 0;
      color:#fff;
      font-size:clamp(31px,4vw,47px);
      line-height:1;
      letter-spacing:-.035em;
    }

    .favoritesHero p{
      max-width:620px;
      margin:10px 0 0;
      color:#c8d7ea;
      font-size:10px;
      line-height:1.5;
      font-weight:800;
    }

    .favoritesHeroStats{
      margin-top:20px;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }

    .favoritesHeroStat{
      min-width:104px;
      min-height:76px;
      padding:10px 12px;
      border-radius:18px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      color:#fff;
      background:rgba(255,255,255,.09);
      border:1px solid rgba(255,255,255,.10);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
    }

    .favoritesHeroStat.wide{
      min-width:160px;
    }

    .favoritesHeroStat strong{
      font-size:25px;
      line-height:1;
    }

    .favoritesHeroStat span{
      margin-top:5px;
      color:#d8e5f2;
      font-size:9px;
      font-weight:900;
    }

    .favoritesHeroActionCard{
      min-height:185px;
      padding:17px;
      position:relative;
      z-index:3;
      overflow:hidden;
      border-radius:24px;
      display:flex;
      flex-direction:column;
      align-items:center;
      text-align:center;
      color:#fff;
      background:
        radial-gradient(circle at 50% 20%,rgba(255,170,211,.16),transparent 30%),
        linear-gradient(145deg,rgba(18,43,97,.94),rgba(103,42,100,.94));
      border:1px solid rgba(255,181,214,.18);
      box-shadow:0 18px 34px rgba(0,0,0,.20);
    }

    .favoritesActionLabel{
      color:#ffbad7;
      font-size:7px;
      font-weight:1000;
      letter-spacing:.11em;
    }

    .favoritesActionIcon{
      width:70px;
      height:70px;
      margin-top:8px;
      border-radius:22px;
      display:grid;
      place-items:center;
      background:linear-gradient(145deg,#ff8bb2,#8f58ef);
      box-shadow:0 12px 22px rgba(8,21,55,.24);
      font-size:34px;
      animation:favoritesDiceFloat 3.2s ease-in-out infinite;
    }

    @keyframes favoritesDiceFloat{
      0%,100%{transform:translateY(2px) rotate(-2deg)}
      50%{transform:translateY(-6px) rotate(2deg)}
    }

    .favoritesHeroActionCard strong{
      margin-top:10px;
      font-size:16px;
    }

    .favoritesHeroActionCard small{
      margin-top:5px;
      color:#c9d8ea;
      font-size:8px;
      line-height:1.45;
      font-weight:800;
    }

    #favoriteRandomBtn{
      width:100%;
      min-height:48px;
      margin-top:auto;
      border:0;
      border-radius:15px;
      cursor:pointer;
      color:#5a3300;
      background:linear-gradient(180deg,#fff08b,#ffbb2a);
      box-shadow:0 6px 0 #a96a0d,0 0 16px rgba(255,190,40,.18);
      font-size:11px;
      font-weight:1000;
      letter-spacing:.04em;
      transition:transform .14s ease,filter .14s ease,box-shadow .14s ease;
    }

    #favoriteRandomBtn:hover{
      transform:translateY(-2px);
      filter:brightness(1.06);
    }

    #favoriteRandomBtn:active{
      transform:translateY(4px);
      box-shadow:none;
    }

    #favoriteRandomBtn:disabled{
      cursor:default;
      color:#8aa0b8;
      background:#e7edf5;
      box-shadow:none;
    }

    .favoritesSectionHeader{
      min-height:78px;
      padding:14px 15px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      background:linear-gradient(180deg,#f9fbff,#f2f7ff);
      border-bottom:1px solid rgba(68,143,226,.10);
    }

    .favoritesSectionHeader h4{
      margin:3px 0 0;
      color:#173763;
      font-size:19px;
    }

    .favoritesSectionEyebrow{
      color:#7d94ae;
      font-size:8px;
      font-weight:1000;
      letter-spacing:.09em;
    }

    .favoritesSectionHint{
      min-height:32px;
      padding:0 10px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#a94c70;
      background:#fff0f5;
      font-size:8px;
      font-weight:1000;
      white-space:nowrap;
    }

    .upgradedFavoriteGrid{
      margin:0!important;
      padding:18px;
      grid-template-columns:repeat(2,minmax(0,1fr))!important;
      gap:14px!important;
    }

    .favoriteGameCard{
      min-height:315px;
      padding:13px;
      position:relative;
      overflow:hidden;
      isolation:isolate;
      border-radius:23px;
      display:flex;
      flex-direction:column;
      color:#fff;
      opacity:0;
      transform:translateY(10px) scale(.98);
      animation:favoriteCardIn .42s cubic-bezier(.2,.8,.2,1) forwards;
      animation-delay:var(--fav-delay);
      border:2px solid rgba(86,175,255,.24);
      box-shadow:0 12px 26px rgba(11,35,77,.14), inset 0 1px 0 rgba(255,255,255,.07);
    }

    @keyframes favoriteCardIn{
      to{opacity:1;transform:translateY(0) scale(1)}
    }

    .favoriteGameCard:hover{
      transform:translateY(-5px) scale(1.01);
      box-shadow:0 19px 34px rgba(11,35,77,.20), 0 0 24px rgba(81,201,255,.11);
    }

    .favorite-clicker{
      background:
        radial-gradient(circle at 50% 28%,rgba(70,196,255,.18),transparent 36%),
        linear-gradient(180deg,#164b81,#0c2957 74%,#081d43);
    }

    .favorite-runner{
      background:
        radial-gradient(circle at 50% 28%,rgba(98,238,180,.18),transparent 36%),
        linear-gradient(180deg,#14684e,#0d3a31 74%,#082521);
      border-color:rgba(97,235,176,.26);
    }

    .favorite-adventure{
      background:
        radial-gradient(circle at 50% 28%,rgba(163,108,255,.19),transparent 36%),
        linear-gradient(180deg,#563185,#2b205e 74%,#181540);
      border-color:rgba(186,112,255,.30);
    }

    .favorite-tycoon{
      background:
        radial-gradient(circle at 50% 28%,rgba(255,188,82,.18),transparent 36%),
        linear-gradient(180deg,#7d5218,#4a3014 74%,#2c1d10);
      border-color:rgba(255,190,83,.30);
    }

    .favorite-quest{
      background:
        radial-gradient(circle at 50% 28%,rgba(255,122,179,.18),transparent 36%),
        linear-gradient(180deg,#7b2455,#451632 74%,#2a1020);
      border-color:rgba(255,134,189,.30);
    }

    .favorite-other{
      background:
        radial-gradient(circle at 50% 28%,rgba(255,216,92,.18),transparent 36%),
        linear-gradient(180deg,#6a4b16,#3f2d14 74%,#261b11);
      border-color:rgba(255,210,90,.30);
    }

    .favoriteCardGlow{
      width:155px;
      height:155px;
      position:absolute;
      left:50%;
      top:48px;
      z-index:-1;
      transform:translateX(-50%);
      border-radius:50%;
      background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%);
      filter:blur(3px);
      pointer-events:none;
    }

    .favoriteCardTop{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
    }

    .favoriteTypeBadge,
    .favoriteAuthorBadge{
      min-height:27px;
      padding:0 9px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      font-size:7px;
      font-weight:1000;
      letter-spacing:.05em;
    }

    .favoriteTypeBadge{
      color:#e7f7ff;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.10);
    }

    .favoriteAuthorBadge{
      color:#cfe2f7;
      background:rgba(3,16,40,.34);
      border:1px solid rgba(255,255,255,.08);
      max-width:50%;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }

    .favoritePoster{
      height:132px;
      display:grid;
      place-items:center;
      position:relative;
    }

    .favoritePosterOrb{
      width:110px;
      height:110px;
      border-radius:32px;
      display:grid;
      place-items:center;
      background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.06));
      border:1px solid rgba(255,255,255,.12);
      box-shadow:0 14px 25px rgba(0,0,0,.18);
      font-size:54px;
      animation:favoriteOrbFloat 3s ease-in-out infinite;
    }

    @keyframes favoriteOrbFloat{
      0%,100%{transform:translateY(2px) rotate(-2deg)}
      50%{transform:translateY(-7px) rotate(2deg)}
    }

    .favoritePosterSpark{
      position:absolute;
      color:rgba(255,255,255,.60);
      font-size:16px;
      animation:favSpark 2.8s ease-in-out infinite;
    }

    .favoritePosterSpark.s1{top:22px;left:26%}
    .favoritePosterSpark.s2{top:36px;right:24%;animation-delay:.9s}
    .favoritePosterSpark.s3{bottom:24px;right:32%;font-size:11px;animation-delay:1.5s}

    @keyframes favSpark{
      0%,100%{transform:scale(.9);opacity:.42}
      50%{transform:scale(1.25);opacity:1}
    }

    .favoriteCardInfo{
      min-height:72px;
      text-align:center;
    }

    .favoriteCardInfo strong{
      display:block;
      color:#fff;
      font-size:16px;
      line-height:1.1;
    }

    .favoriteCardInfo p{
      margin:7px auto 0;
      max-width:250px;
      color:#b8cce3;
      font-size:9px;
      line-height:1.38;
      font-weight:800;
    }

    .favoriteCardActions{
      margin-top:auto;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
    }

    .favoritePlayBtn,
    .favoriteRemoveBtn{
      min-height:48px;
      border:0;
      border-radius:15px;
      cursor:pointer;
      font-size:10px;
      font-weight:1000;
      letter-spacing:.04em;
      transition:transform .13s ease,filter .13s ease,box-shadow .13s ease;
    }

    .favoritePlayBtn{
      color:#07243f;
      background:linear-gradient(180deg,#8bf4ff,#33cff5);
      box-shadow:0 6px 0 #117c9f,0 0 16px rgba(56,216,250,.18);
    }

    .favoriteRemoveBtn{
      color:#661b38;
      background:linear-gradient(180deg,#ffd2e0,#ff98b9);
      box-shadow:0 6px 0 #b4567e,0 0 16px rgba(255,146,185,.16);
    }

    .favoritePlayBtn span,
    .favoriteRemoveBtn span{
      margin-right:6px;
      font-size:12px;
    }

    .favoritePlayBtn:hover,
    .favoriteRemoveBtn:hover{
      transform:translateY(-2px);
      filter:brightness(1.06);
    }

    .favoritePlayBtn:active,
    .favoriteRemoveBtn:active{
      transform:translateY(4px);
      box-shadow:none;
    }

    .favoriteEmptyState{
      grid-column:1/-1;
      min-height:270px;
      padding:20px;
      border-radius:24px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
      color:#45698f;
      background:linear-gradient(180deg,#fff,#f5f9ff);
      border:1px dashed rgba(125,161,201,.45);
    }

    .favoriteEmptyOrb{
      width:88px;
      height:88px;
      margin-bottom:12px;
      border-radius:26px;
      display:grid;
      place-items:center;
      color:#fff;
      background:linear-gradient(145deg,#ff97be,#7a62ef);
      box-shadow:0 14px 25px rgba(54,89,155,.12);
      font-size:42px;
      animation:favoriteEmptyFloat 3.2s ease-in-out infinite;
    }

    @keyframes favoriteEmptyFloat{
      0%,100%{transform:translateY(2px)}
      50%{transform:translateY(-6px)}
    }

    .favoriteEmptyState strong{
      color:#173763;
      font-size:22px;
    }

    .favoriteEmptyState span{
      max-width:340px;
      margin-top:6px;
      color:#7d94ae;
      font-size:10px;
      line-height:1.45;
      font-weight:800;
    }

    @media(max-width:980px){
      .upgradedFavoriteGrid{
        grid-template-columns:1fr!important;
      }
    }

    @media(max-width:720px){
      .favoritesHero{
        grid-template-columns:1fr;
        padding:18px 15px;
      }

      .favoritesHero h3{
        font-size:31px;
      }

      .favoritesHeroStats{
        gap:8px;
      }

      .favoritesHeroStat{
        flex:1 1 100px;
      }

      .favoritesSectionHeader{
        align-items:flex-start;
        flex-direction:column;
      }

      .favoritesSectionHint{
        white-space:normal;
      }

      .upgradedFavoriteGrid{
        padding:13px!important;
      }

      .favoriteCardActions{
        grid-template-columns:1fr;
      }
    }


    /* =========================================================
       v38 - VISIT FRIEND PROFILES
       ========================================================= */

    .playersGamePanel{
      padding:0!important;
      overflow:hidden;
      border-radius:27px;
      background:
        radial-gradient(circle at 88% 5%,rgba(72,211,255,.10),transparent 24%),
        linear-gradient(180deg,#f5f9ff,#edf4ff);
      border:1px solid rgba(71,143,222,.14);
      box-shadow:0 18px 42px rgba(31,71,128,.09);
    }

    .playersHero{
      min-height:250px;
      padding:25px 26px;
      position:relative;
      overflow:hidden;
      display:grid;
      grid-template-columns:minmax(0,1.25fr) minmax(280px,.66fr);
      gap:24px;
      align-items:center;
      color:#fff;
      background:
        radial-gradient(circle at 84% 12%,rgba(126,98,255,.27),transparent 29%),
        radial-gradient(circle at 8% 110%,rgba(68,224,255,.23),transparent 34%),
        linear-gradient(120deg,#071a3c,#123f82 56%,#402b78);
      border-bottom:1px solid rgba(102,204,255,.18);
    }

    .playersHero::before{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      opacity:.20;
      background:
        radial-gradient(circle at 12% 22%,#fff 0 1px,transparent 1.5px),
        radial-gradient(circle at 49% 70%,#79efff 0 1px,transparent 1.5px),
        radial-gradient(circle at 89% 30%,#b69dff 0 1px,transparent 1.5px);
      background-size:110px 90px,145px 120px,130px 105px;
      animation:playersStars 15s linear infinite;
    }

    @keyframes playersStars{
      to{background-position:110px 90px,-145px 120px,130px -105px}
    }

    .playersHeroCopy{
      position:relative;
      z-index:3;
    }

    .playersEyebrow{
      color:#75eaff;
      font-size:10px;
      font-weight:1000;
      letter-spacing:.12em;
    }

    .playersHero h3{
      margin:7px 0 0;
      color:#fff;
      font-size:clamp(31px,4vw,47px);
      line-height:1;
      letter-spacing:-.035em;
    }

    .playersHero p{
      max-width:620px;
      margin:10px 0 0;
      color:#c4d6e9;
      font-size:10px;
      line-height:1.5;
      font-weight:800;
    }

    .playersHeroStats{
      margin-top:20px;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }

    .playersHeroStats > div{
      min-width:112px;
      min-height:74px;
      padding:10px 12px;
      border-radius:18px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      background:rgba(255,255,255,.09);
      border:1px solid rgba(255,255,255,.10);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
    }

    .playersHeroStats strong{
      color:#fff;
      font-size:25px;
      line-height:1;
    }

    .playersHeroStats span{
      margin-top:5px;
      color:#d8e5f2;
      font-size:8px;
      font-weight:900;
    }

    .playersHeroPortal{
      min-height:190px;
      padding:16px;
      position:relative;
      z-index:3;
      border-radius:25px;
      display:flex;
      flex-direction:column;
      align-items:center;
      text-align:center;
      color:#fff;
      background:
        radial-gradient(circle at 50% 34%,rgba(87,230,255,.15),transparent 36%),
        linear-gradient(145deg,rgba(13,43,92,.93),rgba(56,42,113,.93));
      border:1px solid rgba(108,218,255,.19);
      box-shadow:0 18px 34px rgba(0,0,0,.20);
    }

    .playersPortalLabel{
      align-self:flex-start;
      color:#75eaff;
      font-size:7px;
      font-weight:1000;
      letter-spacing:.10em;
    }

    .playersPortalRing{
      width:88px;
      height:88px;
      margin-top:5px;
      position:relative;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:
        radial-gradient(circle,#173a78 38%,transparent 40%),
        conic-gradient(from 0deg,#55e7ff,#845dff,#55e7ff);
      box-shadow:
        0 0 0 7px rgba(83,220,255,.07),
        0 0 28px rgba(79,210,255,.20);
      animation:playersPortalPulse 3.2s ease-in-out infinite;
    }

    @keyframes playersPortalPulse{
      0%,100%{transform:scale(.98);filter:brightness(.95)}
      50%{transform:scale(1.04);filter:brightness(1.10)}
    }

    .playersPortalRing span{
      font-size:39px;
    }

    .playersPortalRing i{
      width:31px;
      height:31px;
      position:absolute;
      right:-4px;
      bottom:3px;
      border-radius:11px;
      display:grid;
      place-items:center;
      font-style:normal;
      background:#fff;
      box-shadow:0 6px 12px rgba(0,0,0,.16);
      font-size:17px;
    }

    .playersHeroPortal > strong{
      margin-top:8px;
      font-size:15px;
    }

    .playersHeroPortal > small{
      margin-top:3px;
      color:#a9c5e0;
      font-size:8px;
      font-weight:800;
    }

    .playersCloudBadge{
      min-height:28px;
      margin-top:auto;
      padding:0 9px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#a7f2ff;
      background:rgba(48,198,235,.10);
      border:1px solid rgba(88,221,255,.13);
      font-size:7px;
      font-weight:1000;
    }

    .playersToolbar{
      min-height:69px;
      padding:12px 16px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      background:#0b1f46;
      border-bottom:1px solid rgba(65,145,231,.18);
    }

    .playersSearch{
      min-height:44px;
      max-width:410px;
      flex:1;
      padding:0 13px;
      border-radius:14px;
      display:flex;
      align-items:center;
      gap:8px;
      background:#132f60;
      border:1px solid rgba(104,183,255,.17);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
    }

    .playersSearch span{
      font-size:14px;
    }

    .playersSearch input{
      min-width:0;
      width:100%;
      border:0;
      outline:0;
      color:#fff;
      background:transparent;
      font:inherit;
      font-size:10px;
      font-weight:900;
    }

    .playersSearch input::placeholder{
      color:#7898bb;
    }

    .playersPrivacy{
      margin:0!important;
      min-height:34px;
      padding:0 10px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#9db8d5!important;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.06);
      white-space:nowrap;
      font-size:8px!important;
    }

    .upgradedPlayersGrid{
      margin:0!important;
      padding:18px;
      grid-template-columns:repeat(3,minmax(0,1fr))!important;
      gap:14px!important;
    }

    .playerWorldCard{
      min-height:330px;
      padding:13px;
      position:relative;
      overflow:hidden;
      isolation:isolate;
      border-radius:23px;
      display:flex;
      flex-direction:column;
      color:#fff;
      opacity:0;
      transform:translateY(12px) scale(.98);
      animation:playerWorldIn .42s cubic-bezier(.2,.8,.2,1) forwards;
      animation-delay:var(--player-delay);
      background:
        radial-gradient(circle at 50% 28%,rgba(77,191,255,.17),transparent 37%),
        linear-gradient(180deg,#173a70,#0b234d 73%,#081a3c);
      border:2px solid rgba(79,164,248,.25);
      box-shadow:
        0 12px 26px rgba(11,35,77,.14),
        inset 0 1px 0 rgba(255,255,255,.07);
      transition:transform .17s ease,box-shadow .17s ease;
    }

    @keyframes playerWorldIn{
      to{opacity:1;transform:translateY(0) scale(1)}
    }

    .playerWorldCard:hover{
      transform:translateY(-5px) scale(1.01);
      box-shadow:
        0 19px 34px rgba(11,35,77,.21),
        0 0 24px rgba(62,185,255,.11);
    }

    .playerWorldCard.me{
      border-color:#67eaff;
      box-shadow:
        0 0 0 3px rgba(84,230,255,.11),
        0 15px 30px rgba(29,142,192,.18);
    }

    .playerWorldCard.skin-neon{
      background:
        radial-gradient(circle at 50% 26%,rgba(37,239,255,.20),transparent 38%),
        linear-gradient(180deg,#261771,#0a355c 72%,#081b3b);
    }

    .playerWorldCard.skin-lava{
      background:
        radial-gradient(circle at 50% 26%,rgba(255,133,59,.20),transparent 38%),
        linear-gradient(180deg,#732629,#451a21 72%,#291016);
    }

    .playerWorldCard.skin-space{
      background:
        radial-gradient(circle at 80% 15%,rgba(130,90,255,.30),transparent 27%),
        linear-gradient(180deg,#111d51,#0b214c 72%,#07172f);
    }

    .playerWorldCard.skin-gold{
      background:
        radial-gradient(circle at 50% 26%,rgba(255,211,75,.25),transparent 38%),
        linear-gradient(180deg,#735019,#402d14 72%,#271b10);
    }

    .playerWorldCard.skin-candy{
      background:
        radial-gradient(circle at 50% 26%,rgba(255,151,211,.23),transparent 38%),
        linear-gradient(180deg,#70409a,#3d336f 72%,#24214b);
    }

    .playerWorldCard.skin-galaxy{
      background:
        linear-gradient(180deg,rgba(8,16,49,.18),rgba(7,11,30,.63)),
        url("../../pass-assets/skin-galaxy.webp") center/cover no-repeat;
    }

    .playerWorldCard.skin-royal{
      background:
        linear-gradient(180deg,rgba(25,5,42,.16),rgba(19,9,27,.58)),
        url("../../pass-assets/skin-royal.webp") center/cover no-repeat;
    }

    .playerWorldGlow{
      width:150px;
      height:150px;
      position:absolute;
      left:50%;
      top:48px;
      z-index:-1;
      transform:translateX(-50%);
      border-radius:50%;
      background:radial-gradient(circle,rgba(100,224,255,.17),transparent 68%);
      filter:blur(3px);
    }

    .playerWorldTop{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
    }

    .playerWorldRole,
    .playerWorldLevel{
      min-height:27px;
      padding:0 9px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      font-size:7px;
      font-weight:1000;
      letter-spacing:.05em;
    }

    .playerWorldRole{
      color:#d8edff;
      background:rgba(255,255,255,.09);
      border:1px solid rgba(255,255,255,.10);
    }

    .playerWorldRole.admin{
      color:#ffe58a;
      background:rgba(255,201,52,.10);
    }

    .playerWorldLevel{
      color:#082039;
      background:linear-gradient(180deg,#8cf3ff,#36d2f6);
      box-shadow:0 5px 12px rgba(43,202,240,.14);
    }

    .playerWorldAvatarWrap{
      width:116px;
      height:116px;
      margin:12px auto 0;
      position:relative;
      display:grid;
      place-items:center;
    }

    .playerWorldAvatar{
      width:98px;
      height:98px;
      position:relative;
      z-index:2;
      border-radius:29px;
      display:grid;
      place-items:center;
      overflow:hidden;
      background:rgba(255,255,255,.13);
      border:1px solid rgba(255,255,255,.13);
      box-shadow:0 13px 24px rgba(0,0,0,.18);
      font-size:49px;
      animation:playerAvatarFloat 3.2s ease-in-out infinite;
    }

    @keyframes playerAvatarFloat{
      0%,100%{transform:translateY(2px)}
      50%{transform:translateY(-5px)}
    }

    .playerWorldAvatarWrap.frame-cyan::after,
    .playerWorldAvatarWrap.frame-nova::after,
    .playerWorldAvatarWrap.frame-royal::after{
      content:"";
      position:absolute;
      inset:0;
      z-index:4;
      pointer-events:none;
      background-position:center;
      background-repeat:no-repeat;
      background-size:100% 100%;
    }

    .playerWorldAvatarWrap.frame-cyan::after,
    .playerWorldAvatarWrap.frame-nova::after{
      background-image:url("../../pass-assets/neon-frame.webp");
      filter:drop-shadow(0 0 10px rgba(67,221,255,.30));
    }

    .playerWorldAvatarWrap.frame-royal::after{
      background-image:url("../../pass-assets/royal-frame.webp");
      filter:drop-shadow(0 0 11px rgba(255,207,69,.32));
    }

    .playerWorldStars{
      width:155px;
      height:155px;
      position:absolute;
      z-index:5;
      pointer-events:none;
      object-fit:contain;
      mix-blend-mode:screen;
      opacity:.50;
      animation:playerStarsFloat 3.8s ease-in-out infinite;
    }

    @keyframes playerStarsFloat{
      0%,100%{transform:scale(.96) rotate(-2deg);opacity:.35}
      50%{transform:scale(1.05) rotate(2deg);opacity:.65}
    }

    .playerWorldInfo{
      margin-top:7px;
      min-height:48px;
      text-align:center;
      display:grid;
      gap:4px;
    }

    .playerWorldInfo strong{
      color:#fff;
      font-size:16px;
      line-height:1.1;
    }

    .playerWorldInfo span{
      color:#aac3df;
      font-size:9px;
      font-weight:900;
    }

    .playerWorldMiniStats{
      margin-top:8px;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:6px;
    }

    .playerWorldMiniStats span{
      min-height:35px;
      border-radius:11px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:4px;
      color:#cbe0f6;
      background:rgba(4,17,42,.34);
      border:1px solid rgba(255,255,255,.06);
      font-size:8px;
    }

    .playerWorldMiniStats b{
      color:#fff;
    }

    .playerWorldProgress{
      height:9px;
      margin-top:9px;
      padding:2px;
      overflow:hidden;
      border-radius:999px;
      background:rgba(3,15,36,.55);
    }

    .playerWorldProgress span{
      display:block;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,#45e0ff,#7c67f0);
      box-shadow:0 0 8px rgba(58,216,250,.18);
    }

    .playerVisitButton{
      min-height:47px;
      margin-top:auto;
      border:0;
      border-radius:15px;
      cursor:pointer;
      color:#07233f;
      background:linear-gradient(180deg,#8bf4ff,#34cff4);
      box-shadow:0 6px 0 #117d9f,0 0 16px rgba(58,217,250,.17);
      font-size:9px;
      font-weight:1000;
      letter-spacing:.04em;
      transition:transform .13s ease,filter .13s ease,box-shadow .13s ease;
    }

    .playerWorldCard.me .playerVisitButton{
      color:#5a3900;
      background:linear-gradient(180deg,#fff080,#ffbe31);
      box-shadow:0 6px 0 #a96b0e,0 0 16px rgba(255,192,43,.16);
    }

    .playerVisitButton:hover{
      transform:translateY(-2px);
      filter:brightness(1.06);
    }

    .playerVisitButton:active{
      transform:translateY(4px);
      box-shadow:none;
    }

    .playersLoginWorld,
    .playersLoadingWorld,
    .playersEmpty{
      grid-column:1/-1;
      min-height:260px;
      padding:22px;
      border-radius:24px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
      background:linear-gradient(180deg,#fff,#f4f8ff);
      border:1px dashed rgba(115,158,207,.42);
    }

    .playersLoginPortal,
    .playersLoadingOrb,
    .playersEmpty > div{
      width:86px;
      height:86px;
      margin-bottom:12px;
      border-radius:26px;
      display:grid;
      place-items:center;
      color:#fff;
      background:linear-gradient(145deg,#4bd9f4,#725cef);
      box-shadow:0 14px 25px rgba(54,89,155,.12);
      font-size:39px;
      animation:playersLoadingFloat 3.2s ease-in-out infinite;
    }

    @keyframes playersLoadingFloat{
      0%,100%{transform:translateY(2px)}
      50%{transform:translateY(-6px)}
    }

    .playersLoginWorld strong,
    .playersLoadingWorld strong,
    .playersEmpty strong{
      color:#173763;
      font-size:20px;
    }

    .playersLoginWorld span,
    .playersEmpty span{
      max-width:390px;
      margin-top:6px;
      color:#7c93ad;
      font-size:9px;
      line-height:1.45;
      font-weight:800;
    }

    #playersLoginButton{
      min-height:48px;
      margin-top:14px;
      padding:0 18px;
      border:0;
      border-radius:15px;
      cursor:pointer;
      color:#07233f;
      background:linear-gradient(180deg,#8bf4ff,#34cff4);
      box-shadow:0 6px 0 #117d9f;
      font-size:10px;
      font-weight:1000;
    }

    /* -------- Visiting a friend's profile -------- */
    .playerVisitModal{
      position:fixed;
      inset:0;
      z-index:520;
      display:grid;
      place-items:center;
      pointer-events:none;
      opacity:0;
      transition:opacity .22s ease;
    }

    .playerVisitModal.show{
      pointer-events:auto;
      opacity:1;
    }

    .playerVisitBackdrop{
      position:absolute;
      inset:0;
      background:rgba(3,9,26,.78);
      backdrop-filter:blur(10px);
    }

    .playerVisitCard{
      width:min(520px,calc(100vw - 24px));
      max-height:calc(100vh - 24px);
      position:relative;
      z-index:2;
      overflow:auto;
      border-radius:31px;
      color:#fff;
      background:#f1f6fd;
      border:1px solid rgba(102,205,255,.20);
      box-shadow:0 35px 100px rgba(0,0,0,.48);
      transform:translateY(25px) scale(.86);
      opacity:0;
    }

    .playerVisitModal.show .playerVisitCard{
      animation:playerVisitPop .56s cubic-bezier(.18,.9,.2,1.12) forwards;
    }

    @keyframes playerVisitPop{
      0%{transform:translateY(28px) scale(.80);opacity:0}
      70%{transform:translateY(-4px) scale(1.025);opacity:1}
      100%{transform:translateY(0) scale(1);opacity:1}
    }

    .playerVisitClose{
      width:38px;
      height:38px;
      position:absolute;
      z-index:20;
      top:12px;
      right:12px;
      border:1px solid rgba(255,255,255,.12);
      border-radius:13px;
      cursor:pointer;
      color:#fff;
      background:rgba(4,17,42,.48);
      font-size:23px;
      line-height:1;
    }

    .playerVisitHero{
      min-height:292px;
      padding:22px 22px 20px;
      position:relative;
      overflow:hidden;
      display:flex;
      flex-direction:column;
      align-items:center;
      text-align:center;
      background:
        radial-gradient(circle at 50% 27%,rgba(91,225,255,.20),transparent 35%),
        linear-gradient(145deg,#103b78,#352b75);
      isolation:isolate;
    }

    .playerVisitCard.skin-neon .playerVisitHero{
      background:linear-gradient(145deg,#0d1734,#2e1672 55%,#00b9d6);
    }

    .playerVisitCard.skin-lava .playerVisitHero{
      background:linear-gradient(145deg,#4b1421,#a82722 55%,#e57520);
    }

    .playerVisitCard.skin-space .playerVisitHero{
      background:radial-gradient(circle at 80% 16%,#704fd5,transparent 28%),linear-gradient(145deg,#071328,#14295a 65%,#1e5797);
    }

    .playerVisitCard.skin-gold .playerVisitHero{
      background:linear-gradient(145deg,#624715,#a87916 52%,#ddb744);
    }

    .playerVisitCard.skin-candy .playerVisitHero{
      background:linear-gradient(145deg,#ef79af,#8069e9 56%,#4bcad8);
    }

    .playerVisitCard.skin-galaxy .playerVisitHero{
      background:
        linear-gradient(180deg,rgba(6,16,49,.10),rgba(14,8,32,.38)),
        url("../../pass-assets/skin-galaxy.webp") center/cover no-repeat;
    }

    .playerVisitCard.skin-royal .playerVisitHero{
      background:
        linear-gradient(180deg,rgba(26,6,45,.08),rgba(28,10,31,.35)),
        url("../../pass-assets/skin-royal.webp") center/cover no-repeat;
    }

    .playerVisitCard.effect-stars .playerVisitHero::before{
      content:"";
      position:absolute;
      inset:-15%;
      z-index:-1;
      pointer-events:none;
      background:url("../../pass-assets/stars.webp") center/cover no-repeat;
      opacity:.52;
      mix-blend-mode:screen;
      animation:visitStars 4s ease-in-out infinite;
    }

    @keyframes visitStars{
      0%,100%{transform:translate(-1%,1%) scale(1);opacity:.38}
      50%{transform:translate(1%,-1%) scale(1.05);opacity:.68}
    }

    .playerVisitEyebrow{
      color:#7feaff;
      font-size:8px;
      font-weight:1000;
      letter-spacing:.12em;
    }

    .playerVisitAvatarWrap{
      width:140px;
      height:140px;
      margin-top:12px;
      position:relative;
      display:grid;
      place-items:center;
    }

    .playerVisitAvatar{
      width:115px;
      height:115px;
      position:relative;
      z-index:2;
      overflow:hidden;
      border-radius:34px;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.14);
      border:1px solid rgba(255,255,255,.15);
      box-shadow:0 17px 30px rgba(0,0,0,.22);
      font-size:58px;
      animation:visitAvatarFloat 3.1s ease-in-out infinite;
    }

    @keyframes visitAvatarFloat{
      0%,100%{transform:translateY(2px)}
      50%{transform:translateY(-6px)}
    }

    .playerVisitAvatarWrap.frame-cyan::after,
    .playerVisitAvatarWrap.frame-nova::after,
    .playerVisitAvatarWrap.frame-royal::after{
      content:"";
      position:absolute;
      inset:0;
      z-index:4;
      pointer-events:none;
      background-position:center;
      background-repeat:no-repeat;
      background-size:100% 100%;
    }

    .playerVisitAvatarWrap.frame-cyan::after,
    .playerVisitAvatarWrap.frame-nova::after{
      background-image:url("../../pass-assets/neon-frame.webp");
      filter:drop-shadow(0 0 12px rgba(67,221,255,.32));
    }

    .playerVisitAvatarWrap.frame-royal::after{
      background-image:url("../../pass-assets/royal-frame.webp");
      filter:drop-shadow(0 0 14px rgba(255,208,67,.34));
    }

    .playerVisitIdentity{
      margin-top:5px;
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:4px;
    }

    .playerVisitIdentity strong{
      color:#fff;
      font-size:24px;
    }

    .playerVisitIdentity > span{
      color:#c1d6ea;
      font-size:9px;
      font-weight:900;
    }

    .playerVisitIdentity b{
      min-height:28px;
      padding:0 10px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#fff1a2;
      background:rgba(255,199,54,.11);
      border:1px solid rgba(255,215,82,.15);
      font-size:9px;
    }

    .playerVisitLevel{
      min-width:68px;
      min-height:68px;
      position:absolute;
      left:18px;
      bottom:17px;
      border-radius:21px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      color:#08233e;
      background:linear-gradient(145deg,#9af5ff,#3bd2f4);
      box-shadow:0 10px 22px rgba(10,45,90,.18);
    }

    .playerVisitLevel span{
      font-size:7px;
      font-weight:1000;
      letter-spacing:.06em;
    }

    .playerVisitLevel strong{
      font-size:27px;
      line-height:1;
    }

    .playerVisitBody{
      padding:17px;
      color:#173763;
      background:
        radial-gradient(circle at 90% 0%,rgba(91,211,255,.09),transparent 28%),
        linear-gradient(180deg,#f7fbff,#edf4fb);
    }

    .playerVisitXp{
      padding:13px;
      border-radius:18px;
      background:#fff;
      border:1px solid rgba(69,143,222,.11);
      box-shadow:0 7px 17px rgba(30,69,125,.05);
    }

    .playerVisitXp > div:first-child{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      color:#65809e;
      font-size:8px;
      font-weight:900;
    }

    .playerVisitXp > div:first-child strong{
      color:#24537f;
      font-size:9px;
    }

    .playerVisitXpBar{
      height:13px;
      margin-top:7px;
      padding:3px;
      overflow:hidden;
      border-radius:999px;
      background:#e5eef7;
    }

    .playerVisitXpBar span{
      display:block;
      width:0;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,#3dd9fb,#7768ed);
      box-shadow:0 0 9px rgba(58,213,250,.18);
      transition:width .75s cubic-bezier(.2,.8,.2,1);
    }

    .playerVisitStats{
      margin-top:10px;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:8px;
    }

    .playerVisitStats article{
      min-height:100px;
      padding:9px;
      border-radius:17px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
      background:#fff;
      border:1px solid rgba(69,143,222,.11);
      box-shadow:0 7px 17px rgba(30,69,125,.05);
    }

    .playerVisitStats article > span{
      font-size:25px;
    }

    .playerVisitStats strong{
      margin-top:3px;
      color:#173763;
      font-size:22px;
      line-height:1;
    }

    .playerVisitStats small{
      margin-top:4px;
      color:#8097b0;
      font-size:7px;
      font-weight:900;
    }

    .playerVisitStyle{
      margin-top:10px;
      padding:13px;
      border-radius:18px;
      background:#fff;
      border:1px solid rgba(69,143,222,.11);
      box-shadow:0 7px 17px rgba(30,69,125,.05);
    }

    .playerVisitSectionTitle{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }

    .playerVisitSectionTitle span{
      color:#617b99;
      font-size:8px;
      font-weight:1000;
      letter-spacing:.07em;
    }

    .playerVisitSectionTitle small{
      color:#99aabe;
      font-size:7px;
      font-weight:800;
    }

    .playerStyleChips{
      margin-top:9px;
      display:flex;
      gap:7px;
      flex-wrap:wrap;
    }

    .playerStyleChips span{
      min-height:32px;
      padding:0 9px;
      border-radius:11px;
      display:inline-flex;
      align-items:center;
      color:#345f8a;
      background:#edf6ff;
      border:1px solid #ddebf8;
      font-size:8px;
      font-weight:900;
    }

    .playerVisitCompare{
      margin-top:10px;
      padding:12px;
      border-radius:17px;
      display:grid;
      gap:4px;
      background:linear-gradient(135deg,#e9faff,#eeeaff);
      border:1px solid rgba(97,179,240,.11);
    }

    .playerVisitCompare span{
      color:#24517e;
      font-size:10px;
      font-weight:1000;
    }

    .playerVisitCompare small{
      color:#7890aa;
      font-size:8px;
      line-height:1.4;
      font-weight:800;
    }

    .playerVisitBack{
      width:100%;
      min-height:49px;
      margin-top:11px;
      border:0;
      border-radius:15px;
      cursor:pointer;
      color:#07233f;
      background:linear-gradient(180deg,#8bf4ff,#34cff4);
      box-shadow:0 6px 0 #117d9f;
      font-size:10px;
      font-weight:1000;
      letter-spacing:.04em;
    }

    @media(max-width:980px){
      .upgradedPlayersGrid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
      }
    }

    @media(max-width:720px){
      .playersHero{
        grid-template-columns:1fr;
        padding:18px 15px;
      }

      .playersHero h3{
        font-size:31px;
      }

      .playersToolbar{
        align-items:stretch;
        flex-direction:column;
      }

      .playersSearch{
        max-width:none;
      }

      .playersPrivacy{
        width:max-content;
      }

      .upgradedPlayersGrid{
        grid-template-columns:1fr!important;
        padding:13px;
      }

      .playerWorldCard{
        min-height:315px;
      }
    }


    /* =========================================================
       v39 - CLAIMABLE QUESTS + JUICY REWARD FX
       ========================================================= */

    .questCard{
      isolation:isolate;
      transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease,
        filter .18s ease;
    }

    .questCardTop{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
    }

    .questMiniProgress,
    .questReadyBadge,
    .questClaimedBadge{
      min-height:27px;
      padding:0 9px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      font-size:8px;
      font-weight:1000;
      letter-spacing:.06em;
    }

    .questMiniProgress{
      color:#66809f;
      background:#edf5fd;
    }

    .questReadyBadge{
      color:#6e4700;
      background:linear-gradient(180deg,#fff285,#ffc536);
      border:1px solid rgba(255,208,61,.34);
      box-shadow:0 5px 12px rgba(255,186,29,.14);
      animation:questBadgePulse 1.15s ease-in-out infinite;
    }

    .questClaimedBadge{
      color:#17754f;
      background:#dcf8e9;
    }

    @keyframes questBadgePulse{
      0%,100%{transform:scale(.96);filter:brightness(.98)}
      50%{transform:scale(1.06);filter:brightness(1.10)}
    }

    .questVisualProgress{
      height:10px;
      margin-top:10px;
      padding:2px;
      overflow:hidden;
      border-radius:999px;
      background:#e8f0f9;
    }

    .questVisualProgress span{
      display:block;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,#42d7f7,#6870ed);
      box-shadow:0 0 8px rgba(58,208,244,.18);
      transition:width .45s ease;
    }

    .questCard.claimable{
      cursor:pointer;
      overflow:visible;
      background:
        radial-gradient(circle at 82% 13%,rgba(255,217,83,.20),transparent 28%),
        linear-gradient(135deg,#fffdf1,#f8fbff);
      border:2px solid rgba(255,193,45,.60);
      box-shadow:
        0 0 0 4px rgba(255,204,54,.08),
        0 15px 32px rgba(230,165,31,.17),
        0 0 26px rgba(255,202,55,.14);
      animation:questCardPulse 1.45s ease-in-out infinite;
      z-index:3;
    }

    @keyframes questCardPulse{
      0%,100%{
        transform:translateY(0) scale(1);
        box-shadow:
          0 0 0 3px rgba(255,204,54,.06),
          0 13px 28px rgba(230,165,31,.13),
          0 0 18px rgba(255,202,55,.10);
      }
      50%{
        transform:translateY(-3px) scale(1.015);
        box-shadow:
          0 0 0 6px rgba(255,204,54,.11),
          0 18px 38px rgba(230,165,31,.21),
          0 0 34px rgba(255,202,55,.21);
      }
    }

    .questCard.claimable .questIcon{
      color:#704400;
      background:linear-gradient(145deg,#fff19a,#ffc637);
      box-shadow:
        0 7px 15px rgba(255,183,24,.16),
        0 0 14px rgba(255,206,63,.20);
      animation:questGiftBounce 1.1s ease-in-out infinite;
    }

    @keyframes questGiftBounce{
      0%,100%{transform:translateY(0) rotate(-2deg)}
      50%{transform:translateY(-5px) rotate(3deg)}
    }

    .questReadyGlow{
      display:none;
    }

    .questCard.claimable .questReadyGlow{
      display:block;
      width:150px;
      height:150px;
      position:absolute;
      z-index:-1;
      right:-45px;
      top:-55px;
      pointer-events:none;
      border-radius:50%;
      background:radial-gradient(circle,rgba(255,218,80,.36),transparent 68%);
      animation:questGlowSpin 3.2s ease-in-out infinite;
    }

    @keyframes questGlowSpin{
      0%,100%{transform:scale(.9);opacity:.55}
      50%{transform:scale(1.15);opacity:1}
    }

    .questCard.claimed{
      background:linear-gradient(135deg,#effdf7,#f9fffb);
      border-color:rgba(22,176,111,.24);
      box-shadow:0 8px 22px rgba(33,139,95,.06);
    }

    .questCard.claimed .questIcon{
      color:#12734a;
      background:#d9f7e8;
      box-shadow:inset 0 0 0 1px rgba(29,163,103,.10);
    }

    .questCard.claimed .questVisualProgress span{
      background:linear-gradient(90deg,#36cc89,#75e5b1);
      box-shadow:none;
    }

    .questFooter{
      width:100%;
    }

    .questNormalFooter,
    .questClaimedRow{
      width:100%;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
    }

    .questXp{
      display:inline-flex!important;
      align-items:center;
      gap:5px;
    }

    .questXp img{
      width:22px;
      height:22px;
      margin-left:3px;
      object-fit:contain;
    }

    .questClaimButton{
      width:100%;
      min-height:58px;
      padding:6px 9px;
      border:0;
      border-radius:17px;
      display:grid;
      grid-template-columns:auto minmax(0,1fr) auto;
      align-items:center;
      gap:9px;
      cursor:pointer;
      color:#5d3900;
      background:
        radial-gradient(circle at 25% 0%,rgba(255,255,255,.55),transparent 30%),
        linear-gradient(180deg,#fff18c,#ffbc28);
      box-shadow:
        0 7px 0 #a8690c,
        0 0 22px rgba(255,191,35,.20);
      transition:transform .13s ease,filter .13s ease,box-shadow .13s ease;
      animation:questClaimButtonPulse 1.2s ease-in-out infinite;
    }

    @keyframes questClaimButtonPulse{
      0%,100%{filter:brightness(1);transform:scale(1)}
      50%{filter:brightness(1.07);transform:scale(1.012)}
    }

    .questClaimButton:hover{
      transform:translateY(-2px) scale(1.015);
      filter:brightness(1.08);
    }

    .questClaimButton:active{
      transform:translateY(5px);
      box-shadow:0 2px 0 #a8690c;
    }

    .questClaimButton:disabled{
      cursor:default;
      opacity:.75;
    }

    .questClaimGift{
      width:38px;
      height:38px;
      border-radius:12px;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.32);
      font-size:22px;
    }

    .questClaimWords{
      min-width:0;
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      gap:1px;
      text-align:left;
    }

    .questClaimWords b{
      font-size:12px;
      font-weight:1000;
      letter-spacing:.04em;
    }

    .questClaimWords small{
      color:#855a10;
      font-size:8px;
      font-weight:900;
    }

    .questClaimCoins{
      min-width:63px;
      min-height:40px;
      padding:0 7px;
      border-radius:12px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:4px;
      background:rgba(255,255,255,.28);
    }

    .questClaimCoins img{
      width:28px;
      height:28px;
      object-fit:contain;
      filter:drop-shadow(0 3px 5px rgba(109,68,0,.12));
    }

    .questClaimCoins b{
      font-size:12px;
    }

    .questClaimedRow{
      min-height:38px;
      padding:0 9px;
      border-radius:12px;
      color:#17754f;
      background:#def7e9;
      font-size:8px;
      font-weight:1000;
    }

    .questClaimedReward{
      color:#4f8e72;
      font-size:7px;
    }

    .questCard.questClaimPop{
      animation:questClaimPop .62s cubic-bezier(.16,.85,.2,1.16) both!important;
      z-index:9;
    }

    @keyframes questClaimPop{
      0%{transform:scale(1)}
      35%{transform:scale(.96) rotate(-1deg)}
      65%{transform:scale(1.06) rotate(1deg)}
      100%{transform:scale(1)}
    }

    /* Flying coins */
    .flyingQuestCoin{
      width:30px;
      height:30px;
      position:fixed;
      z-index:800;
      pointer-events:none;
      object-fit:contain;
      filter:
        drop-shadow(0 5px 6px rgba(93,57,0,.22))
        drop-shadow(0 0 7px rgba(255,215,63,.20));
      will-change:transform,opacity;
    }

    .flyingQuestXp{
      position:fixed;
      z-index:805;
      pointer-events:none;
      color:#4fe5ff;
      text-shadow:
        0 2px 0 #0b4f78,
        0 0 12px rgba(68,220,255,.42);
      font-size:18px;
      font-weight:1000;
      will-change:transform,opacity;
    }

    /* Center reward pop */
    .questRewardFx{
      position:fixed;
      inset:0;
      z-index:790;
      display:grid;
      place-items:center;
      pointer-events:none;
      opacity:0;
    }

    .questRewardFx.show{
      animation:questFxLayer 1.25s ease both;
    }

    @keyframes questFxLayer{
      0%{opacity:0}
      12%,72%{opacity:1}
      100%{opacity:0}
    }

    .questRewardFlash{
      width:min(680px,90vw);
      aspect-ratio:1;
      position:absolute;
      border-radius:50%;
      opacity:0;
      background:
        repeating-conic-gradient(
          from 0deg,
          rgba(255,221,79,0) 0 8deg,
          rgba(255,221,79,.22) 9deg 13deg,
          rgba(64,224,255,0) 14deg 23deg
        );
    }

    .questRewardFx.show .questRewardFlash{
      animation:questRewardFlash .9s cubic-bezier(.2,.8,.2,1) both;
    }

    @keyframes questRewardFlash{
      0%{transform:scale(.15) rotate(-20deg);opacity:0}
      30%{opacity:.8}
      100%{transform:scale(1.15) rotate(22deg);opacity:0}
    }

    .questRewardPopup{
      min-width:280px;
      padding:18px 20px;
      position:relative;
      z-index:2;
      border-radius:25px;
      display:flex;
      flex-direction:column;
      align-items:center;
      text-align:center;
      color:#fff;
      background:
        radial-gradient(circle at 50% 10%,rgba(82,231,255,.20),transparent 35%),
        linear-gradient(180deg,#173c7c,#0c2453);
      border:1px solid rgba(102,222,255,.25);
      box-shadow:
        0 24px 65px rgba(0,0,0,.28),
        0 0 38px rgba(58,215,255,.14);
      opacity:0;
      transform:translateY(18px) scale(.75);
    }

    .questRewardFx.show .questRewardPopup{
      animation:questRewardPopup .85s cubic-bezier(.17,.87,.2,1.14) both;
    }

    @keyframes questRewardPopup{
      0%{opacity:0;transform:translateY(20px) scale(.70)}
      42%{opacity:1;transform:translateY(-5px) scale(1.06)}
      75%{opacity:1;transform:translateY(0) scale(1)}
      100%{opacity:0;transform:translateY(-12px) scale(.96)}
    }

    .questRewardPopupTop{
      color:#75eaff;
      font-size:8px;
      font-weight:1000;
      letter-spacing:.12em;
    }

    .questRewardPopup > strong{
      margin-top:5px;
      max-width:300px;
      font-size:20px;
    }

    .questRewardNumbers{
      margin-top:12px;
      display:flex;
      align-items:center;
      gap:8px;
    }

    .questRewardXp,
    .questRewardCoins{
      min-height:43px;
      padding:0 12px;
      border-radius:13px;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:12px;
      font-weight:1000;
    }

    .questRewardXp{
      color:#073451;
      background:linear-gradient(180deg,#96f5ff,#48d9f8);
    }

    .questRewardCoins{
      color:#624000;
      background:linear-gradient(180deg,#fff18b,#ffc034);
    }

    .questRewardCoins img{
      width:32px;
      height:32px;
      object-fit:contain;
    }

    @media(max-width:650px){
      .questClaimButton{
        grid-template-columns:auto 1fr auto;
      }

      .questClaimWords b{font-size:11px}
      .questClaimCoins{min-width:58px}
    }


    /* =========================================================
       v40 - SHOW BATTLE PASS IMMEDIATELY ON HUB
       ========================================================= */

    .hubActionRow{
      margin-bottom:14px;
      display:flex;
      gap:12px;
      flex-wrap:wrap;
    }

    .hubActionButton{
      min-height:56px;
      padding:0 18px;
      border:0;
      border-radius:18px;
      cursor:pointer;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      box-shadow:0 8px 0 rgba(10,43,89,.22), 0 12px 26px rgba(23,69,126,.12);
      font-size:12px;
      font-weight:1000;
      letter-spacing:.04em;
      transition:transform .14s ease,filter .14s ease,box-shadow .14s ease;
    }

    .hubActionButton:hover,
    .passOpenButton:hover,
    .hubProfileButton:hover{
      transform:translateY(-2px);
      filter:brightness(1.06);
    }

    .hubActionButton:active{
      transform:translateY(5px);
      box-shadow:0 2px 0 rgba(10,43,89,.18);
    }

    .hubActionProfile{
      color:#072742;
      background:linear-gradient(180deg,#8ef4ff,#36cff4);
    }

    .hubActionPass{
      color:#5e3900;
      background:linear-gradient(180deg,#fff18b,#ffc12b);
      box-shadow:0 8px 0 rgba(168,106,10,.26), 0 14px 30px rgba(225,172,51,.18);
    }

    .hubProfileButton{
      background:linear-gradient(145deg,#ffffff,#eff7ff)!important;
      border:2px solid rgba(99,170,243,.22)!important;
      box-shadow:0 14px 34px rgba(20,72,128,.10)!important;
    }

    .hubPassShowcase{
      margin-top:4px;
      padding:24px;
      position:relative;
      overflow:hidden;
      border-radius:34px;
      display:grid;
      grid-template-columns:minmax(0,1.25fr) minmax(280px,.72fr);
      gap:24px;
      background:
        radial-gradient(circle at 84% 10%,rgba(116,88,255,.26),transparent 28%),
        radial-gradient(circle at 5% 100%,rgba(89,226,255,.24),transparent 32%),
        linear-gradient(135deg,#0a1d49,#144896 54%,#432b7c);
      box-shadow:0 18px 44px rgba(11,42,93,.18);
      color:#fff;
    }

    .hubPassShowcase::before{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      opacity:.20;
      background:
        radial-gradient(circle at 10% 20%,#fff 0 1px,transparent 1.5px),
        radial-gradient(circle at 50% 60%,#87eeff 0 1px,transparent 1.5px),
        radial-gradient(circle at 88% 26%,#d1c1ff 0 1px,transparent 1.5px);
      background-size:120px 95px,150px 120px,130px 110px;
      animation:hubPassStars 15s linear infinite;
    }

    @keyframes hubPassStars{
      to{background-position:120px 95px,-150px 120px,130px -110px}
    }

    .hubPassHeroCopy,
    .hubPassSide{
      position:relative;
      z-index:2;
    }

    .hubPassShowcase h3{
      margin:12px 0 0;
      color:#fff;
      font-size:clamp(31px,4vw,48px);
      line-height:1.02;
      letter-spacing:-.04em;
    }

    .hubPassShowcase h3 span{
      color:#81ecff;
    }

    .hubPassShowcase p{
      max-width:620px;
      margin:11px 0 0;
      color:#c8d9ee;
      font-size:11px;
      line-height:1.5;
      font-weight:800;
    }

    .hubPassStatus{
      margin-top:20px;
      display:grid;
      grid-template-columns:minmax(0,1fr);
      gap:14px;
    }

    .levelCardHero{
      background:rgba(255,255,255,.08)!important;
      border:1px solid rgba(255,255,255,.10)!important;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 16px 32px rgba(0,0,0,.15)!important;
    }

    .levelCardHero .levelTop small,
    .levelCardHero .levelXpText{
      color:#d7e5f7!important;
    }

    .levelCardHero .levelTop strong{
      color:#fff!important;
    }

    .hubMiniStatsHero{
      grid-template-columns:repeat(4,minmax(0,1fr))!important;
      gap:10px!important;
    }

    .hubMiniStatsHero > div{
      min-height:95px;
      background:rgba(255,255,255,.09)!important;
      border:1px solid rgba(255,255,255,.10)!important;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
    }

    .hubMiniStatsHero strong{
      color:#fff!important;
      font-size:33px!important;
    }

    .hubMiniStatsHero span{
      color:#dde9f6!important;
      font-size:9px!important;
    }

    .hubMiniStatsHero .coinMiniStat{
      background:linear-gradient(180deg,rgba(255,241,139,.20),rgba(255,193,43,.14))!important;
      border-color:rgba(255,214,83,.28)!important;
    }

    .hubPassSide{
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:14px;
    }

    .hubPassMascot{
      width:min(270px,100%);
      max-height:260px;
      object-fit:contain;
      filter:drop-shadow(0 18px 30px rgba(6,21,56,.22));
    }

    .hubPremiumCard{
      width:100%;
      max-width:295px;
      padding:16px;
      border-radius:24px;
      color:#fff;
      background:
        radial-gradient(circle at 50% 0%,rgba(255,214,80,.16),transparent 40%),
        linear-gradient(145deg,rgba(12,34,80,.94),rgba(75,42,118,.94));
      border:1px solid rgba(255,255,255,.11);
      box-shadow:0 18px 34px rgba(0,0,0,.18);
      text-align:left;
    }

    .hubPremiumCard.unlocked{
      background:
        radial-gradient(circle at 50% 0%,rgba(255,231,105,.22),transparent 40%),
        linear-gradient(145deg,#7e5613,#c38b17 58%,#f0c44b);
      color:#3f2600;
    }

    .hubPremiumLabel{
      color:#84edff;
      font-size:8px;
      font-weight:1000;
      letter-spacing:.11em;
    }

    .hubPremiumCard.unlocked .hubPremiumLabel{
      color:#563700;
    }

    .hubPremiumCard strong{
      display:block;
      margin-top:4px;
      font-size:20px;
    }

    .hubPremiumCard p{
      margin:6px 0 0;
      color:#c7d8ea;
      font-size:9px;
    }

    .hubPremiumCard.unlocked p{
      color:#6b4b08;
    }

    .homePassHeader{
      margin-top:18px;
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:12px;
    }

    .homePassHeader h3{
      margin:4px 0 0;
      color:#173763;
      font-size:35px;
      line-height:1.02;
      letter-spacing:-.03em;
    }

    .homePassHint{
      min-height:34px;
      padding:0 12px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#245a91;
      background:#eaf5ff;
      border:1px solid rgba(82,162,240,.17);
      font-size:9px;
      font-weight:1000;
      white-space:nowrap;
    }

    .homeBattlePassViewport{
      margin-top:13px;
      padding:10px 0 5px;
      overflow-x:auto;
      overflow-y:visible;
    }

    .homeBattlePassViewport::-webkit-scrollbar{height:10px}
    .homeBattlePassViewport::-webkit-scrollbar-track{background:#e8f0fa;border-radius:999px}
    .homeBattlePassViewport::-webkit-scrollbar-thumb{
      background:linear-gradient(90deg,#48def8,#7169ed);
      border-radius:999px;
    }

    .homeBattlePassTrack{
      min-width:max-content;
      padding-bottom:8px;
      gap:16px!important;
    }

    .homeMegaRewardCard{
      min-width:198px;
    }

    .homeMegaRewardCard .megaClaimButton{
      min-height:45px;
      font-size:10px;
      font-weight:1000;
    }

    .homeMegaRewardCard .megaClaimButton:not(.lockedButton):not(.claimedButton){
      color:#5d3900;
      background:linear-gradient(180deg,#fff18b,#ffc12b);
      box-shadow:0 6px 0 rgba(168,106,10,.25),0 10px 18px rgba(225,172,51,.15);
    }

    .homeMegaRewardCard .megaClaimButton.claimedButton{
      background:linear-gradient(180deg,#dbffe8,#b0f1cb)!important;
      color:#17633e!important;
    }

    .homeMegaRewardCard .megaClaimButton.lockedButton{
      background:linear-gradient(180deg,#eef3fb,#dce6f3)!important;
      color:#6f88a5!important;
      opacity:1!important;
    }

    .strongerDailyHeader{
      margin-top:20px!important;
    }

    .passOpenButton{
      color:#5d3900!important;
      background:linear-gradient(180deg,#fff18b,#ffc12b)!important;
      border:0!important;
      box-shadow:0 8px 0 rgba(168,106,10,.25),0 14px 28px rgba(225,172,51,.16)!important;
      font-weight:1000!important;
    }

    @media(max-width:980px){
      .hubPassShowcase{
        grid-template-columns:1fr;
      }

      .hubPassMascot{
        width:220px;
      }

      .hubMiniStatsHero{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
      }
    }

    @media(max-width:720px){
      .hubActionRow{
        flex-direction:column;
      }

      .hubActionButton{
        width:100%;
      }

      .hubPassShowcase{
        padding:18px 15px;
        border-radius:26px;
      }

      .homePassHeader{
        align-items:flex-start;
        flex-direction:column;
      }

      .homePassHeader h3{
        font-size:28px;
      }

      .homePassHint{
        align-self:flex-start;
      }
    }


    /* =========================================================
       v41 - MORE GAMEY HUB + JUICIER PASS REWARD REVEAL
       ========================================================= */

    .hubQuickGrid{
      margin-top:18px;
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:12px;
    }

    .hubQuickCard{
      min-height:112px;
      padding:14px 15px;
      position:relative;
      overflow:hidden;
      border:0;
      border-radius:24px;
      display:grid;
      grid-template-columns:auto 1fr auto;
      align-items:center;
      gap:11px;
      cursor:pointer;
      color:#fff;
      text-align:left;
      box-shadow:0 14px 28px rgba(14,45,94,.14);
      transition:transform .16s ease, filter .16s ease, box-shadow .16s ease;
    }

    .hubQuickCard::before{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      opacity:.18;
      background:
        radial-gradient(circle at 18% 24%,#fff 0 1px,transparent 1.5px),
        radial-gradient(circle at 74% 64%,#fff 0 1px,transparent 1.5px);
      background-size:120px 110px,140px 120px;
      animation:hubQuickStars 10s linear infinite;
    }

    @keyframes hubQuickStars{
      to{background-position:120px 110px,-140px 120px}
    }

    .hubQuickCard:hover{
      transform:translateY(-4px) scale(1.01);
      filter:brightness(1.04);
      box-shadow:0 18px 34px rgba(14,45,94,.18);
    }

    .hubQuickCard.rewards{
      background:linear-gradient(135deg,#ffbf2d,#ff8d21);
    }

    .hubQuickCard.quests{
      background:linear-gradient(135deg,#6a68f2,#4bc9ff);
    }

    .hubQuickCard.wardrobe{
      background:linear-gradient(135deg,#ff6ca6,#8a64ff);
    }

    .hubQuickCard.players{
      background:linear-gradient(135deg,#29c783,#44e3c2);
    }

    .hubQuickIcon{
      width:54px;
      height:54px;
      position:relative;
      z-index:2;
      border-radius:18px;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.18);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
      font-size:28px;
    }

    .hubQuickText{
      position:relative;
      z-index:2;
      min-width:0;
      display:flex;
      flex-direction:column;
      gap:3px;
    }

    .hubQuickText strong{
      font-size:17px;
      line-height:1.05;
      color:#fff;
    }

    .hubQuickText small{
      color:rgba(255,255,255,.88);
      font-size:9px;
      font-weight:900;
    }

    .hubQuickCard b{
      min-width:44px;
      height:44px;
      position:relative;
      z-index:2;
      border-radius:15px;
      display:grid;
      place-items:center;
      color:#fff;
      background:rgba(255,255,255,.18);
      font-size:18px;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
    }

    .rewardRevealHalo{
      width:min(760px,92vw);
      aspect-ratio:1;
      position:absolute;
      border-radius:50%;
      opacity:0;
      background:
        radial-gradient(circle,rgba(113,233,255,.20),transparent 44%),
        radial-gradient(circle,rgba(255,214,81,.16),transparent 62%);
      filter:blur(12px);
      transform:scale(.45);
    }

    .rewardReveal.show .rewardRevealHalo{
      animation:rewardRevealHalo 1.05s ease both;
    }

    @keyframes rewardRevealHalo{
      0%{opacity:0;transform:scale(.42)}
      28%{opacity:1}
      100%{opacity:0;transform:scale(1.1)}
    }

    .rewardRevealCard{
      position:relative;
      overflow:hidden;
      background:
        radial-gradient(circle at 50% 0%,rgba(112,235,255,.13),transparent 35%),
        linear-gradient(180deg,#102f67,#0a1e48)!important;
    }

    .rewardRevealCard.rarity-common{
      border-color:rgba(121,196,255,.20);
    }

    .rewardRevealCard.rarity-rare{
      background:
        radial-gradient(circle at 50% 0%,rgba(82,231,255,.18),transparent 35%),
        linear-gradient(180deg,#0d3470,#122a63)!important;
    }

    .rewardRevealCard.rarity-epic{
      background:
        radial-gradient(circle at 50% 0%,rgba(191,116,255,.22),transparent 35%),
        linear-gradient(180deg,#33195a,#132050)!important;
    }

    .rewardRevealCard.rarity-legendary{
      background:
        radial-gradient(circle at 50% 0%,rgba(255,221,107,.25),transparent 35%),
        linear-gradient(180deg,#5a350d,#2d1730)!important;
      box-shadow:0 35px 120px rgba(255,192,65,.24)!important;
    }

    .rewardRevealMeta{
      margin-top:8px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      flex-wrap:wrap;
    }

    .rewardRevealRarity,
    .rewardRevealCoinsPill{
      min-height:34px;
      padding:0 11px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:6px;
      font-size:8px;
      font-weight:1000;
      letter-spacing:.07em;
    }

    .rewardRevealRarity{
      color:#0b3154;
      background:linear-gradient(180deg,#9df4ff,#47d6f8);
      box-shadow:0 8px 16px rgba(47,210,248,.16);
    }

    .rewardRevealCard.rarity-epic .rewardRevealRarity{
      color:#34115d;
      background:linear-gradient(180deg,#f0b6ff,#b571ff);
    }

    .rewardRevealCard.rarity-legendary .rewardRevealRarity{
      color:#624200;
      background:linear-gradient(180deg,#fff19a,#ffc532);
    }

    .rewardRevealCoinsPill{
      color:#624100;
      background:linear-gradient(180deg,#fff4ab,#ffcb40);
      box-shadow:0 8px 16px rgba(255,199,58,.16);
    }

    .rewardRevealCoinsPill img{
      width:27px;
      height:27px;
      object-fit:contain;
    }

    .rewardRevealHint{
      margin-top:8px;
      color:#a4bdd9;
      font-size:8px;
      font-weight:900;
    }

    .passRewardParticle{
      position:fixed;
      z-index:850;
      pointer-events:none;
      color:#ffe47e;
      text-shadow:
        0 0 10px rgba(255,206,71,.45),
        0 0 20px rgba(120,235,255,.22);
      font-size:22px;
      will-change:transform,opacity;
    }

    .passRewardParticle.big{
      color:#9df6ff;
      font-size:28px;
    }

    .passRewardCoin{
      width:28px;
      height:28px;
      position:fixed;
      z-index:852;
      pointer-events:none;
      object-fit:contain;
      filter:
        drop-shadow(0 4px 6px rgba(104,66,0,.22))
        drop-shadow(0 0 8px rgba(255,213,65,.20));
      will-change:transform,opacity;
    }

    .coinBankPulse{
      animation:coinBankPulse .82s cubic-bezier(.16,.85,.2,1.12);
    }

    .coinStatPulse{
      animation:coinStatPulse .82s cubic-bezier(.16,.85,.2,1.12);
    }

    @keyframes coinBankPulse{
      0%{transform:scale(1)}
      35%{transform:scale(1.08)}
      60%{transform:scale(.96)}
      100%{transform:scale(1)}
    }

    @keyframes coinStatPulse{
      0%{transform:scale(1)}
      35%{transform:scale(1.06)}
      60%{transform:scale(.96)}
      100%{transform:scale(1)}
    }

    .homeMegaRewardCard .megaClaimButton{
      transition:transform .14s ease, filter .14s ease, box-shadow .14s ease;
    }

    .homeMegaRewardCard .megaClaimButton:not(.lockedButton):not(.claimedButton),
    .megaRewardCard .megaClaimButton:not(.lockedButton):not(.claimedButton){
      animation:passClaimGlow 1.5s ease-in-out infinite;
    }

    @keyframes passClaimGlow{
      0%,100%{
        filter:brightness(1);
        box-shadow:0 6px 0 rgba(168,106,10,.25),0 10px 18px rgba(225,172,51,.15);
      }
      50%{
        filter:brightness(1.08);
        box-shadow:0 6px 0 rgba(168,106,10,.28),0 0 22px rgba(255,196,71,.18),0 12px 24px rgba(225,172,51,.18);
      }
    }

    @media(max-width:980px){
      .hubQuickGrid{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
    }

    @media(max-width:720px){
      .hubQuickGrid{
        grid-template-columns:1fr;
      }

      .hubQuickCard{
        min-height:94px;
      }
    }


    /* =========================================================
       v42 - SIMPLE GAME LOBBY ON THE MAIN TAB
       ========================================================= */

    .hubPassShowcase,
    .homePassHeader,
    .homeBattlePassViewport,
    .hubQuickGrid,
    .hubActionRow{
      display:none!important;
    }

    .hubLogged{
      padding-top:2px;
    }

    .hubPlayerStrip{
      padding:16px;
      display:grid;
      grid-template-columns:minmax(180px,.7fr) minmax(260px,1.15fr) minmax(360px,1.45fr);
      gap:12px;
      align-items:center;
      border-radius:26px;
      color:#fff;
      background:
        radial-gradient(circle at 92% 0%,rgba(113,95,255,.24),transparent 28%),
        linear-gradient(135deg,#0b2354,#123e80 55%,#312b70);
      border:1px solid rgba(111,213,255,.18);
      box-shadow:0 14px 34px rgba(15,50,103,.16);
    }

    .hubPlayerLevel{
      min-height:92px;
      padding:12px;
      border-radius:20px;
      display:flex;
      align-items:center;
      gap:12px;
      background:rgba(255,255,255,.09);
      border:1px solid rgba(255,255,255,.08);
    }

    .hubPlayerLevel .levelBadge{
      width:62px;
      height:62px;
      flex:0 0 62px;
      border-radius:20px;
      display:grid;
      place-items:center;
      color:#704500;
      background:linear-gradient(145deg,#ffe77a,#ffbd29);
      box-shadow:0 8px 17px rgba(0,0,0,.16);
      font-size:28px;
      font-weight:1000;
    }

    .hubPlayerLevel small{
      color:#9eeeff;
      font-size:8px;
      font-weight:1000;
      letter-spacing:.08em;
    }

    .hubPlayerLevel strong{
      display:block;
      margin-top:4px;
      color:#fff;
      font-size:19px;
    }

    .hubPlayerXp{
      min-height:92px;
      padding:15px;
      border-radius:20px;
      background:rgba(255,255,255,.09);
      border:1px solid rgba(255,255,255,.08);
    }

    .hubPlayerXpTop{
      margin-bottom:11px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }

    .hubPlayerXpTop span{
      color:#8cecff;
      font-size:8px;
      font-weight:1000;
      letter-spacing:.08em;
    }

    .hubPlayerXpTop strong{
      color:#fff;
      font-size:11px;
    }

    .hubPlayerXp .xpBar{
      height:18px;
      padding:3px;
      border-radius:999px;
      background:rgba(2,13,34,.44);
    }

    .hubPlayerXp .xpBar span{
      background:linear-gradient(90deg,#51e5ff,#7f6ef5,#ffd550);
      box-shadow:0 0 14px rgba(72,220,255,.28);
    }

    .hubPlayerMini{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:8px;
    }

    .hubPlayerMini > div{
      min-height:92px;
      padding:9px 6px;
      border-radius:18px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
      color:#fff;
      background:rgba(255,255,255,.09);
      border:1px solid rgba(255,255,255,.08);
    }

    .hubPlayerMini > div strong{
      color:#fff!important;
      font-size:27px!important;
      line-height:1;
    }

    .hubPlayerMini > div span{
      margin-top:7px;
      color:#d6e6f5!important;
      font-size:8px!important;
      font-weight:900;
    }

    .hubPlayerMini .coinMiniStat{
      color:#fff5a5;
      background:linear-gradient(180deg,rgba(255,218,89,.19),rgba(255,183,37,.12));
      border-color:rgba(255,216,87,.22);
    }

    .hubMenuHeader{
      margin-top:22px;
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:12px;
    }

    .hubMenuHeader span{
      color:#347fcf;
      font-size:9px;
      font-weight:1000;
      letter-spacing:.10em;
    }

    .hubMenuHeader h3{
      margin:4px 0 0;
      color:#173763;
      font-size:36px;
      line-height:1;
      letter-spacing:-.035em;
    }

    .hubMenuHeader p{
      margin:7px 0 0;
      color:#758ba6;
      font-size:10px;
      font-weight:800;
    }

    .hubGameMenu{
      margin-top:14px;
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:13px;
    }

    .hubGameTile{
      min-height:178px;
      padding:16px;
      position:relative;
      overflow:hidden;
      border:0;
      border-radius:25px;
      cursor:pointer;
      display:grid;
      grid-template-columns:auto minmax(0,1fr) auto;
      grid-template-rows:auto 1fr auto;
      gap:8px 12px;
      align-items:start;
      color:#fff;
      text-align:left;
      box-shadow:
        0 14px 28px rgba(17,54,105,.14),
        inset 0 1px 0 rgba(255,255,255,.12);
      transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
    }

    .hubGameTile::before{
      content:"";
      position:absolute;
      width:170px;
      height:170px;
      right:-55px;
      top:-65px;
      border-radius:50%;
      background:rgba(255,255,255,.10);
      pointer-events:none;
    }

    .hubGameTile::after{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      opacity:.20;
      background:
        radial-gradient(circle at 14% 20%,#fff 0 1px,transparent 1.5px),
        radial-gradient(circle at 70% 65%,#fff 0 1px,transparent 1.5px);
      background-size:120px 100px,145px 120px;
      animation:hubTileStars 12s linear infinite;
    }

    @keyframes hubTileStars{
      to{background-position:120px 100px,-145px 120px}
    }

    .hubGameTile:hover{
      transform:translateY(-5px) scale(1.012);
      filter:brightness(1.05);
      box-shadow:0 20px 36px rgba(17,54,105,.20);
    }

    .hubGameTile:active{
      transform:translateY(2px) scale(.995);
    }

    .tile-pass{background:linear-gradient(135deg,#e99517,#ffbe2f 54%,#ff7d27)}
    .tile-quests{background:linear-gradient(135deg,#245bd6,#3bc8ff 62%,#38dbd0)}
    .tile-shop{background:linear-gradient(135deg,#f05c35,#ff9b2e 58%,#ffd04d)}
    .tile-wardrobe{background:linear-gradient(135deg,#9c43df,#e85ba5 62%,#ff8bb8)}
    .tile-achievements{background:linear-gradient(135deg,#6846d8,#a65de8 55%,#eaa54b)}
    .tile-favorites{background:linear-gradient(135deg,#e84273,#ff7298 58%,#ff9a8c)}
    .tile-players{background:linear-gradient(135deg,#159974,#34d6a3 58%,#3fe1ce)}
    .tile-stats{background:linear-gradient(135deg,#2b62d0,#4e8df2 55%,#6d72ee)}
    .tile-profile{background:linear-gradient(135deg,#344a68,#526e93 58%,#6d82a1)}

    .hubGameTileIcon{
      width:61px;
      height:61px;
      grid-row:1/3;
      position:relative;
      z-index:2;
      border-radius:20px;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.18);
      border:1px solid rgba(255,255,255,.13);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
      font-size:31px;
    }

    .hubGameTileText{
      min-width:0;
      position:relative;
      z-index:2;
      display:flex;
      flex-direction:column;
      gap:5px;
    }

    .hubGameTileText strong{
      color:#fff;
      font-size:19px;
      line-height:1.08;
    }

    .hubGameTileText small{
      color:rgba(255,255,255,.88);
      font-size:9px;
      line-height:1.35;
      font-weight:800;
    }

    .hubGameTile > b{
      min-width:46px;
      height:46px;
      position:relative;
      z-index:2;
      border-radius:15px;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#fff;
      background:rgba(255,255,255,.18);
      border:1px solid rgba(255,255,255,.12);
      font-size:18px;
      font-weight:1000;
    }

    .hubMenuCoin{
      gap:3px;
      padding:0 6px;
    }

    .hubMenuCoin img{
      width:25px;
      height:25px;
      object-fit:contain;
    }

    .hubMenuCoin span{
      font-size:12px;
    }

    .hubGameTile > i{
      grid-column:2/4;
      align-self:end;
      position:relative;
      z-index:2;
      min-height:38px;
      padding:0 11px;
      border-radius:12px;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#fff;
      background:rgba(8,27,58,.22);
      border:1px solid rgba(255,255,255,.10);
      font-style:normal;
      font-size:8px;
      font-weight:1000;
      letter-spacing:.07em;
    }

    .strongerDailyHeader{
      margin-top:27px!important;
      padding:15px 17px;
      border-radius:20px;
      color:#fff;
      background:linear-gradient(135deg,#103e82,#2564c0);
      box-shadow:0 12px 24px rgba(29,78,145,.11);
    }

    .strongerDailyHeader .dailyEyebrow,
    .strongerDailyHeader h3,
    .strongerDailyHeader .dailyReset{
      color:#fff!important;
    }

    .strongerDailyHeader .dailyReset{
      min-height:30px;
      padding:0 10px;
      border-radius:999px;
      display:flex;
      align-items:center;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.10);
    }

    @media(max-width:1050px){
      .hubPlayerStrip{
        grid-template-columns:1fr 1fr;
      }

      .hubPlayerMini{
        grid-column:1/-1;
      }

      .hubGameMenu{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
    }

    @media(max-width:700px){
      .hubPlayerStrip{
        grid-template-columns:1fr;
        padding:12px;
      }

      .hubPlayerMini{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }

      .hubGameMenu{
        grid-template-columns:1fr;
      }

      .hubGameTile{
        min-height:155px;
      }

      .hubMenuHeader h3{
        font-size:30px;
      }
    }


    /* =========================================================
       v43 - MAIN PAGE = BEAUTIFUL PROFILE + PASS PORTAL
       ========================================================= */

    .hubProfileLobby{
      padding-top:4px;
    }

    .hubProfileStage{
      min-height:560px;
      padding:28px;
      position:relative;
      overflow:hidden;
      isolation:isolate;
      border-radius:38px;
      display:grid;
      grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);
      gap:28px;
      color:#fff;
      background:
        radial-gradient(circle at 84% 16%,rgba(100,111,255,.28),transparent 28%),
        radial-gradient(circle at 10% 110%,rgba(78,226,255,.24),transparent 35%),
        linear-gradient(135deg,#0a1e4c,#164a97 55%,#352b77);
      border:1px solid rgba(102,211,255,.19);
      box-shadow:
        0 24px 58px rgba(12,45,96,.22),
        inset 0 1px 0 rgba(255,255,255,.08);
    }

    .hubProfileStage::before{
      content:"";
      position:absolute;
      inset:0;
      z-index:-2;
      pointer-events:none;
      opacity:.22;
      background:
        radial-gradient(circle at 12% 20%,#fff 0 1px,transparent 1.5px),
        radial-gradient(circle at 50% 70%,#7ceaff 0 1px,transparent 1.5px),
        radial-gradient(circle at 88% 30%,#d1c1ff 0 1px,transparent 1.5px);
      background-size:120px 95px,150px 120px,130px 110px;
      animation:hubProfileStars 15s linear infinite;
    }

    @keyframes hubProfileStars{
      to{background-position:120px 95px,-150px 120px,130px -110px}
    }

    .hubProfileStage.skin-neon{
      background:linear-gradient(135deg,#0d1630,#2f1674 56%,#00abc8);
    }

    .hubProfileStage.skin-lava{
      background:linear-gradient(135deg,#4c1521,#a82922 54%,#e87921);
    }

    .hubProfileStage.skin-space{
      background:
        radial-gradient(circle at 82% 15%,#704fd5,transparent 29%),
        linear-gradient(135deg,#071328,#14295a 65%,#1e5797);
    }

    .hubProfileStage.skin-gold{
      background:linear-gradient(135deg,#5e4314,#a87816 52%,#d8ad39);
    }

    .hubProfileStage.skin-candy{
      background:linear-gradient(135deg,#ec78ae,#8068e8 56%,#4dcbd8);
    }

    .hubProfileStage.skin-galaxy{
      background:
        linear-gradient(180deg,rgba(6,16,49,.12),rgba(12,7,31,.42)),
        url("../../pass-assets/skin-galaxy.webp") center/cover no-repeat;
    }

    .hubProfileStage.skin-royal{
      background:
        linear-gradient(180deg,rgba(27,7,45,.10),rgba(29,10,34,.42)),
        url("../../pass-assets/skin-royal.webp") center/cover no-repeat;
    }

    .hubProfileStage.effect-stars .hubProfileStageFx{
      position:absolute;
      inset:-12%;
      z-index:-1;
      pointer-events:none;
      background:url("../../pass-assets/stars.webp") center/cover no-repeat;
      opacity:.52;
      mix-blend-mode:screen;
      animation:hubProfileStarFx 4s ease-in-out infinite;
    }

    @keyframes hubProfileStarFx{
      0%,100%{transform:translate(-1%,1%) scale(1);opacity:.36}
      50%{transform:translate(1%,-1%) scale(1.05);opacity:.68}
    }

    .hubProfileMain,
    .hubPassPortalPanel{
      position:relative;
      z-index:2;
    }

    .hubProfileMain{
      padding:4px 4px 4px 2px;
      display:flex;
      flex-direction:column;
    }

    .hubProfileStageEyebrow{
      color:#83efff;
      font-size:10px;
      font-weight:1000;
      letter-spacing:.13em;
    }

    .hubProfileIdentity{
      margin-top:20px;
      display:grid;
      grid-template-columns:auto minmax(0,1fr);
      gap:24px;
      align-items:center;
    }

    .hubProfileAvatarFrame{
      width:190px;
      height:190px;
      position:relative;
      display:grid;
      place-items:center;
      flex:0 0 auto;
    }

    .hubProfileAvatarBig{
      width:155px;
      height:155px;
      position:relative;
      z-index:2;
      overflow:hidden;
      border-radius:42px;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.14);
      border:1px solid rgba(255,255,255,.15);
      box-shadow:
        0 24px 38px rgba(0,0,0,.22),
        inset 0 1px 0 rgba(255,255,255,.10);
      font-size:76px;
      animation:hubProfileAvatarFloat 3.6s ease-in-out infinite;
    }

    @keyframes hubProfileAvatarFloat{
      0%,100%{transform:translateY(3px) rotate(-1deg)}
      50%{transform:translateY(-7px) rotate(1deg)}
    }

    .hubProfileAvatarFrame.frame-cyan::after,
    .hubProfileAvatarFrame.frame-nova::after,
    .hubProfileAvatarFrame.frame-royal::after{
      content:"";
      position:absolute;
      inset:0;
      z-index:4;
      pointer-events:none;
      background-position:center;
      background-repeat:no-repeat;
      background-size:100% 100%;
    }

    .hubProfileAvatarFrame.frame-cyan::after,
    .hubProfileAvatarFrame.frame-nova::after{
      background-image:url("../../pass-assets/neon-frame.webp");
      filter:drop-shadow(0 0 16px rgba(67,221,255,.34));
    }

    .hubProfileAvatarFrame.frame-royal::after{
      background-image:url("../../pass-assets/royal-frame.webp");
      filter:drop-shadow(0 0 18px rgba(255,207,66,.36));
    }

    .hubProfileIdentityText{
      min-width:0;
      display:flex;
      flex-direction:column;
      align-items:flex-start;
    }

    .hubProfileIdentityText > strong{
      max-width:100%;
      overflow:hidden;
      color:#fff;
      font-size:clamp(36px,5vw,64px);
      line-height:.95;
      letter-spacing:-.04em;
      white-space:nowrap;
      text-overflow:ellipsis;
    }

    .hubProfileIdentityText > span{
      margin-top:10px;
      min-height:36px;
      padding:0 13px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#e6f3ff;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.10);
      font-size:11px;
      font-weight:1000;
    }

    .hubProfileLevelPill{
      margin-top:12px;
      min-height:60px;
      padding:8px 15px;
      border-radius:18px;
      display:flex;
      align-items:center;
      gap:10px;
      color:#633d00;
      background:linear-gradient(180deg,#fff18d,#ffc12e);
      box-shadow:0 10px 22px rgba(255,186,32,.16);
    }

    .hubProfileLevelPill b{
      font-size:27px;
      line-height:1;
    }

    .hubProfileLevelPill span{
      font-size:8px;
      font-weight:1000;
      letter-spacing:.08em;
    }

    .hubProfileXpBlock{
      margin-top:26px;
      padding:16px;
      border-radius:22px;
      background:rgba(4,17,45,.30);
      border:1px solid rgba(255,255,255,.08);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
    }

    .hubProfileXpTop{
      margin-bottom:9px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }

    .hubProfileXpTop span{
      color:#88edff;
      font-size:8px;
      font-weight:1000;
      letter-spacing:.08em;
    }

    .hubProfileXpTop strong{
      color:#fff;
      font-size:11px;
    }

    .hubProfileXpBar{
      height:20px;
      padding:4px;
      overflow:hidden;
      border-radius:999px;
      background:rgba(2,12,32,.52);
      box-shadow:inset 0 2px 7px rgba(0,0,0,.30);
    }

    .hubProfileXpBar span{
      display:block;
      width:0;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,#50e5ff,#7d70f4 55%,#ffd54f);
      box-shadow:0 0 14px rgba(62,219,255,.28);
      transition:width .65s cubic-bezier(.2,.8,.2,1);
    }

    .hubProfileStatsBig{
      margin-top:16px;
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:10px;
    }

    .hubProfileStatsBig > div{
      min-height:110px;
      padding:10px 8px;
      border-radius:20px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
      background:rgba(255,255,255,.09);
      border:1px solid rgba(255,255,255,.08);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
    }

    .hubProfileStatsBig > div > span{
      font-size:22px;
    }

    .hubProfileStatsBig > div strong{
      margin-top:3px;
      color:#fff;
      font-size:30px;
      line-height:1;
    }

    .hubProfileStatsBig > div small{
      margin-top:6px;
      color:#cbdced;
      font-size:8px;
      font-weight:900;
    }

    .hubProfileCoinStat{
      background:linear-gradient(180deg,rgba(255,223,103,.19),rgba(255,187,38,.11))!important;
      border-color:rgba(255,214,82,.22)!important;
    }

    .hubProfileCoinStat img{
      width:34px;
      height:34px;
      object-fit:contain;
    }

    .hubProfileCustomize{
      width:max-content;
      min-height:48px;
      margin-top:16px;
      padding:0 17px;
      border:1px solid rgba(255,255,255,.11);
      border-radius:15px;
      cursor:pointer;
      color:#fff;
      background:rgba(255,255,255,.10);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
      font-size:9px;
      font-weight:1000;
      transition:transform .14s ease,background .14s ease;
    }

    .hubProfileCustomize:hover{
      transform:translateY(-2px);
      background:rgba(255,255,255,.16);
    }

    .hubPassPortalPanel{
      min-height:100%;
      padding:28px 24px;
      border-radius:30px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
      background:
        radial-gradient(circle at 50% 30%,rgba(89,226,255,.15),transparent 33%),
        linear-gradient(180deg,rgba(8,29,69,.72),rgba(44,30,88,.72));
      border:1px solid rgba(255,255,255,.10);
      box-shadow:
        0 18px 36px rgba(0,0,0,.18),
        inset 0 1px 0 rgba(255,255,255,.06);
      backdrop-filter:blur(8px);
    }

    .hubPassPortalEyebrow{
      color:#79ebff;
      font-size:9px;
      font-weight:1000;
      letter-spacing:.12em;
    }

    .hubPassPortalButton{
      width:250px;
      height:250px;
      margin-top:12px;
      border:0;
      border-radius:50%;
      cursor:pointer;
      display:grid;
      place-items:center;
      background:transparent;
      transition:transform .18s ease,filter .18s ease;
    }

    .hubPassPortalButton:hover{
      transform:scale(1.045);
      filter:brightness(1.08);
    }

    .hubPortalOuter,
    .hubPortalMiddle,
    .hubPortalCore{
      border-radius:50%;
      display:grid;
      place-items:center;
    }

    .hubPortalOuter{
      width:230px;
      height:230px;
      background:
        conic-gradient(from 0deg,#57e8ff,#7568f1,#ffbf42,#57e8ff);
      box-shadow:
        0 0 0 10px rgba(86,226,255,.06),
        0 0 45px rgba(78,218,255,.25);
      animation:hubPortalRotate 7s linear infinite;
    }

    @keyframes hubPortalRotate{
      to{transform:rotate(360deg)}
    }

    .hubPortalMiddle{
      width:192px;
      height:192px;
      background:
        radial-gradient(circle,rgba(59,217,255,.15),transparent 55%),
        linear-gradient(145deg,#0d2f6c,#34266f);
      box-shadow:
        inset 0 0 35px rgba(89,226,255,.14);
      animation:hubPortalCounter 7s linear infinite;
    }

    @keyframes hubPortalCounter{
      to{transform:rotate(-360deg)}
    }

    .hubPortalCore{
      width:132px;
      height:132px;
      background:
        radial-gradient(circle at 35% 28%,rgba(255,255,255,.34),transparent 16%),
        linear-gradient(145deg,#4fe4ff,#6a67ef 58%,#f1b53c);
      box-shadow:
        0 0 35px rgba(80,225,255,.28),
        inset 0 1px 0 rgba(255,255,255,.20);
      animation:hubPortalPulse 2.3s ease-in-out infinite;
    }

    @keyframes hubPortalPulse{
      0%,100%{transform:scale(.96)}
      50%{transform:scale(1.05)}
    }

    .hubPortalIcon{
      font-size:59px;
      filter:drop-shadow(0 8px 10px rgba(0,0,0,.18));
    }

    .hubPassPortalPanel > strong{
      margin-top:4px;
      color:#fff;
      font-size:27px;
      line-height:1.05;
    }

    .hubPassPortalPanel > p{
      max-width:330px;
      margin:9px 0 0;
      color:#bdd0e6;
      font-size:9px;
      line-height:1.5;
      font-weight:800;
    }

    .hubPassEnterButton{
      width:100%;
      min-height:58px;
      margin-top:19px;
      border:0;
      border-radius:18px;
      cursor:pointer;
      color:#5d3900;
      background:linear-gradient(180deg,#fff18c,#ffbd29);
      box-shadow:
        0 8px 0 #a8690c,
        0 14px 28px rgba(255,184,28,.16);
      font-size:12px;
      font-weight:1000;
      letter-spacing:.05em;
      transition:transform .14s ease,filter .14s ease,box-shadow .14s ease;
      animation:hubPassButtonGlow 1.7s ease-in-out infinite;
    }

    @keyframes hubPassButtonGlow{
      0%,100%{filter:brightness(1)}
      50%{filter:brightness(1.08)}
    }

    .hubPassEnterButton:hover{
      transform:translateY(-2px);
      filter:brightness(1.08);
    }

    .hubPassEnterButton:active{
      transform:translateY(5px);
      box-shadow:0 3px 0 #a8690c;
    }

    .hubPassPortalHint{
      margin-top:15px;
      display:flex;
      justify-content:center;
      gap:7px;
      flex-wrap:wrap;
    }

    .hubPassPortalHint span{
      min-height:31px;
      padding:0 9px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#dceafb;
      background:rgba(255,255,255,.07);
      border:1px solid rgba(255,255,255,.07);
      font-size:8px;
      font-weight:900;
    }

    @media(max-width:1000px){
      .hubProfileStage{
        grid-template-columns:1fr;
      }

      .hubPassPortalPanel{
        min-height:430px;
      }
    }

    @media(max-width:700px){
      .hubProfileStage{
        min-height:0;
        padding:18px 15px;
        border-radius:28px;
      }

      .hubProfileIdentity{
        grid-template-columns:1fr;
        justify-items:center;
        text-align:center;
      }

      .hubProfileIdentityText{
        align-items:center;
      }

      .hubProfileIdentityText > strong{
        font-size:39px;
      }

      .hubProfileStatsBig{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }

      .hubProfileCustomize{
        width:100%;
      }

      .hubPassPortalButton{
        width:220px;
        height:220px;
      }

      .hubPortalOuter{
        width:200px;
        height:200px;
      }

      .hubPortalMiddle{
        width:166px;
        height:166px;
      }

      .hubPortalCore{
        width:116px;
        height:116px;
      }
    }


    /* =========================================================
       v44 - FIXED PROFILE LOBBY + STABLE LAYOUT
       ========================================================= */

    .hubProfileStage{
      grid-template-columns:minmax(0,1.16fr) minmax(350px,.84fr)!important;
      grid-template-rows:1fr!important;
      align-items:stretch!important;
    }

    /* Critical fix: this decorative layer must NEVER occupy a grid cell */
    .hubProfileStageFx{
      position:absolute!important;
      inset:0!important;
      z-index:-1!important;
      pointer-events:none!important;
      min-width:0!important;
      min-height:0!important;
    }

    .hubProfileMain{
      grid-column:1!important;
      grid-row:1!important;
      min-width:0!important;
      width:100%!important;
      align-self:stretch!important;
    }

    .hubPassPortalPanel{
      grid-column:2!important;
      grid-row:1!important;
      min-width:0!important;
      width:100%!important;
      min-height:0!important;
      align-self:stretch!important;
      justify-self:stretch!important;
    }

    .hubProfileIdentityText{
      min-width:0!important;
    }

    .hubProfileIdentityText > strong{
      max-width:100%!important;
    }

    /* Keep the profile section balanced instead of leaving huge empty areas */
    .hubProfileStage{
      min-height:520px!important;
    }

    .hubProfileMain{
      justify-content:center;
      padding:18px 8px!important;
    }

    .hubPassPortalPanel{
      padding:24px 22px!important;
    }

    .hubPassPortalButton{
      width:220px!important;
      height:220px!important;
    }

    .hubPortalOuter{
      width:202px!important;
      height:202px!important;
    }

    .hubPortalMiddle{
      width:168px!important;
      height:168px!important;
    }

    .hubPortalCore{
      width:116px!important;
      height:116px!important;
    }

    .hubPortalIcon{
      font-size:52px!important;
    }

    /* ==========================================
       Quests tab inside PASS
       ========================================== */

    .questsGamePanel{
      padding:0!important;
      overflow:hidden;
      border-radius:27px;
      background:
        radial-gradient(circle at 90% 0%,rgba(57,211,255,.10),transparent 28%),
        linear-gradient(180deg,#f5f9ff,#edf4ff);
      border:1px solid rgba(71,143,222,.14);
      box-shadow:0 18px 42px rgba(31,71,128,.09);
    }

    .questsGameHero{
      min-height:190px;
      padding:23px 25px;
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      gap:22px;
      align-items:center;
      color:#fff;
      background:
        radial-gradient(circle at 84% 15%,rgba(255,211,75,.22),transparent 27%),
        radial-gradient(circle at 8% 110%,rgba(60,224,255,.22),transparent 34%),
        linear-gradient(120deg,#081b42,#174783 56%,#40307d);
      border-bottom:1px solid rgba(102,204,255,.18);
    }

    .questsGameEyebrow{
      color:#79ecff;
      font-size:9px;
      font-weight:1000;
      letter-spacing:.11em;
    }

    .questsGameHero h3{
      margin:7px 0 0;
      color:#fff;
      font-size:clamp(29px,3.8vw,43px);
      line-height:1;
      letter-spacing:-.035em;
    }

    .questsGameHero p{
      max-width:620px;
      margin:9px 0 0;
      color:#bfd2e7;
      font-size:9px;
      line-height:1.5;
      font-weight:800;
    }

    .questsGameToday{
      min-width:145px;
      min-height:130px;
      padding:15px;
      border-radius:24px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
      color:#fff;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.11);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
    }

    .questsGameToday > span{
      color:#86ecff;
      font-size:8px;
      font-weight:1000;
      letter-spacing:.10em;
    }

    .questsGameToday strong{
      margin-top:5px;
      font-size:31px;
      line-height:1;
    }

    .questsGameToday small{
      margin-top:5px;
      color:#c6d8eb;
      font-size:8px;
      font-weight:900;
    }

    .questsGameInfoBar{
      min-height:58px;
      padding:10px 14px;
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
      background:#0c224b;
      border-bottom:1px solid rgba(77,156,235,.16);
    }

    .questsGameInfoBar span,
    .questsGameInfoBar b{
      min-height:34px;
      padding:0 10px;
      border-radius:11px;
      display:inline-flex;
      align-items:center;
      color:#dbeafa;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.06);
      font-size:8px;
      font-weight:900;
    }

    .questsGameInfoBar b{
      margin-left:auto;
      color:#ffe68a;
      background:rgba(255,208,65,.08);
    }

    .questsProfileGrid{
      padding:16px!important;
      margin:0!important;
      grid-template-columns:repeat(2,minmax(0,1fr))!important;
      gap:13px!important;
    }

    /* ==========================================
       Make every profile tab visibly clickable
       ========================================== */

    .profileTabs{
      background:#081b3d!important;
      border-color:rgba(78,167,255,.17)!important;
    }

    .profileTab{
      color:#fff!important;
      border:1px solid rgba(255,255,255,.10)!important;
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 7px 16px rgba(4,18,45,.13)!important;
      opacity:1!important;
    }

    .profileTab[data-profile-tab="pass"]{
      background:linear-gradient(180deg,#d99419,#bd6f0e)!important;
    }

    .profileTab[data-profile-tab="quests"]{
      background:linear-gradient(180deg,#2978d9,#1b58ab)!important;
    }

    .profileTab[data-profile-tab="shop"]{
      background:linear-gradient(180deg,#e46a2a,#bc4319)!important;
    }

    .profileTab[data-profile-tab="skins"]{
      background:linear-gradient(180deg,#a64fd4,#7934ad)!important;
    }

    .profileTab[data-profile-tab="achievements"]{
      background:linear-gradient(180deg,#7655dc,#5137ad)!important;
    }

    .profileTab[data-profile-tab="favorites"]{
      background:linear-gradient(180deg,#e85383,#bb315f)!important;
    }

    .profileTab[data-profile-tab="players"]{
      background:linear-gradient(180deg,#25a77e,#15765b)!important;
    }

    .profileTab[data-profile-tab="stats"]{
      background:linear-gradient(180deg,#3978d9,#2452a6)!important;
    }

    .profileTab.active{
      color:#08233f!important;
      background:linear-gradient(180deg,#9af6ff,#39d3f5)!important;
      border-color:#aef7ff!important;
      box-shadow:
        0 0 0 3px rgba(71,225,255,.16),
        0 11px 23px rgba(37,192,226,.24)!important;
      transform:translateY(-2px)!important;
    }

    @media(max-width:1000px){
      .hubProfileStage{
        grid-template-columns:1fr!important;
        grid-template-rows:auto auto!important;
      }

      .hubProfileMain{
        grid-column:1!important;
        grid-row:1!important;
      }

      .hubPassPortalPanel{
        grid-column:1!important;
        grid-row:2!important;
        min-height:400px!important;
      }
    }

    @media(max-width:700px){
      .questsGameHero{
        grid-template-columns:1fr;
        padding:18px 15px;
      }

      .questsGameToday{
        width:100%;
        min-height:95px;
      }

      .questsProfileGrid{
        grid-template-columns:1fr!important;
        padding:12px!important;
      }

      .questsGameInfoBar b{
        margin-left:0;
      }
    }


    /* =========================================================
       v45 - ENDLESS QUEST BATCHES + READABLE TEXT
       ========================================================= */

    /* General readability inside the whole PASS/profile area */
    #profileView{
      font-size:14px!important;
    }

    #profileView .profileTab{
      min-height:64px!important;
      padding:12px 11px!important;
      font-size:13px!important;
      line-height:1.15!important;
    }

    #profileView .profileTabPanel h3{
      font-size:clamp(28px,3.2vw,40px)!important;
      line-height:1.04!important;
    }

    #profileView .profileTabPanel h4{
      font-size:18px!important;
      line-height:1.12!important;
    }

    #profileView .profileTabPanel p{
      font-size:12px!important;
      line-height:1.48!important;
    }

    #profileView .profileTabPanel small{
      font-size:11px!important;
      line-height:1.35!important;
    }

    #profileView .profileModalEyebrow,
    #profileView [class$="Eyebrow"],
    #profileView [class*="Eyebrow"]{
      font-size:10px!important;
    }

    #profileView button{
      font-size:11px;
    }

    /* Quests: large, clear cards */
    .questsGameHero{
      min-height:215px!important;
    }

    .questsGameEyebrow{
      font-size:11px!important;
    }

    .questsGameHero h3{
      font-size:clamp(31px,3.8vw,44px)!important;
    }

    .questsGameHero p{
      max-width:680px!important;
      font-size:13px!important;
      line-height:1.48!important;
    }

    .questsGameToday{
      min-width:165px!important;
      min-height:145px!important;
    }

    .questsGameToday > span{
      font-size:10px!important;
    }

    .questsGameToday strong{
      font-size:36px!important;
    }

    .questsGameToday small{
      font-size:11px!important;
    }

    .questsGameInfoBar{
      padding:12px 15px!important;
    }

    .questsGameInfoBar span,
    .questsGameInfoBar b{
      min-height:40px!important;
      padding:0 12px!important;
      font-size:10px!important;
    }

    .questsProfileGrid{
      grid-template-columns:repeat(3,minmax(0,1fr))!important;
      gap:14px!important;
      padding:16px!important;
    }

    .questsProfileGrid .questCard{
      min-height:300px!important;
      padding:17px!important;
      border-radius:24px!important;
    }

    .questsProfileGrid .questIcon{
      width:58px!important;
      height:58px!important;
      font-size:28px!important;
      border-radius:18px!important;
    }

    .questsProfileGrid .questCard h4{
      margin-top:12px!important;
      font-size:19px!important;
      line-height:1.18!important;
    }

    .questsProfileGrid .questCard p{
      min-height:45px;
      margin-top:7px!important;
      font-size:13px!important;
      line-height:1.42!important;
    }

    .questMiniProgress,
    .questReadyBadge,
    .questClaimedBadge{
      min-height:30px!important;
      padding:0 10px!important;
      font-size:9px!important;
    }

    .questProgress,
    .questXp,
    .questClaimedRow{
      font-size:10px!important;
    }

    .questClaimButton{
      min-height:64px!important;
    }

    .questClaimWords b{
      font-size:14px!important;
    }

    .questClaimWords small{
      font-size:10px!important;
    }

    .questClaimCoins b{
      font-size:14px!important;
    }

    /* Battle Pass cards */
    .megaRewardCard > strong{
      font-size:16px!important;
      line-height:1.15!important;
    }

    .megaRewardCard > small{
      font-size:11px!important;
      line-height:1.35!important;
    }

    .rewardLaneBadge{
      font-size:9px!important;
    }

    .megaClaimButton{
      min-height:48px!important;
      font-size:11px!important;
    }

    .rewardLockOverlay small{
      font-size:9px!important;
    }

    /* Shop */
    .shopHeroEyebrow,
    .shopTypeBadge,
    .gameShopCard .shopRarity{
      font-size:9px!important;
    }

    .shopSteps span,
    .shopCategory{
      font-size:11px!important;
    }

    .gameShopCard .shopItemInfo strong{
      font-size:17px!important;
    }

    .gameShopCard .shopItemInfo p{
      font-size:11px!important;
    }

    .shopAction{
      font-size:11px!important;
    }

    /* Wardrobe */
    .wardrobeEyebrow,
    .wardrobeSectionHeader small,
    .wardrobeSectionHint{
      font-size:10px!important;
    }

    .wardrobeSteps span{
      font-size:11px!important;
    }

    .wardrobeSkinCard > strong{
      font-size:16px!important;
    }

    .wardrobeSkinCard > small,
    .wardrobeDecorCard > small{
      font-size:10px!important;
    }

    .wardrobeAvatarCard > strong,
    .wardrobeDecorCard > strong{
      font-size:12px!important;
    }

    .wardrobeAction{
      font-size:11px!important;
    }

    /* Achievements / favorites / players / stats */
    .trophyTier,
    .trophyState,
    .trophyStatusText,
    .playerWorldRole,
    .playerWorldLevel,
    .favoriteTypeBadge,
    .favoriteAuthorBadge{
      font-size:9px!important;
    }

    .trophyInfo strong,
    .favoriteCardInfo strong,
    .playerWorldInfo strong{
      font-size:16px!important;
    }

    .trophyInfo p,
    .favoriteCardInfo p,
    .playerWorldInfo span{
      font-size:11px!important;
    }

    .achievementFilter,
    .favoritePlayBtn,
    .favoriteRemoveBtn,
    .playerVisitButton{
      font-size:11px!important;
    }

    .statsSummaryCard > span{
      font-size:12px!important;
    }

    .statsSummaryCard > small,
    .genreLabelLine span,
    .statsMiniBadge small{
      font-size:10px!important;
    }

    @media(max-width:1050px){
      .questsProfileGrid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
      }
    }

    @media(max-width:700px){
      .questsProfileGrid{
        grid-template-columns:1fr!important;
      }

      #profileView .profileTab{
        min-height:58px!important;
        font-size:12px!important;
      }

      #profileView .profileTabPanel p{
        font-size:12px!important;
      }
    }


    /* =========================================================
       v46 - BIGGER, MORE GAME-LIKE STATISTICS
       ========================================================= */

    .statsGamePanel{
      background:
        radial-gradient(circle at 88% 2%,rgba(88,111,255,.13),transparent 27%),
        radial-gradient(circle at 5% 95%,rgba(55,220,255,.09),transparent 30%),
        linear-gradient(180deg,#f6faff,#edf4ff)!important;
    }

    .statsHeroV46{
      min-height:300px!important;
      padding:30px!important;
      grid-template-columns:minmax(0,1.22fr) minmax(330px,.68fr)!important;
      gap:28px!important;
      background:
        radial-gradient(circle at 83% 12%,rgba(130,89,255,.32),transparent 29%),
        radial-gradient(circle at 8% 110%,rgba(55,226,255,.26),transparent 34%),
        linear-gradient(120deg,#071b41,#164b93 56%,#402b83)!important;
    }

    .statsHeroV46::after{
      content:"";
      width:240px;
      height:240px;
      position:absolute;
      right:28%;
      top:-120px;
      border-radius:50%;
      pointer-events:none;
      background:radial-gradient(circle,rgba(116,236,255,.18),transparent 68%);
      animation:statsHeroGlow 4.2s ease-in-out infinite;
    }

    @keyframes statsHeroGlow{
      0%,100%{transform:scale(.88);opacity:.45}
      50%{transform:scale(1.16);opacity:.9}
    }

    .statsEyebrow{
      font-size:12px!important;
    }

    .statsHeroV46 h3{
      margin-top:9px!important;
      max-width:730px;
      font-size:clamp(38px,4.8vw,58px)!important;
      line-height:.98!important;
    }

    .statsHeroV46 p{
      max-width:690px!important;
      margin-top:14px!important;
      color:#c7d9ed!important;
      font-size:15px!important;
      line-height:1.45!important;
    }

    .statsLevelProgressV46{
      max-width:700px!important;
      margin-top:25px!important;
      padding:18px!important;
      border-radius:22px;
      background:rgba(5,21,52,.32);
      border:1px solid rgba(255,255,255,.08);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
    }

    .statsLevelProgressTop{
      font-size:13px!important;
    }

    .statsLevelProgressTop strong{
      font-size:13px!important;
    }

    .statsLevelBar{
      height:22px!important;
      padding:4px!important;
      margin-top:9px;
    }

    .statsLevelBar span{
      position:relative;
      overflow:hidden;
    }

    .statsLevelBar span::after{
      content:"";
      position:absolute;
      inset:0;
      transform:translateX(-120%);
      background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);
      animation:statsBarShine 2.4s ease-in-out infinite;
    }

    @keyframes statsBarShine{
      0%,35%{transform:translateX(-120%)}
      80%,100%{transform:translateX(120%)}
    }

    .statsLevelProgressV46 > small{
      display:block;
      margin-top:9px;
      color:#a9c6e1!important;
      font-size:12px!important;
      font-weight:900;
    }

    .statsHeroProfileV46{
      min-height:235px!important;
      padding:22px!important;
      border-radius:29px!important;
      background:
        radial-gradient(circle at 50% 26%,rgba(93,231,255,.18),transparent 36%),
        linear-gradient(145deg,rgba(13,43,92,.96),rgba(51,38,116,.96))!important;
      box-shadow:
        0 22px 44px rgba(0,0,0,.23),
        inset 0 1px 0 rgba(255,255,255,.08)!important;
    }

    .statsHeroLabel{
      font-size:10px!important;
    }

    .statsAvatarOrbit{
      width:156px;
      height:156px;
      margin-top:13px;
      position:relative;
      display:grid;
      place-items:center;
    }

    .statsAvatarOrbit::before{
      content:"";
      position:absolute;
      inset:7px;
      border-radius:50%;
      border:2px dashed rgba(118,232,255,.22);
      animation:statsOrbitRotate 9s linear infinite;
    }

    @keyframes statsOrbitRotate{
      to{transform:rotate(360deg)}
    }

    .statsOrbitDot{
      width:10px;
      height:10px;
      position:absolute;
      z-index:4;
      border-radius:50%;
      background:#71edff;
      box-shadow:0 0 12px rgba(76,224,255,.65);
    }

    .statsOrbitDot.dot1{top:8px;left:73px}
    .statsOrbitDot.dot2{right:12px;bottom:34px;background:#ffd75a}
    .statsOrbitDot.dot3{left:14px;bottom:38px;background:#a882ff}

    .statsHeroAvatar{
      width:116px;
      height:116px;
      overflow:hidden;
      border-radius:32px;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.13);
      border:1px solid rgba(255,255,255,.14);
      box-shadow:0 14px 27px rgba(0,0,0,.22);
      font-size:58px;
      animation:statsAvatarFloat 3.2s ease-in-out infinite;
    }

    @keyframes statsAvatarFloat{
      0%,100%{transform:translateY(3px) rotate(-1deg)}
      50%{transform:translateY(-6px) rotate(1deg)}
    }

    .statsHeroAvatar .realAvatarArt{
      width:100%;
      height:100%;
      object-fit:cover;
    }

    .statsHeroProfileV46 .statsLevelOrb{
      width:64px!important;
      height:64px!important;
      position:absolute!important;
      right:16px!important;
      bottom:74px!important;
      border-width:4px!important;
      animation:statsLevelBadgeBounce 2.3s ease-in-out infinite!important;
    }

    @keyframes statsLevelBadgeBounce{
      0%,100%{transform:translateY(2px) rotate(-3deg)}
      50%{transform:translateY(-5px) rotate(3deg)}
    }

    .statsHeroProfileV46 .statsLevelOrb span{
      font-size:25px!important;
    }

    .statsHeroProfileV46 .statsLevelOrb small{
      bottom:8px!important;
      font-size:6px!important;
    }

    .statsHeroProfileV46 > strong{
      margin-top:7px!important;
      font-size:22px!important;
    }

    .statsHeroProfileV46 > span:last-of-type{
      min-height:30px;
      margin-top:5px!important;
      padding:0 10px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#dcecff!important;
      background:rgba(255,255,255,.09);
      font-size:11px!important;
    }

    .statsHeroPercent{
      margin-top:10px;
      display:flex;
      align-items:baseline;
      gap:7px;
    }

    .statsHeroPercent strong{
      color:#7eeeff;
      font-size:23px;
    }

    .statsHeroPercent span{
      color:#a9c4df;
      font-size:9px;
      font-weight:900;
    }

    .statsSummaryTitle{
      padding:24px 20px 5px;
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:15px;
    }

    .statsSummaryTitle > div > span{
      color:#4b7dad;
      font-size:11px;
      font-weight:1000;
      letter-spacing:.10em;
    }

    .statsSummaryTitle h4{
      margin:5px 0 0;
      color:#173763;
      font-size:27px!important;
    }

    .statsSummaryTitle > b{
      min-height:36px;
      padding:0 12px;
      border-radius:999px;
      display:flex;
      align-items:center;
      color:#68469f;
      background:#f0eaff;
      font-size:10px;
      white-space:nowrap;
    }

    .statsSummaryGridV46{
      padding:15px 20px 4px!important;
      gap:15px!important;
    }

    .statsSummaryGridV46 .statsSummaryCard{
      min-height:225px!important;
      padding:18px!important;
      grid-template-columns:auto 1fr!important;
      grid-template-rows:auto auto auto auto auto!important;
      column-gap:15px!important;
      align-content:start;
      border-radius:25px!important;
      border:2px solid rgba(67,141,220,.13)!important;
      box-shadow:
        0 13px 28px rgba(29,69,125,.08),
        inset 0 1px 0 rgba(255,255,255,.9)!important;
      isolation:isolate;
    }

    .statsCardGlow{
      width:150px;
      height:150px;
      position:absolute;
      right:-45px;
      top:-55px;
      z-index:-1;
      border-radius:50%;
      opacity:.13;
      background:currentColor;
      filter:blur(1px);
      animation:statsCardGlow 3.2s ease-in-out infinite;
    }

    @keyframes statsCardGlow{
      0%,100%{transform:scale(.88);opacity:.09}
      50%{transform:scale(1.12);opacity:.17}
    }

    .statsSummaryGridV46 .statsSummaryIcon{
      width:72px!important;
      height:72px!important;
      grid-row:1/4!important;
      border-radius:22px!important;
      font-size:35px!important;
      animation:statsSummaryIconFloat 3s ease-in-out infinite;
    }

    @keyframes statsSummaryIconFloat{
      0%,100%{transform:translateY(2px) rotate(-1deg)}
      50%{transform:translateY(-5px) rotate(1deg)}
    }

    .statsSummaryGridV46 .statsSummaryIcon img{
      width:66px!important;
      height:66px!important;
    }

    .statsSummaryGridV46 .statsSummaryCard > strong{
      font-size:42px!important;
      line-height:.95!important;
    }

    .statsSummaryGridV46 .statsSummaryCard > span{
      margin-top:4px;
      font-size:15px!important;
    }

    .statsSummaryGridV46 .statsSummaryCard > small{
      margin-top:5px;
      color:#7088a4!important;
      font-size:11px!important;
      line-height:1.35!important;
    }

    .statMiniBar{
      grid-column:1/-1;
      height:13px;
      margin-top:15px;
      padding:3px;
      overflow:hidden;
      border-radius:999px;
      background:#e6eef8;
      box-shadow:inset 0 1px 3px rgba(25,63,116,.08);
    }

    .statMiniBar i{
      display:block;
      width:0;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,#42d9fb,#6c6cf1);
      box-shadow:0 0 9px rgba(58,207,244,.20);
      transition:width .85s cubic-bezier(.2,.8,.2,1);
    }

    .stat-quests .statMiniBar i{background:linear-gradient(90deg,#33d38b,#6ee8b6)}
    .stat-rewards .statMiniBar i{background:linear-gradient(90deg,#a96eff,#df8dff)}
    .stat-xp .statMiniBar i{background:linear-gradient(90deg,#ffb833,#ffe168)}
    .stat-coins .statMiniBar i{background:linear-gradient(90deg,#ffb72e,#ffd95a)}
    .stat-favs .statMiniBar i{background:linear-gradient(90deg,#f65d8a,#ff99b5)}

    .statsSummaryGridV46 .statsSummaryCard > em{
      grid-column:1/-1;
      margin-top:7px;
      color:#7890ab;
      font-size:10px;
      font-style:normal;
      font-weight:900;
    }

    .statsLowerGridV46{
      padding:17px 20px 20px!important;
      gap:16px!important;
    }

    .statsLowerGridV46 .statsSection{
      border-radius:26px!important;
      box-shadow:0 12px 28px rgba(30,69,125,.07)!important;
    }

    .statsLowerGridV46 .statsSectionHeader{
      min-height:92px!important;
      padding:16px 18px!important;
    }

    .statsLowerGridV46 .statsSectionEyebrow{
      font-size:10px!important;
    }

    .statsLowerGridV46 .statsSectionHeader h4{
      font-size:23px!important;
    }

    .favoriteGenreBadge{
      min-height:38px!important;
      padding:0 12px!important;
      font-size:10px!important;
    }

    .enhancedGenreStats{
      padding:16px!important;
      gap:13px!important;
    }

    .enhancedGenreRow{
      min-height:62px;
      padding:8px 10px;
      display:grid!important;
      grid-template-columns:auto minmax(0,1fr);
      gap:11px;
      align-items:center;
      border-radius:17px;
      background:linear-gradient(180deg,#f8fbff,#f1f7ff);
      border:1px solid rgba(67,141,220,.09);
    }

    .genreBigIcon{
      width:46px;
      height:46px;
      border-radius:15px;
      display:grid;
      place-items:center;
      background:linear-gradient(145deg,#dff5ff,#eae7ff);
      font-size:24px;
    }

    .genreRowBody{
      min-width:0;
    }

    .genreLabelLine{
      margin-bottom:7px!important;
    }

    .genreLabelLine strong{
      color:#234c78!important;
      font-size:13px!important;
    }

    .genreLabelLine span{
      color:#718aa5!important;
      font-size:11px!important;
    }

    .enhancedGenreBar{
      height:16px!important;
      padding:3px!important;
    }

    .statsNextGoalCardV46{
      margin:16px!important;
      padding:18px!important;
      border-radius:23px!important;
      min-height:180px;
      background:
        radial-gradient(circle at 95% 8%,rgba(255,214,80,.22),transparent 28%),
        radial-gradient(circle at 10% 100%,rgba(91,224,255,.16),transparent 34%),
        linear-gradient(145deg,#123e80,#342b7c)!important;
    }

    .statsNextGoalCardV46 .statsNextGoalIcon{
      width:76px!important;
      height:76px!important;
      border-radius:23px!important;
      font-size:39px!important;
    }

    .statsNextGoalCardV46 .statsNextGoalText strong{
      font-size:18px!important;
    }

    .statsNextGoalCardV46 .statsNextGoalText span{
      font-size:11px!important;
    }

    .statsNextGoalCardV46 .statsNextGoalProgress > span{
      font-size:11px!important;
    }

    .statsNextGoalCardV46 .statsNextGoalProgress > div{
      height:15px!important;
    }

    .statsMiniBadgesV46{
      padding:0 16px 16px!important;
      gap:10px!important;
    }

    .statsMiniBadgesV46 .statsMiniBadge{
      min-height:120px!important;
      border-radius:19px!important;
    }

    .statsMiniBadgesV46 .statsMiniBadge > span{
      font-size:31px!important;
    }

    .statsMiniBadgesV46 .statsMiniBadge strong{
      font-size:28px!important;
    }

    .statsMiniBadgesV46 .statsMiniBadge small{
      font-size:10px!important;
    }

    .statsAnimate .statsSummaryTitle{
      opacity:0;
      transform:translateY(8px);
      animation:statsSectionIn .4s ease .02s forwards;
    }

    .statsAnimate .statsLowerGridV46 .statsSection{
      opacity:0;
      transform:translateY(12px);
      animation:statsSectionIn .48s cubic-bezier(.2,.8,.2,1) forwards;
    }

    .statsAnimate .statsLowerGridV46 .statsSection:nth-child(1){animation-delay:.34s}
    .statsAnimate .statsLowerGridV46 .statsSection:nth-child(2){animation-delay:.42s}

    @keyframes statsSectionIn{
      to{opacity:1;transform:translateY(0)}
    }

    @media(max-width:1050px){
      .statsHeroV46{
        grid-template-columns:1fr minmax(290px,.6fr)!important;
      }

      .statsSummaryGridV46{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
      }
    }

    @media(max-width:720px){
      .statsHeroV46{
        grid-template-columns:1fr!important;
        padding:19px 15px!important;
      }

      .statsHeroV46 h3{
        font-size:36px!important;
      }

      .statsHeroV46 p{
        font-size:13px!important;
      }

      .statsHeroProfileV46{
        min-height:255px!important;
      }

      .statsSummaryTitle{
        padding:19px 13px 4px;
        align-items:flex-start;
        flex-direction:column;
      }

      .statsSummaryTitle > b{
        white-space:normal;
      }

      .statsSummaryGridV46{
        grid-template-columns:1fr!important;
        padding:12px 13px 3px!important;
      }

      .statsSummaryGridV46 .statsSummaryCard{
        min-height:205px!important;
      }

      .statsSummaryGridV46 .statsSummaryCard > strong{
        font-size:38px!important;
      }

      .statsLowerGridV46{
        padding:12px 13px 15px!important;
      }

      .statsMiniBadgesV46{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
      }
    }


    /* =========================================================
       v47 - PERSONAL ROOM SYSTEM
       ========================================================= */

    .roomLobby{
      padding-top:4px;
    }

    .roomHud{
      min-height:92px;
      padding:13px 15px;
      display:grid;
      grid-template-columns:minmax(260px,.9fr) minmax(260px,1.2fr) auto;
      gap:13px;
      align-items:center;
      border-radius:25px 25px 0 0;
      color:#fff;
      background:
        radial-gradient(circle at 92% 0%,rgba(120,90,255,.22),transparent 28%),
        linear-gradient(135deg,#0a204f,#15488d 56%,#352d79);
      border:1px solid rgba(96,205,255,.18);
      border-bottom:0;
      box-shadow:0 13px 30px rgba(13,46,96,.15);
    }

    .roomHudPlayer{
      display:flex;
      align-items:center;
      gap:11px;
      min-width:0;
    }

    .roomHudAvatar{
      width:62px;
      height:62px;
      flex:0 0 62px;
      overflow:hidden;
      border-radius:19px;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.13);
      border:1px solid rgba(255,255,255,.12);
      font-size:31px;
    }

    .roomHudPlayer > div:last-child{
      min-width:0;
    }

    .roomHudPlayer small{
      color:#7cecff;
      font-size:9px;
      font-weight:1000;
      letter-spacing:.09em;
    }

    .roomHudPlayer strong{
      display:block;
      margin-top:3px;
      overflow:hidden;
      color:#fff;
      font-size:19px;
      white-space:nowrap;
      text-overflow:ellipsis;
    }

    .roomHudPlayer span{
      display:block;
      margin-top:3px;
      color:#bfd4e9;
      font-size:10px;
      font-weight:900;
    }

    .roomHudProgress{
      padding:11px 13px;
      border-radius:17px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.07);
    }

    .roomHudProgress > div:first-child{
      margin-bottom:7px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:9px;
      color:#93ecff;
      font-size:9px;
      font-weight:1000;
    }

    .roomHudProgress strong{
      color:#fff;
      font-size:10px;
    }

    .roomHudXpBar{
      height:15px;
      padding:3px;
      overflow:hidden;
      border-radius:999px;
      background:rgba(2,12,31,.48);
    }

    .roomHudXpBar span{
      display:block;
      width:0;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,#49e2ff,#806df1 60%,#ffd452);
      box-shadow:0 0 10px rgba(70,219,255,.24);
      transition:width .55s ease;
    }

    .roomHudRight{
      display:flex;
      align-items:center;
      gap:9px;
    }

    .roomHudCoins{
      min-height:48px;
      padding:0 11px;
      border-radius:15px;
      display:flex;
      align-items:center;
      gap:6px;
      color:#624000;
      background:linear-gradient(180deg,#fff298,#ffc438);
      box-shadow:0 6px 14px rgba(255,188,35,.14);
    }

    .roomHudCoins img{
      width:31px;
      height:31px;
      object-fit:contain;
    }

    .roomHudCoins strong{
      font-size:15px;
    }

    .roomHudProfileButton{
      min-height:48px;
      padding:0 13px;
      border:1px solid rgba(255,255,255,.10);
      border-radius:15px;
      cursor:pointer;
      color:#fff;
      background:rgba(255,255,255,.10);
      font-size:10px;
      font-weight:1000;
    }

    .roomScene{
      min-height:590px;
      position:relative;
      overflow:hidden;
      isolation:isolate;
      border-radius:0 0 31px 31px;
      background:#d8e5f5;
      border:1px solid rgba(72,135,203,.16);
      box-shadow:0 19px 42px rgba(22,63,119,.12);
    }

    .roomBackWall{
      position:absolute;
      inset:0 0 33% 0;
      z-index:-6;
      background:
        linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),
        linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
        linear-gradient(160deg,#b8d6f5,#789dd2);
      background-size:70px 70px,70px 70px,auto;
    }

    .roomFloor{
      position:absolute;
      left:-6%;
      right:-6%;
      bottom:-2%;
      height:38%;
      z-index:-5;
      transform:perspective(600px) rotateX(54deg);
      transform-origin:bottom;
      background:
        repeating-linear-gradient(90deg,rgba(255,255,255,.10) 0 2px,transparent 2px 100px),
        linear-gradient(180deg,#617eab,#304d78);
      box-shadow:inset 0 18px 35px rgba(10,30,61,.20);
    }

    .roomAmbient{
      position:absolute;
      z-index:-2;
      border-radius:50%;
      filter:blur(16px);
      pointer-events:none;
    }

    .roomAmbientOne{
      width:360px;
      height:360px;
      left:-90px;
      top:-110px;
      background:rgba(94,228,255,.16);
      animation:roomAmbientPulse 5s ease-in-out infinite;
    }

    .roomAmbientTwo{
      width:300px;
      height:300px;
      right:-60px;
      top:70px;
      background:rgba(119,82,255,.17);
      animation:roomAmbientPulse 5s ease-in-out infinite reverse;
    }

    @keyframes roomAmbientPulse{
      0%,100%{transform:scale(.88);opacity:.55}
      50%{transform:scale(1.12);opacity:.95}
    }

    /* Room themes */
    .room-theme-coder .roomBackWall{
      background:
        linear-gradient(90deg,rgba(67,226,255,.08) 1px,transparent 1px),
        linear-gradient(rgba(67,226,255,.08) 1px,transparent 1px),
        linear-gradient(160deg,#183562,#0b1833);
      background-size:54px 54px,54px 54px,auto;
    }
    .room-theme-coder .roomFloor{background:repeating-linear-gradient(90deg,rgba(74,219,255,.08) 0 2px,transparent 2px 100px),linear-gradient(180deg,#173967,#091b38)}
    .room-theme-arcade .roomBackWall{background:radial-gradient(circle at 20% 30%,rgba(255,70,168,.18),transparent 24%),radial-gradient(circle at 78% 22%,rgba(77,232,255,.17),transparent 25%),linear-gradient(160deg,#4f235e,#171331)}
    .room-theme-arcade .roomFloor{background:repeating-linear-gradient(90deg,rgba(255,87,186,.12) 0 2px,transparent 2px 85px),linear-gradient(180deg,#442359,#21142f)}
    .room-theme-space .roomBackWall{background:radial-gradient(circle at 15% 22%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 75% 35%,#75e8ff 0 1px,transparent 1.5px),linear-gradient(160deg,#10194d,#05081b);background-size:95px 80px,120px 100px,auto}
    .room-theme-space .roomFloor{background:repeating-linear-gradient(90deg,rgba(89,221,255,.08) 0 2px,transparent 2px 90px),linear-gradient(180deg,#172756,#071029)}
    .room-theme-lab .roomBackWall{background:linear-gradient(90deg,rgba(77,255,201,.08) 1px,transparent 1px),linear-gradient(rgba(77,255,201,.08) 1px,transparent 1px),linear-gradient(160deg,#244e59,#0c2831);background-size:64px 64px,64px 64px,auto}
    .room-theme-lab .roomFloor{background:repeating-linear-gradient(90deg,rgba(86,235,201,.09) 0 2px,transparent 2px 100px),linear-gradient(180deg,#234c54,#10292f)}
    .room-theme-cyber .roomBackWall{background:radial-gradient(circle at 85% 20%,rgba(255,53,168,.24),transparent 28%),radial-gradient(circle at 15% 32%,rgba(31,225,255,.20),transparent 27%),linear-gradient(160deg,#1d0e3e,#050915)}
    .room-theme-cyber .roomFloor{background:repeating-linear-gradient(90deg,rgba(255,50,181,.13) 0 2px,transparent 2px 85px),linear-gradient(180deg,#1c1641,#090b1c)}
    .room-theme-royal .roomBackWall{background:radial-gradient(circle at 50% 15%,rgba(255,227,116,.24),transparent 28%),linear-gradient(160deg,#5b2f72,#241335)}
    .room-theme-royal .roomFloor{background:repeating-linear-gradient(90deg,rgba(255,215,91,.13) 0 2px,transparent 2px 95px),linear-gradient(180deg,#56385d,#2b1d36)}

    .roomWindow{
      width:210px;
      height:145px;
      position:absolute;
      left:50%;
      top:66px;
      transform:translateX(-50%);
      border-radius:22px;
      display:grid;
      place-items:center;
      overflow:hidden;
      background:linear-gradient(180deg,#8defff,#315da2);
      border:10px solid rgba(23,47,84,.72);
      box-shadow:0 15px 30px rgba(5,24,53,.18);
    }

    .roomWindow::before{
      content:"";
      width:8px;
      height:100%;
      position:absolute;
      left:50%;
      background:rgba(19,42,75,.58);
    }

    .roomWindow::after{
      content:"";
      height:8px;
      width:100%;
      position:absolute;
      top:50%;
      background:rgba(19,42,75,.58);
    }

    .roomWindowGlow{
      position:absolute;
      inset:0;
      background:radial-gradient(circle at 50% 55%,rgba(255,255,255,.42),transparent 58%);
      animation:windowGlow 4s ease-in-out infinite;
    }

    @keyframes windowGlow{
      0%,100%{opacity:.55}
      50%{opacity:1}
    }

    .roomWindow > span{
      position:relative;
      z-index:2;
      font-size:55px;
      filter:drop-shadow(0 7px 9px rgba(0,0,0,.18));
    }

    .roomDesk{
      width:285px;
      height:100px;
      position:absolute;
      left:13%;
      bottom:95px;
      border-radius:14px 14px 7px 7px;
      background:linear-gradient(180deg,#415f87,#253e62);
      box-shadow:0 18px 27px rgba(8,28,55,.23);
    }

    .roomDesk::before{
      content:"";
      width:125px;
      height:78px;
      position:absolute;
      left:80px;
      top:-76px;
      border-radius:14px;
      background:linear-gradient(160deg,#16315c,#09172d);
      border:5px solid #496c97;
      box-shadow:0 10px 20px rgba(0,0,0,.19);
    }

    .roomDesk::after{
      content:"</>";
      width:105px;
      height:58px;
      position:absolute;
      left:90px;
      top:-65px;
      border-radius:8px;
      display:grid;
      place-items:center;
      color:#73efff;
      background:radial-gradient(circle at 50% 50%,rgba(45,225,255,.17),transparent 65%);
      font-size:24px;
      font-weight:1000;
    }

    .roomDeskScreen{display:none}

    .roomDeskLeg{
      width:18px;
      height:80px;
      position:absolute;
      bottom:-72px;
      background:#233a58;
    }
    .roomDeskLeg.left{left:30px}
    .roomDeskLeg.right{right:30px}

    .roomShelf{
      width:205px;
      height:22px;
      position:absolute;
      right:13%;
      top:172px;
      border-radius:8px;
      background:#36506f;
      box-shadow:0 7px 12px rgba(0,0,0,.15);
    }

    .roomShelf span{
      width:28px;
      height:43px;
      position:absolute;
      bottom:14px;
      border-radius:7px 7px 2px 2px;
      background:#6d8aab;
    }
    .roomShelf span:nth-child(1){left:34px}
    .roomShelf span:nth-child(2){left:83px;height:55px;background:#8f71cb}
    .roomShelf span:nth-child(3){right:34px;background:#4fc3d8}

    .roomBaseRug{
      width:300px;
      height:115px;
      position:absolute;
      left:50%;
      bottom:18px;
      transform:translateX(-50%) skewX(-8deg);
      border-radius:50%;
      opacity:.62;
      background:radial-gradient(ellipse,rgba(86,210,255,.42),rgba(72,94,171,.35) 58%,transparent 62%);
    }

    .roomCharacterZone{
      width:190px;
      height:220px;
      position:absolute;
      left:50%;
      bottom:74px;
      transform:translateX(-50%);
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:flex-end;
      pointer-events:none;
    }

    .roomCharacterShadow{
      width:105px;
      height:24px;
      position:absolute;
      bottom:23px;
      border-radius:50%;
      background:rgba(5,18,42,.24);
      filter:blur(2px);
    }

    .roomCharacter{
      width:118px;
      height:118px;
      position:relative;
      z-index:2;
      overflow:hidden;
      border-radius:32px;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.15);
      border:1px solid rgba(255,255,255,.16);
      box-shadow:0 18px 30px rgba(8,27,59,.22);
      font-size:60px;
      animation:roomCharacterFloat 3s ease-in-out infinite;
    }

    @keyframes roomCharacterFloat{
      0%,100%{transform:translateY(2px)}
      50%{transform:translateY(-6px)}
    }

    .roomCharacterName{
      min-height:29px;
      margin-top:9px;
      padding:0 10px;
      position:relative;
      z-index:3;
      border-radius:999px;
      display:flex;
      align-items:center;
      color:#fff;
      background:rgba(7,25,57,.68);
      border:1px solid rgba(255,255,255,.08);
      font-size:10px;
      font-weight:1000;
    }

    .roomPassDoor{
      width:160px;
      height:255px;
      position:absolute;
      right:4.5%;
      bottom:82px;
      border:0;
      border-radius:80px 80px 18px 18px;
      cursor:pointer;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      color:#fff;
      background:
        radial-gradient(circle at 50% 42%,rgba(80,229,255,.18),transparent 33%),
        linear-gradient(180deg,#132e66,#231d56);
      border:3px solid rgba(95,224,255,.28);
      box-shadow:
        0 18px 34px rgba(4,18,45,.28),
        0 0 28px rgba(71,215,255,.15);
      transition:transform .16s ease,filter .16s ease;
    }

    .roomPassDoor:hover{
      transform:translateY(-4px) scale(1.025);
      filter:brightness(1.08);
    }

    .roomPassDoorTop{
      color:#7cecff;
      font-size:8px;
      font-weight:1000;
      letter-spacing:.13em;
    }

    .roomPassPortal{
      width:104px;
      height:104px;
      margin-top:10px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:conic-gradient(#4de3ff,#7a62f2,#ffd051,#4de3ff);
      box-shadow:0 0 24px rgba(75,220,255,.24);
      animation:roomPortalSpin 6s linear infinite;
    }

    @keyframes roomPortalSpin{to{transform:rotate(360deg)}}

    .roomPassPortalRing{
      width:78px;
      height:78px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:linear-gradient(145deg,#13376d,#352569);
      animation:roomPortalCounter 6s linear infinite;
    }

    @keyframes roomPortalCounter{to{transform:rotate(-360deg)}}

    .roomPassPortalRing span{
      font-size:35px;
    }

    .roomPassDoor > strong{
      margin-top:11px;
      font-size:24px;
    }

    .roomPassDoor > small{
      margin-top:4px;
      color:#ffe280;
      font-size:9px;
      font-weight:1000;
    }

    .roomCeilingLight{
      width:150px;
      height:28px;
      position:absolute;
      left:16%;
      top:18px;
      border-radius:999px;
      background:#d8f8ff;
      box-shadow:0 0 28px rgba(123,236,255,.45);
    }

    .roomSceneBadge{
      min-width:210px;
      min-height:58px;
      padding:8px 11px;
      position:absolute;
      left:17px;
      top:17px;
      border-radius:18px;
      display:flex;
      align-items:center;
      gap:9px;
      color:#fff;
      background:rgba(7,23,52,.72);
      border:1px solid rgba(255,255,255,.09);
      backdrop-filter:blur(8px);
    }

    .roomSceneBadge > span{
      width:38px;
      height:38px;
      border-radius:12px;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.10);
      font-size:20px;
    }

    .roomSceneBadge small{
      color:#91eaff;
      font-size:7px;
      font-weight:1000;
      letter-spacing:.08em;
    }

    .roomSceneBadge strong{
      display:block;
      margin-top:2px;
      font-size:12px;
    }

    .roomDecorLayer{
      position:absolute;
      inset:0;
      pointer-events:none;
      z-index:8;
    }

    .roomPlacedItem{
      position:absolute;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      pointer-events:none;
      filter:drop-shadow(0 10px 10px rgba(0,0,0,.20));
      animation:roomItemAppear .45s cubic-bezier(.2,.8,.2,1) both;
    }

    @keyframes roomItemAppear{
      from{opacity:0;transform:translateY(15px) scale(.72)}
      to{opacity:1;transform:translateY(0) scale(1)}
    }

    .roomPlacedItem > span{
      font-size:54px;
    }

    .roomPlacedItem > small{
      min-height:22px;
      margin-top:3px;
      padding:0 7px;
      border-radius:999px;
      display:flex;
      align-items:center;
      color:#fff;
      background:rgba(5,20,47,.62);
      font-size:7px;
      font-weight:900;
      opacity:0;
      transition:opacity .15s ease;
    }

    .roomPlacedItem:hover > small{opacity:1}

    .room-slot-wallLeft{left:7%;top:145px}
    .room-slot-wallRight{right:26%;top:85px}
    .room-slot-desk{left:22%;bottom:205px}
    .room-slot-floorLeft{left:8%;bottom:63px}
    .room-slot-floorRight{right:23%;bottom:62px}
    .room-slot-shelf{right:15%;top:105px}
    .room-slot-pet{left:39%;bottom:64px}
    .room-slot-ceiling{left:43%;top:30px;animation:roomDroneFloat 2.8s ease-in-out infinite}
    .room-slot-rug{left:50%;bottom:15px;transform:translateX(-50%)}
    .room-slot-rug > span{font-size:88px;opacity:.8}

    @keyframes roomDroneFloat{
      0%,100%{transform:translateY(1px)}
      50%{transform:translateY(-9px)}
    }

    .roomManager{
      margin-top:15px;
      display:grid;
      gap:14px;
    }

    .roomManagerSection{
      overflow:hidden;
      border-radius:25px;
      background:#fff;
      border:1px solid rgba(70,141,221,.12);
      box-shadow:0 10px 26px rgba(28,67,121,.07);
    }

    .roomManagerHeader{
      min-height:82px;
      padding:13px 16px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      background:linear-gradient(180deg,#f9fbff,#f1f7ff);
      border-bottom:1px solid rgba(69,142,221,.09);
    }

    .roomManagerHeader > div > span{
      color:#4d7baa;
      font-size:9px;
      font-weight:1000;
      letter-spacing:.09em;
    }

    .roomManagerHeader h3{
      margin:4px 0 0;
      color:#173763;
      font-size:24px;
    }

    .roomManagerHeader > small{
      color:#7189a4;
      font-size:10px;
      font-weight:900;
    }

    .roomSwitcher{
      padding:14px;
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:10px;
    }

    .roomChoice{
      min-height:145px;
      padding:12px;
      border:2px solid #e2edf8;
      border-radius:20px;
      cursor:pointer;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
      color:#214d79;
      background:linear-gradient(180deg,#fbfdff,#edf5ff);
      transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease;
    }

    .roomChoice:hover:not(:disabled){
      transform:translateY(-3px);
      border-color:#7cddf7;
      box-shadow:0 12px 22px rgba(30,97,160,.10);
    }

    .roomChoice.active{
      color:#07314c;
      border-color:#55dff8;
      background:linear-gradient(180deg,#e9fcff,#d6f6ff);
      box-shadow:0 0 0 3px rgba(73,218,244,.10);
    }

    .roomChoice.locked{
      cursor:default;
      filter:grayscale(.55);
      opacity:.58;
    }

    .roomChoice > span{
      font-size:38px;
    }

    .roomChoice strong{
      margin-top:7px;
      font-size:13px;
    }

    .roomChoice small{
      margin-top:4px;
      color:#7790aa;
      font-size:9px;
      font-weight:900;
    }

    .roomInventory{
      padding:14px;
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:10px;
    }

    .roomInventoryCard{
      min-height:105px;
      padding:10px;
      border:2px solid #e3edf7;
      border-radius:18px;
      display:grid;
      grid-template-columns:auto minmax(0,1fr) auto;
      gap:10px;
      align-items:center;
      background:linear-gradient(180deg,#fbfdff,#f0f6fc);
    }

    .roomInventoryCard.placed{
      border-color:#59dff6;
      background:linear-gradient(180deg,#ecfcff,#def8fc);
    }

    .roomInventoryIcon{
      width:56px;
      height:56px;
      border-radius:17px;
      display:grid;
      place-items:center;
      background:linear-gradient(145deg,#e5f5ff,#eee8ff);
      font-size:30px;
    }

    .roomInventoryText{
      min-width:0;
    }

    .roomInventoryText strong{
      display:block;
      color:#173763;
      font-size:12px;
    }

    .roomInventoryText small{
      display:block;
      margin-top:4px;
      color:#7890a9;
      font-size:9px;
      font-weight:900;
    }

    .roomInventoryCard button{
      min-height:40px;
      padding:0 10px;
      border:0;
      border-radius:12px;
      cursor:pointer;
      color:#07304d;
      background:linear-gradient(180deg,#87f2ff,#35cef3);
      box-shadow:0 5px 0 #14809f;
      font-size:8px;
      font-weight:1000;
    }

    .roomInventoryCard.placed button{
      color:#7c2948;
      background:linear-gradient(180deg,#ffd5e3,#ffa1bf);
      box-shadow:0 5px 0 #bd5d80;
    }

    .roomInventoryCard.locked{
      border-style:dashed;
      background:linear-gradient(180deg,#f7f9fc,#edf2f7);
    }
    .roomInventoryCard.locked .roomInventoryIcon{opacity:.78}
    .roomInventoryCard.locked button:disabled{
      cursor:not-allowed;
      color:#718399;
      background:#dfe6ee;
      box-shadow:none;
      opacity:1;
    }

    .roomInventoryEmpty{
      grid-column:1/-1;
      min-height:170px;
      padding:18px;
      border-radius:20px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
      color:#738ca6;
      background:#f6f9fd;
      border:1px dashed #cbd9e7;
    }

    .roomInventoryEmpty > span{
      font-size:43px;
    }

    .roomInventoryEmpty strong{
      margin-top:7px;
      color:#244e78;
      font-size:17px;
    }

    .roomInventoryEmpty small{
      max-width:390px;
      margin-top:5px;
      font-size:10px;
      line-height:1.4;
    }

    /* Room items in the shop */
    .gameShopCard:has(.shopTypeBadge:first-child){
      isolation:isolate;
    }

    @media(max-width:1050px){
      .roomHud{
        grid-template-columns:1fr 1fr;
      }

      .roomHudRight{
        grid-column:1/-1;
        justify-content:flex-end;
      }

      .roomSwitcher{
        grid-template-columns:repeat(3,minmax(0,1fr));
      }

      .roomInventory{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }

      .roomPassDoor{
        right:3%;
        width:145px;
      }
    }

    @media(max-width:760px){
      .roomHud{
        grid-template-columns:1fr;
        border-radius:23px 23px 0 0;
      }

      .roomHudRight{
        grid-column:auto;
        justify-content:space-between;
      }

      .roomScene{
        min-height:650px;
      }

      .roomWindow{
        width:170px;
        height:120px;
        top:74px;
      }

      .roomDesk{
        left:5%;
        width:230px;
      }

      .roomShelf{
        right:5%;
        width:165px;
      }

      .roomPassDoor{
        width:130px;
        height:220px;
        right:4%;
        bottom:95px;
      }

      .roomPassPortal{
        width:88px;
        height:88px;
      }

      .roomPassPortalRing{
        width:64px;
        height:64px;
      }

      .roomPassPortalRing span{
        font-size:29px;
      }

      .roomCharacterZone{
        left:48%;
      }

      .roomSwitcher,
      .roomInventory{
        grid-template-columns:1fr;
      }

      .roomManagerHeader{
        align-items:flex-start;
        flex-direction:column;
      }

      .roomManagerHeader > small{
        font-size:9px;
      }
    }


    /* =========================================================
       v48 - ISOMETRIC 2.5D ROOM + WALKING
       ========================================================= */

    .roomIsoScene{
      min-height:680px!important;
      cursor:crosshair;
      background:
        radial-gradient(circle at 78% 10%,rgba(114,96,255,.12),transparent 26%),
        linear-gradient(180deg,#dce9f7,#b9cee5)!important;
      perspective:1100px;
    }

    .roomIsoWorld{
      position:absolute;
      inset:0;
      overflow:hidden;
      isolation:isolate;
    }

    .roomIsoBackWall{
      position:absolute;
      left:19%;
      right:9%;
      top:8%;
      height:44%;
      z-index:3;
      clip-path:polygon(0 8%,100% 0,100% 100%,0 100%);
      background:
        linear-gradient(90deg,rgba(255,255,255,.065) 1px,transparent 1px),
        linear-gradient(rgba(255,255,255,.065) 1px,transparent 1px),
        linear-gradient(145deg,#86acd5,#567eae);
      background-size:64px 64px,64px 64px,auto;
      border-top:1px solid rgba(255,255,255,.4);
      box-shadow:inset 0 -24px 45px rgba(20,57,98,.12);
    }

    .roomIsoLeftWall{
      position:absolute;
      left:5%;
      top:13%;
      width:18%;
      height:52%;
      z-index:4;
      clip-path:polygon(0 18%,100% 0,100% 81%,0 100%);
      background:
        linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px),
        linear-gradient(155deg,#7198c3,#405f86);
      background-size:55px 55px,auto;
      box-shadow:inset -18px 0 30px rgba(13,43,77,.13);
    }

    .roomIsoFloor{
      position:absolute;
      left:6%;
      right:6%;
      top:43%;
      height:49%;
      z-index:5;
      clip-path:polygon(21% 0,82% 0,100% 100%,0 100%);
      background:
        linear-gradient(30deg,rgba(255,255,255,.11) 1px,transparent 1px),
        linear-gradient(150deg,rgba(255,255,255,.09) 1px,transparent 1px),
        linear-gradient(180deg,#6e8fb5,#3f6087);
      background-size:64px 34px,64px 34px,auto;
      box-shadow:
        inset 0 25px 40px rgba(15,43,78,.10),
        0 -9px 22px rgba(17,48,82,.10);
    }

    .roomIsoFloorGrid{
      position:absolute;
      inset:0;
      opacity:.35;
      background:
        linear-gradient(30deg,transparent 48%,rgba(214,240,255,.20) 49%,rgba(214,240,255,.20) 51%,transparent 52%),
        linear-gradient(150deg,transparent 48%,rgba(214,240,255,.16) 49%,rgba(214,240,255,.16) 51%,transparent 52%);
      background-size:70px 38px;
    }

    .roomIsoRug{
      width:33%;
      height:31%;
      position:absolute;
      left:39%;
      bottom:6%;
      transform:skewY(-3deg) rotate(-1deg);
      border-radius:48%;
      background:
        radial-gradient(ellipse,rgba(83,230,255,.34),rgba(102,90,206,.28) 55%,transparent 60%);
      filter:drop-shadow(0 9px 12px rgba(17,42,74,.12));
    }

    /* Theme variants */
    .room-theme-coder .roomIsoBackWall{
      background:
        linear-gradient(90deg,rgba(65,229,255,.08) 1px,transparent 1px),
        linear-gradient(rgba(65,229,255,.07) 1px,transparent 1px),
        linear-gradient(145deg,#173867,#0b1d3d);
      background-size:50px 50px,50px 50px,auto;
    }
    .room-theme-coder .roomIsoLeftWall{background:linear-gradient(155deg,#143056,#08182f)}
    .room-theme-coder .roomIsoFloor{background:linear-gradient(30deg,rgba(71,224,255,.08) 1px,transparent 1px),linear-gradient(150deg,rgba(71,224,255,.07) 1px,transparent 1px),linear-gradient(180deg,#1b3f6c,#0b203f);background-size:58px 32px,58px 32px,auto}

    .room-theme-arcade .roomIsoBackWall{
      background:radial-gradient(circle at 15% 25%,rgba(255,71,179,.19),transparent 22%),radial-gradient(circle at 78% 20%,rgba(54,226,255,.17),transparent 22%),linear-gradient(145deg,#5b286c,#26153c)
    }
    .room-theme-arcade .roomIsoLeftWall{background:linear-gradient(155deg,#4b205e,#20132f)}
    .room-theme-arcade .roomIsoFloor{background:linear-gradient(30deg,rgba(255,80,190,.10) 1px,transparent 1px),linear-gradient(150deg,rgba(82,232,255,.08) 1px,transparent 1px),linear-gradient(180deg,#4c2860,#251632);background-size:60px 34px,60px 34px,auto}

    .room-theme-space .roomIsoBackWall{
      background:radial-gradient(circle at 14% 20%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 70% 35%,#8eeaff 0 1px,transparent 1.5px),linear-gradient(145deg,#151d58,#070b25);
      background-size:88px 78px,115px 97px,auto;
    }
    .room-theme-space .roomIsoLeftWall{background:linear-gradient(155deg,#192653,#070d25)}
    .room-theme-space .roomIsoFloor{background:linear-gradient(30deg,rgba(105,226,255,.08) 1px,transparent 1px),linear-gradient(150deg,rgba(105,226,255,.07) 1px,transparent 1px),linear-gradient(180deg,#1c2e61,#0a1230);background-size:60px 34px,60px 34px,auto}

    .room-theme-lab .roomIsoBackWall{
      background:linear-gradient(90deg,rgba(77,255,204,.07) 1px,transparent 1px),linear-gradient(rgba(77,255,204,.07) 1px,transparent 1px),linear-gradient(145deg,#315e67,#12313a);
      background-size:58px 58px,58px 58px,auto
    }
    .room-theme-lab .roomIsoLeftWall{background:linear-gradient(155deg,#2a5961,#112d34)}
    .room-theme-lab .roomIsoFloor{background:linear-gradient(30deg,rgba(82,240,207,.08) 1px,transparent 1px),linear-gradient(150deg,rgba(82,240,207,.07) 1px,transparent 1px),linear-gradient(180deg,#315a61,#15333a);background-size:60px 34px,60px 34px,auto}

    .room-theme-cyber .roomIsoBackWall{
      background:radial-gradient(circle at 82% 20%,rgba(255,54,174,.23),transparent 25%),radial-gradient(circle at 14% 34%,rgba(33,227,255,.19),transparent 23%),linear-gradient(145deg,#26124b,#070a18)
    }
    .room-theme-cyber .roomIsoLeftWall{background:linear-gradient(155deg,#281447,#090b1b)}
    .room-theme-cyber .roomIsoFloor{background:linear-gradient(30deg,rgba(255,64,184,.11) 1px,transparent 1px),linear-gradient(150deg,rgba(38,224,255,.09) 1px,transparent 1px),linear-gradient(180deg,#261a4c,#0c0d20);background-size:58px 32px,58px 32px,auto}

    .room-theme-royal .roomIsoBackWall{
      background:radial-gradient(circle at 52% 18%,rgba(255,227,113,.24),transparent 28%),linear-gradient(145deg,#673a79,#2b183b)
    }
    .room-theme-royal .roomIsoLeftWall{background:linear-gradient(155deg,#58316b,#281733)}
    .room-theme-royal .roomIsoFloor{background:linear-gradient(30deg,rgba(255,218,93,.12) 1px,transparent 1px),linear-gradient(150deg,rgba(255,218,93,.10) 1px,transparent 1px),linear-gradient(180deg,#63466d,#35263e);background-size:61px 34px,61px 34px,auto}

    .roomIsoWindow{
      width:25%;
      min-width:155px;
      height:43%;
      position:absolute;
      left:47%;
      top:18%;
      transform:skewY(-1deg);
      border-radius:16px;
      display:grid;
      place-items:center;
      overflow:hidden;
      background:linear-gradient(180deg,#92f0ff,#315d9f);
      border:8px solid rgba(18,42,76,.68);
      box-shadow:0 12px 25px rgba(7,27,56,.18);
    }

    .roomIsoWindow::before{
      content:"";
      position:absolute;
      width:6px;
      height:100%;
      left:50%;
      background:rgba(17,41,73,.50);
    }

    .roomIsoWindow::after{
      content:"";
      position:absolute;
      height:6px;
      width:100%;
      top:50%;
      background:rgba(17,41,73,.50);
    }

    .roomIsoWindow > span{
      position:relative;
      z-index:2;
      font-size:48px;
      filter:drop-shadow(0 6px 7px rgba(0,0,0,.17));
    }

    .roomIsoWallPoster{
      width:15%;
      min-width:90px;
      height:36%;
      position:absolute;
      right:7%;
      top:23%;
      border-radius:10px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      color:#83efff;
      background:linear-gradient(145deg,#0d2247,#152f63);
      border:4px solid rgba(96,135,179,.72);
      box-shadow:0 10px 18px rgba(0,0,0,.16);
    }

    .roomIsoWallPoster span{
      font-size:8px;
      font-weight:1000;
      letter-spacing:.14em;
    }

    .roomIsoWallPoster b{
      margin-top:6px;
      font-size:25px;
    }

    .roomIsoBackLight{
      width:18%;
      height:8px;
      position:absolute;
      left:11%;
      top:14%;
      border-radius:999px;
      background:#d8fbff;
      box-shadow:0 0 24px rgba(100,232,255,.48);
    }

    .roomIsoShelf{
      width:70%;
      height:14px;
      position:absolute;
      left:15%;
      top:38%;
      transform:skewY(-20deg);
      border-radius:6px;
      background:#314c6e;
      box-shadow:0 8px 12px rgba(0,0,0,.14);
    }

    .isoShelfBook{
      width:17px;
      height:38px;
      position:absolute;
      bottom:9px;
      border-radius:5px 5px 2px 2px;
      background:#6d8bad;
    }
    .isoShelfBook.b1{left:18%}
    .isoShelfBook.b2{left:44%;height:47px;background:#9b72d1}
    .isoShelfBook.b3{right:17%;background:#51c7db}

    .roomIsoWallLamp{
      width:45%;
      height:9px;
      position:absolute;
      left:26%;
      top:67%;
      transform:skewY(-20deg);
      border-radius:999px;
      background:#aaf6ff;
      box-shadow:0 0 20px rgba(83,225,255,.38);
    }

    /* Isometric base furniture */
    .roomIsoDesk{
      width:250px;
      height:145px;
      position:absolute;
      left:17%;
      top:49%;
      z-index:60;
      transform:skewY(-4deg);
      pointer-events:none;
    }

    .isoDeskTop{
      width:230px;
      height:52px;
      position:absolute;
      left:8px;
      top:56px;
      transform:skewX(-23deg) rotate(-2deg);
      border-radius:8px;
      background:linear-gradient(180deg,#4d6f95,#2d496c);
      box-shadow:0 15px 22px rgba(7,28,55,.22);
    }

    .isoDeskLeg{
      width:16px;
      height:70px;
      position:absolute;
      top:91px;
      background:#263d5c;
    }
    .isoDeskLeg.l{left:33px}
    .isoDeskLeg.r{right:36px}

    .isoMonitor{
      width:105px;
      height:70px;
      position:absolute;
      left:73px;
      top:4px;
      border-radius:10px;
      display:grid;
      place-items:center;
      color:#6bedff;
      background:#09172c;
      border:5px solid #45698f;
      box-shadow:0 9px 17px rgba(0,0,0,.18);
    }

    .isoMonitor span{font-size:21px;font-weight:1000}

    .isoKeyboard{
      width:83px;
      height:20px;
      position:absolute;
      left:93px;
      top:76px;
      transform:skewX(-21deg);
      border-radius:5px;
      background:#162c49;
      border:2px solid #56789e;
    }

    .roomIsoChair{
      width:75px;
      height:105px;
      position:absolute;
      left:35%;
      top:64%;
      z-index:75;
      pointer-events:none;
    }

    .roomIsoChair > div{
      width:58px;
      height:67px;
      position:absolute;
      top:0;
      border-radius:16px 16px 9px 9px;
      background:linear-gradient(145deg,#775cd8,#40367f);
      box-shadow:0 10px 18px rgba(12,28,61,.21);
    }

    .roomIsoChair::after{
      content:"";
      width:46px;
      height:33px;
      position:absolute;
      left:5px;
      top:56px;
      transform:skewX(-17deg);
      border-radius:8px;
      background:#4f4193;
    }

    /* Character */
    .roomIsoCharacterZone{
      width:136px!important;
      height:162px!important;
      position:absolute!important;
      left:50%;
      top:72%;
      bottom:auto!important;
      transform:translate(-50%,-78%)!important;
      transition:
        left var(--walk-duration,420ms) linear,
        top var(--walk-duration,420ms) linear!important;
      pointer-events:none;
      will-change:left,top;
    }

    .roomIsoCharacterZone.roomNoWalkTransition{
      transition:none!important;
    }

    .roomIsoCharacterZone.facing-left .roomCharacter{
      transform:scaleX(-1);
    }

    .roomIsoCharacterZone.walking .roomCharacter{
      animation:roomIsoWalkBob .22s ease-in-out infinite alternate!important;
    }

    @keyframes roomIsoWalkBob{
      from{translate:0 0}
      to{translate:0 -6px}
    }

    .roomIsoCharacterZone .roomCharacter{
      width:86px!important;
      height:86px!important;
      border-radius:25px!important;
      font-size:45px!important;
      transform-origin:center bottom;
      transition:transform .12s ease;
    }

    .roomIsoCharacterZone .roomCharacterShadow{
      width:76px!important;
      height:18px!important;
      bottom:33px!important;
    }

    .roomIsoCharacterZone .roomCharacterName{
      min-height:26px!important;
      margin-top:6px!important;
      font-size:9px!important;
    }

    /* PASS portal stands inside the room */
    .roomIsoPassDoor{
      width:132px!important;
      height:220px!important;
      right:10%!important;
      bottom:17%!important;
      z-index:92!important;
      border-radius:70px 70px 14px 14px!important;
    }

    .roomIsoPassDoor .roomPassPortal{
      width:84px!important;
      height:84px!important;
    }

    .roomIsoPassDoor .roomPassPortalRing{
      width:62px!important;
      height:62px!important;
    }

    .roomIsoPassDoor .roomPassPortalRing span{
      font-size:28px!important;
    }

    .roomIsoPassDoor > strong{
      font-size:20px!important;
    }

    /* Walk target marker */
    .roomWalkTarget{
      width:44px;
      height:22px;
      position:absolute;
      left:50%;
      top:72%;
      z-index:60;
      transform:translate(-50%,-50%);
      border:3px solid rgba(108,239,255,.78);
      border-radius:50%;
      opacity:0;
      pointer-events:none;
      box-shadow:0 0 15px rgba(66,224,255,.36);
    }

    .roomWalkTarget.show{
      animation:roomWalkTarget .75s ease both;
    }

    @keyframes roomWalkTarget{
      0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}
      24%{opacity:1}
      100%{opacity:0;transform:translate(-50%,-50%) scale(1.35)}
    }

    /* Room decoration objects now use scene coordinates */
    .roomIsoDecorLayer{
      position:absolute!important;
      inset:0!important;
      z-index:30!important;
      pointer-events:none;
    }

    .roomIsoPlacedItem{
      transform:translate(-50%,-78%)!important;
      min-width:74px;
      min-height:80px;
    }

    .roomIsoPlacedItem > span{
      font-size:48px!important;
    }

    .roomIsoPlacedItem.room-slot-wallLeft,
    .roomIsoPlacedItem.room-slot-wallRight,
    .roomIsoPlacedItem.room-slot-shelf{
      transform:translate(-50%,-50%)!important;
    }

    .roomIsoPlacedItem.room-slot-rug{
      transform:translate(-50%,-50%)!important;
    }

    .roomIsoPlacedItem.room-slot-rug > span{
      font-size:82px!important;
      opacity:.86;
    }

    .roomIsoPlacedItem.room-slot-ceiling{
      animation:roomIsoFloatingDecor 2.7s ease-in-out infinite!important;
    }

    @keyframes roomIsoFloatingDecor{
      0%,100%{translate:0 3px}
      50%{translate:0 -7px}
    }

    /* Future multiplayer container. Empty in v48, ready for real sync later. */
    .roomVisitorsLayer{
      position:absolute;
      inset:0;
      z-index:82;
      pointer-events:none;
    }

    .roomOnlineBadge{
      min-height:40px;
      padding:0 11px;
      position:absolute;
      right:18px;
      top:18px;
      z-index:115;
      border-radius:14px;
      display:flex;
      align-items:center;
      gap:6px;
      color:#fff;
      background:rgba(7,25,57,.72);
      border:1px solid rgba(255,255,255,.10);
      backdrop-filter:blur(8px);
      box-shadow:0 7px 18px rgba(8,30,60,.11);
    }

    .roomOnlineDot{
      width:9px;
      height:9px;
      border-radius:50%;
      background:#4ee499;
      box-shadow:0 0 10px rgba(78,228,153,.65);
      animation:roomOnlinePulse 1.8s ease-in-out infinite;
    }

    @keyframes roomOnlinePulse{
      0%,100%{transform:scale(.82);opacity:.7}
      50%{transform:scale(1.14);opacity:1}
    }

    .roomOnlineBadge strong{
      font-size:12px;
    }

    .roomOnlineBadge small{
      color:#c6d8e9;
      font-size:8px;
      font-weight:900;
    }

    .roomMoveHint{
      min-height:37px;
      padding:0 10px;
      position:absolute;
      left:50%;
      bottom:14px;
      z-index:115;
      transform:translateX(-50%);
      border-radius:13px;
      display:flex;
      align-items:center;
      gap:7px;
      color:#e1edf8;
      background:rgba(6,23,52,.73);
      border:1px solid rgba(255,255,255,.08);
      backdrop-filter:blur(8px);
      pointer-events:none;
      font-size:8px;
      font-weight:900;
      white-space:nowrap;
    }

    .roomMoveHint i{
      color:#86a1bc;
      font-style:normal;
    }

    .roomSceneBadge{
      z-index:115!important;
    }

    /* Remove obsolete front-facing room pieces if old CSS matches them */
    .roomIsoScene > .roomBackWall,
    .roomIsoScene > .roomFloor,
    .roomIsoScene > .roomWindow,
    .roomIsoScene > .roomDesk,
    .roomIsoScene > .roomShelf,
    .roomIsoScene > .roomBaseRug,
    .roomIsoScene > .roomCeilingLight{
      display:none!important;
    }

    @media(max-width:900px){
      .roomIsoScene{
        min-height:650px!important;
      }

      .roomIsoDesk{
        left:10%;
        transform:scale(.86) skewY(-4deg);
        transform-origin:left bottom;
      }

      .roomIsoChair{
        left:32%;
        transform:scale(.88);
        transform-origin:left bottom;
      }

      .roomIsoPassDoor{
        right:5%!important;
        transform:scale(.88);
        transform-origin:right bottom;
      }

      .roomMoveHint{
        bottom:9px;
      }
    }

    @media(max-width:650px){
      .roomIsoScene{
        min-height:610px!important;
      }

      .roomIsoBackWall{
        left:17%;
        right:3%;
      }

      .roomIsoLeftWall{
        left:2%;
        width:18%;
      }

      .roomIsoDesk{
        left:3%;
        top:53%;
        transform:scale(.70) skewY(-4deg);
      }

      .roomIsoChair{
        left:27%;
        top:67%;
        transform:scale(.72);
      }

      .roomIsoPassDoor{
        width:112px!important;
        height:190px!important;
        right:2%!important;
        bottom:19%!important;
        transform:scale(.80);
      }

      .roomIsoWindow{
        min-width:125px;
        left:42%;
      }

      .roomIsoWallPoster{
        right:3%;
        min-width:70px;
      }

      .roomMoveHint{
        font-size:7px;
        gap:4px;
      }

      .roomOnlineBadge{
        top:78px;
        right:11px;
      }

      .roomIsoCharacterZone .roomCharacter{
        width:76px!important;
        height:76px!important;
        font-size:39px!important;
      }

      .roomIsoPlacedItem > span{
        font-size:40px!important;
      }
    }


    /* =========================================================
       v49 - ROOM MAP + ITEMS AS DEDICATED BUTTONS / OVERLAYS
       ========================================================= */

    .roomManager{
      display:none!important;
    }

    .roomQuickActions{
      margin-top:14px;
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
    }

    .roomQuickAction{
      min-height:100px;
      padding:14px 16px;
      border:0;
      border-radius:23px;
      cursor:pointer;
      display:grid;
      grid-template-columns:auto minmax(0,1fr) auto;
      gap:13px;
      align-items:center;
      text-align:left;
      color:#fff;
      box-shadow:
        0 14px 28px rgba(24,61,113,.12),
        inset 0 1px 0 rgba(255,255,255,.12);
      transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
    }

    .roomQuickAction:hover{
      transform:translateY(-3px);
      filter:brightness(1.05);
      box-shadow:
        0 18px 34px rgba(24,61,113,.16),
        inset 0 1px 0 rgba(255,255,255,.14);
    }

    .roomQuickMap{
      background:
        radial-gradient(circle at 90% 0%,rgba(118,233,255,.20),transparent 28%),
        linear-gradient(135deg,#124b93,#233d83);
    }

    .roomQuickItems{
      background:
        radial-gradient(circle at 90% 0%,rgba(255,223,102,.18),transparent 28%),
        linear-gradient(135deg,#753ea8,#4d367e);
    }

    .roomQuickActionIcon{
      width:66px;
      height:66px;
      border-radius:20px;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.09);
      font-size:34px;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
    }

    .roomQuickActionText{
      min-width:0;
    }

    .roomQuickActionText small{
      display:block;
      color:#9aefff;
      font-size:9px;
      font-weight:1000;
      letter-spacing:.10em;
    }

    .roomQuickItems .roomQuickActionText small{
      color:#ffe28c;
    }

    .roomQuickActionText strong{
      display:block;
      margin-top:5px;
      color:#fff;
      font-size:22px;
      line-height:1.05;
    }

    .roomQuickAction > b{
      min-width:52px;
      min-height:42px;
      padding:0 10px;
      border-radius:14px;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#fff;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.08);
      font-size:12px;
      white-space:nowrap;
    }

    body.roomOverlayOpen{
      overflow:hidden;
    }

    .roomOverlay{
      position:fixed;
      inset:0;
      z-index:2200;
    }

    .roomOverlay[hidden]{
      display:none!important;
    }

    .roomOverlayBackdrop{
      position:absolute;
      inset:0;
      background:rgba(4,13,31,.70);
      backdrop-filter:blur(7px);
      opacity:0;
      transition:opacity .18s ease;
    }

    .roomOverlayPanel{
      width:min(1120px,calc(100vw - 28px));
      max-height:calc(100vh - 34px);
      position:absolute;
      left:50%;
      top:50%;
      overflow:auto;
      border-radius:31px;
      color:#173763;
      background:
        radial-gradient(circle at 88% 0%,rgba(92,116,255,.09),transparent 24%),
        linear-gradient(180deg,#f9fbff,#eef5ff);
      border:1px solid rgba(85,158,230,.20);
      box-shadow:0 32px 70px rgba(0,0,0,.30);
      opacity:0;
      transform:translate(-50%,-47%) scale(.965);
      transition:opacity .18s ease,transform .18s ease;
    }

    .roomOverlay.open .roomOverlayBackdrop{
      opacity:1;
    }

    .roomOverlay.open .roomOverlayPanel{
      opacity:1;
      transform:translate(-50%,-50%) scale(1);
    }

    .roomOverlayHeader{
      min-height:132px;
      padding:23px 25px;
      position:sticky;
      top:0;
      z-index:10;
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:20px;
      color:#fff;
      background:
        radial-gradient(circle at 88% 0%,rgba(99,229,255,.18),transparent 28%),
        radial-gradient(circle at 10% 120%,rgba(126,95,255,.18),transparent 30%),
        linear-gradient(130deg,#081d45,#174b91 60%,#3b2c80);
      border-bottom:1px solid rgba(107,206,255,.18);
    }

    .roomOverlayHeader > div > span{
      color:#80eeff;
      font-size:10px;
      font-weight:1000;
      letter-spacing:.10em;
    }

    .roomOverlayHeader h3{
      margin:6px 0 0;
      color:#fff;
      font-size:34px;
      line-height:1;
    }

    .roomOverlayHeader p{
      max-width:680px;
      margin:8px 0 0;
      color:#bfd2e8;
      font-size:12px;
      line-height:1.45;
      font-weight:800;
    }

    .roomOverlayClose{
      width:48px;
      height:48px;
      flex:0 0 48px;
      border:1px solid rgba(255,255,255,.11);
      border-radius:15px;
      cursor:pointer;
      color:#fff;
      background:rgba(255,255,255,.10);
      font-size:18px;
      font-weight:1000;
    }

    .roomMapProgress{
      margin:18px 18px 0;
      padding:15px 17px;
      border-radius:20px;
      background:#fff;
      border:1px solid rgba(77,145,215,.11);
      box-shadow:0 8px 19px rgba(29,69,124,.05);
    }

    .roomMapProgress > div:first-child{
      margin-bottom:8px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      color:#5d7894;
      font-size:11px;
      font-weight:900;
    }

    .roomMapProgress strong{
      color:#1f4f80;
      font-size:15px;
    }

    .roomMapProgressBar{
      height:17px;
      padding:3px;
      overflow:hidden;
      border-radius:999px;
      background:#e6eef7;
    }

    .roomMapProgressBar span{
      display:block;
      width:0;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,#4be0fa,#6c6df1 70%,#ffd15b);
      box-shadow:0 0 12px rgba(61,210,243,.24);
      transition:width .55s ease;
    }

    .roomMapSwitcher{
      padding:18px!important;
      grid-template-columns:repeat(3,minmax(0,1fr))!important;
      gap:14px!important;
    }

    .roomMapNode{
      min-height:220px!important;
      padding:17px!important;
      position:relative;
      overflow:hidden;
      justify-content:flex-start!important;
      align-items:flex-start!important;
      text-align:left!important;
      border-radius:24px!important;
      isolation:isolate;
    }

    .roomMapNode::before{
      content:"";
      width:150px;
      height:150px;
      position:absolute;
      right:-52px;
      top:-52px;
      z-index:-1;
      border-radius:50%;
      background:currentColor;
      opacity:.06;
    }

    .roomMapNodeNumber{
      min-width:38px;
      min-height:28px;
      padding:0 9px;
      border-radius:999px;
      display:inline-flex!important;
      align-items:center;
      justify-content:center;
      color:#507398;
      background:rgba(255,255,255,.80);
      border:1px solid rgba(79,143,208,.10);
      font-size:9px!important;
      font-weight:1000;
    }

    .roomMapNodeIcon{
      margin-top:14px;
      font-size:49px!important;
    }

    .roomMapNode strong{
      margin-top:10px!important;
      color:#173763;
      font-size:17px!important;
    }

    .roomMapNode p{
      min-height:40px;
      margin:7px 0 0;
      color:#738ba4;
      font-size:10px;
      line-height:1.4;
      font-weight:800;
    }

    .roomMapNode small{
      min-height:34px;
      margin-top:auto!important;
      padding:0 10px;
      border-radius:11px;
      display:inline-flex;
      align-items:center;
      color:#1f5b84!important;
      background:#dff8ff;
      font-size:8px!important;
      font-weight:1000!important;
    }

    .roomMapNode.active{
      border-color:#48d8f4!important;
      background:
        radial-gradient(circle at 88% 0%,rgba(73,222,247,.17),transparent 29%),
        linear-gradient(180deg,#effdff,#dff8ff)!important;
      box-shadow:0 0 0 3px rgba(72,216,244,.10),0 12px 25px rgba(27,97,151,.09)!important;
    }

    .roomMapNode.active small{
      color:#fff!important;
      background:linear-gradient(180deg,#35cce9,#178fae)!important;
    }

    .roomMapNode.locked{
      opacity:.58!important;
      filter:grayscale(.35)!important;
      background:linear-gradient(180deg,#f4f6f9,#e7edf4)!important;
    }

    .roomMapNode.locked small{
      color:#765b1a!important;
      background:#fff1bf!important;
    }

    .roomItemsTopBar{
      min-height:76px;
      margin:17px 17px 0;
      padding:12px 14px;
      border-radius:19px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      background:#fff;
      border:1px solid rgba(77,145,215,.11);
      box-shadow:0 8px 18px rgba(30,68,120,.05);
    }

    .roomItemsTopBar span{
      display:block;
      color:#718aa3;
      font-size:9px;
      font-weight:900;
    }

    .roomItemsTopBar strong{
      display:block;
      margin-top:3px;
      color:#1f4c79;
      font-size:16px;
    }

    .roomItemsTopBar button{
      min-height:45px;
      padding:0 13px;
      border:0;
      border-radius:14px;
      cursor:pointer;
      color:#fff;
      background:linear-gradient(180deg,#397ddd,#2455ac);
      box-shadow:0 5px 0 #173b80;
      font-size:9px;
      font-weight:1000;
    }

    .roomOverlayInventory{
      padding:17px!important;
      grid-template-columns:repeat(3,minmax(0,1fr))!important;
      gap:12px!important;
    }

    .roomOverlayInventory .roomInventoryCard{
      min-height:125px!important;
      padding:12px!important;
      border-radius:20px!important;
    }

    .roomOverlayInventory .roomInventoryIcon{
      width:64px!important;
      height:64px!important;
      font-size:34px!important;
    }

    .roomOverlayInventory .roomInventoryText strong{
      font-size:13px!important;
    }

    .roomOverlayInventory .roomInventoryText small{
      font-size:9px!important;
    }

    .roomOverlayInventory .roomInventoryCard button{
      min-height:43px!important;
      font-size:8px!important;
    }

    @media(max-width:900px){
      .roomMapSwitcher{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
      }

      .roomOverlayInventory{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
      }
    }

    @media(max-width:650px){
      .roomQuickActions{
        grid-template-columns:1fr;
      }

      .roomQuickAction{
        min-height:88px;
      }

      .roomQuickActionIcon{
        width:58px;
        height:58px;
        font-size:30px;
      }

      .roomQuickActionText strong{
        font-size:19px;
      }

      .roomOverlayPanel{
        width:calc(100vw - 14px);
        max-height:calc(100vh - 14px);
        border-radius:24px;
      }

      .roomOverlayHeader{
        min-height:120px;
        padding:18px 15px;
      }

      .roomOverlayHeader h3{
        font-size:29px;
      }

      .roomOverlayHeader p{
        font-size:11px;
      }

      .roomMapSwitcher,
      .roomOverlayInventory{
        grid-template-columns:1fr!important;
        padding:12px!important;
      }

      .roomMapNode{
        min-height:190px!important;
      }

      .roomItemsTopBar{
        margin:12px 12px 0;
        align-items:flex-start;
        flex-direction:column;
      }

      .roomItemsTopBar button{
        width:100%;
      }
    }


    /* =========================================================
       v50 - BATTLE PASS SCROLL FIX
       ========================================================= */

    .passTrackShell{
      position:relative;
      z-index:3;
    }

    .megaTrackViewport{
      width:100%;
      overflow-x:auto!important;
      overflow-y:hidden!important;
      scroll-behavior:smooth;
      scroll-snap-type:x proximity!important;
      overscroll-behavior-x:contain;
      -webkit-overflow-scrolling:touch;
      touch-action:pan-x pan-y;
      outline:none;
    }

    .megaTrackViewport:focus-visible{
      box-shadow:inset 0 0 0 2px rgba(77,224,255,.42);
    }

    /* Critical fix: v47 expanded PASS to 30 levels,
       but the old layout was still repeat(12,...), so levels wrapped vertically. */
    .megaBattlePassTrack{
      width:max-content!important;
      min-width:max-content!important;
      grid-template-columns:repeat(var(--pass-level-count,50),170px)!important;
      grid-auto-flow:column!important;
      grid-auto-columns:170px!important;
      grid-template-rows:none!important;
    }

    .megaBattlePassTrack::before{
      right:63px!important;
    }

    .passTrackArrow{
      width:54px;
      height:86px;
      position:absolute;
      top:50%;
      z-index:40;
      transform:translateY(-50%);
      border:1px solid rgba(255,255,255,.15);
      border-radius:18px;
      cursor:pointer;
      display:grid;
      place-items:center;
      color:#fff;
      background:
        radial-gradient(circle at 50% 30%,rgba(76,223,255,.17),transparent 48%),
        rgba(5,22,53,.90);
      box-shadow:
        0 13px 28px rgba(0,0,0,.26),
        inset 0 1px 0 rgba(255,255,255,.08);
      backdrop-filter:blur(8px);
      font-family:Arial,sans-serif;
      font-size:46px;
      font-weight:400;
      line-height:1;
      transition:transform .14s ease,filter .14s ease,opacity .14s ease;
    }

    .passTrackArrow:hover:not(:disabled){
      transform:translateY(-50%) scale(1.07);
      filter:brightness(1.15);
    }

    .passTrackArrow:active:not(:disabled){
      transform:translateY(-50%) scale(.97);
    }

    .passTrackArrowLeft{
      left:10px;
    }

    .passTrackArrowRight{
      right:10px;
    }

    .passTrackArrow.disabled,
    .passTrackArrow:disabled{
      cursor:default;
      opacity:.18;
      filter:grayscale(.7);
      box-shadow:none;
    }

    .passTrackPosition{
      width:min(480px,72%);
      height:9px;
      margin:10px auto 2px;
      padding:2px;
      overflow:hidden;
      border-radius:999px;
      background:rgba(7,25,56,.70);
      box-shadow:inset 0 1px 3px rgba(0,0,0,.30);
    }

    .passTrackPosition span{
      display:block;
      width:0;
      min-width:12px;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,#42def9,#7169ef 65%,#ffd052);
      box-shadow:0 0 10px rgba(64,219,248,.34);
      transition:width .10s linear;
    }

    @media(max-width:900px){
      .megaBattlePassTrack{
        grid-template-columns:repeat(var(--pass-level-count,50),150px)!important;
        grid-auto-columns:150px!important;
        width:max-content!important;
        min-width:max-content!important;
      }

      .passTrackArrow{
        width:46px;
        height:76px;
        border-radius:16px;
        font-size:40px;
      }

      .passTrackArrowLeft{left:7px}
      .passTrackArrowRight{right:7px}
    }

    @media(max-width:650px){
      .passTrackArrow{
        width:42px;
        height:68px;
        top:48%;
        font-size:36px;
      }

      .passTrackArrowLeft{left:5px}
      .passTrackArrowRight{right:5px}

      .passTrackPosition{
        width:78%;
      }
    }


    /* =========================================================
       v51 - EMPTY ARCHITECTURE + IMAGE-READY ROOM DECOR
       ========================================================= */

    .roomIsoScene{
      min-height:700px!important;
      background:
        radial-gradient(circle at 72% 0%,rgba(80,125,255,.13),transparent 27%),
        linear-gradient(180deg,#dfeaf5,#b5cbe1)!important;
    }

    .roomArchitecture{
      position:absolute;
      overflow:hidden;
      box-shadow:inset 0 -26px 45px rgba(10,31,62,.10);
    }

    .roomArchitectureBack{
      left:18%;
      right:8%;
      top:8%;
      height:45%;
      z-index:3;
      clip-path:polygon(0 8%,100% 0,100% 100%,0 100%);
      background:
        linear-gradient(145deg,#9fc0df,#6f96bb);
      border-top:1px solid rgba(255,255,255,.42);
    }

    .roomArchitectureLeft{
      left:5%;
      top:13%;
      width:18%;
      height:52%;
      z-index:4;
      clip-path:polygon(0 18%,100% 0,100% 81%,0 100%);
      background:linear-gradient(155deg,#84a6c7,#54789b);
      box-shadow:inset -18px 0 30px rgba(10,32,60,.12);
    }

    .roomArchitectureGrid{
      position:absolute;
      inset:0;
      opacity:.28;
      background:
        linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px),
        linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px);
      background-size:62px 62px;
    }

    .roomArchitectureFeature{
      position:absolute;
      opacity:.75;
      pointer-events:none;
    }

    .roomArchitectureFeatureA{
      width:22%;
      height:8px;
      left:8%;
      top:15%;
      border-radius:999px;
      background:rgba(229,250,255,.72);
      box-shadow:0 0 24px rgba(139,237,255,.40);
    }

    .roomArchitectureFeatureB{
      width:16%;
      height:34%;
      right:6%;
      bottom:14%;
      border-radius:16px;
      border:2px solid rgba(255,255,255,.11);
      background:rgba(13,37,72,.10);
    }

    .roomArchitectureFeatureC{
      width:42%;
      height:7px;
      left:28%;
      top:66%;
      border-radius:999px;
      background:rgba(223,249,255,.64);
      box-shadow:0 0 18px rgba(118,226,255,.30);
    }

    .roomIsoWindow{
      width:26%!important;
      min-width:170px!important;
      height:31%!important;
      left:47%!important;
      top:17%!important;
      z-index:8!important;
      transform:skewY(-1deg);
      border-radius:18px!important;
      border:9px solid rgba(24,48,79,.64)!important;
      background:linear-gradient(180deg,#a6efff,#5184b8)!important;
      box-shadow:0 16px 30px rgba(8,28,57,.17)!important;
    }

    .roomWindowWorld{
      position:absolute;
      inset:0;
      display:grid;
      place-items:center;
      overflow:hidden;
    }

    .roomWindowWorld > span{
      position:relative;
      z-index:3;
      font-size:54px;
      filter:drop-shadow(0 7px 9px rgba(0,0,0,.16));
    }

    .roomWindowParticle{
      width:6px;
      height:6px;
      position:absolute;
      border-radius:50%;
      background:#fff;
      opacity:.55;
      animation:roomWindowParticle 5s linear infinite;
    }
    .roomWindowParticle.p1{left:20%;top:70%;animation-delay:-1s}
    .roomWindowParticle.p2{left:64%;top:20%;animation-delay:-2.8s}
    .roomWindowParticle.p3{left:80%;top:66%;animation-delay:-4s}

    @keyframes roomWindowParticle{
      from{transform:translateY(18px);opacity:0}
      35%{opacity:.75}
      to{transform:translateY(-32px);opacity:0}
    }

    .roomIsoFloor{
      top:43%!important;
      height:49%!important;
      background:
        linear-gradient(30deg,rgba(255,255,255,.13) 1px,transparent 1px),
        linear-gradient(150deg,rgba(255,255,255,.11) 1px,transparent 1px),
        linear-gradient(180deg,#7898b8,#496b8f)!important;
      background-size:64px 34px,64px 34px,auto!important;
    }

    .roomFloorGlow{
      width:55%;
      height:28%;
      position:absolute;
      left:23%;
      bottom:12%;
      border-radius:50%;
      background:radial-gradient(ellipse,rgba(126,232,255,.15),transparent 67%);
      filter:blur(3px);
      pointer-events:none;
    }

    /* No baked-in furniture in v51 */
    .roomIsoDesk,
    .roomIsoChair,
    .roomIsoShelf,
    .roomIsoWallLamp,
    .roomIsoWallPoster,
    .roomIsoBackLight{
      display:none!important;
    }

    /* -------- Room identities -------- */

    .room-theme-starter .roomArchitectureBack{
      background:
        radial-gradient(circle at 75% 18%,rgba(255,255,255,.26),transparent 25%),
        linear-gradient(145deg,#d7e5f0,#9fb9cf);
    }
    .room-theme-starter .roomArchitectureLeft{background:linear-gradient(155deg,#c4d7e7,#8eacc5)}
    .room-theme-starter .roomIsoFloor{background:linear-gradient(30deg,rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(150deg,rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(180deg,#b9c9d6,#829aae)!important;background-size:70px 38px,70px 38px,auto!important}
    .room-theme-starter .roomIsoWindow{background:linear-gradient(180deg,#c9f5ff,#70bde8)!important}
    .room-theme-starter .roomArchitectureFeatureA{background:#fff7cf;box-shadow:0 0 26px rgba(255,225,137,.35)}

    .room-theme-coder .roomArchitectureBack{
      background:
        linear-gradient(90deg,rgba(60,230,255,.07) 1px,transparent 1px),
        linear-gradient(rgba(60,230,255,.06) 1px,transparent 1px),
        linear-gradient(145deg,#183967,#0a1b38);
      background-size:54px 54px,54px 54px,auto;
    }
    .room-theme-coder .roomArchitectureLeft{background:linear-gradient(155deg,#153159,#08162f)}
    .room-theme-coder .roomIsoFloor{background:linear-gradient(30deg,rgba(70,225,255,.10) 1px,transparent 1px),linear-gradient(150deg,rgba(70,225,255,.08) 1px,transparent 1px),linear-gradient(180deg,#1d416e,#0c2141)!important;background-size:58px 32px,58px 32px,auto!important}
    .room-theme-coder .roomIsoWindow{background:linear-gradient(180deg,#19385f,#08162d)!important}
    .room-theme-coder .roomArchitectureFeatureA,.room-theme-coder .roomArchitectureFeatureC{background:#6eecff;box-shadow:0 0 25px rgba(73,222,255,.48)}

    .room-theme-arcade .roomArchitectureBack{
      background:
        radial-gradient(circle at 15% 25%,rgba(255,71,178,.22),transparent 24%),
        radial-gradient(circle at 77% 22%,rgba(56,229,255,.20),transparent 24%),
        linear-gradient(145deg,#5b286e,#211237);
    }
    .room-theme-arcade .roomArchitectureLeft{background:linear-gradient(155deg,#4d235d,#20102f)}
    .room-theme-arcade .roomIsoFloor{background:linear-gradient(30deg,rgba(255,82,188,.15) 1px,transparent 1px),linear-gradient(150deg,rgba(61,231,255,.13) 1px,transparent 1px),linear-gradient(180deg,#4e2a60,#24142f)!important;background-size:56px 31px,56px 31px,auto!important}
    .room-theme-arcade .roomArchitectureFeatureA{background:#ff61c7;box-shadow:0 0 26px rgba(255,81,194,.48)}
    .room-theme-arcade .roomArchitectureFeatureC{background:#59e6ff;box-shadow:0 0 22px rgba(70,222,255,.42)}

    .room-theme-space .roomArchitectureBack{
      background:
        radial-gradient(circle at 14% 20%,#fff 0 1px,transparent 1.5px),
        radial-gradient(circle at 68% 38%,#8cecff 0 1px,transparent 1.5px),
        linear-gradient(145deg,#151e5a,#05091e);
      background-size:88px 78px,115px 97px,auto;
    }
    .room-theme-space .roomArchitectureLeft{background:linear-gradient(155deg,#192654,#070d24)}
    .room-theme-space .roomIsoFloor{background:linear-gradient(30deg,rgba(105,226,255,.10) 1px,transparent 1px),linear-gradient(150deg,rgba(105,226,255,.08) 1px,transparent 1px),linear-gradient(180deg,#1b2e61,#08112e)!important;background-size:60px 34px,60px 34px,auto!important}
    .room-theme-space .roomIsoWindow{background:radial-gradient(circle at 72% 34%,rgba(98,92,255,.40),transparent 24%),linear-gradient(180deg,#11183f,#030612)!important}
    .room-theme-space .roomArchitectureFeatureA,.room-theme-space .roomArchitectureFeatureC{background:#80e9ff;box-shadow:0 0 27px rgba(88,224,255,.42)}

    .room-theme-lab .roomArchitectureBack{
      background:
        linear-gradient(90deg,rgba(78,255,204,.08) 1px,transparent 1px),
        linear-gradient(rgba(78,255,204,.07) 1px,transparent 1px),
        linear-gradient(145deg,#37676d,#17383e);
      background-size:58px 58px,58px 58px,auto;
    }
    .room-theme-lab .roomArchitectureLeft{background:linear-gradient(155deg,#2d5b61,#123037)}
    .room-theme-lab .roomIsoFloor{background:linear-gradient(30deg,rgba(83,240,207,.10) 1px,transparent 1px),linear-gradient(150deg,rgba(83,240,207,.08) 1px,transparent 1px),linear-gradient(180deg,#345f65,#17353c)!important;background-size:60px 34px,60px 34px,auto!important}
    .room-theme-lab .roomIsoWindow{background:linear-gradient(180deg,#8cf7df,#28596a)!important}
    .room-theme-lab .roomArchitectureFeatureA,.room-theme-lab .roomArchitectureFeatureC{background:#69f1c4;box-shadow:0 0 26px rgba(74,234,188,.43)}

    .room-theme-greenhouse .roomArchitectureBack{
      background:
        linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px),
        linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),
        linear-gradient(145deg,#719d79,#355b45);
      background-size:72px 72px,72px 72px,auto;
    }
    .room-theme-greenhouse .roomArchitectureLeft{background:linear-gradient(155deg,#608b6b,#2f513e)}
    .room-theme-greenhouse .roomIsoFloor{background:linear-gradient(30deg,rgba(255,239,189,.13) 1px,transparent 1px),linear-gradient(150deg,rgba(255,239,189,.10) 1px,transparent 1px),linear-gradient(180deg,#8b7355,#5a4634)!important;background-size:70px 38px,70px 38px,auto!important}
    .room-theme-greenhouse .roomIsoWindow{background:linear-gradient(180deg,#b8eff2,#5f9f79)!important}
    .room-theme-greenhouse .roomArchitectureFeatureA{background:#e7f4b0;box-shadow:0 0 26px rgba(220,244,156,.34)}
    .room-theme-greenhouse .roomArchitectureFeatureC{background:#9ce2a8;box-shadow:0 0 20px rgba(115,221,143,.30)}

    .room-theme-cyber .roomArchitectureBack{
      background:
        radial-gradient(circle at 82% 20%,rgba(255,54,174,.25),transparent 25%),
        radial-gradient(circle at 14% 34%,rgba(33,227,255,.21),transparent 23%),
        linear-gradient(145deg,#25114a,#070916);
    }
    .room-theme-cyber .roomArchitectureLeft{background:linear-gradient(155deg,#291448,#090b1a)}
    .room-theme-cyber .roomIsoFloor{background:linear-gradient(30deg,rgba(255,64,184,.14) 1px,transparent 1px),linear-gradient(150deg,rgba(38,224,255,.11) 1px,transparent 1px),linear-gradient(180deg,#261a4c,#0b0d1f)!important;background-size:58px 32px,58px 32px,auto!important}
    .room-theme-cyber .roomIsoWindow{background:linear-gradient(180deg,#34154f,#0a1024)!important}
    .room-theme-cyber .roomArchitectureFeatureA{background:#ff4db4;box-shadow:0 0 26px rgba(255,64,176,.50)}
    .room-theme-cyber .roomArchitectureFeatureC{background:#42e3ff;box-shadow:0 0 24px rgba(63,222,255,.47)}

    .room-theme-underwater .roomArchitectureBack{
      background:
        radial-gradient(circle at 20% 30%,rgba(115,235,255,.16),transparent 22%),
        linear-gradient(145deg,#24546b,#0d2838);
    }
    .room-theme-underwater .roomArchitectureLeft{background:linear-gradient(155deg,#1f4b60,#0c2431)}
    .room-theme-underwater .roomIsoFloor{background:linear-gradient(30deg,rgba(82,223,255,.10) 1px,transparent 1px),linear-gradient(150deg,rgba(82,223,255,.08) 1px,transparent 1px),linear-gradient(180deg,#28566b,#11313f)!important;background-size:60px 34px,60px 34px,auto!important}
    .room-theme-underwater .roomIsoWindow{background:radial-gradient(circle at 58% 40%,rgba(85,215,255,.22),transparent 28%),linear-gradient(180deg,#1c7092,#082d43)!important}
    .room-theme-underwater .roomArchitectureFeatureA,.room-theme-underwater .roomArchitectureFeatureC{background:#6ce4ff;box-shadow:0 0 25px rgba(80,216,255,.40)}

    .room-theme-royal .roomArchitectureBack{
      background:
        radial-gradient(circle at 52% 16%,rgba(255,228,116,.24),transparent 28%),
        linear-gradient(145deg,#6a3b7c,#2b183b);
    }
    .room-theme-royal .roomArchitectureLeft{background:linear-gradient(155deg,#59316c,#281733)}
    .room-theme-royal .roomIsoFloor{background:linear-gradient(30deg,rgba(255,218,93,.15) 1px,transparent 1px),linear-gradient(150deg,rgba(255,218,93,.12) 1px,transparent 1px),linear-gradient(180deg,#67486f,#372741)!important;background-size:61px 34px,61px 34px,auto!important}
    .room-theme-royal .roomIsoWindow{background:linear-gradient(180deg,#f3c96d,#7d446f)!important}
    .room-theme-royal .roomArchitectureFeatureA,.room-theme-royal .roomArchitectureFeatureC{background:#ffe47c;box-shadow:0 0 26px rgba(255,217,93,.42)}

    .room-theme-matrix .roomArchitectureBack{
      background:
        linear-gradient(90deg,rgba(77,255,194,.11) 1px,transparent 1px),
        linear-gradient(rgba(77,255,194,.08) 1px,transparent 1px),
        radial-gradient(circle at 50% 40%,rgba(80,255,215,.12),transparent 30%),
        linear-gradient(145deg,#071b22,#02070a);
      background-size:42px 42px,42px 42px,auto,auto;
    }
    .room-theme-matrix .roomArchitectureLeft{background:linear-gradient(155deg,#0c252a,#02080a)}
    .room-theme-matrix .roomIsoFloor{background:linear-gradient(30deg,rgba(88,255,208,.16) 1px,transparent 1px),linear-gradient(150deg,rgba(88,255,208,.14) 1px,transparent 1px),linear-gradient(180deg,#0b2328,#030b0e)!important;background-size:48px 28px,48px 28px,auto!important}
    .room-theme-matrix .roomIsoWindow{background:radial-gradient(circle at 50% 50%,rgba(86,255,211,.18),transparent 34%),linear-gradient(180deg,#07161c,#010304)!important}
    .room-theme-matrix .roomArchitectureFeatureA,.room-theme-matrix .roomArchitectureFeatureC{background:#5cffc8;box-shadow:0 0 30px rgba(65,255,192,.54)}

    /* Empty room CTA */
    .roomEmptyHint{
      min-width:260px;
      min-height:92px;
      padding:13px 16px;
      position:absolute;
      left:50%;
      bottom:18%;
      z-index:58;
      transform:translateX(-50%);
      border-radius:22px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
      color:#fff;
      background:rgba(6,24,53,.58);
      border:1px dashed rgba(136,230,255,.28);
      backdrop-filter:blur(8px);
      pointer-events:none;
      box-shadow:0 13px 27px rgba(7,27,57,.12);
      animation:roomEmptyFloat 3.4s ease-in-out infinite;
    }

    .roomEmptyHint[hidden]{display:none!important}

    .roomEmptyHint > span{
      font-size:25px;
    }

    .roomEmptyHint strong{
      margin-top:4px;
      font-size:12px;
    }

    .roomEmptyHint small{
      margin-top:4px;
      color:#bdd0e4;
      font-size:9px;
      font-weight:900;
    }

    @keyframes roomEmptyFloat{
      0%,100%{translate:0 2px}
      50%{translate:0 -5px}
    }

    /* Large image-ready placed items */
    .roomIsoPlacedItem{
      min-width:110px!important;
      min-height:110px!important;
      max-width:360px;
      max-height:330px;
      pointer-events:auto!important;
      cursor:default;
      transform:translate(-50%,-78%)!important;
      filter:drop-shadow(0 14px 17px rgba(0,0,0,.22));
    }

    .roomIsoPlacedItem img{
      width:auto;
      height:auto;
      max-width:100%;
      max-height:100%;
      object-fit:contain;
      display:block;
      pointer-events:none;
      user-select:none;
      transform-origin:center bottom;
    }

    .roomIsoPlacedItem.has-asset .roomAssetPlaceholder{
      display:none!important;
    }

    .roomAssetPlaceholder{
      width:145px;
      min-height:92px;
      padding:12px;
      border-radius:22px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
      color:#d9edf9;
      background:
        linear-gradient(145deg,rgba(16,48,86,.58),rgba(44,48,102,.55));
      border:2px dashed rgba(115,220,245,.34);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
      backdrop-filter:blur(6px);
    }

    .roomAssetPlaceholder > span{
      max-width:125px;
      font-size:11px;
      font-weight:1000;
      line-height:1.25;
    }

    .roomAssetPlaceholder > small{
      margin-top:7px;
      color:#7eeaff;
      font-size:7px;
      font-weight:1000;
      letter-spacing:.09em;
    }

    .room-kind-rug{width:320px!important;height:130px!important;transform:translate(-50%,-35%)!important}
    .room-kind-furniture{width:250px!important;height:230px!important}
    .room-kind-machine{width:220px!important;height:265px!important}
    .room-kind-plant{width:170px!important;height:210px!important}
    .room-kind-pet{width:140px!important;height:150px!important}
    .room-kind-wall,.room-kind-poster{width:190px!important;height:190px!important;transform:translate(-50%,-50%)!important}
    .room-kind-floating{width:170px!important;height:170px!important}
    .room-kind-display,.room-kind-hologram,.room-kind-trophy{width:170px!important;height:190px!important}
    .room-kind-lamp{width:150px!important;height:200px!important}
    .room-kind-lab{width:190px!important;height:180px!important}

    /* Inventory stays clear while art is not ready */
    .roomInventoryText em{
      display:inline-flex;
      min-height:22px;
      margin-top:6px;
      padding:0 7px;
      border-radius:999px;
      align-items:center;
      color:#5c77a0;
      background:#e9f1fa;
      font-size:7px;
      font-style:normal;
      font-weight:1000;
      letter-spacing:.07em;
    }

    /* Map: more identity per room */
    .roomMapNode em{
      min-height:26px;
      margin-top:8px;
      padding:0 8px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#5e7896;
      background:rgba(229,238,248,.95);
      font-size:8px;
      font-style:normal;
      font-weight:1000;
    }

    .room-choice-starter{background:linear-gradient(180deg,#f8fcff,#e7f1f8)!important}
    .room-choice-coder{background:linear-gradient(180deg,#edf8ff,#dcecff)!important}
    .room-choice-arcade{background:linear-gradient(180deg,#fff0fb,#f1e5ff)!important}
    .room-choice-space{background:linear-gradient(180deg,#eef2ff,#e2e8ff)!important}
    .room-choice-lab{background:linear-gradient(180deg,#effcf8,#e1f4ed)!important}
    .room-choice-greenhouse{background:linear-gradient(180deg,#f4fbea,#e5f1d9)!important}
    .room-choice-cyber{background:linear-gradient(180deg,#f6ebff,#e8e0ff)!important}
    .room-choice-underwater{background:linear-gradient(180deg,#edfaff,#dbeff6)!important}
    .room-choice-royal{background:linear-gradient(180deg,#fff8df,#f6e9c4)!important}
    .room-choice-matrix{background:linear-gradient(180deg,#eafff7,#d9f7ec)!important}

    @media(max-width:760px){
      .roomIsoScene{min-height:630px!important}
      .roomEmptyHint{
        min-width:220px;
        bottom:15%;
      }
      .roomIsoWindow{
        min-width:135px!important;
        width:31%!important;
      }
      .roomIsoPlacedItem{
        scale:.78;
      }
    }


    /* =========================================================
       v52 - ADMIN PANEL + TEACHER TASKS + REAL COINS
       ========================================================= */

    .realCoinMark{
      width:26px;
      height:26px;
      border-radius:50%;
      display:inline-grid;
      place-items:center;
      flex:0 0 auto;
      color:#422700;
      background:linear-gradient(145deg,#fff0a5,#e6a72d);
      border:2px solid rgba(255,255,255,.55);
      box-shadow:0 5px 10px rgba(120,76,5,.18),inset 0 1px 0 rgba(255,255,255,.65);
      font-size:11px;
      font-weight:1000;
      font-style:normal;
    }

    .roomHudRealCoins{
      min-height:48px;
      padding:0 10px;
      border-radius:15px;
      display:flex;
      align-items:center;
      gap:7px;
      color:#fff;
      background:linear-gradient(180deg,#5c3d91,#3d2c6f);
      border:1px solid rgba(255,228,141,.17);
      box-shadow:0 6px 14px rgba(28,18,60,.14),inset 0 1px 0 rgba(255,255,255,.08);
    }
    .roomHudRealCoins .realCoinMark{width:30px;height:30px}
    .roomHudRealCoins div{display:flex;flex-direction:column;line-height:1}
    .roomHudRealCoins small{color:#f5dc94;font-size:6px;font-weight:1000;letter-spacing:.09em}
    .roomHudRealCoins strong{margin-top:3px;font-size:15px}

    .profileRealCoins{
      min-height:37px;
      padding:0 10px;
      border-radius:13px;
      display:flex;
      align-items:center;
      gap:6px;
      color:#fff;
      background:linear-gradient(180deg,#654395,#433074);
      border:1px solid rgba(255,226,132,.16);
    }
    .profileRealCoins .realCoinMark{width:23px;height:23px;font-size:9px}

    .stat-real-coins .statsSummaryIcon{background:linear-gradient(145deg,#6d4ca2,#42306e)!important}
    .stat-real-coins .statMiniBar i{background:linear-gradient(90deg,#d9a83b,#ffe08a)!important}
    .statsRealCoinIcon .realCoinMark{width:44px;height:44px;font-size:17px}

    /* Premium is teacher-controlled now */
    .premiumUnlockCard:not(.unlocked) .premiumMiniProgress{opacity:.35}
    .premiumUnlockCard:not(.unlocked){border-color:rgba(255,218,100,.18)!important}

    /* Teacher tasks */
    .teacherTasksBlock{
      margin-bottom:16px;
      overflow:hidden;
      border-radius:28px;
      background:#fff;
      border:1px solid rgba(113,86,213,.16);
      box-shadow:0 16px 34px rgba(48,48,112,.10);
    }
    .teacherTasksBlock[hidden]{display:none!important}
    .teacherTasksHead{
      min-height:150px;
      padding:22px 24px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      color:#fff;
      background:
        radial-gradient(circle at 88% 10%,rgba(255,214,86,.20),transparent 27%),
        radial-gradient(circle at 5% 110%,rgba(89,224,255,.20),transparent 31%),
        linear-gradient(125deg,#442b85,#245b9f 58%,#167f92);
    }
    .teacherTasksHead > div:first-child > span{color:#ffe184;font-size:10px;font-weight:1000;letter-spacing:.10em}
    .teacherTasksHead h3{margin:6px 0 0!important;color:#fff!important;font-size:34px!important}
    .teacherTasksHead p{max-width:650px;margin:8px 0 0;color:#d0e1f1!important;font-size:12px!important}
    .teacherTasksLive{min-height:43px;padding:0 12px;border-radius:14px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.09);white-space:nowrap}
    .teacherTasksLive i{width:9px;height:9px;border-radius:50%;background:#57e79a;box-shadow:0 0 12px rgba(87,231,154,.6);animation:teacherLivePulse 1.7s ease-in-out infinite}
    .teacherTasksLive span{font-size:9px;font-weight:900}
    @keyframes teacherLivePulse{50%{transform:scale(1.3);opacity:.65}}
    .teacherTasksGrid{padding:15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
    .teacherTaskCard{min-height:250px;padding:17px;position:relative;overflow:hidden;border-radius:23px;background:linear-gradient(180deg,#fbfdff,#eff5fc);border:2px solid #e1eaf4;box-shadow:0 10px 22px rgba(31,68,118,.06);isolation:isolate}
    .teacherTaskCard.ready{border-color:#f0bb38;background:linear-gradient(180deg,#fffbed,#fff3c8);animation:teacherReadyPulse 1.7s ease-in-out infinite}
    .teacherTaskCard.claimed{border-color:#6bd39f;background:linear-gradient(180deg,#effcf6,#e2f7eb)}
    @keyframes teacherReadyPulse{50%{box-shadow:0 0 0 4px rgba(244,190,54,.11),0 14px 29px rgba(149,100,13,.10);transform:translateY(-2px)}}
    .teacherTaskGlow{width:160px;height:160px;position:absolute;right:-65px;top:-70px;z-index:-1;border-radius:50%;background:#ffd053;opacity:.10}
    .teacherTaskTop{display:flex;align-items:center;gap:9px}
    .teacherTaskTop > span{width:45px;height:45px;border-radius:15px;display:grid;place-items:center;background:#e5effa;font-size:23px}
    .teacherTaskCard.ready .teacherTaskTop > span{background:#ffe69b}
    .teacherTaskTop b{max-width:45%;overflow:hidden;color:#657e98;font-size:8px;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis}
    .teacherTaskTop em{margin-left:auto;min-height:28px;padding:0 9px;border-radius:999px;display:flex;align-items:center;color:#607b98;background:#e7eef6;font-size:7px;font-style:normal;font-weight:1000}
    .teacherTaskCard.ready .teacherTaskTop em{color:#7a4e00;background:#ffe18b}
    .teacherTaskCard.claimed .teacherTaskTop em{color:#176442;background:#c9efd9}
    .teacherTaskCard h4{margin:14px 0 0!important;color:#173763!important;font-size:19px!important}
    .teacherTaskCard p{min-height:43px;margin:7px 0 0!important;color:#7189a3!important;font-size:11px!important;line-height:1.45!important}
    .teacherTaskRewards{margin-top:13px;display:flex;gap:7px;flex-wrap:wrap}
    .teacherTaskRewards span{min-height:34px;padding:0 10px;border-radius:11px;display:flex;align-items:center;gap:5px;color:#315777;background:#e8f3fb;font-size:9px;font-weight:1000}
    .teacherTaskRewards img{width:23px;height:23px;object-fit:contain}
    .teacherTaskRewards .real{color:#583c74;background:#f1e9fb}.teacherTaskRewards .real .realCoinMark{width:21px;height:21px;font-size:8px}
    .teacherTaskClaim{width:100%;min-height:54px;margin-top:14px;border:0;border-radius:16px;cursor:pointer;color:#533500;background:linear-gradient(180deg,#fff18d,#ffbd2e);box-shadow:0 6px 0 #a97012;font-size:11px;font-weight:1000;animation:teacherClaimGlow 1.5s ease-in-out infinite}
    @keyframes teacherClaimGlow{50%{filter:brightness(1.09);transform:translateY(-2px)}}
    .teacherTaskPending,.teacherTaskClaimed{min-height:48px;margin-top:14px;padding:0 11px;border-radius:14px;display:flex;align-items:center;justify-content:center;text-align:center;color:#6b8198;background:#edf2f7;font-size:9px;font-weight:900}
    .teacherTaskClaimed{color:#26704e;background:#dff5e8}
    .teacherClaimPop{animation:teacherClaimPop .7s ease both!important}@keyframes teacherClaimPop{50%{transform:scale(1.035)}}
    .questRewardReal{min-height:38px;padding:0 10px;border-radius:13px;display:flex;align-items:center;gap:6px;color:#fff;background:#503776}
    .questRewardReal[hidden]{display:none!important}.questRewardReal .realCoinMark{width:25px;height:25px;font-size:9px}

    /* Admin */
    .adminProfileTab{background:linear-gradient(180deg,#212f4e,#101a30)!important;border-color:rgba(255,211,89,.32)!important;color:#ffe28d!important}
    .adminPanel{overflow:hidden;border-radius:28px;background:#edf3fa;border:1px solid rgba(56,100,158,.14);box-shadow:0 18px 44px rgba(24,54,100,.10)}
    .adminHero{min-height:190px;padding:25px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;background:radial-gradient(circle at 87% 4%,rgba(255,211,79,.20),transparent 26%),radial-gradient(circle at 6% 115%,rgba(68,224,255,.18),transparent 31%),linear-gradient(125deg,#071a3b,#153e73 57%,#452e78)}
    .adminEyebrow{color:#ffe27e;font-size:10px;font-weight:1000;letter-spacing:.11em}.adminHero h3{margin:7px 0 0!important;color:#fff!important;font-size:40px!important}.adminHero p{max-width:700px;margin:10px 0 0!important;color:#c6d9eb!important;font-size:13px!important}
    .adminRefreshButton{min-height:49px;padding:0 15px;border:1px solid rgba(255,255,255,.10);border-radius:15px;cursor:pointer;color:#fff;background:rgba(255,255,255,.10);font-size:9px;font-weight:1000}
    .adminSummaryGrid{padding:15px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.adminSummaryGrid article{min-height:120px;padding:12px;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(62,116,177,.10);box-shadow:0 8px 20px rgba(30,67,116,.05)}.adminSummaryGrid article>span{font-size:27px}.adminSummaryGrid article .realCoinMark{width:33px;height:33px;font-size:13px}.adminSummaryGrid strong{margin-top:5px;color:#173a65;font-size:29px}.adminSummaryGrid small{margin-top:4px;color:#7890aa;font-size:9px;font-weight:900}
    .adminWorkspace{padding:0 15px 15px;display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:12px}.adminPlayersSection,.adminPlayerControl,.adminTaskCreator,.adminTasksSection,.adminHistorySection{overflow:hidden;border-radius:23px;background:#fff;border:1px solid rgba(58,113,173,.10);box-shadow:0 9px 23px rgba(30,66,115,.05)}
    .adminSectionHead{min-height:82px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(180deg,#fbfdff,#f2f7fc);border-bottom:1px solid rgba(58,113,173,.08)}.adminSectionHead>div>span{color:#4d7ca9;font-size:8px;font-weight:1000;letter-spacing:.09em}.adminSectionHead h4{margin:4px 0 0!important;color:#173a64!important;font-size:22px!important}.adminSectionHead>small{max-width:430px;color:#738ba4;font-size:9px!important;font-weight:900;text-align:right}.adminSectionHead input{width:170px;min-height:40px;padding:0 11px;border:1px solid #d9e4ef;border-radius:12px;color:#244b75;background:#fff;font-size:10px;font-weight:800}
    .adminPlayersList{max-height:540px;padding:10px;overflow:auto;display:grid;gap:8px}.adminPlayerCard{min-height:86px;padding:9px;border:2px solid #e5edf5;border-radius:17px;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px;align-items:center;text-align:left;background:#f8fbfe;transition:.14s}.adminPlayerCard:hover{transform:translateY(-2px);border-color:#8bddec}.adminPlayerCard.selected{border-color:#48d8ee;background:#eafbff;box-shadow:0 0 0 3px rgba(72,216,238,.09)}.adminPlayerAvatar{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#e7eff8;font-size:25px}.adminPlayerInfo{min-width:0}.adminPlayerInfo strong{display:block;overflow:hidden;color:#21476f;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.adminPlayerInfo small{display:block;margin-top:4px;color:#7890a8;font-size:8px;font-weight:900}.adminPlayerWallet{min-width:42px;text-align:center;color:#795100}.adminPlayerWallet b{display:block;font-size:12px}.adminPlayerWallet small{font-size:8px}.adminPlayerWallet.real{color:#654282}.adminPlayerCard em{grid-column:2/-1;color:#9a6b00;font-size:7px;font-style:normal;font-weight:1000}
    .adminPlayerControl{min-height:440px;padding:13px}.adminEmptySelection{min-height:410px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#7890a8}.adminEmptySelection>span{font-size:44px}.adminEmptySelection strong{margin-top:8px;color:#21476f;font-size:19px}.adminEmptySelection small{max-width:350px;margin-top:5px;font-size:10px}.adminSelectedContent{display:grid;gap:11px}.adminSelectedContent[hidden]{display:none!important}.adminSelectedHero{min-height:84px;padding:10px;border-radius:18px;display:flex;align-items:center;gap:11px;color:#fff;background:linear-gradient(125deg,#153f79,#433277)}.adminSelectedAvatar{width:61px;height:61px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.13);font-size:31px}.adminSelectedHero small{color:#92ecff;font-size:7px;font-weight:1000}.adminSelectedHero strong{display:block;margin-top:3px;font-size:18px}.adminSelectedHero span{display:block;margin-top:3px;color:#ccdcee;font-size:9px;font-weight:900}
    .adminPlayerBalances{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.adminPlayerBalances article{min-height:82px;padding:10px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#eff6fd}.adminPlayerBalances span{color:#63819d;font-size:8px;font-weight:1000}.adminPlayerBalances strong{margin-top:5px;color:#1e4c78;font-size:23px}.adminPlayerBalances article.real{background:#f3ecfb}.adminPlayerBalances article.real strong{color:#684288}
    .adminPremiumBox{min-height:92px;padding:12px;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(125deg,#342556,#5d3a7f);color:#fff}.adminPremiumBox span{color:#ffe17d;font-size:8px;font-weight:1000}.adminPremiumBox strong{display:block;margin-top:3px;font-size:17px}.adminPremiumBox small{display:block;margin-top:3px;color:#d7cce7;font-size:8px}.adminPremiumBox button{min-height:46px;padding:0 11px;border:0;border-radius:13px;cursor:pointer;color:#573700;background:linear-gradient(180deg,#fff08b,#ffbe32);font-size:8px;font-weight:1000}.adminPremiumBox button.active{color:#fff;background:linear-gradient(180deg,#b65370,#87364e)}
    .adminRewardBox{padding:12px;border-radius:18px;background:#f5f8fc;border:1px solid #e5edf5}.adminRewardTitle{display:flex;justify-content:space-between;gap:10px}.adminRewardTitle span{color:#2c5d88;font-size:9px;font-weight:1000}.adminRewardTitle small{color:#8195aa;font-size:8px}.adminRewardInputs{margin-top:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.adminRewardInputs label,.adminTaskForm label{display:flex;flex-direction:column;gap:5px}.adminRewardInputs label span,.adminTaskForm label span{color:#63809d;font-size:8px;font-weight:1000}.adminRewardInputs input,.adminRewardNote,.adminTaskForm input,.adminTaskForm textarea,.adminTaskForm select{min-height:42px;padding:0 10px;border:1px solid #d9e4ef;border-radius:12px;color:#234b72;background:#fff;font-size:10px;font-weight:800;outline:none}.adminRewardInputs label.real input{border-color:#dfcceb;background:#fbf7ff}.adminRewardNote{width:100%;margin-top:8px}.adminRewardApply{width:100%;min-height:48px;margin-top:8px;border:0;border-radius:14px;cursor:pointer;color:#fff;background:linear-gradient(180deg,#338bdf,#2363b5);box-shadow:0 5px 0 #17467f;font-size:10px;font-weight:1000}
    .adminTaskCreator,.adminTasksSection,.adminHistorySection{margin:0 15px 15px}.adminTaskForm{padding:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.adminTaskForm .wide{grid-column:1/-1}.adminTaskForm textarea{min-height:80px;padding:10px;resize:vertical}.adminTaskCreate{grid-column:1/-1;min-height:52px;border:0;border-radius:15px;cursor:pointer;color:#fff;background:linear-gradient(180deg,#6445c6,#4932a1);box-shadow:0 5px 0 #30206f;font-size:10px;font-weight:1000}
    .adminTasksList{padding:12px;display:grid;gap:11px}.adminTaskCard{overflow:hidden;border-radius:19px;background:#f8fbfe;border:1px solid #dfe9f3}.adminTaskCardHead{min-height:85px;padding:12px;display:flex;justify-content:space-between;gap:10px;background:#edf5fc}.adminTaskCardHead span{color:#5e81a3;font-size:8px;font-weight:1000}.adminTaskCardHead strong{display:block;margin-top:4px;color:#1f4a75;font-size:15px}.adminTaskCardHead small{display:block;margin-top:4px;color:#7a90a5;font-size:9px}.adminTaskCardHead button{height:34px;padding:0 9px;border:1px solid #e0cbd0;border-radius:10px;cursor:pointer;color:#a04f5e;background:#fff1f3;font-size:7px;font-weight:1000}.adminTaskRewardLine{padding:9px 12px;display:flex;gap:7px;flex-wrap:wrap}.adminTaskRewardLine span{min-height:29px;padding:0 8px;border-radius:10px;display:flex;align-items:center;color:#315a80;background:#e7f1fa;font-size:8px;font-weight:1000}.adminTaskRewardLine .real{color:#674586;background:#efe7f8}.adminAssignments{padding:0 10px 10px;display:grid;gap:6px}.adminAssignment{min-height:54px;padding:6px 7px;border-radius:13px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:7px;align-items:center;background:#fff;border:1px solid #e4ecf4}.adminAssignment.ready{background:#fff8df;border-color:#f0d077}.adminAssignment.claimed{background:#eaf9f1;border-color:#a9dfc1}.adminAssignmentAvatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#edf2f7;font-size:19px}.adminAssignment strong{color:#264d73;font-size:10px}.adminAssignment em{color:#788da2;font-size:7px;font-style:normal;font-weight:900}.adminAssignment button{min-height:34px;padding:0 8px;border:0;border-radius:10px;cursor:pointer;color:#fff;background:#3180cd;font-size:7px;font-weight:1000}.adminAssignment.ready button{color:#734c00;background:#ffdc72}.adminAssignment.claimed button{background:#71c898}.adminTasksEmpty{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7b91a6}.adminTasksEmpty span{font-size:35px}.adminTasksEmpty strong{margin-top:5px;color:#275076;font-size:15px}.adminTasksEmpty small{margin-top:4px;font-size:9px}.adminHistoryList{max-height:300px;padding:10px;overflow:auto;display:grid;gap:6px}.adminHistoryRow{min-height:55px;padding:8px;border-radius:13px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;background:#f7fafc}.adminHistoryRow>span{font-size:18px}.adminHistoryRow strong{display:block;color:#2b5278;font-size:10px}.adminHistoryRow small{display:block;margin-top:3px;color:#8295a9;font-size:8px}.adminHistoryRow b{color:#55718d;font-size:8px}.adminListEmpty{padding:35px 15px;text-align:center;color:#7c91a6;font-size:10px}

    @media(max-width:1000px){.adminSummaryGrid{grid-template-columns:repeat(2,1fr)}.adminWorkspace{grid-template-columns:1fr}.teacherTasksGrid{grid-template-columns:1fr}.adminTaskForm{grid-template-columns:1fr 1fr}.adminTaskForm .wide,.adminTaskCreate{grid-column:1/-1}}
    @media(max-width:650px){.roomHudRight{flex-wrap:wrap}.roomHudCoins,.roomHudRealCoins{flex:1}.adminHero{align-items:flex-start;flex-direction:column}.adminHero h3{font-size:31px!important}.adminSummaryGrid{grid-template-columns:repeat(2,1fr);padding:10px}.adminWorkspace{padding:0 10px 10px}.adminTaskCreator,.adminTasksSection,.adminHistorySection{margin:0 10px 10px}.adminPlayerBalances,.adminRewardInputs,.adminTaskForm{grid-template-columns:1fr}.adminTaskForm .wide,.adminTaskCreate{grid-column:auto}.adminAssignment{grid-template-columns:auto 1fr}.adminAssignment em,.adminAssignment button{grid-column:2}.teacherTasksHead{align-items:flex-start;flex-direction:column}.teacherTasksGrid{padding:10px}.teacherTaskCard{min-height:230px}}

    @media(prefers-reduced-motion:reduce){
      .roomWindowParticle,
      .roomEmptyHint{
        animation:none!important;
      }
    }

    @media(prefers-reduced-motion:reduce){
      .roomOnlineDot,
      .roomWalkTarget.show,
      .roomIsoCharacterZone.walking .roomCharacter,
      .roomIsoPlacedItem.room-slot-ceiling{
        animation:none!important;
      }
    }

    @media(prefers-reduced-motion:reduce){
      .roomAmbient,
      .roomWindowGlow,
      .roomCharacter,
      .roomPassPortal,
      .roomPassPortalRing,
      .roomPlacedItem,
      .room-slot-ceiling{
        animation:none!important;
      }
    }

    @media(prefers-reduced-motion:reduce){
      .statsHeroV46::after,
      .statsAvatarOrbit::before,
      .statsHeroAvatar,
      .statsHeroProfileV46 .statsLevelOrb,
      .statsSummaryGridV46 .statsSummaryIcon,
      .statsCardGlow,
      .statsLevelBar span::after{
        animation:none!important;
      }
    }

    @media(prefers-reduced-motion:reduce){
      .hubProfileStage::before,
      .hubProfileAvatarBig,
      .hubPortalOuter,
      .hubPortalMiddle,
      .hubPortalCore,
      .hubPassEnterButton{
        animation:none!important;
      }
    }

    @media(prefers-reduced-motion:reduce){
      .hubGameTile::after{
        animation:none!important;
      }
    }

    @media(prefers-reduced-motion:reduce){
      .hubQuickCard::before,
      .homeMegaRewardCard .megaClaimButton:not(.lockedButton):not(.claimedButton),
      .megaRewardCard .megaClaimButton:not(.lockedButton):not(.claimedButton){
        animation:none!important;
      }
    }

    @media(prefers-reduced-motion:reduce){
      .questCard.claimable,
      .questReadyBadge,
      .questCard.claimable .questIcon,
      .questClaimButton{
        animation:none!important;
      }
    }

    @media(prefers-reduced-motion:reduce){
      *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
      .card{opacity:1;transform:none}
    }
  

    /* =========================================================
       v53 - REALTIME ONLINE ROOMS
       ========================================================= */
    .playerWorldCard.online{box-shadow:0 0 0 3px rgba(70,226,151,.14),0 16px 30px rgba(20,65,111,.10)!important}
    .playerOnlinePill{min-height:27px;padding:0 8px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;font-size:7px;font-weight:1000;letter-spacing:.04em;white-space:nowrap}
    .playerOnlinePill i{width:7px;height:7px;border-radius:50%}
    .playerOnlinePill.online{color:#14764c;background:#e4f9ee;border:1px solid #bcebd2}
    .playerOnlinePill.online i{background:#39d78a;box-shadow:0 0 10px rgba(57,215,138,.65);animation:roomOnlinePulse 1.7s ease-in-out infinite}
    .playerOnlinePill.offline{color:#75899b;background:#eef3f7;border:1px solid #dfe7ee}
    .playerOnlinePill.offline i{background:#9eacb9}
    .playerWorldTop{gap:7px!important}
    .playerWorldLevel{margin-left:auto!important}
    .playerWorldActions{display:grid;grid-template-columns:.78fr 1.22fr;gap:8px;margin-top:10px}
    .playerWorldActions .playerVisitButton,.playerRoomButton{min-height:46px!important;margin:0!important;border:0;border-radius:14px;cursor:pointer;font-size:8px!important;font-weight:1000;transition:.18s ease}
    .playerWorldActions .playerVisitButton.secondary{color:#315777!important;background:#e8f0f7!important}
    .playerRoomButton{color:#fff;background:linear-gradient(135deg,#156ec3,#24b5d8);box-shadow:0 8px 17px rgba(24,126,181,.18)}
    .playerRoomButton:hover,.playerVisitRoomButton:hover{transform:translateY(-2px)}
    .playerVisitRoomButton{width:100%;min-height:52px;margin-top:14px;border:0;border-radius:16px;cursor:pointer;color:#fff;background:linear-gradient(135deg,#1686cf,#25c5bd);font-size:10px;font-weight:1000;box-shadow:0 10px 22px rgba(18,139,178,.21)}
    .playerVisitRoomButton:disabled{opacity:.6;cursor:wait}

    .onlineRoomModal{position:fixed;inset:0;z-index:10080;display:none;place-items:center;padding:18px}
    .onlineRoomModal.show{display:grid}
    .onlineRoomBackdrop{position:absolute;inset:0;background:rgba(2,10,27,.80);backdrop-filter:blur(11px)}
    .onlineRoomShell{width:min(1180px,96vw);max-height:95vh;position:relative;z-index:2;overflow:auto;border-radius:28px;background:#091a3a;border:1px solid rgba(99,225,255,.22);box-shadow:0 35px 110px rgba(0,0,0,.55);animation:onlineRoomPop .46s cubic-bezier(.18,.9,.2,1.08) both}
    @keyframes onlineRoomPop{from{opacity:0;transform:translateY(22px) scale(.94)}to{opacity:1;transform:none}}
    .onlineRoomHeader{min-height:86px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:14px;color:#fff;background:linear-gradient(135deg,#0a2454,#164e91 60%,#302873);border-bottom:1px solid rgba(255,255,255,.08)}
    .onlineRoomOwner{display:flex;align-items:center;gap:11px;min-width:0}
    .onlineRoomOwnerAvatar{width:58px;height:58px;flex:0 0 58px;overflow:hidden;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.13);font-size:30px}
    .onlineRoomOwner>div:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
    .onlineRoomOwner span{color:#62f0ad;font-size:8px;font-weight:1000;letter-spacing:.08em}.onlineRoomOwner span.offline{color:#b9c7d5}
    .onlineRoomOwner strong{overflow:hidden;font-size:21px;white-space:nowrap;text-overflow:ellipsis}.onlineRoomOwner small{color:#b9d3eb;font-size:9px;font-weight:900}
    .onlineRoomHeaderRight{display:flex;align-items:center;gap:10px}.onlineRoomPeople{min-height:45px;padding:0 12px;border-radius:14px;display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.09)}
    .onlineRoomPeople i{width:8px;height:8px;border-radius:50%;background:#4ee499;box-shadow:0 0 10px rgba(78,228,153,.7)}.onlineRoomPeople strong{font-size:15px}.onlineRoomPeople span{color:#c7dae9;font-size:8px;font-weight:900}
    .onlineRoomClose{width:45px;height:45px;border:1px solid rgba(255,255,255,.12);border-radius:14px;cursor:pointer;color:#fff;background:rgba(255,255,255,.08);font-size:20px}
    .onlineVisitScene{min-height:650px!important;border-radius:0!important;border:0!important}
    .onlineVisitBadge{min-height:54px;padding:0 12px;position:absolute;left:18px;top:18px;z-index:115;border-radius:16px;display:flex;align-items:center;gap:9px;color:#fff;background:rgba(7,25,57,.75);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(8px)}
    .onlineVisitBadge>span{font-size:23px}.onlineVisitBadge div{display:flex;flex-direction:column}.onlineVisitBadge small{color:#7de8ff;font-size:7px;font-weight:1000;letter-spacing:.08em}.onlineVisitBadge strong{font-size:11px}
    .onlineRemotePlayer .roomCharacter{box-shadow:0 0 0 3px rgba(89,232,165,.15),0 18px 30px rgba(8,27,59,.22)!important}.onlineRemotePlayer .roomCharacterName i{width:7px;height:7px;margin-right:5px;border-radius:50%;background:#4ee499;box-shadow:0 0 8px rgba(78,228,153,.7)}
    .onlineEmoteBubble{min-width:50px;height:50px;position:absolute;left:50%;top:-25px;z-index:12;transform:translate(-50%,10px) scale(.5);display:grid;place-items:center;border-radius:18px;opacity:0;background:#fff;box-shadow:0 10px 25px rgba(3,20,45,.23);font-size:27px;pointer-events:none}
    .onlineEmoteBubble.show{animation:onlineEmotePop 1.7s cubic-bezier(.18,.9,.2,1.15) both}@keyframes onlineEmotePop{0%{opacity:0;transform:translate(-50%,12px) scale(.35)}18%,72%{opacity:1;transform:translate(-50%,-6px) scale(1)}100%{opacity:0;transform:translate(-50%,-35px) scale(.8)}}
    .onlineEmoteBar{min-height:88px;padding:12px 16px;display:flex;align-items:center;justify-content:center;gap:15px;color:#fff;background:linear-gradient(135deg,#07172f,#0d2a52);border-top:1px solid rgba(255,255,255,.07)}
    .onlineEmoteBar>span{font-size:9px;font-weight:1000;color:#81eaff}.onlineEmoteBar>div{display:flex;gap:8px}.onlineEmoteBar button{width:49px;height:49px;border:1px solid rgba(255,255,255,.10);border-radius:15px;cursor:pointer;background:rgba(255,255,255,.09);font-size:25px;transition:.16s}.onlineEmoteBar button:hover{transform:translateY(-4px) scale(1.07);background:rgba(255,255,255,.16)}.onlineEmoteBar small{color:#91a9bf;font-size:8px;font-weight:800}
    .onlineRoomEmpty{position:absolute;left:50%;top:57%;z-index:28;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;text-align:center;pointer-events:none}.onlineRoomEmpty[hidden]{display:none!important}.onlineRoomEmpty>span{font-size:30px}.onlineRoomEmpty strong{margin-top:4px;color:#dceeff;font-size:13px}.onlineRoomEmpty small{margin-top:3px;color:#8ba9c4;font-size:8px;font-weight:800}
    .roomInventoryArt{overflow:hidden!important;padding:2px!important}.roomInventoryArt img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(29,62,103,.14))}

    @media(max-width:720px){
      .playerWorldActions{grid-template-columns:1fr}.onlineRoomModal{padding:0}.onlineRoomShell{width:100vw;max-height:100vh;height:100vh;border-radius:0}.onlineRoomHeader{min-height:80px;padding:10px}.onlineRoomOwnerAvatar{width:50px;height:50px;flex-basis:50px}.onlineRoomOwner strong{font-size:17px}.onlineRoomPeople span{display:none}.onlineVisitScene{min-height:calc(100vh - 176px)!important}.onlineEmoteBar{min-height:96px;padding:9px;gap:8px;flex-wrap:wrap}.onlineEmoteBar>span,.onlineEmoteBar small{display:none}.onlineEmoteBar button{width:45px;height:45px}.onlineVisitBadge{left:10px;top:10px}.roomMoveHint{display:none!important}}

  
    .roomEmoteDock{position:absolute;left:18px;bottom:17px;z-index:116;padding:8px 9px;border-radius:15px;color:#fff;background:rgba(5,22,49,.76);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(8px);box-shadow:0 8px 22px rgba(5,23,55,.15)}
    .roomEmoteDock[hidden]{display:none!important}.roomEmoteDock>span{display:block;margin-bottom:5px;color:#7cecff;font-size:7px;font-weight:1000;letter-spacing:.08em}.roomEmoteDock>div{display:flex;gap:5px}.roomEmoteDock button{width:34px;height:34px;border:1px solid rgba(255,255,255,.08);border-radius:11px;cursor:pointer;background:rgba(255,255,255,.08);font-size:18px;transition:.15s}.roomEmoteDock button:hover{transform:translateY(-3px);background:rgba(255,255,255,.15)}
    @media(max-width:720px){.roomEmoteDock{left:8px;bottom:8px}.roomEmoteDock>span{display:none}.roomEmoteDock button{width:31px;height:31px;font-size:16px}}

  

    /* =========================================================
       v54.4 / ЭТАП 4 - КОДКЛАСС CITY · ДОМА
       8 домов теперь привязаны к реальным cloud-профилям.
       Дом показывает настоящий аватар, LV, Premium и онлайн-статус.
       Вход в дома остаётся следующим отдельным этапом.
       ========================================================= */
    .cityStageEnabled > .roomScene{
      display:none !important;
    }

    .cityStageOne{
      position:relative;
      margin-top:14px;
      overflow:hidden;
      border:1px solid rgba(99,195,255,.2);
      border-radius:28px;
      background:
        radial-gradient(circle at 15% 0%,rgba(49,213,255,.16),transparent 34%),
        radial-gradient(circle at 92% 10%,rgba(119,91,255,.15),transparent 32%),
        #071323;
      box-shadow:0 24px 70px rgba(13,45,82,.22),inset 0 1px rgba(255,255,255,.08);
      isolation:isolate;
    }

    .cityStageTopbar{
      min-height:72px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:11px 14px;
      color:white;
      background:linear-gradient(180deg,rgba(8,28,51,.98),rgba(8,24,45,.94));
      border-bottom:1px solid rgba(255,255,255,.09);
    }

    .cityStageLocation,
    .cityStageStatus,
    .cityStageStatus span{
      display:flex;
      align-items:center;
    }

    .cityStageLocation{gap:11px;min-width:0}
    .cityStageLocationIcon{
      width:48px;
      height:48px;
      display:grid;
      place-items:center;
      flex:0 0 auto;
      border-radius:16px;
      font-size:26px;
      background:linear-gradient(145deg,#1b5674,#153557);
      box-shadow:inset 0 1px rgba(255,255,255,.18),0 8px 24px rgba(0,0,0,.22);
    }
    .cityStageLocation small{
      display:block;
      margin-bottom:2px;
      color:#72def8;
      font-size:10px;
      font-weight:1000;
      letter-spacing:1.35px;
    }
    .cityStageLocation strong{
      display:block;
      overflow:hidden;
      color:#fff;
      font-size:clamp(18px,2vw,25px);
      line-height:1.05;
      text-overflow:ellipsis;
      white-space:nowrap;
    }

    .cityStageStatus{gap:10px;flex:0 0 auto}
    .cityStageStatus span{
      gap:7px;
      min-height:38px;
      padding:0 12px;
      border:1px solid rgba(104,241,168,.22);
      border-radius:999px;
      color:#b9ffd8;
      background:rgba(34,190,111,.1);
      font-size:10px;
      font-weight:1000;
      letter-spacing:.7px;
    }
    .cityStageStatus span i{
      width:9px;
      height:9px;
      border-radius:50%;
      background:#51ec99;
      box-shadow:0 0 0 5px rgba(81,236,153,.1),0 0 15px rgba(81,236,153,.85);
      animation:cityOnlinePulse 1.7s ease-in-out infinite;
    }
    .cityStageStatus button{
      min-height:42px;
      padding:0 16px;
      border:1px solid rgba(255,226,112,.45);
      border-radius:14px;
      color:#271b04;
      background:linear-gradient(180deg,#fff0a1,#ffc83e);
      box-shadow:0 5px 0 #9c6813,0 8px 22px rgba(255,192,55,.17);
      font-size:13px;
      font-weight:1000;
      cursor:pointer;
      transition:.15s ease;
    }
    .cityStageStatus button:hover{transform:translateY(-2px)}
    .cityStageStatus button:active{transform:translateY(3px);box-shadow:0 2px 0 #9c6813}

    .cityStageCanvasWrap{
      position:relative;
      height:clamp(520px,64vh,720px);
      min-height:520px;
      overflow:hidden;
      background:#315f4b;
    }
    #cityStageCanvas{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      display:block;
      outline:none;
      cursor:crosshair;
      touch-action:none;
    }
    #cityStageCanvas:focus-visible{
      box-shadow:inset 0 0 0 3px rgba(104,224,255,.55);
    }
    .cityStageShade{
      position:absolute;
      inset:0;
      pointer-events:none;
      background:
        radial-gradient(circle at 50% 48%,transparent 42%,rgba(5,16,29,.18) 100%),
        linear-gradient(180deg,rgba(7,20,35,.06),rgba(7,20,35,.18));
      z-index:2;
    }
    .cityStageHelp,
    .cityStageMiniMapLabel,
    .cityStageCollisionBadge{
      position:absolute;
      z-index:4;
      color:white;
      pointer-events:none;
      backdrop-filter:blur(12px);
    }
    .cityStageHelp{
      right:14px;
      bottom:14px;
      display:flex;
      align-items:center;
      gap:8px;
      padding:9px 12px;
      border:1px solid rgba(255,255,255,.14);
      border-radius:999px;
      background:rgba(7,22,38,.78);
      box-shadow:0 10px 24px rgba(0,0,0,.2);
      font-size:11px;
      font-weight:900;
    }
    .cityStageHelp b{color:#70def9}
    .cityStageMiniMapLabel{
      left:14px;
      bottom:14px;
      display:flex;
      align-items:center;
      gap:9px;
      min-width:190px;
      padding:9px 12px;
      border:1px solid rgba(255,255,255,.14);
      border-radius:16px;
      background:rgba(7,22,38,.8);
      box-shadow:0 10px 24px rgba(0,0,0,.2);
    }
    .cityStageMiniMapLabel > span{font-size:23px}
    .cityStageMiniMapLabel small{
      display:block;
      color:#78e3ff;
      font-size:8px;
      font-weight:1000;
      letter-spacing:1px;
    }
    .cityStageMiniMapLabel strong{
      display:block;
      margin-top:1px;
      font-size:11px;
    }
    .cityStageCollisionBadge{
      top:12px;
      right:12px;
      padding:7px 10px;
      border:1px solid rgba(255,255,255,.12);
      border-radius:999px;
      color:#d9f8ff;
      background:rgba(4,21,37,.68);
      font-size:9px;
      font-weight:1000;
      letter-spacing:.3px;
    }
    @keyframes cityOnlinePulse{
      50%{opacity:.45;transform:scale(.82);box-shadow:0 0 0 2px rgba(81,236,153,.08),0 0 8px rgba(81,236,153,.45)}
    }

    @media(max-width:760px){
      .cityStageOne{border-radius:22px}
      .cityStageTopbar{min-height:64px;padding:9px}
      .cityStageLocationIcon{width:42px;height:42px;border-radius:14px;font-size:23px}
      .cityStageLocation small{font-size:8px}
      .cityStageLocation strong{font-size:17px}
      .cityStageStatus span{display:none}
      .cityStageStatus button{min-height:40px;padding:0 12px}
      .cityStageCanvasWrap{height:520px;min-height:520px}
      .cityStageHelp{right:8px;bottom:8px;font-size:9px;padding:8px 9px}
      .cityStageHelp b{display:none}
      .cityStageHelp span:first-child{display:none}
      .cityStageMiniMapLabel{left:8px;bottom:8px;min-width:0;padding:8px 10px}
      .cityStageMiniMapLabel strong{font-size:10px}
      .cityStageCollisionBadge{top:8px;right:8px}
    }

    /* v54.3.3 / ЭТАП 3 - реальные профили домов · FIX */
    .cityStageHouseCount{
      position:absolute;
      left:14px;
      top:14px;
      z-index:4;
      min-height:39px;
      padding:0 12px;
      display:flex;
      align-items:center;
      gap:8px;
      border:1px solid rgba(255,255,255,.15);
      border-radius:999px;
      color:#fff;
      background:rgba(6,24,42,.82);
      box-shadow:0 10px 24px rgba(0,0,0,.2);
      backdrop-filter:blur(12px);
      font-size:10px;
      font-weight:1000;
      pointer-events:none;
    }
    .cityStageHouseCount b{color:#7ae8ff}
    @media(max-width:760px){
      .cityStageHouseCount{left:8px;top:8px;min-height:35px;padding:0 9px;font-size:8px}
      .cityStageHouseCount .cityHouseCountLong{display:none}
    }

  

    /* =========================================================
       v54.4 / ЭТАП 4 - ВХОД В ДОМА
       ========================================================= */
    .cityDoorPrompt{
      min-width:min(460px,calc(100% - 28px));
      min-height:58px;
      position:absolute;
      left:50%;
      bottom:22px;
      z-index:38;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:9px 16px;
      border:2px solid rgba(255,255,255,.82);
      border-radius:18px;
      color:#08233b;
      background:linear-gradient(135deg,#92f1ff,#65e7c0 58%,#ffe071);
      box-shadow:0 14px 35px rgba(4,24,47,.34),0 0 0 6px rgba(100,232,255,.10);
      font-size:12px;
      font-weight:1000;
      text-align:center;
      opacity:0;
      transform:translate(-50%,18px) scale(.96);
      transition:.18s ease;
      pointer-events:none;
    }
    .cityDoorPrompt.show{opacity:1;transform:translate(-50%,0) scale(1)}
    .cityDoorPrompt .cityDoorKey{
      min-width:35px;height:35px;padding:0 9px;display:grid;place-items:center;border-radius:10px;color:#fff;background:#082d50;box-shadow:inset 0 1px rgba(255,255,255,.18);font-size:14px
    }
    .cityDoorPrompt strong{font-size:13px}
    .cityDoorPrompt small{display:block;color:#315973;font-size:8px;margin-top:2px}
    .cityDoorPrompt.unavailable{background:linear-gradient(135deg,#e5edf4,#cbd9e5);color:#516a7c;border-color:#eef5fa}
    .cityDoorPrompt.loading{background:linear-gradient(135deg,#ffe678,#ffb84d);color:#4a2900}

    .cityRoomExitDoor{
      width:126px;height:104px;position:absolute;left:50%;top:81.5%;z-index:152;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:3px solid rgba(255,255,255,.74);border-radius:21px 21px 13px 13px;color:#fff;background:linear-gradient(180deg,#173d68,#08213e);box-shadow:0 17px 32px rgba(4,21,45,.34),0 0 24px rgba(76,224,255,.18);cursor:pointer;transition:.18s ease
    }
    .cityRoomExitDoor:hover{transform:translate(-50%,-54%) scale(1.04);border-color:#8ef2ff;box-shadow:0 19px 38px rgba(4,21,45,.38),0 0 35px rgba(76,224,255,.34)}
    .cityRoomExitDoor[hidden]{display:none!important}
    .cityRoomExitDoor span{font-size:29px;line-height:1}
    .cityRoomExitDoor strong{font-size:10px;letter-spacing:.06em}
    .cityRoomExitDoor small{color:#88e9ff;font-size:7px;font-weight:1000}
    .cityRoomExitDoor::after{content:"";width:46px;height:13px;position:absolute;left:50%;bottom:-15px;transform:translateX(-50%);border-radius:50%;background:rgba(5,17,38,.24);filter:blur(2px)}

    .cityRoomExitPrompt{
      position:absolute;left:50%;bottom:92px;z-index:180;min-width:210px;padding:8px 13px;transform:translate(-50%,8px);border-radius:14px;color:#092540;background:#9df3ff;border:2px solid #fff;box-shadow:0 10px 26px rgba(4,25,52,.26);font-size:9px;font-weight:1000;text-align:center;opacity:0;transition:.16s;pointer-events:none
    }
    .cityRoomExitPrompt.show{opacity:1;transform:translate(-50%,0)}
    .cityRoomExitPrompt kbd{padding:3px 7px;margin-right:5px;border-radius:7px;color:#fff;background:#092f52;font:1000 10px Trebuchet MS,Arial}

    .onlineVisitBadge small#onlineVisitBadgeMode{color:#7de8ff}
    .onlineVisitBadge.own-room{background:rgba(44,31,7,.80);border-color:rgba(255,220,97,.28)}
    .onlineVisitBadge.own-room small#onlineVisitBadgeMode{color:#ffe16b}
    .onlineVisitBadge.own-room>span{filter:drop-shadow(0 0 10px rgba(255,222,91,.5))}
    .onlineRoomOwner span.own{color:#ffe16b}

    @media(max-width:720px){
      .cityDoorPrompt{bottom:13px;min-height:52px;min-width:calc(100% - 20px);padding:7px 10px}.cityDoorPrompt strong{font-size:11px}.cityDoorPrompt small{font-size:7px}
      .cityRoomExitDoor{width:104px;height:89px;top:82%}.cityRoomExitDoor span{font-size:24px}.cityRoomExitPrompt{bottom:82px}
    }

  

    /* =========================================================
       v54.5 / ЭТАП 5 - PHYSICS + TOUCH CONTROLS
       ========================================================= */
    .gameTouchControls{
      display:none;
      position:absolute;
      inset:0;
      z-index:120;
      pointer-events:none;
    }
    .gameTouchJoystick{
      width:132px;
      height:132px;
      position:absolute;
      left:18px;
      bottom:18px;
      border-radius:50%;
      display:grid;
      place-items:center;
      pointer-events:auto;
      touch-action:none;
      user-select:none;
      -webkit-user-select:none;
      background:radial-gradient(circle at 50% 42%,rgba(62,180,255,.22),rgba(5,25,56,.70) 70%);
      border:2px solid rgba(133,227,255,.42);
      box-shadow:0 14px 32px rgba(2,18,42,.30),inset 0 0 0 8px rgba(255,255,255,.035);
      backdrop-filter:blur(8px);
    }
    .gameTouchJoystick::before{
      content:"";
      width:72px;
      height:72px;
      border-radius:50%;
      border:1px dashed rgba(157,235,255,.24);
    }
    .gameTouchThumb{
      width:58px;
      height:58px;
      position:absolute;
      left:50%;
      top:50%;
      transform:translate(-50%,-50%);
      border-radius:50%;
      background:linear-gradient(145deg,#67e8ff,#278dd7);
      border:3px solid rgba(232,253,255,.90);
      box-shadow:0 8px 18px rgba(7,38,76,.35),0 0 22px rgba(75,221,255,.30);
      transition:box-shadow .12s ease;
      pointer-events:none;
    }
    .gameTouchJoystick.active .gameTouchThumb{box-shadow:0 6px 16px rgba(7,38,76,.42),0 0 30px rgba(75,221,255,.55)}
    .gameTouchAction{
      width:82px;
      height:82px;
      position:absolute;
      right:22px;
      bottom:28px;
      border:3px solid rgba(255,255,255,.85);
      border-radius:50%;
      display:grid;
      place-items:center;
      pointer-events:auto;
      touch-action:manipulation;
      cursor:pointer;
      color:#142a48;
      background:linear-gradient(180deg,#ffe887,#ffc841);
      box-shadow:0 8px 0 #a66c13,0 16px 30px rgba(5,22,47,.32);
      font-size:27px;
      font-weight:1000;
    }
    .gameTouchAction:active{transform:translateY(6px);box-shadow:0 2px 0 #a66c13,0 8px 20px rgba(5,22,47,.28)}
    .gameTouchAction small{
      position:absolute;
      top:-23px;
      left:50%;
      transform:translateX(-50%);
      white-space:nowrap;
      color:#fff;
      text-shadow:0 2px 6px rgba(0,0,0,.55);
      font-size:9px;
      font-weight:1000;
    }
    .roomPhysicsBadge{
      min-height:31px;
      padding:0 10px;
      position:absolute;
      right:12px;
      top:74px;
      z-index:115;
      border-radius:999px;
      display:flex;
      align-items:center;
      gap:5px;
      color:#dffbff;
      background:rgba(4,28,57,.70);
      border:1px solid rgba(111,230,255,.22);
      box-shadow:0 7px 18px rgba(4,18,40,.16);
      backdrop-filter:blur(7px);
      font-size:8px;
      font-weight:1000;
      pointer-events:none;
    }
    .roomCollisionBump{
      width:48px;
      height:20px;
      position:absolute;
      z-index:150;
      transform:translate(-50%,-50%);
      border:2px solid rgba(255,222,91,.86);
      border-radius:50%;
      opacity:0;
      pointer-events:none;
    }
    .roomCollisionBump.show{animation:roomCollisionBump .45s ease both}
    @keyframes roomCollisionBump{
      0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}
      35%{opacity:1}
      100%{opacity:0;transform:translate(-50%,-50%) scale(1.35)}
    }

    @media (hover:none), (pointer:coarse), (max-width:760px){
      .gameTouchControls{display:block}
      .cityStageHelp{display:none!important}
      .cityStageMiniMapLabel{bottom:152px!important}
      .cityDoorPrompt{bottom:158px!important}
      .cityStageCanvasWrap{touch-action:none}
      #cityStageCanvas{touch-action:none}
      .onlineVisitScene{touch-action:none}
      .roomTouchControls .gameTouchJoystick{bottom:16px;left:13px}
      .roomTouchControls .gameTouchAction{bottom:25px;right:16px}
      .roomPhysicsBadge{right:8px;top:68px;font-size:7px}
      .onlineVisitBadge{max-width:calc(100% - 130px)}
    }

    @media(max-width:520px){
      .gameTouchJoystick{width:116px;height:116px;left:10px;bottom:10px}
      .gameTouchThumb{width:52px;height:52px}
      .gameTouchAction{width:72px;height:72px;right:13px;bottom:20px;font-size:24px}
      .cityStageMiniMapLabel{bottom:132px!important}
      .cityDoorPrompt{bottom:136px!important}
      .roomTouchControls .gameTouchJoystick{width:108px;height:108px}
      .roomTouchControls .gameTouchAction{width:68px;height:68px}
    }

  

    /* =========================================================
       v54.6 / ЭТАП 6 - REALTIME CITY ONLINE
       ========================================================= */
    .cityOnlineDock{
      position:absolute;
      right:15px;
      top:15px;
      z-index:118;
      display:flex;
      align-items:center;
      gap:9px;
      pointer-events:auto;
    }
    .cityOnlinePeople{
      min-height:44px;
      padding:0 12px;
      border-radius:15px;
      display:flex;
      align-items:center;
      gap:7px;
      color:#fff;
      background:rgba(5,28,55,.82);
      border:1px solid rgba(116,232,255,.24);
      box-shadow:0 10px 25px rgba(3,20,45,.20);
      backdrop-filter:blur(9px);
    }
    .cityOnlinePeople i{
      width:9px;height:9px;border-radius:50%;
      background:#4ee499;
      box-shadow:0 0 11px rgba(78,228,153,.75);
      animation:roomOnlinePulse 1.7s ease-in-out infinite;
    }
    .cityOnlinePeople strong{font-size:16px;line-height:1}
    .cityOnlinePeople span{font-size:8px;font-weight:1000;color:#b8def0;letter-spacing:.06em}
    .cityOnlinePeople.offline i{background:#8d9aa7;box-shadow:none;animation:none}
    .cityOnlinePeople.offline span{color:#9facb8}
    .cityOnlineEmotes{
      min-height:44px;
      padding:5px;
      display:flex;
      align-items:center;
      gap:4px;
      border-radius:15px;
      background:rgba(5,28,55,.82);
      border:1px solid rgba(116,232,255,.20);
      box-shadow:0 10px 25px rgba(3,20,45,.20);
      backdrop-filter:blur(9px);
    }
    .cityOnlineEmotes button{
      width:34px;height:34px;padding:0;
      border:1px solid rgba(255,255,255,.10);
      border-radius:11px;
      display:grid;place-items:center;
      cursor:pointer;
      color:#fff;
      background:rgba(255,255,255,.08);
      font-size:19px;
      transition:.15s ease;
    }
    .cityOnlineEmotes button:hover{transform:translateY(-3px) scale(1.06);background:rgba(108,226,255,.18)}
    .cityOnlineEmotes button:active{transform:translateY(1px) scale(.95)}
    .cityOnlineEmotes.disabled{opacity:.45;pointer-events:none}
    .cityRemoteLegend{
      position:absolute;
      left:15px;
      top:15px;
      z-index:117;
      min-height:34px;
      padding:0 10px;
      border-radius:999px;
      display:flex;
      align-items:center;
      gap:6px;
      pointer-events:none;
      color:#dffbff;
      background:rgba(4,28,57,.68);
      border:1px solid rgba(111,230,255,.20);
      backdrop-filter:blur(7px);
      font-size:8px;
      font-weight:1000;
    }
    .cityRemoteLegend i{width:7px;height:7px;border-radius:50%;background:#4ee499;box-shadow:0 0 8px rgba(78,228,153,.65)}
    @media(max-width:820px){
      .cityOnlineDock{right:8px;top:8px;gap:5px}
      .cityOnlinePeople{min-height:39px;padding:0 9px}
      .cityOnlinePeople span{display:none}
      .cityOnlineEmotes{min-height:39px;padding:4px;gap:2px}
      .cityOnlineEmotes button{width:30px;height:30px;font-size:17px}
      .cityRemoteLegend{left:8px;top:8px;min-height:29px;font-size:7px}
    }
    @media(max-width:560px){
      .cityOnlineDock{max-width:calc(100% - 16px);align-items:flex-end;flex-direction:column}
      .cityOnlineEmotes button{width:28px;height:28px;font-size:16px}
      .cityOnlinePeople{align-self:flex-end}
      .cityRemoteLegend{display:none}
    }


    /* =========================================================
       v54.7 / ЭТАП 7 - СИСТЕМЫ САЙТА КАК ОБЪЕКТЫ ГОРОДА
       ========================================================= */
    .cityStageQuickButtons{
      display:flex;align-items:center;gap:7px;
    }
    .cityStageStatus .cityStageQuickButtons button{
      min-height:42px;padding:0 12px;display:flex;align-items:center;gap:6px;
      border:1px solid rgba(255,255,255,.16);border-radius:14px;color:#fff;
      background:linear-gradient(180deg,#173f68,#0b294a);
      box-shadow:0 5px 0 #061a31,0 8px 22px rgba(4,25,48,.20);
      font-size:12px;font-weight:1000;cursor:pointer;transition:.15s ease;
    }
    .cityStageStatus .cityStageQuickButtons button:first-child{
      color:#271b04;border-color:rgba(255,226,112,.45);
      background:linear-gradient(180deg,#fff0a1,#ffc83e);box-shadow:0 5px 0 #9c6813,0 8px 22px rgba(255,192,55,.17);
    }
    .cityStageStatus .cityStageQuickButtons button:nth-child(2){background:linear-gradient(180deg,#7d5df4,#5638c5);box-shadow:0 5px 0 #352083,0 8px 22px rgba(97,72,220,.20)}
    .cityStageStatus .cityStageQuickButtons button:nth-child(3){background:linear-gradient(180deg,#ff8c58,#ea5a2b);box-shadow:0 5px 0 #963416,0 8px 22px rgba(239,95,45,.20)}
    .cityStageStatus .cityStageQuickButtons button:hover{transform:translateY(-2px);filter:brightness(1.06)}
    .cityStageStatus .cityStageQuickButtons button:active{transform:translateY(3px);box-shadow:0 2px 0 rgba(0,0,0,.35)}
    .cityStageSystemLegend{
      position:absolute;left:50%;top:12px;z-index:116;transform:translateX(-50%);
      min-height:34px;padding:0 11px;border-radius:999px;display:flex;align-items:center;gap:7px;
      color:#fff;background:rgba(6,28,54,.74);border:1px solid rgba(129,229,255,.22);
      box-shadow:0 8px 22px rgba(2,19,42,.18);backdrop-filter:blur(8px);
      font-size:8px;font-weight:1000;letter-spacing:.04em;pointer-events:none;
    }
    .cityStageSystemLegend b{color:#86ebff}.cityStageSystemLegend i{font-style:normal;color:#ffe071}
    @media(max-width:980px){
      .cityStageStatus .cityStageQuickButtons button span{display:none}
      .cityStageStatus .cityStageQuickButtons button{width:42px;padding:0;justify-content:center;font-size:18px}
    }
    @media(max-width:720px){
      .cityStageQuickButtons{gap:4px}.cityStageStatus .cityStageQuickButtons button{width:38px;min-height:38px;border-radius:12px;font-size:17px}
      .cityStageSystemLegend{top:52px;font-size:7px;max-width:calc(100% - 20px);white-space:nowrap}
    }

  

    /* =========================================================
       v54.8 / ЭТАП 8 - ЖИВОЙ УРОК + ФИНАЛЬНАЯ ПОЛИРОВКА
       ========================================================= */
    .lessonLiveBanner{
      position:absolute;left:50%;top:54px;z-index:123;transform:translateX(-50%);
      width:min(690px,calc(100% - 300px));min-height:60px;padding:9px 12px;
      display:flex;align-items:center;gap:11px;border-radius:18px;
      color:#fff;background:linear-gradient(135deg,rgba(37,24,87,.94),rgba(15,53,96,.94));
      border:2px solid rgba(176,143,255,.58);box-shadow:0 12px 34px rgba(23,10,69,.28),inset 0 1px rgba(255,255,255,.14);
      backdrop-filter:blur(11px);pointer-events:auto;transition:.25s ease;
    }
    .lessonLiveBanner[hidden]{display:none!important}
    .lessonLivePulse{width:43px;height:43px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;background:#ff5b77;box-shadow:0 0 0 6px rgba(255,91,119,.11);font-size:21px;animation:lessonLivePulse 1.5s ease-in-out infinite}
    @keyframes lessonLivePulse{50%{transform:scale(1.06);box-shadow:0 0 0 10px rgba(255,91,119,.04)}}
    .lessonLiveCopy{min-width:0;flex:1}.lessonLiveCopy small{display:block;color:#c9baff;font-size:8px;font-weight:1000;letter-spacing:.11em}.lessonLiveCopy strong{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.lessonLiveCopy span{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#cfe4ff;font-size:9px;font-weight:850}
    .lessonLiveMeta{display:flex;align-items:center;gap:7px;flex:0 0 auto}.lessonLiveTimer{min-width:68px;padding:7px 9px;border-radius:12px;text-align:center;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.11)}.lessonLiveTimer small{display:block;color:#b7cce4;font-size:6px;font-weight:1000}.lessonLiveTimer b{display:block;margin-top:2px;font-size:13px}.lessonLiveTasks{min-width:72px;padding:7px 9px;border-radius:12px;text-align:center;color:#2a1b06;background:linear-gradient(180deg,#fff095,#ffc744);box-shadow:0 4px 0 #916314;font-size:9px;font-weight:1000}

    .lessonRewardDock{
      position:absolute;left:50%;bottom:18px;z-index:132;transform:translateX(-50%);
      width:min(650px,calc(100% - 40px));min-height:88px;padding:11px 12px;
      display:flex;align-items:center;gap:12px;border-radius:22px;color:#173354;
      background:linear-gradient(180deg,#fffdf2,#fff0af);border:2px solid #efbd3f;
      box-shadow:0 18px 46px rgba(81,54,4,.24);animation:lessonRewardFloat 1.8s ease-in-out infinite;
    }
    .lessonRewardDock[hidden]{display:none!important}@keyframes lessonRewardFloat{50%{transform:translate(-50%,-4px)}}
    .lessonRewardIcon{width:58px;height:58px;flex:0 0 auto;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#ffd64b,#ff9b2f);box-shadow:inset 0 2px rgba(255,255,255,.45),0 7px 0 #b56b15;font-size:31px}
    .lessonRewardCopy{min-width:0;flex:1}.lessonRewardCopy small{display:block;color:#916814;font-size:7px;font-weight:1000;letter-spacing:.10em}.lessonRewardCopy strong{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.lessonRewardCopy span{display:block;margin-top:4px;color:#675d45;font-size:9px;font-weight:900}
    .lessonRewardClaim{min-width:138px;min-height:51px;padding:0 13px;border:0;border-radius:15px;color:#fff;background:linear-gradient(180deg,#6a54ef,#4933bf);box-shadow:0 6px 0 #2c2075;font-size:10px;font-weight:1000;cursor:pointer}.lessonRewardClaim:active{transform:translateY(4px);box-shadow:0 2px 0 #2c2075}

    .lessonBroadcast{
      position:fixed;left:50%;top:24px;z-index:10030;transform:translate(-50%,-150%);
      width:min(720px,calc(100vw - 28px));min-height:96px;padding:15px 18px;display:flex;align-items:center;gap:14px;
      border-radius:25px;color:#fff;background:linear-gradient(135deg,#5b43df,#1d73bd);border:2px solid rgba(255,255,255,.38);
      box-shadow:0 24px 70px rgba(24,35,104,.38);opacity:0;pointer-events:none;transition:.36s cubic-bezier(.2,.9,.2,1.15);
    }
    .lessonBroadcast.show{transform:translate(-50%,0);opacity:1}.lessonBroadcastIcon{width:58px;height:58px;flex:0 0 auto;display:grid;place-items:center;border-radius:18px;background:rgba(255,255,255,.16);font-size:31px}.lessonBroadcast div{min-width:0}.lessonBroadcast small{display:block;color:#d8d3ff;font-size:8px;font-weight:1000;letter-spacing:.12em}.lessonBroadcast strong{display:block;margin-top:4px;font-size:20px;line-height:1.2}

    .adminLiveLesson{
      margin:15px;padding:18px;border-radius:24px;color:#fff;
      background:radial-gradient(circle at 88% 0,rgba(113,213,255,.22),transparent 31%),linear-gradient(135deg,#182d57,#442d7d 70%,#243964);
      border:1px solid rgba(177,206,255,.24);box-shadow:0 15px 35px rgba(25,35,83,.18);
    }
    .adminLiveLessonTop{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.adminLiveLessonTitle span{display:flex;align-items:center;gap:7px;color:#d5c9ff;font-size:9px;font-weight:1000;letter-spacing:.11em}.adminLiveDot{width:9px;height:9px;border-radius:50%;background:#74859c;box-shadow:0 0 0 5px rgba(255,255,255,.04)}.adminLiveLesson.active .adminLiveDot{background:#56efa2;box-shadow:0 0 13px rgba(86,239,162,.7);animation:teacherLivePulse 1.5s infinite}.adminLiveLessonTitle h4{margin:6px 0 0!important;color:#fff!important;font-size:25px!important}.adminLiveLessonTitle p{margin:5px 0 0!important;color:#c9d8eb!important;font-size:10px!important}
    .adminLessonElapsed{min-width:100px;padding:9px 12px;border-radius:14px;text-align:center;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.1)}.adminLessonElapsed small{display:block;color:#b7c7dd;font-size:7px;font-weight:1000}.adminLessonElapsed strong{display:block;margin-top:3px;font-size:20px}
    .adminLessonSetup{margin-top:14px;display:grid;grid-template-columns:1.1fr 1.45fr auto;gap:9px}.adminLessonSetup input{width:100%;min-height:48px;padding:0 13px;border:1px solid rgba(255,255,255,.13);border-radius:14px;color:#fff;background:rgba(4,18,42,.34);outline:none;font:900 11px inherit}.adminLessonSetup input::placeholder{color:#91a7c2}.adminLessonSetup input:focus{border-color:#79e2ff;box-shadow:0 0 0 3px rgba(121,226,255,.1)}.adminLessonToggle{min-width:155px;min-height:48px;border:0;border-radius:14px;color:#153248;background:linear-gradient(180deg,#92ffd0,#51dd96);box-shadow:0 5px 0 #26865b;font-size:10px;font-weight:1000;cursor:pointer}.adminLiveLesson.active .adminLessonToggle{color:#fff;background:linear-gradient(180deg,#ff6d81,#e8425c);box-shadow:0 5px 0 #8d2338}
    .adminLessonStats{margin-top:12px;display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.adminLessonStats article{min-height:60px;padding:9px;border-radius:15px;text-align:center;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.08)}.adminLessonStats strong{display:block;font-size:18px}.adminLessonStats small{display:block;margin-top:3px;color:#bcd0e5;font-size:7px;font-weight:1000}.adminLessonStats article.ready strong{color:#ffe36d}.adminLessonStats article.claimed strong{color:#7bf0ae}
    .adminLessonBroadcast{margin-top:11px;display:grid;grid-template-columns:1fr auto;gap:8px}.adminLessonBroadcast input{min-height:45px;padding:0 12px;border:1px solid rgba(255,255,255,.12);border-radius:13px;color:#fff;background:rgba(4,18,42,.28);outline:none;font-size:10px;font-weight:900}.adminLessonBroadcast button{min-width:142px;border:0;border-radius:13px;color:#332506;background:linear-gradient(180deg,#fff19a,#ffc843);box-shadow:0 5px 0 #9b6915;font-size:9px;font-weight:1000;cursor:pointer}.adminLessonBroadcast button:disabled,.adminLessonBroadcast input:disabled{opacity:.45;cursor:not-allowed}
    .adminLessonRoster{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.adminLessonStudent{min-height:49px;padding:7px 9px;display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;border-radius:14px;background:rgba(4,19,43,.27);border:1px solid rgba(255,255,255,.08)}.adminLessonStudentAvatar{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.09);font-size:19px}.adminLessonStudent strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.adminLessonStudent small{display:block;margin-top:2px;color:#9fb6cf;font-size:7px;font-weight:850}.adminLessonStudent em{min-width:76px;padding:6px 7px;border-radius:10px;text-align:center;color:#d0dceb;background:rgba(255,255,255,.07);font-size:7px;font-style:normal;font-weight:1000}.adminLessonStudent.ready em{color:#543a00;background:#ffe17b}.adminLessonStudent.claimed em{color:#124e32;background:#8df0b7}.adminLessonStudent.offline{opacity:.65}

    @media(max-width:1000px){.lessonLiveBanner{width:min(600px,calc(100% - 180px))}.adminLessonSetup{grid-template-columns:1fr 1fr}.adminLessonToggle{grid-column:1/-1}.adminLessonStats{grid-template-columns:repeat(3,1fr)}}
    @media(max-width:720px){.lessonLiveBanner{top:96px;width:calc(100% - 18px);min-height:54px;padding:7px 8px}.lessonLivePulse{width:37px;height:37px;border-radius:12px;font-size:18px}.lessonLiveCopy strong{font-size:13px}.lessonLiveCopy span{display:none}.lessonLiveMeta{gap:4px}.lessonLiveTimer{min-width:54px;padding:5px}.lessonLiveTasks{min-width:50px;padding:6px}.lessonRewardDock{bottom:142px;width:calc(100% - 16px);padding:8px;gap:8px}.lessonRewardIcon{width:46px;height:46px;border-radius:14px;font-size:25px}.lessonRewardCopy strong{font-size:12px}.lessonRewardClaim{min-width:100px;min-height:44px;font-size:8px}.adminLiveLesson{margin:10px;padding:13px}.adminLiveLessonTop{flex-direction:column}.adminLessonElapsed{width:100%}.adminLessonSetup{grid-template-columns:1fr}.adminLessonToggle{grid-column:auto}.adminLessonStats{grid-template-columns:repeat(2,1fr)}.adminLessonRoster{grid-template-columns:1fr}.adminLessonBroadcast{grid-template-columns:1fr}.adminLessonBroadcast button{min-height:44px}.lessonBroadcast{top:10px;padding:11px}.lessonBroadcastIcon{width:46px;height:46px}.lessonBroadcast strong{font-size:16px}}

  

    /* =========================================================
       v54.8.2 - ОТДЕЛЬНЫЕ ОКНА ОБЪЕКТОВ ГОРОДА
       Объект площади открывает только свою систему, без общей панели вкладок.
       ========================================================= */
    .cityObjectModalHeader{
      display:none;
      min-height:92px;
      padding:16px 68px 16px 18px;
      position:relative;
      align-items:center;
      gap:14px;
      color:#fff;
      background:
        radial-gradient(circle at 88% 18%,color-mix(in srgb,var(--city-object-accent,#6ce8ff) 38%,transparent),transparent 31%),
        linear-gradient(135deg,#071b38,#103968 58%,#152452);
      border-bottom:1px solid rgba(255,255,255,.10);
      overflow:hidden;
    }
    .cityObjectModalHeader::after{
      content:"";position:absolute;inset:auto -40px -64px auto;width:210px;height:140px;border-radius:50%;
      border:18px solid color-mix(in srgb,var(--city-object-accent,#6ce8ff) 22%,transparent);
      transform:rotate(-12deg);pointer-events:none;
    }
    .cityObjectModalIcon{
      width:62px;height:62px;flex:0 0 62px;display:grid;place-items:center;border-radius:20px;
      background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.06));
      border:1px solid rgba(255,255,255,.16);box-shadow:0 12px 28px rgba(0,0,0,.20),0 0 24px color-mix(in srgb,var(--city-object-accent,#6ce8ff) 24%,transparent);
      font-size:33px;
    }
    .cityObjectModalCopy{min-width:0;position:relative;z-index:2}
    .cityObjectModalCopy small{display:block;color:var(--city-object-accent,#7cecff);font-size:9px!important;font-weight:1000;letter-spacing:.12em}
    .cityObjectModalCopy strong{display:block;margin-top:3px;font-size:clamp(22px,3vw,34px);line-height:1;color:#fff}
    .cityObjectModalCopy span{display:block;margin-top:5px;color:#c4d9ef;font-size:11px;font-weight:800}
    .cityObjectModalBadge{
      margin-left:auto;position:relative;z-index:2;min-height:34px;padding:0 11px;border-radius:999px;display:flex;align-items:center;
      color:#071d35;background:var(--city-object-accent,#6ce8ff);font-size:8px;font-weight:1000;letter-spacing:.07em;white-space:nowrap;
      box-shadow:0 7px 18px color-mix(in srgb,var(--city-object-accent,#6ce8ff) 20%,transparent);
    }
    .profileModal.cityObjectMode{z-index:10060;padding:14px;background:rgba(2,12,30,.76);backdrop-filter:blur(13px)}
    .profileModal.cityObjectMode .profileShell{
      width:min(1180px,96vw);max-height:94vh;padding:0;overflow:hidden;border-radius:28px;
      background:#eef4fb;border:1px solid rgba(112,219,255,.24);box-shadow:0 34px 110px rgba(0,0,0,.46);
    }
    .profileModal.cityObjectMode #profileView{max-height:94vh;overflow:hidden;font-size:14px!important}
    .profileModal.cityObjectMode .cityObjectModalHeader{display:flex}
    .profileModal.cityObjectMode .profileClose{
      width:43px;height:43px;top:24px;right:18px;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.13);
      box-shadow:0 8px 18px rgba(0,0,0,.14);backdrop-filter:blur(7px)
    }
    .profileModal.cityObjectMode .profileTabs{display:none!important}
    .profileModal.cityObjectMode .profileHeroCard{display:none!important}
    .profileModal.cityObjectMode .profileTabPanel{
      display:none!important;margin:0!important;max-height:calc(94vh - 92px);overflow:auto;padding:14px;
      scrollbar-width:thin;scrollbar-color:#4baee9 #dce8f4;
    }
    .profileModal.cityObjectMode .profileTabPanel.active{display:block!important}
    .profileModal.cityObjectMode #profileView .profileTabPanel h3{font-size:clamp(30px,3.4vw,44px)!important}
    .profileModal.cityObjectMode #profileView .profileTabPanel p{font-size:13px!important}
    .profileModal.cityObjectProfileMode .profileHeroCard{display:grid!important;margin:18px 18px 10px}
    .profileModal.cityObjectProfileMode .profileTabPanel{display:none!important}
    .cityProfileObjectExtras{display:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 18px 18px}
    .profileModal.cityObjectProfileMode .cityProfileObjectExtras{display:grid}
    .cityProfileObjectStat{
      min-height:94px;padding:13px 14px;border-radius:20px;display:flex;flex-direction:column;justify-content:center;
      background:#fff;border:1px solid #dbe7f4;box-shadow:0 10px 24px rgba(25,66,112,.08)
    }
    .cityProfileObjectStat span{font-size:22px}.cityProfileObjectStat small{margin-top:5px;color:#7890aa;font-size:8px!important;font-weight:1000;letter-spacing:.08em}
    .cityProfileObjectStat strong{margin-top:3px;color:#163a63;font-size:17px;line-height:1.1}
    .cityProfileObjectStat.premium{background:linear-gradient(145deg,#fff8d6,#fff0a3);border-color:#f0d166}
    .cityProfileObjectStat.real{background:linear-gradient(145deg,#e8fff5,#d4f9e9);border-color:#b6e8d1}
    @media(max-width:720px){
      .profileModal.cityObjectMode{padding:0}.profileModal.cityObjectMode .profileShell{width:100vw;max-height:100vh;height:100vh;border-radius:0}
      .profileModal.cityObjectMode #profileView{max-height:100vh}.profileModal.cityObjectMode .profileTabPanel{max-height:calc(100vh - 84px);padding:9px}
      .cityObjectModalHeader{min-height:84px;padding:12px 56px 12px 11px;gap:9px}.cityObjectModalIcon{width:52px;height:52px;flex-basis:52px;border-radius:16px;font-size:28px}
      .cityObjectModalCopy strong{font-size:22px}.cityObjectModalCopy span{font-size:9px}.cityObjectModalBadge{display:none}
      .profileModal.cityObjectMode .profileClose{top:20px;right:10px;width:40px;height:40px}
      .profileModal.cityObjectProfileMode .profileHeroCard{margin:10px}.cityProfileObjectExtras{grid-template-columns:repeat(2,1fr);padding:0 10px 10px}
    }


    /* =========================================================
       v54.8.6 - CITY-ONLY FULLSCREEN FIX + PHONE PORTRAIT / LANDSCAPE
       Only the city scene becomes a viewport overlay; the rest of the site keeps its normal layout.
       ========================================================= */
    .cityStageStatus .cityStageQuickButtons .cityFullscreenButton{
      color:#eaffff!important;
      border-color:rgba(107,235,255,.42)!important;
      background:linear-gradient(180deg,#14668a,#0b3b67)!important;
      box-shadow:0 5px 0 #062744,0 8px 22px rgba(31,183,223,.22)!important;
    }
    .cityStageStatus .cityStageQuickButtons .cityFullscreenButton.active{
      color:#241b04!important;
      border-color:rgba(255,232,135,.62)!important;
      background:linear-gradient(180deg,#fff4a8,#ffc73d)!important;
      box-shadow:0 5px 0 #956310,0 8px 22px rgba(255,195,52,.25)!important;
    }

    /*
      Важно: НЕ переводим documentElement/body в браузерный Fullscreen API.
      Мы разворачиваем только сам город поверх текущей страницы. Поэтому сайт
      под ним не меняет ширину/масштаб, а после выхода остаётся ровно как был.
    */
    html.cityGameFullscreenRoot{
      overflow:hidden!important;
      overscroll-behavior:none;
    }
    body.cityGameFullscreen{
      overflow:hidden!important;
      overscroll-behavior:none;
    }
    body.cityGameFullscreen .cityStageOne.cityFullscreenPortal{
      box-sizing:border-box!important;
      width:var(--city-fs-w,100vw)!important;max-width:none!important;
      height:var(--city-fs-h,100dvh)!important;min-height:0!important;max-height:none!important;
      position:fixed!important;
      /* Не использовать inset после left/top: shorthand сбрасывал координаты в auto и уводил город со viewport. */
      left:var(--city-fs-x,0px)!important;top:var(--city-fs-y,0px)!important;right:auto!important;bottom:auto!important;
      z-index:2147483000!important;margin:0!important;padding:0!important;
      display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;
      overflow:hidden!important;border:0!important;border-radius:0!important;box-shadow:none!important;
      transform:none!important;translate:none!important;filter:none!important;clip-path:none!important;
      background:#071323!important;
      isolation:isolate!important;
    }
    /* После переноса в body город обязан быть отдельным viewport-слоем. */
    body.cityGameFullscreen > .cityStageOne.cityFullscreenPortal{
      visibility:visible!important;opacity:1!important;pointer-events:auto!important;
    }
    /* Окна города должны оставаться поверх развернутой сцены. */
    body.cityGameFullscreen .profileModal{z-index:2147483100!important;}
    body.cityGameFullscreen .onlineRoomModal{z-index:2147483200!important;}
    body.cityGameFullscreen .gameModal{z-index:2147483150!important;}
    body.cityGameFullscreen .rewardToast{z-index:2147483300!important;}
    body.cityGameFullscreen .cityStageTopbar{
      min-height:60px;
      padding-top:max(8px,env(safe-area-inset-top));
      padding-right:max(10px,env(safe-area-inset-right));
      padding-bottom:8px;
      padding-left:max(10px,env(safe-area-inset-left));
      gap:8px;
    }
    body.cityGameFullscreen .cityStageCanvasWrap{
      width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;
      align-self:stretch!important;overflow:hidden!important;touch-action:none;
    }
    body.cityGameFullscreen #cityStageCanvas{width:100%!important;height:100%!important;display:block!important;}
    body.cityGameFullscreen .cityStageOne,
    body.cityGameFullscreen .cityStageCanvasWrap,
    body.cityGameFullscreen #cityStageCanvas{
      -webkit-user-select:none;user-select:none;
    }

    /* Комнаты тоже занимают экран, если игрок вошёл в дом из fullscreen-города. */
    body.cityGameFullscreen .onlineRoomModal{padding:0!important;}
    body.cityGameFullscreen .onlineRoomShell{
      width:100vw!important;max-width:none!important;height:100vh!important;height:100dvh!important;max-height:none!important;
      border-radius:0!important;display:flex!important;flex-direction:column;overflow:hidden!important;
    }
    body.cityGameFullscreen .onlineRoomHeader{flex:0 0 auto;}
    body.cityGameFullscreen .onlineVisitScene{flex:1 1 auto;min-height:0!important;height:auto!important;}
    body.cityGameFullscreen .onlineEmoteBar{flex:0 0 auto;}

    @media(max-width:760px){
      .cityStageStatus .cityStageQuickButtons .cityFullscreenButton{display:flex;}
      body.cityGameFullscreen .cityStageTopbar{min-height:56px;padding-bottom:7px;}
      body.cityGameFullscreen .cityStageLocation{gap:7px;}
      body.cityGameFullscreen .cityStageLocationIcon{width:38px;height:38px;border-radius:12px;font-size:21px;}
      body.cityGameFullscreen .cityStageLocation small{display:none;}
      body.cityGameFullscreen .cityStageLocation strong{font-size:15px;}
      body.cityGameFullscreen .cityStageStatus{gap:5px;}
      body.cityGameFullscreen .cityStageQuickButtons{gap:4px;}
      body.cityGameFullscreen .cityStageStatus .cityStageQuickButtons button{
        width:38px;min-width:38px;height:38px;min-height:38px;padding:0;border-radius:12px;font-size:17px;
      }
      body.cityGameFullscreen .cityStageStatus .cityStageQuickButtons button span{display:none!important;}
      body.cityGameFullscreen .cityStageSystemLegend,
      body.cityGameFullscreen .cityStageCollisionBadge,
      body.cityGameFullscreen .cityStageMiniMapLabel,
      body.cityGameFullscreen .cityRemoteLegend{display:none!important;}
      body.cityGameFullscreen .cityStageHouseCount{
        top:max(7px,env(safe-area-inset-top));left:max(7px,env(safe-area-inset-left));
        min-height:30px;padding:0 8px;font-size:7px;
      }
      body.cityGameFullscreen .cityOnlineDock{
        top:7px;right:max(7px,env(safe-area-inset-right));
      }
      body.cityGameFullscreen .gameTouchJoystick{
        left:max(10px,env(safe-area-inset-left));bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));
      }
      body.cityGameFullscreen .gameTouchAction{
        right:max(12px,env(safe-area-inset-right));bottom:max(20px,calc(env(safe-area-inset-bottom) + 14px));
      }
      body.cityGameFullscreen .cityDoorPrompt{bottom:max(138px,calc(env(safe-area-inset-bottom) + 132px))!important;}
      body.cityGameFullscreen .lessonRewardDock{bottom:max(138px,calc(env(safe-area-inset-bottom) + 132px));}
      body.cityGameFullscreen .lessonLiveBanner{top:54px;width:calc(100% - 18px);}
    }

    /* Вертикальный телефон: максимум места миру, элементы идут по краям экрана. */
    @media(max-width:600px) and (orientation:portrait){
      body.cityGameFullscreen .cityStageTopbar{min-height:54px;}
      body.cityGameFullscreen .cityStageLocationIcon{width:36px;height:36px;font-size:20px;}
      body.cityGameFullscreen .cityStageLocation strong{font-size:14px;}
      body.cityGameFullscreen .cityStageStatus .cityStageQuickButtons button{width:36px;min-width:36px;height:36px;min-height:36px;font-size:16px;}
      body.cityGameFullscreen .cityOnlinePeople{min-height:34px;padding:0 8px;}
      body.cityGameFullscreen .cityOnlineEmotes{min-height:34px;padding:3px;}
      body.cityGameFullscreen .cityOnlineEmotes button{width:27px;height:27px;font-size:15px;}
      body.cityGameFullscreen .gameTouchJoystick{width:118px;height:118px;}
      body.cityGameFullscreen .gameTouchJoystick::before{width:66px;height:66px;}
      body.cityGameFullscreen .gameTouchThumb{width:52px;height:52px;}
      body.cityGameFullscreen .gameTouchAction{width:72px;height:72px;font-size:23px;}
      body.cityGameFullscreen .lessonLiveBanner{top:49px;min-height:50px;padding:6px 7px;}
      body.cityGameFullscreen .lessonLivePulse{width:34px;height:34px;font-size:17px;}
      body.cityGameFullscreen .lessonLiveCopy strong{font-size:12px;}
      body.cityGameFullscreen .lessonLiveTimer{min-width:50px;}
      body.cityGameFullscreen .lessonLiveTasks{min-width:44px;}
    }

    /* Горизонтальный телефон: низкие HUD и компактные органы управления. */
    @media(max-height:600px) and (orientation:landscape){
      body.cityGameFullscreen .cityStageTopbar{
        min-height:48px;padding-top:max(5px,env(safe-area-inset-top));padding-bottom:5px;
      }
      body.cityGameFullscreen .cityStageLocationIcon{width:34px;height:34px;border-radius:11px;font-size:19px;}
      body.cityGameFullscreen .cityStageLocation small{display:none;}
      body.cityGameFullscreen .cityStageLocation strong{font-size:14px;}
      body.cityGameFullscreen .cityStageStatus .cityStageQuickButtons button{width:34px;min-width:34px;height:34px;min-height:34px;font-size:15px;border-radius:10px;}
      body.cityGameFullscreen .cityStageHouseCount,
      body.cityGameFullscreen .cityStageSystemLegend,
      body.cityGameFullscreen .cityStageCollisionBadge,
      body.cityGameFullscreen .cityStageMiniMapLabel,
      body.cityGameFullscreen .cityRemoteLegend{display:none!important;}
      body.cityGameFullscreen .cityOnlineDock{top:6px;}
      body.cityGameFullscreen .cityOnlinePeople{min-height:32px;padding:0 7px;}
      body.cityGameFullscreen .cityOnlineEmotes{min-height:32px;padding:2px;}
      body.cityGameFullscreen .cityOnlineEmotes button{width:26px;height:26px;font-size:14px;border-radius:8px;}
      body.cityGameFullscreen .gameTouchJoystick{width:100px;height:100px;bottom:max(8px,calc(env(safe-area-inset-bottom) + 5px));}
      body.cityGameFullscreen .gameTouchJoystick::before{width:58px;height:58px;}
      body.cityGameFullscreen .gameTouchThumb{width:46px;height:46px;}
      body.cityGameFullscreen .gameTouchAction{width:64px;height:64px;bottom:max(13px,calc(env(safe-area-inset-bottom) + 8px));font-size:21px;}
      body.cityGameFullscreen .gameTouchAction small{display:none;}
      body.cityGameFullscreen .cityDoorPrompt{
        min-width:260px;max-width:48vw;min-height:46px;padding:6px 10px;
        bottom:max(104px,calc(env(safe-area-inset-bottom) + 96px))!important;
      }
      body.cityGameFullscreen .cityDoorPrompt strong{font-size:10px;}
      body.cityGameFullscreen .cityDoorPrompt small{font-size:7px;}
      body.cityGameFullscreen .lessonLiveBanner{
        top:6px;width:min(430px,52vw);min-height:43px;padding:5px 7px;
      }
      body.cityGameFullscreen .lessonLivePulse{width:32px;height:32px;font-size:16px;}
      body.cityGameFullscreen .lessonLiveCopy small,
      body.cityGameFullscreen .lessonLiveCopy span{display:none;}
      body.cityGameFullscreen .lessonLiveCopy strong{font-size:11px;}
      body.cityGameFullscreen .lessonLiveTimer{min-width:48px;padding:4px;}
      body.cityGameFullscreen .lessonLiveTasks{min-width:42px;padding:5px;}
      body.cityGameFullscreen .lessonRewardDock{
        width:min(560px,66vw);min-height:62px;padding:7px 8px;
        bottom:max(8px,calc(env(safe-area-inset-bottom) + 5px));
      }
      body.cityGameFullscreen .lessonRewardIcon{width:42px;height:42px;font-size:23px;}
      body.cityGameFullscreen .lessonRewardClaim{min-width:92px;min-height:40px;}
      body.cityGameFullscreen .onlineRoomHeader{min-height:58px;padding:6px 9px;}
      body.cityGameFullscreen .onlineRoomOwnerAvatar{width:44px;height:44px;flex-basis:44px;}
      body.cityGameFullscreen .onlineRoomOwner strong{font-size:15px;}
      body.cityGameFullscreen .onlineVisitBadge{left:max(7px,env(safe-area-inset-left));top:7px;}
      body.cityGameFullscreen .onlineEmoteBar{min-height:58px;padding:5px 8px;}
      body.cityGameFullscreen .onlineEmoteBar button{width:38px;height:38px;font-size:20px;}
    }

    @supports(height:100dvh){
      body.cityGameFullscreen .cityStageOne,body.cityGameFullscreen .onlineRoomShell{height:100dvh!important;}
    }

/* ===== base-2 ===== */
/* =========================================================
   v55.0 - WORLD EXPANSION / NPC QUESTS / CODE TREE
   ========================================================= */
.cityQuestHud{
  position:absolute;left:14px;top:78px;z-index:240;display:none;width:min(330px,calc(100% - 28px));
  padding:10px 12px;border-radius:17px;background:rgba(4,24,43,.91);border:1px solid rgba(113,228,255,.26);
  box-shadow:0 14px 34px rgba(2,15,31,.28);backdrop-filter:blur(12px);color:#fff;pointer-events:none
}
.cityQuestHud.show{display:block}.cityQuestHud small{display:block;color:#7eeaff;font-size:8px;font-weight:1000;letter-spacing:.09em}
.cityQuestHud strong{display:block;margin-top:3px;font-size:14px;line-height:1.15}.cityQuestHud span{display:block;margin-top:4px;color:#d8e8f5;font-size:9px;font-weight:850;line-height:1.35}
.cityQuestProgress{height:5px;margin-top:8px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden}.cityQuestProgress i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#63e9ff,#ffe56d)}
.cityLocationChip{position:absolute;left:50%;top:12px;transform:translateX(-50%) translateY(-12px);z-index:245;opacity:0;pointer-events:none;min-width:180px;padding:8px 13px;border-radius:999px;background:rgba(4,24,43,.9);border:1px solid rgba(255,255,255,.18);color:#fff;text-align:center;font:1000 10px/1.2 Trebuchet MS,Arial;transition:.22s ease}
.cityLocationChip.show{opacity:1;transform:translateX(-50%) translateY(0)}
.v55Modal{position:fixed;inset:0;z-index:2147483450;display:none;place-items:center;padding:14px;background:rgba(1,9,20,.72);backdrop-filter:blur(11px)}
.v55Modal.show{display:grid}.v55Card{position:relative;width:min(720px,95vw);max-height:92vh;overflow:auto;padding:20px;border-radius:28px;background:linear-gradient(160deg,#0d2947,#08182e);border:1px solid rgba(130,232,255,.23);box-shadow:0 30px 90px rgba(0,0,0,.5);color:#fff}
.v55Close{position:absolute;right:13px;top:13px;width:40px;height:40px;border:0;border-radius:13px;background:rgba(255,255,255,.1);color:#fff;font-size:17px;font-weight:1000;cursor:pointer}
.v55Head{display:flex;align-items:center;gap:12px;padding-right:45px}.v55HeadIcon{width:64px;height:64px;border-radius:19px;display:grid;place-items:center;background:rgba(255,255,255,.1);font-size:37px}.v55Head small{display:block;color:#7eeaff;font-size:8px;font-weight:1000;letter-spacing:.09em}.v55Head strong{display:block;margin-top:2px;font-size:25px}.v55Body{margin-top:16px;padding:15px;border-radius:18px;background:rgba(0,0,0,.17);font-size:13px;font-weight:850;line-height:1.45;color:#e6f1f8}.v55Actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.v55Actions button,.v55Primary,.v55Choice{border:0;border-radius:14px;min-height:48px;padding:9px 14px;cursor:pointer;font:1000 10px/1.2 Trebuchet MS,Arial}.v55Primary{color:#06354a;background:linear-gradient(180deg,#8ff1ff,#5ad8ef);box-shadow:0 5px 0 #2b8fa9}.v55Secondary{color:#fff!important;background:rgba(255,255,255,.11)!important;box-shadow:none!important}
.v55QuestReward{margin-top:12px;display:inline-flex;gap:8px;padding:7px 10px;border-radius:12px;background:rgba(255,222,92,.12);border:1px solid rgba(255,222,92,.25);color:#ffe46b;font:1000 9px Arial}
.v55AcademyGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px}.v55AcademyGame{min-height:135px;padding:13px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.07);color:#fff;cursor:pointer;text-align:left}.v55AcademyGame b{display:block;font-size:31px}.v55AcademyGame strong{display:block;margin-top:7px;font-size:13px}.v55AcademyGame span{display:block;margin-top:4px;color:#c6d9e9;font-size:9px;font-weight:800;line-height:1.3}
.v55Challenge{margin-top:15px}.v55Challenge h4{margin:0 0 9px;font-size:17px}.v55Choices{display:grid;gap:8px}.v55Choice{width:100%;text-align:left;color:#fff;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12)}.v55Choice:hover{background:rgba(255,255,255,.15)}
.v55AlgoSteps{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v55AlgoStep{min-height:54px;padding:9px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.08);color:#fff;font:1000 10px/1.25 Arial;cursor:pointer}.v55AlgoStep.used{opacity:.34;pointer-events:none}.v55AlgoResult{margin-top:10px;min-height:42px;padding:9px;border-radius:12px;background:rgba(0,0,0,.2);font:900 10px/1.35 ui-monospace,monospace;color:#9af0d4}
.v55SkillInfo{display:flex;gap:8px;align-items:center;margin-top:13px;padding:10px 12px;border-radius:15px;background:rgba(255,226,98,.11);color:#ffe36e;font:1000 10px Arial}.v55SkillGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:14px}.v55SkillBranch{padding:11px;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1)}.v55SkillBranch h4{margin:0 0 9px;font-size:14px}.v55SkillNode{width:100%;min-height:84px;margin-top:8px;padding:9px;border-radius:14px;border:1px solid rgba(255,255,255,.11);background:rgba(2,14,29,.35);color:#fff;text-align:left;cursor:pointer}.v55SkillNode.unlocked{border-color:rgba(101,239,173,.5);background:rgba(45,165,110,.16)}.v55SkillNode.locked{opacity:.5}.v55SkillNode b{display:block;font-size:10px}.v55SkillNode small{display:block;margin-top:4px;color:#bbcee0;font-size:8px;font-weight:750;line-height:1.3}
.v55CarryBadge{position:absolute;right:13px;bottom:160px;z-index:239;display:none;align-items:center;gap:7px;padding:8px 10px;border-radius:14px;background:rgba(5,25,44,.9);border:1px solid rgba(255,218,88,.3);color:#fff;font:1000 9px Arial;pointer-events:none}.v55CarryBadge.show{display:flex}.v55CarryBadge b{font-size:22px}
body.cityGameFullscreen .cityQuestHud{top:max(68px,calc(env(safe-area-inset-top) + 62px))}body.cityGameFullscreen .cityLocationChip{top:max(8px,env(safe-area-inset-top))}
@media(max-width:650px){.cityQuestHud{top:60px;left:8px;width:min(285px,calc(100% - 16px));padding:8px 9px}.cityQuestHud strong{font-size:12px}.cityQuestHud span{font-size:8px}.v55Card{padding:15px;border-radius:22px}.v55HeadIcon{width:52px;height:52px;font-size:30px}.v55Head strong{font-size:20px}.v55AcademyGrid,.v55SkillGrid{grid-template-columns:1fr}.v55AlgoSteps{grid-template-columns:1fr}.v55CarryBadge{right:8px;bottom:128px}}

/* ===== base-3 ===== */
/* =========================================================
       v55.1 - SHOP UPGRADE
       ========================================================= */
    .shopFeatureDeck{margin:12px 0 0;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(230px,.75fr);gap:12px}
    .shopDailyDeal,.shopCollectionCard{position:relative;overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(145deg,#102d62,#091a3a);box-shadow:0 14px 34px rgba(5,23,52,.14)}
    .shopDailyDeal{min-height:176px;padding:18px;display:grid;grid-template-columns:1fr 150px;gap:14px;align-items:center}
    .shopDailyDeal::before{content:"";position:absolute;width:230px;height:230px;right:-75px;top:-95px;border-radius:50%;background:radial-gradient(circle,rgba(255,208,73,.28),transparent 66%);pointer-events:none}
    .shopDealCopy{position:relative;z-index:2;min-width:0}
    .shopDealEyebrow{display:inline-flex;padding:6px 9px;border-radius:999px;color:#573a00;background:#ffe36f;font-size:8px;font-weight:1000;letter-spacing:.06em}
    .shopDealCopy>strong{display:block;margin-top:9px;color:#fff;font-size:20px;line-height:1.05}
    .shopDealCopy>small{display:block;margin-top:6px;max-width:440px;color:#a8c0dc;font-size:9px;font-weight:850;line-height:1.35}
    .shopDealPrice{margin-top:10px;display:flex;align-items:center;gap:8px;color:#ffe36f;font-size:16px;font-weight:1000}
    .shopDealPrice s{color:#8298b6;font-size:11px}
    .shopDealButton{margin-top:9px;min-height:39px;padding:0 14px;border:0;border-radius:12px;cursor:pointer;color:#302100;background:linear-gradient(180deg,#fff08c,#ffc836);box-shadow:0 5px 0 #a96b09;font-size:9px;font-weight:1000}
    .shopDealButton:disabled,.shopDealButton.owned{cursor:default;color:#7d90a8;background:#dce5ed;box-shadow:none}
    .shopDealVisual{position:relative;z-index:2;height:136px;display:grid;place-items:center}
    .shopDealVisual .shopItemEmoji{font-size:86px}
    .shopDealVisual .shopItemArt{width:138px;height:126px}
    .shopDealVisual>i{position:absolute;right:0;top:3px;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#ff566f;box-shadow:0 7px 18px rgba(255,71,100,.28);font-size:13px;font-weight:1000;font-style:normal;transform:rotate(8deg)}
    .shopCollectionCard{padding:16px;display:flex;flex-direction:column;justify-content:center}
    .shopCollectionTop{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#9ebadb;font-size:8px;font-weight:1000;letter-spacing:.06em}
    .shopCollectionTop strong{color:#fff;font-size:18px;letter-spacing:0}
    .shopCollectionBar{height:10px;margin-top:11px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.09)}
    .shopCollectionBar i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5be1ff,#8a79ff,#ffcb49);transition:width .35s ease}
    .shopCollectionCard>small{margin-top:8px;color:#8ea8c7;font-size:8px;font-weight:850}
    .shopDailyGift{margin-top:13px;min-height:43px;border:1px solid rgba(117,232,255,.22);border-radius:13px;cursor:pointer;color:#dffaff;background:linear-gradient(180deg,rgba(76,207,248,.2),rgba(53,120,221,.18));font-size:9px;font-weight:1000;letter-spacing:.035em}
    .shopDailyGift:hover:not(:disabled){filter:brightness(1.12)}
    .shopDailyGift:disabled{cursor:default;color:#7390aa;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08)}
    .gameShopCard.dailyDeal{border-color:#ffd95d!important;box-shadow:0 0 0 1px rgba(255,217,93,.14),0 14px 32px rgba(255,190,45,.12)!important}
    .shopDealRibbon{position:absolute;z-index:4;right:12px;top:51px;padding:5px 8px;border-radius:999px;color:#fff;background:#ff536c;box-shadow:0 4px 13px rgba(255,76,104,.25);font-size:8px;font-weight:1000}
    .shopPrice.dealPrice{gap:4px}
    .shopPrice.dealPrice s{color:#9a7e55;font-size:8px;font-weight:900}
    .roomIsoPlacedItem.asset-missing .roomAssetPlaceholder{width:96px!important;min-height:82px!important;padding:6px!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;display:grid!important;place-items:center!important}
    .roomIsoPlacedItem.asset-missing .roomAssetPlaceholder>small{display:none!important}
    .roomEmojiFallback{max-width:none!important;font-size:64px!important;line-height:1!important;filter:drop-shadow(0 10px 12px rgba(0,0,0,.25));animation:shopItemFloat 3s ease-in-out infinite}
    .roomInventoryArt:not(:has(img)){font-size:42px;line-height:1}
    @media(max-width:760px){
      .shopFeatureDeck{grid-template-columns:1fr}
      .shopDailyDeal{grid-template-columns:1fr 115px;min-height:158px;padding:14px}
      .shopDealCopy>strong{font-size:17px}.shopDealVisual{height:116px}.shopDealVisual .shopItemEmoji{font-size:68px}.shopDealVisual .shopItemArt{width:108px;height:105px}
      .shopCollectionCard{min-height:140px}
    }
    @media(max-width:460px){
      .shopDailyDeal{grid-template-columns:1fr 92px;gap:6px}.shopDealVisual .shopItemEmoji{font-size:58px}.shopDealVisual .shopItemArt{width:88px;height:90px}.shopDealVisual>i{width:40px;height:40px;font-size:10px}
    }

/* ===== base-4 ===== */
/* =========================================================
   v54.9.4 - ЖИВОЙ ГОРОД: РАЗНООБРАЗНЫЙ PASS + 12 ГОТОВЫХ ПРЕДМЕТОВ
   ========================================================= */
.citySocialPrompt{
  position:absolute;left:50%;bottom:88px;z-index:260;transform:translate(-50%,18px) scale(.96);
  min-width:min(430px,calc(100% - 28px));max-width:min(560px,calc(100% - 28px));min-height:58px;padding:9px 12px;
  display:flex;align-items:center;gap:11px;opacity:0;pointer-events:none;border-radius:18px;
  color:#fff;background:rgba(4,22,42,.92);border:2px solid rgba(111,231,255,.28);
  box-shadow:0 15px 34px rgba(0,0,0,.25);backdrop-filter:blur(10px);transition:.16s ease;
}
.citySocialPrompt.show{opacity:1;transform:translate(-50%,0) scale(1)}
.citySocialPrompt .key{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(180deg,#fff7b0,#ffc43d);color:#573c00;font:1000 19px/1 Arial;box-shadow:0 4px 0 #9f6b13}
.citySocialPrompt strong{display:block;font-size:14px;line-height:1.05}.citySocialPrompt small{display:block;margin-top:4px;color:#bfe4f7;font-size:9px;font-weight:900}
.citySocialPrompt .socialIcon{margin-left:auto;font-size:26px}

.citySocialModal,.cityDuelModal,.cityQuizModal{
  position:fixed;inset:0;z-index:10140;display:none;place-items:center;padding:16px;
}
.citySocialModal.show,.cityDuelModal.show,.cityQuizModal.show{display:grid}
.citySocialBackdrop{position:absolute;inset:0;background:rgba(2,10,24,.78);backdrop-filter:blur(9px)}
.citySocialCard,.cityDuelCard,.cityQuizCard{
  width:min(560px,94vw);max-height:92vh;overflow:auto;position:relative;z-index:2;border-radius:28px;padding:18px;
  color:#fff;background:linear-gradient(155deg,#0a2348,#0d3d6a 58%,#302b70);border:1px solid rgba(120,231,255,.28);
  box-shadow:0 34px 100px rgba(0,0,0,.55);animation:citySocialPop .25s cubic-bezier(.2,.9,.2,1.08) both;
}
@keyframes citySocialPop{from{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:none}}
.citySocialHead{display:flex;align-items:center;gap:12px;padding-right:48px}.citySocialAvatar{width:68px;height:68px;flex:0 0 68px;display:grid;place-items:center;border-radius:20px;background:rgba(255,255,255,.12);font-size:38px;border:1px solid rgba(255,255,255,.14);overflow:hidden}.citySocialAvatar img{width:100%;height:100%;object-fit:cover}
.citySocialHead small{display:block;color:#82e9ff;font-size:9px;font-weight:1000;letter-spacing:.08em}.citySocialHead strong{display:block;margin-top:3px;font-size:26px;line-height:1}.citySocialHead span{display:block;margin-top:6px;color:#c8d9ef;font-size:10px;font-weight:900}
.citySocialClose{position:absolute;right:14px;top:14px;width:40px;height:40px;border:0;border-radius:13px;cursor:pointer;color:#fff;background:rgba(255,255,255,.11);font-size:20px;font-weight:1000}
.citySocialActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:17px}.citySocialActions button{min-height:58px;padding:8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:17px;cursor:pointer;color:#fff;background:rgba(255,255,255,.09);font:1000 12px/1.1 Arial;transition:.15s ease}.citySocialActions button:hover{transform:translateY(-2px);background:rgba(255,255,255,.15)}.citySocialActions button.primary{background:linear-gradient(135deg,#ff9a3c,#ff4f78);box-shadow:0 8px 20px rgba(255,83,107,.22)}.citySocialActions button.dance{background:linear-gradient(135deg,#b55cff,#556cff)}
.citySocialHint{margin-top:12px;padding:10px 12px;border-radius:14px;color:#bcd2e8;background:rgba(0,0,0,.16);font-size:9px;font-weight:900;text-align:center}

.cityDuelCard{text-align:center;width:min(520px,94vw)}.cityDuelIcon{font-size:64px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.3))}.cityDuelCard h3{margin:8px 0 0;font-size:31px}.cityDuelCard p{margin:8px auto 0;max-width:410px;color:#cbdff0;font-size:11px;font-weight:900;line-height:1.45}.cityDuelVs{margin:15px 0;padding:11px;border-radius:16px;background:rgba(0,0,0,.16);font-size:13px;font-weight:1000}.cityDuelCountdown{height:92px;display:grid;place-items:center;font:1000 54px/1 Arial;color:#ffe36d;text-shadow:0 0 24px rgba(255,217,80,.35)}
.cityDuelTap{width:min(300px,78vw);height:118px;border:0;border-radius:28px;cursor:pointer;color:#fff;background:linear-gradient(180deg,#ff6683,#d52e58);box-shadow:0 9px 0 #7d1936,0 22px 50px rgba(255,60,102,.3);font:1000 30px/1 Arial;transition:.08s ease}.cityDuelTap:active{transform:translateY(6px);box-shadow:0 3px 0 #7d1936}.cityDuelTap[disabled]{opacity:.55;cursor:default;filter:grayscale(.35)}
.cityDuelButtons{display:flex;gap:9px;justify-content:center;margin-top:15px}.cityDuelButtons button{min-width:130px;min-height:50px;border:0;border-radius:15px;cursor:pointer;font:1000 11px Arial}.cityDuelAccept{color:#093d28;background:#65efad}.cityDuelDecline{color:#fff;background:rgba(255,255,255,.12)}

.cityQuizCard{width:min(600px,94vw)}.cityQuizNpc{display:flex;align-items:center;gap:12px}.cityQuizNpc .face{width:70px;height:70px;display:grid;place-items:center;border-radius:21px;background:rgba(255,255,255,.12);font-size:42px}.cityQuizNpc small{display:block;color:#82e9ff;font-size:9px;font-weight:1000}.cityQuizNpc strong{font-size:25px}.cityQuizQuestion{margin-top:16px;padding:16px;border-radius:19px;background:rgba(1,13,30,.33);font-size:16px;font-weight:1000;line-height:1.35}.cityQuizCode{display:block;margin-top:10px;padding:12px;border-radius:13px;background:#05162c;color:#8df6d0;font:900 13px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;text-align:left}.cityQuizAnswers{display:grid;gap:8px;margin-top:12px}.cityQuizAnswers button{min-height:52px;padding:9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:15px;cursor:pointer;color:#fff;background:rgba(255,255,255,.08);font:1000 11px/1.25 Arial;text-align:left}.cityQuizAnswers button:hover{background:rgba(255,255,255,.15)}

.cityNpcBubble{position:absolute;pointer-events:none;z-index:230}.cityNpcBubble span{display:block;padding:4px 7px;border-radius:9px;color:#fff;background:rgba(5,26,47,.84);border:1px solid rgba(255,255,255,.16);font:1000 8px Arial;white-space:nowrap}

body.cityGameFullscreen .citySocialPrompt{bottom:max(92px,calc(env(safe-area-inset-bottom) + 82px))}
body.cityGameFullscreen .citySocialModal,body.cityGameFullscreen .cityDuelModal,body.cityGameFullscreen .cityQuizModal{z-index:2147483400!important}
@media(max-width:650px){.citySocialPrompt{bottom:124px;min-height:52px}.citySocialPrompt .key{width:36px;height:36px;flex-basis:36px;font-size:16px}.citySocialPrompt strong{font-size:11px}.citySocialActions{grid-template-columns:1fr 1fr}.citySocialCard,.cityDuelCard,.cityQuizCard{border-radius:22px;padding:14px}.citySocialHead strong{font-size:21px}.cityDuelTap{height:104px;font-size:25px}}
@media(max-height:600px) and (orientation:landscape){body.cityGameFullscreen .citySocialPrompt{bottom:78px;min-height:46px;padding:6px 9px}.citySocialPrompt small{display:none}.citySocialCard,.cityDuelCard,.cityQuizCard{max-height:94vh}.cityDuelIcon{font-size:42px}.cityDuelCountdown{height:54px;font-size:38px}.cityDuelTap{height:72px;font-size:22px}.citySocialActions button{min-height:46px}}

    /* v54.9.2 - меню живёт в мире; исправлены лавочки и расстановка NPC */
    .cityStageSystemControls{margin-left:4px}
    .cityStageStatus .cityStageSystemControls .cityFullscreenButton{
      width:42px!important;min-width:42px!important;padding:0!important;justify-content:center!important;
      border-radius:13px!important;font-size:20px!important;opacity:.86;
    }
    .cityStageStatus .cityStageSystemControls .cityFullscreenButton:hover{opacity:1}
    .lessonLiveTasksCounter{cursor:default!important;pointer-events:none!important;user-select:none}
    .cityStageEnabled .roomHudProfileButton{display:none!important}
    @media(max-width:760px){
      .cityStageStatus .cityStageSystemControls .cityFullscreenButton{width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important}
    }


/* koderia-access.css */
/* Koderia v59.3.0 public access bridge */
.koderiaPortalBox{display:grid;gap:10px;padding:14px;border-radius:18px;background:linear-gradient(135deg,rgba(69,210,255,.12),rgba(134,100,255,.11));border:1px solid rgba(90,180,255,.22);margin-top:14px}.koderiaPortalBox strong{font-size:14px;color:#143d66}.koderiaPortalBox p{margin:0!important;font-size:10px!important;line-height:1.45!important;color:#64809c!important}.koderiaPortalButton{display:flex;align-items:center;justify-content:center;text-decoration:none;padding:13px 14px;border-radius:13px;background:linear-gradient(100deg,#68ddff,#7f8dff,#bd78ff);color:#07172b!important;font-weight:1000;font-size:12px;box-shadow:0 9px 24px rgba(87,156,245,.18)}.koderiaLegacyLogin{margin-top:8px}.koderiaLegacyLogin summary{cursor:pointer;font-size:9px;font-weight:900;color:#8198af}.koderiaLegacyLogin .cloudLoginBox{margin-top:8px}


/* world.css */
/* ===== v55-4-world-style ===== */
.cityLocationChip{
  left:14px!important; top:12px!important; transform:translateY(-12px)!important;
  min-width:240px!important; max-width:min(360px,calc(100vw - 22px));
  border-radius:20px!important; padding:12px 14px!important; text-align:left!important;
  background:linear-gradient(180deg,rgba(7,27,46,.92),rgba(8,32,58,.94))!important;
  border:1px solid rgba(118,235,255,.34)!important; box-shadow:0 18px 40px rgba(8,28,52,.28)!important;
}
.cityLocationChip.show{transform:translateY(0)!important}
.cityLocationChip .locLabel{display:block;color:#8eeeff;font-size:9px;font-weight:1000;letter-spacing:.13em}
.cityLocationChip .locName{display:block;margin-top:3px;color:#fff;font-size:18px;line-height:1.1}
.cityLocationChip .locDesc{display:block;margin-top:4px;color:#d4e6f6;font-size:10px;font-weight:900;line-height:1.25}
#adminHorseButton{
  position:absolute;right:14px;bottom:132px;z-index:285;min-height:62px;min-width:210px;padding:0 16px;
  display:none;align-items:center;justify-content:center;gap:10px;border:0;border-radius:18px;cursor:pointer;
  color:#fff;background:linear-gradient(180deg,#5f86ff,#3859cf);box-shadow:0 10px 0 #20398d,0 18px 36px rgba(33,52,129,.28);
  font:1000 15px/1.1 Trebuchet MS,Arial;letter-spacing:.02em;
}
#adminHorseButton small{display:block;color:#dfe7ff;font-size:9px;font-weight:900;letter-spacing:.06em}
#adminHorseButton .horseIcon{font-size:28px;line-height:1}
#adminHorseButton.active{background:linear-gradient(180deg,#ffd86f,#ffae38);box-shadow:0 10px 0 #91550d,0 18px 36px rgba(123,79,16,.32);color:#4e2e00}
#adminHorseButton.active small{color:#734300}
body.cityGameFullscreen #adminHorseButton{bottom:max(138px,calc(env(safe-area-inset-bottom) + 132px));right:max(12px,env(safe-area-inset-right))}
@media(max-width:720px){
  .cityLocationChip{min-width:200px!important;max-width:min(280px,calc(100vw - 16px));padding:10px 11px!important}
  .cityLocationChip .locName{font-size:15px}.cityLocationChip .locDesc{font-size:9px}
  #adminHorseButton{right:10px;bottom:118px;min-width:164px;min-height:56px;padding:0 12px;font-size:13px;border-radius:16px}
  #adminHorseButton .horseIcon{font-size:24px}
  #adminHorseButton small{font-size:8px}
}

/* ===== v55-5-quests-shop-style ===== */
.cityQuestHud{
  top:72px!important;left:14px!important;width:min(390px,calc(100vw - 28px))!important;padding:14px 16px 14px 16px!important;
  border-radius:24px!important;overflow:hidden;background:linear-gradient(180deg,rgba(7,23,40,.96),rgba(14,36,60,.95))!important;
  border:1px solid rgba(122,236,255,.34)!important;box-shadow:0 20px 46px rgba(8,24,48,.34)!important;
}
.cityQuestHud::before{content:"";position:absolute;inset:-30% auto auto -10%;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(115,232,255,.22),transparent 68%);animation:questHudOrb 3.2s ease-in-out infinite}
.cityQuestHud::after{content:"";position:absolute;right:-25px;top:-28px;width:110px;height:110px;border-radius:28px;background:linear-gradient(180deg,rgba(255,223,105,.22),rgba(255,223,105,0));transform:rotate(18deg)}
.cityQuestHud small{position:relative;display:flex!important;align-items:center;gap:8px;color:#91efff!important;font-size:10px!important;font-weight:1000!important;letter-spacing:.14em!important}
.cityQuestHud strong{position:relative;display:block;margin-top:8px!important;font-size:20px!important;line-height:1.08!important;color:#fff}
.cityQuestHud span{position:relative;display:block;margin-top:8px!important;color:#dcedfb!important;font-size:12px!important;font-weight:900!important;line-height:1.35!important}
#cityQuestProgress{height:14px!important;border-radius:999px!important;background:rgba(255,255,255,.10)!important;overflow:hidden;box-shadow:inset 0 2px 8px rgba(0,0,0,.24)}
#cityQuestProgressFill{background:linear-gradient(90deg,#74ebff,#8eea9d 52%,#ffe473)!important;box-shadow:0 0 18px rgba(116,235,255,.45)!important;transition:width .45s cubic-bezier(.2,.9,.2,1.1)!important}
#cityQuestHud.hype{animation:questHudPulse .55s ease}
.v55Modal.show .v55Card{animation:questPop .28s ease}
#v55QuestModal .v55Card{max-width:650px!important;border-radius:28px!important;background:linear-gradient(180deg,#0d2136,#112946 48%,#10253f)!important;border:1px solid rgba(130,236,255,.28)!important;box-shadow:0 24px 60px rgba(4,12,24,.46)!important;overflow:hidden;position:relative}
#v55QuestModal .v55Card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 32%,transparent 70%,rgba(255,228,120,.08));pointer-events:none}
#v55QuestModal .v55Head{padding-bottom:12px!important;border-bottom:1px solid rgba(255,255,255,.08)}
#v55QuestModal .v55HeadIcon{width:76px!important;height:76px!important;font-size:42px!important;border-radius:24px!important;box-shadow:0 14px 26px rgba(68,187,255,.28)!important}
#v55QuestModal .v55Head strong{font-size:28px!important;line-height:1.05!important}
#v55QuestModal .v55Head small{font-size:11px!important;color:#95f3ff!important;letter-spacing:.14em!important}
#v55QuestModal .v55Body{padding-top:16px!important}
.v55QuestFancy{display:grid;gap:12px}
.v55QuestHero{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:16px 18px;border-radius:22px;background:linear-gradient(180deg,rgba(108,232,255,.12),rgba(255,255,255,.03));border:1px solid rgba(118,238,255,.22)}
.v55QuestHeroText b{display:block;font-size:22px;color:#fff;line-height:1.08}.v55QuestHeroText small{display:block;margin-top:7px;font-size:13px;color:#dcecfb;line-height:1.4;font-weight:850}
.v55QuestHeroIcon{display:flex;align-items:center;justify-content:center;width:82px;height:82px;border-radius:24px;background:radial-gradient(circle at 35% 28%,rgba(255,231,128,.32),rgba(86,160,255,.14));font-size:42px;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.v55QuestMiniGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v55QuestMini{padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}
.v55QuestMini strong{display:block;font-size:11px;color:#8de8ff;letter-spacing:.12em;margin-bottom:6px}.v55QuestMini span{display:block;color:#fff;font-size:15px;font-weight:1000;line-height:1.25}
.v55QuestSteps{display:grid;gap:9px}
.v55QuestStep{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:rgba(5,16,29,.35);border:1px solid rgba(255,255,255,.06)}
.v55QuestStep i{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:linear-gradient(180deg,#78ebff,#4f89ff);color:#071627;font-style:normal;font-size:12px;font-weight:1000;flex:0 0 28px}
.v55QuestStep span{display:block;color:#e6f4ff;font-size:13px;font-weight:900;line-height:1.35}
#v55QuestReward{margin-top:14px!important;padding:13px 16px!important;border-radius:18px!important;background:linear-gradient(90deg,rgba(255,224,121,.16),rgba(122,236,255,.14))!important;border:1px solid rgba(255,228,121,.22)!important;font-size:14px!important;font-weight:1000!important;color:#fff!important;box-shadow:0 8px 22px rgba(255,211,106,.1)!important}
#v55QuestActions{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px!important}
#v55QuestActions .v55Primary{min-height:58px!important;border-radius:18px!important;font-size:14px!important;letter-spacing:.02em!important;box-shadow:0 10px 26px rgba(19,55,96,.25)!important;transition:transform .18s ease,filter .18s ease}
#v55QuestActions .v55Primary:hover{transform:translateY(-2px);filter:brightness(1.06)}
#v55QuestActions .v55Secondary{background:linear-gradient(180deg,#334766,#24344f)!important;box-shadow:none!important}
#shopGrid .shopItem[data-pet-item="1"] .shopVisual{background:radial-gradient(circle at 50% 20%,rgba(255,232,127,.18),rgba(255,255,255,.02));border:1px solid rgba(255,225,123,.18)}
@keyframes questHudPulse{0%{transform:scale(1)}35%{transform:scale(1.018)}100%{transform:scale(1)}}
@keyframes questHudOrb{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}
@keyframes questPop{0%{transform:translateY(18px) scale(.96);opacity:0}100%{transform:translateY(0) scale(1);opacity:1}}
@media(max-width:700px){
  .cityQuestHud{top:70px!important;left:10px!important;width:min(94vw,360px)!important;padding:12px 13px!important}
  .cityQuestHud strong{font-size:17px!important}.cityQuestHud span{font-size:11px!important}
  #v55QuestModal .v55Head strong{font-size:24px!important}
  .v55QuestHero{grid-template-columns:1fr}.v55QuestHeroIcon{width:68px;height:68px;font-size:36px}
  .v55QuestHeroText b{font-size:19px}.v55QuestMiniGrid{grid-template-columns:1fr}
}

/* ===== v55-6-live-world-style ===== */
/* v55.6 - живой мир */
#worldMapButton,#studentTransportButton{
  position:absolute;z-index:286;border:0;cursor:pointer;color:#fff;font:1000 12px/1.1 Trebuchet MS,Arial;
  border-radius:16px;box-shadow:0 8px 0 rgba(8,32,66,.72),0 14px 30px rgba(7,25,52,.22);transition:.16s ease;
}
#worldMapButton:hover,#studentTransportButton:hover{transform:translateY(-2px);filter:brightness(1.07)}
#worldMapButton{left:14px;bottom:18px;min-height:48px;padding:0 15px;background:linear-gradient(180deg,#35bce8,#2276c6)}
#studentTransportButton{right:14px;bottom:205px;min-height:54px;padding:0 14px;background:linear-gradient(180deg,#8a75ff,#5b48d7);display:none}
#studentTransportButton.active{background:linear-gradient(180deg,#ffdf6f,#ffab36);color:#553000;box-shadow:0 8px 0 #95550d,0 14px 30px rgba(108,68,13,.24)}
body.cityGameFullscreen #worldMapButton{left:max(12px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom))}
body.cityGameFullscreen #studentTransportButton{right:max(12px,env(safe-area-inset-right));bottom:max(206px,calc(env(safe-area-inset-bottom) + 198px))}

.v556WorldMapModal{position:fixed;inset:0;z-index:2147483500;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(2,9,20,.72);backdrop-filter:blur(10px)}
.v556WorldMapModal.show{display:flex}.v556WorldMapCard{width:min(900px,96vw);max-height:92vh;padding:18px;border-radius:28px;background:linear-gradient(180deg,#081c35,#102e51);border:1px solid rgba(128,230,255,.26);box-shadow:0 30px 80px rgba(0,0,0,.5);overflow:auto;color:#fff}
.v556WorldMapHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.v556WorldMapHead h3{margin:0;font-size:28px}.v556WorldMapHead p{margin:4px 0 0;color:#b9d9ee;font-size:11px;font-weight:850}.v556MapClose{width:44px;height:44px;border:0;border-radius:14px;cursor:pointer;color:#fff;background:rgba(255,255,255,.09);font-size:20px}
.v556MapCanvas{position:relative;margin-top:14px;aspect-ratio:1.55/1;min-height:420px;border-radius:24px;overflow:hidden;background:radial-gradient(circle at 45% 42%,rgba(96,212,255,.12),transparent 24%),linear-gradient(180deg,#173f57,#244d55 55%,#2d5348);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 0 60px rgba(0,0,0,.25)}
.v556MapRoad{position:absolute;height:5px;border-radius:999px;background:rgba(232,244,255,.28);transform-origin:left center}.v556MapZone{position:absolute;border-radius:14px;display:flex;align-items:center;justify-content:center;text-align:center;padding:4px;color:#fff;border:2px solid rgba(255,255,255,.26);box-shadow:0 8px 18px rgba(0,0,0,.18);font-size:11px;font-weight:1000;line-height:1.15}.v556MapZone small{display:block;margin-top:2px;font-size:7px;opacity:.82}.v556MapZone.plaza{background:#235f81}.v556MapPlayer{position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;border:5px solid #67e8ff;box-shadow:0 0 0 6px rgba(103,232,255,.2),0 0 24px #67e8ff;transform:translate(-50%,-50%);animation:v556PlayerPulse 1.4s ease-in-out infinite}.v556MapSecret{position:absolute;transform:translate(-50%,-50%);font-size:15px;filter:drop-shadow(0 3px 5px rgba(0,0,0,.4))}.v556MapLegend{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.v556MapLegend span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.07);font-size:9px;font-weight:900;color:#d9edfb}

.v556EventBanner{position:absolute;left:50%;top:14px;transform:translate(-50%,-18px);z-index:290;min-width:360px;max-width:min(620px,calc(100vw - 28px));padding:10px 12px;border-radius:20px;display:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;color:#fff;background:linear-gradient(110deg,rgba(90,39,108,.96),rgba(19,77,123,.96));border:1px solid rgba(255,226,104,.28);box-shadow:0 18px 42px rgba(7,22,47,.34);opacity:0;transition:.28s ease}.v556EventBanner.show{display:grid;opacity:1;transform:translate(-50%,0)}.v556EventIcon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.11);font-size:27px;animation:v556EventBounce 1.4s ease-in-out infinite}.v556EventBanner small{display:block;color:#ffe581;font-size:8px;font-weight:1000;letter-spacing:.12em}.v556EventBanner strong{display:block;margin-top:3px;font-size:14px}.v556EventBanner span{display:block;margin-top:3px;color:#d9eafb;font-size:9px;font-weight:850}.v556EventGo{min-height:38px;padding:0 11px;border:0;border-radius:12px;cursor:pointer;color:#422c00;background:linear-gradient(180deg,#ffe77b,#ffbc3d);font-size:9px;font-weight:1000}

.v556SecretToast{position:absolute;left:50%;bottom:82px;z-index:288;transform:translate(-50%,20px);min-width:260px;padding:12px 16px;border-radius:18px;pointer-events:none;text-align:center;color:#fff;background:linear-gradient(110deg,rgba(57,35,101,.96),rgba(16,91,103,.96));border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 34px rgba(0,0,0,.3);opacity:0;transition:.3s ease}.v556SecretToast.show{opacity:1;transform:translate(-50%,0)}.v556SecretToast strong{display:block;font-size:15px}.v556SecretToast small{display:block;margin-top:4px;color:#d8f4ff;font-size:9px;font-weight:900}

/* More skins */
.profileHeroCard.skin-aurora,.wardrobeSkinCard.skin-aurora,.wardrobePreviewCard.skin-aurora,.hubProfileStage.skin-aurora,.hubProfileButton.skin-aurora{background:linear-gradient(135deg,#12264a,#256b78 48%,#7f5dca 78%,#61f1b4)!important}
.profileHeroCard.skin-ember,.wardrobeSkinCard.skin-ember,.wardrobePreviewCard.skin-ember,.hubProfileStage.skin-ember,.hubProfileButton.skin-ember{background:linear-gradient(135deg,#2b1621,#853d31 50%,#ff9543 80%,#ffd26a)!important}
.profileHeroCard.skin-ocean,.wardrobeSkinCard.skin-ocean,.wardrobePreviewCard.skin-ocean,.hubProfileStage.skin-ocean,.hubProfileButton.skin-ocean{background:linear-gradient(135deg,#071f48,#075b82 52%,#20c6b7)!important}
.profileHeroCard.skin-storm,.wardrobeSkinCard.skin-storm,.wardrobePreviewCard.skin-storm,.hubProfileStage.skin-storm,.hubProfileButton.skin-storm{background:linear-gradient(135deg,#15172b,#35486f 48%,#6d74ff 76%,#a8c7ff)!important}
.profileHeroCard.skin-matrixx,.wardrobeSkinCard.skin-matrixx,.wardrobePreviewCard.skin-matrixx,.hubProfileStage.skin-matrixx,.hubProfileButton.skin-matrixx{background:linear-gradient(135deg,#07180b,#0d4b24 52%,#1dbb55)!important}
.profileHeroCard.skin-sunset,.wardrobeSkinCard.skin-sunset,.wardrobePreviewCard.skin-sunset,.hubProfileStage.skin-sunset,.hubProfileButton.skin-sunset{background:linear-gradient(135deg,#54214c,#c65169 48%,#ff9b50 82%)!important}

@keyframes v556EventBounce{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-5px) rotate(4deg)}}
@keyframes v556PlayerPulse{0%,100%{box-shadow:0 0 0 4px rgba(103,232,255,.16),0 0 18px #67e8ff}50%{box-shadow:0 0 0 9px rgba(103,232,255,.05),0 0 30px #67e8ff}}
@media(max-width:700px){.v556EventBanner{top:64px;min-width:0;width:calc(100% - 18px);grid-template-columns:auto 1fr}.v556EventGo{grid-column:1/-1;width:100%}.v556MapCanvas{min-height:330px}.v556WorldMapHead h3{font-size:22px}#worldMapButton{bottom:14px}.v556WorldMapModal{padding:8px}.v556WorldMapCard{padding:12px;border-radius:22px}}

/* ===== v55-8-location-pass-style ===== */
/* v55.8 - all location UI belongs to the game frame, never to the page itself */
.cityStageCanvasWrap{position:relative!important}
.cityStageCanvasWrap>.cityLocationChip{
  position:absolute!important;left:14px!important;top:12px!important;right:auto!important;
  transform:translateY(-10px)!important;z-index:310!important;
}
.cityStageCanvasWrap>.cityLocationChip.show{transform:translateY(0)!important}
/* Duplicate old lower-left location marker is removed - the live marker/topbar replace it. */
.cityStageMiniMapLabel{display:none!important}
body.cityGameFullscreen .cityStageCanvasWrap>.cityLocationChip{top:max(12px,env(safe-area-inset-top))!important;left:max(12px,env(safe-area-inset-left))!important}
/* Make the relocated PASS object feel like a main-square landmark. */
.cityStageLocation strong{transition:opacity .16s ease,transform .16s ease}
.cityStageLocation.locationChanged strong{animation:v558LocationName .38s ease}
@keyframes v558LocationName{0%{opacity:.25;transform:translateY(-3px)}100%{opacity:1;transform:translateY(0)}}

/* ===== v55-9-core-polish-style ===== */
/* ================= v55.9 CORE GAMEPLAY POLISH ================= */
.cityQuestHud{padding-bottom:13px!important}
.v559QuestNav{position:relative;margin-top:11px;padding:10px 11px;border-radius:17px;display:none;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;background:linear-gradient(90deg,rgba(89,218,255,.13),rgba(255,225,112,.09));border:1px solid rgba(127,235,255,.19);cursor:pointer;overflow:hidden}
.v559QuestNav.show{display:grid}.v559QuestNav::after{content:"";position:absolute;inset:-40% auto auto -5%;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(101,226,255,.16),transparent 70%);pointer-events:none}
.v559NavArrow{position:relative;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(180deg,#78ecff,#4c8aff);box-shadow:0 7px 18px rgba(70,160,255,.25);color:#061629;font-size:23px;font-weight:1000;transition:transform .15s linear}
.v559NavCopy{position:relative;min-width:0}.v559NavCopy strong{display:block!important;margin:0!important;color:#fff!important;font-size:11px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v559NavCopy span{display:block!important;margin:3px 0 0!important;color:#9deeff!important;font-size:9px!important;letter-spacing:.03em}.v559NavGo{position:relative;min-height:38px;padding:0 11px;border:0;border-radius:12px;background:linear-gradient(180deg,#ffe77c,#ffbb3e);color:#472e00;font:1000 9px Trebuchet MS,Arial;cursor:pointer}
.v559MapQuest{position:absolute;z-index:12;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ffe16d;border:4px solid #fff;color:#392800;font-size:16px;box-shadow:0 0 0 7px rgba(255,225,109,.18),0 0 28px rgba(255,225,109,.72);animation:v559MapQuestPulse 1.15s ease-in-out infinite}.v559MapQuest::after{content:"ЦЕЛЬ";position:absolute;top:34px;left:50%;transform:translateX(-50%);padding:3px 6px;border-radius:7px;background:rgba(5,22,39,.91);color:#fff;font:1000 7px Trebuchet MS,Arial;white-space:nowrap}
.v559DailyShelf{margin:12px 0 0;padding:13px;border-radius:24px;background:linear-gradient(135deg,rgba(17,49,81,.96),rgba(48,35,91,.95));border:1px solid rgba(127,225,255,.16);box-shadow:0 14px 30px rgba(24,44,78,.10)}
.v559ShelfHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.v559ShelfHead div>small{display:block;color:#84eaff;font-size:8px;font-weight:1000;letter-spacing:.13em}.v559ShelfHead div>strong{display:block;margin-top:3px;color:#fff;font-size:18px}.v559ShelfHead>span{padding:6px 9px;border-radius:999px;background:rgba(255,225,105,.12);color:#ffe37e;font-size:8px;font-weight:1000}
.v559ShelfGrid{margin-top:11px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.v559ShelfItem{min-height:116px;padding:11px;border-radius:18px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:#fff}.v559ShelfEmoji{width:56px;height:56px;border-radius:17px;display:grid;place-items:center;background:radial-gradient(circle at 35% 28%,rgba(255,232,131,.22),rgba(104,176,255,.08));font-size:31px}.v559ShelfInfo{min-width:0}.v559ShelfInfo strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v559ShelfInfo small{display:block;margin-top:4px;color:#bed5e8;font-size:8px;font-weight:850;line-height:1.25}.v559ShelfAction{margin-top:8px;min-height:30px;padding:0 9px;border:0;border-radius:10px;cursor:pointer;background:linear-gradient(180deg,#54d9f4,#2f87d3);color:#fff;font-size:8px;font-weight:1000}.v559ShelfAction.owned{background:rgba(255,255,255,.10);color:#bfe5f6}.v559ShelfAction:disabled{opacity:.55;cursor:default}
.v559GoalCard{position:absolute;right:14px;top:82px;z-index:281;width:min(286px,calc(100% - 28px));padding:12px;border-radius:20px;background:linear-gradient(180deg,rgba(9,30,52,.95),rgba(18,44,72,.95));border:1px solid rgba(121,232,255,.22);box-shadow:0 18px 38px rgba(5,20,42,.28);color:#fff}.v559GoalCard.hide{display:none}.v559GoalHead{display:flex;align-items:center;justify-content:space-between;gap:8px}.v559GoalHead small{color:#8eeeff;font-size:8px;font-weight:1000;letter-spacing:.12em}.v559GoalHead button{width:28px;height:28px;border:0;border-radius:9px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}.v559GoalCard>strong{display:block;margin-top:3px;font-size:16px}.v559Goals{margin-top:9px;display:grid;gap:6px}.v559Goal{min-height:32px;padding:6px 8px;border-radius:11px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.05);font-size:9px;font-weight:900;color:#dbeaf6}.v559Goal.done{color:#a8f2c1;background:rgba(94,211,133,.09)}
.v559RewardFlash{position:absolute;inset:0;z-index:340;pointer-events:none;overflow:hidden;display:none;place-items:center}.v559RewardFlash.show{display:grid;animation:v559Flash .8s ease both}.v559RewardCore{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,241,159,.7),rgba(100,218,255,.2) 45%,transparent 70%);font-size:50px;animation:v559Core .75s cubic-bezier(.2,.9,.2,1.2)}.v559Particle{position:absolute;left:50%;top:50%;font-size:18px;animation:v559Particle .85s ease-out both}
.v559LevelUp{position:absolute;left:50%;top:45%;z-index:345;transform:translate(-50%,-50%);pointer-events:none;display:none;text-align:center}.v559LevelUp.show{display:block;animation:v559LevelUp .95s ease both}.v559LevelUp small{display:block;color:#8ff0ff;font:1000 11px Trebuchet MS,Arial;letter-spacing:.18em}.v559LevelUp strong{display:block;margin-top:4px;color:#fff;font:1000 42px Trebuchet MS,Arial;text-shadow:0 8px 30px rgba(55,185,255,.55)}
.v559WorldEventBoost{animation:v559EventGlow 1.6s ease-in-out infinite!important;border-color:rgba(255,231,111,.48)!important;box-shadow:0 18px 46px rgba(7,22,47,.38),0 0 28px rgba(255,213,78,.16)!important}
@keyframes v559MapQuestPulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.12)}}
@keyframes v559Flash{0%{background:rgba(255,255,255,0)}25%{background:rgba(160,236,255,.10)}100%{background:rgba(255,255,255,0)}}
@keyframes v559Core{0%{transform:scale(.35);opacity:0}55%{transform:scale(1.2);opacity:1}100%{transform:scale(1);opacity:0}}
@keyframes v559Particle{0%{transform:translate(-50%,-50%) rotate(var(--a)) translateY(0) scale(.4);opacity:1}100%{transform:translate(-50%,-50%) rotate(var(--a)) translateY(-150px) scale(1.15);opacity:0}}
@keyframes v559LevelUp{0%{transform:translate(-50%,-35%) scale(.72);opacity:0}30%{transform:translate(-50%,-50%) scale(1.08);opacity:1}75%{opacity:1}100%{transform:translate(-50%,-65%) scale(1);opacity:0}}
@keyframes v559EventGlow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.09)}}
@media(max-width:760px){.v559ShelfGrid{grid-template-columns:1fr}.v559GoalCard{top:auto;bottom:82px;right:8px;width:min(250px,calc(100% - 16px))}.v559QuestNav{grid-template-columns:auto 1fr}.v559NavGo{grid-column:1/-1;width:100%}.v559LevelUp strong{font-size:34px}}

/* ===== v56-first-run-style ===== */
/* ================= v56.0 FIRST RUN ================= */
.cityStageCanvasWrap.v560TutorialMode .v559GoalCard,
.cityStageCanvasWrap.v560TutorialMode #v556WorldMapButton,
.cityStageCanvasWrap.v560TutorialMode #v556EventBanner,
.cityStageCanvasWrap.v560TutorialMode .cityQuestHud,
.cityStageCanvasWrap.v560TutorialMode .cityLocationChip,
.cityStageCanvasWrap.v560TutorialMode #v557TransportButton,
.cityStageCanvasWrap.v560TutorialMode #adminHorseButton{display:none!important}
.v560Mission{position:absolute;left:50%;top:18px;z-index:390;transform:translateX(-50%);min-width:260px;max-width:min(420px,calc(100% - 24px));padding:12px 16px;border-radius:20px;display:none;align-items:center;justify-content:center;gap:12px;background:linear-gradient(180deg,rgba(6,24,43,.96),rgba(11,38,64,.96));border:1px solid rgba(123,234,255,.34);box-shadow:0 18px 42px rgba(4,16,36,.34);color:#fff;text-align:center;pointer-events:none}
.v560Mission.show{display:flex;animation:v560MissionIn .28s ease}.v560MissionIcon{font-size:31px;filter:drop-shadow(0 0 12px rgba(117,234,255,.4))}.v560Mission strong{font:1000 17px/1.05 Trebuchet MS,Arial;letter-spacing:.03em}.v560Mission small{display:block;margin-top:3px;color:#95edff;font:900 9px Trebuchet MS,Arial;letter-spacing:.12em}
.v560Skip{position:absolute;right:12px;top:12px;z-index:395;display:none;min-height:34px;padding:0 10px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(8,26,47,.72);color:#c7d8e8;font:900 8px Trebuchet MS,Arial;cursor:pointer}.v560TutorialMode .v560Skip{display:block}
.v560PetChoice,.v560WorldChoice{position:absolute;inset:0;z-index:410;display:none;place-items:center;padding:18px;background:rgba(3,13,25,.60);backdrop-filter:blur(7px)}.v560PetChoice.show,.v560WorldChoice.show{display:grid;animation:v560Fade .25s ease}
.v560ChoiceCard{width:min(520px,94%);padding:22px;border-radius:28px;background:linear-gradient(180deg,#0c2742,#122e4e);border:1px solid rgba(125,235,255,.27);box-shadow:0 28px 70px rgba(2,12,28,.5);text-align:center;color:#fff}.v560ChoiceCard>span{display:block;color:#8cecff;font:1000 10px Trebuchet MS,Arial;letter-spacing:.14em}.v560ChoiceCard>strong{display:block;margin-top:5px;font:1000 27px/1.05 Trebuchet MS,Arial}
.v560PetButtons,.v560WorldButtons{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.v560PetButton,.v560WorldButton{min-height:116px;border:1px solid rgba(255,255,255,.12);border-radius:22px;cursor:pointer;color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.045));box-shadow:0 9px 24px rgba(0,0,0,.17);transition:.16s ease}.v560PetButton:hover,.v560WorldButton:hover{transform:translateY(-4px);border-color:rgba(132,239,255,.48);background:linear-gradient(180deg,rgba(126,229,255,.17),rgba(255,255,255,.06))}.v560PetButton b,.v560WorldButton b{display:block;font-size:44px;line-height:1}.v560PetButton span,.v560WorldButton span{display:block;margin-top:8px;font:1000 11px Trebuchet MS,Arial}.v560WorldButton b{font-size:39px}
.v560PassHint{position:absolute;left:50%;bottom:22px;z-index:420;transform:translateX(-50%);display:none;align-items:center;gap:10px;padding:10px 12px 10px 15px;border-radius:18px;background:linear-gradient(180deg,#102c49,#0b2038);border:1px solid rgba(255,225,108,.32);box-shadow:0 16px 38px rgba(4,15,32,.35);color:#fff}.v560PassHint.show{display:flex}.v560PassHint strong{font:1000 13px Trebuchet MS,Arial}.v560PassHint button{min-height:38px;padding:0 14px;border:0;border-radius:12px;background:linear-gradient(180deg,#ffe477,#ffb93d);color:#4e3100;font:1000 9px Trebuchet MS,Arial;cursor:pointer}
.v560Unlock{position:absolute;inset:0;z-index:430;display:none;place-items:center;pointer-events:none;background:radial-gradient(circle,rgba(90,220,255,.12),rgba(4,14,27,.45) 60%,rgba(4,14,27,.62));color:#fff;text-align:center}.v560Unlock.show{display:grid;animation:v560UnlockFade 1.6s ease both}.v560Unlock b{display:block;font-size:62px;line-height:1}.v560Unlock strong{display:block;margin-top:8px;font:1000 34px Trebuchet MS,Arial;text-shadow:0 8px 30px rgba(86,211,255,.5)}
@keyframes v560MissionIn{0%{transform:translateX(-50%) translateY(-10px);opacity:0}100%{transform:translateX(-50%) translateY(0);opacity:1}}
@keyframes v560Fade{0%{opacity:0}100%{opacity:1}}
@keyframes v560UnlockFade{0%{opacity:0;transform:scale(.92)}20%,72%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.04)}}
@media(max-width:650px){.v560Mission{top:10px;min-width:220px;padding:10px 12px}.v560MissionIcon{font-size:26px}.v560Mission strong{font-size:14px}.v560Skip{top:auto;bottom:8px}.v560ChoiceCard{padding:18px}.v560ChoiceCard>strong{font-size:22px}.v560PetButtons,.v560WorldButtons{gap:8px}.v560PetButton,.v560WorldButton{min-height:94px;border-radius:18px}.v560PetButton b,.v560WorldButton b{font-size:34px}.v560PetButton span,.v560WorldButton span{font-size:9px}.v560Unlock strong{font-size:27px}}

/* ===== v56-1-profile-ranking-style ===== */
/* ================= v56.1 PROFILE + PLAZA RANKING ================= */
.playerVisitModal{z-index:10180!important;background:rgba(2,11,24,.74)!important;backdrop-filter:blur(13px)}
.playerVisitCard{width:min(760px,calc(100vw - 28px))!important;max-height:min(92vh,820px)!important;border-radius:30px!important;background:linear-gradient(180deg,#0b2038,#102943 56%,#0c2138)!important;border:1px solid rgba(127,232,255,.24)!important;box-shadow:0 34px 80px rgba(2,10,22,.54)!important;overflow:auto!important}
.playerVisitHero{min-height:190px!important;padding:26px 28px 22px!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:20px!important;background:radial-gradient(circle at 86% 8%,rgba(255,223,91,.20),transparent 28%),radial-gradient(circle at 10% 105%,rgba(82,222,255,.20),transparent 34%),linear-gradient(135deg,#0c3155,#182f61 62%,#4d367b)!important}
.playerVisitAvatarWrap{width:112px!important;height:112px!important;border-radius:32px!important;background:rgba(255,255,255,.11)!important;box-shadow:0 16px 36px rgba(1,13,30,.28),inset 0 0 0 1px rgba(255,255,255,.13)!important}
.playerVisitAvatar{font-size:64px!important}.playerVisitAvatar .realAvatarArt{width:100%!important;height:100%!important;object-fit:cover!important}
.playerVisitIdentity strong{font-size:30px!important;line-height:1.02!important}.playerVisitIdentity>span{margin-top:7px!important;color:#cce4f5!important;font-size:11px!important}.playerVisitIdentity b{margin-top:10px!important;padding:7px 10px!important;border-radius:10px!important;display:inline-flex!important;background:rgba(126,235,255,.13)!important;color:#90efff!important;font-size:10px!important}
.playerVisitLevel{min-width:78px!important;height:78px!important;border-radius:24px!important;background:linear-gradient(180deg,#ffe778,#ffb838)!important;color:#513100!important;box-shadow:0 10px 28px rgba(255,191,55,.23)!important}.playerVisitLevel span{color:#835100!important}.playerVisitLevel strong{font-size:32px!important}
.playerVisitBody{padding:18px 22px 24px!important}
.playerVisitXp{padding:14px 15px!important;border-radius:19px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.08)!important}
.playerVisitStats{gap:10px!important}.playerVisitStats article{min-height:96px!important;border-radius:19px!important;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;border:1px solid rgba(255,255,255,.07)!important}.playerVisitStats article>span{font-size:27px!important}.playerVisitStats strong{font-size:25px!important;color:#fff!important}.playerVisitStats small{color:#a9c6da!important}
.playerVisitStyle{border-radius:20px!important;background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.07)!important}
.playerVisitCompare{border-radius:18px!important;background:linear-gradient(90deg,rgba(95,224,255,.10),rgba(255,224,106,.08))!important;border:1px solid rgba(115,233,255,.15)!important}
.v561ProfileRankRow{margin:0 0 12px;display:grid;grid-template-columns:140px minmax(0,1fr);gap:10px}
.v561RankBadge{min-height:100px;padding:12px;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#ffd965,#ffab37);color:#4d2d00;box-shadow:0 10px 26px rgba(255,181,54,.17)}
.v561RankBadge small{font:1000 8px Trebuchet MS,Arial;letter-spacing:.14em}.v561RankBadge strong{margin-top:2px;font:1000 35px Trebuchet MS,Arial}.v561RankBadge span{margin-top:2px;font:1000 9px Trebuchet MS,Arial}
.v561ProfileStatus{min-height:100px;padding:13px 15px;border-radius:22px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;background:linear-gradient(135deg,rgba(63,198,255,.11),rgba(116,80,211,.11));border:1px solid rgba(132,228,255,.12)}
.v561StatusIcon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.07);font-size:28px}.v561ProfileStatus small{display:block;color:#8deaff;font-size:8px;font-weight:1000;letter-spacing:.12em}.v561ProfileStatus strong{display:block;margin-top:4px;color:#fff;font-size:16px}.v561ProfileStatus span{display:block;margin-top:4px;color:#bcd4e6;font-size:9px;font-weight:850}
.v561ProfileSection{margin-top:12px;padding:13px;border-radius:21px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.v561ProfileSectionHead{display:flex;align-items:center;justify-content:space-between;gap:8px}.v561ProfileSectionHead strong{color:#fff;font-size:13px}.v561ProfileSectionHead small{color:#8deaff;font-size:8px;font-weight:1000;letter-spacing:.08em}
.v561BadgeGrid{margin-top:10px;display:flex;gap:7px;flex-wrap:wrap}.v561Badge{min-height:38px;padding:0 10px;border-radius:12px;display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.07);color:#e9f7ff;font-size:9px;font-weight:1000}.v561Badge.gold{background:rgba(255,214,88,.13);border-color:rgba(255,220,103,.23);color:#ffe47f}.v561Badge.green{background:rgba(89,220,145,.10);color:#9af1bd}.v561Badge.purple{background:rgba(181,119,255,.11);color:#d7b5ff}
.v561RivalBox{margin-top:10px;padding:11px 12px;border-radius:15px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(3,16,30,.30)}.v561RivalBox strong{color:#fff;font-size:11px}.v561RivalBox span{color:#ffe176;font-size:11px;font-weight:1000;text-align:right}
.v561ProfileActions{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v561ProfileAction{min-height:48px;border:0;border-radius:15px;cursor:pointer;color:#fff;background:linear-gradient(180deg,#318fd7,#2468b4);font:1000 9px Trebuchet MS,Arial;box-shadow:0 6px 0 #19487e;transition:.15s}.v561ProfileAction:hover{transform:translateY(-2px)}.v561ProfileAction.secondary{background:linear-gradient(180deg,#684fc4,#4c3798);box-shadow:0 6px 0 #34246e}.v561ProfileAction:disabled{opacity:.45;cursor:default;transform:none}
.playerVisitRoomButton{min-height:54px!important;border-radius:17px!important;font-size:10px!important}.playerVisitBack{min-height:44px!important}
/* Ranking board modal */
.v561RankModal{position:fixed;inset:0;z-index:10240;display:none;place-items:center;padding:18px;background:rgba(2,10,22,.72);backdrop-filter:blur(13px)}.v561RankModal.show{display:grid;animation:v561Fade .2s ease}.v561RankShell{width:min(820px,96vw);max-height:92vh;overflow:auto;border-radius:30px;background:linear-gradient(180deg,#0d2844,#102b48 56%,#0b2037);border:1px solid rgba(130,234,255,.25);box-shadow:0 34px 80px rgba(2,10,22,.55);color:#fff}.v561RankHead{min-height:118px;padding:21px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:radial-gradient(circle at 78% 10%,rgba(255,218,81,.21),transparent 28%),linear-gradient(135deg,#0d355a,#272c65 65%,#603677)}.v561RankHead small{display:block;color:#8deaff;font-size:9px;font-weight:1000;letter-spacing:.14em}.v561RankHead strong{display:block;margin-top:5px;font-size:31px;line-height:1}.v561RankHead span{display:block;margin-top:6px;color:#c9dff0;font-size:10px;font-weight:850}.v561RankClose{width:46px;height:46px;border:1px solid rgba(255,255,255,.12);border-radius:15px;cursor:pointer;color:#fff;background:rgba(255,255,255,.08);font-size:26px}.v561Podium{padding:18px 18px 8px;display:grid;grid-template-columns:1fr 1.16fr 1fr;gap:10px;align-items:end}.v561PodiumSlot{min-height:150px;padding:12px 10px 0;border-radius:22px 22px 10px 10px;text-align:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);cursor:pointer;transition:.16s}.v561PodiumSlot:hover{transform:translateY(-4px)}.v561PodiumSlot.first{min-height:184px;background:linear-gradient(180deg,rgba(255,221,90,.18),rgba(255,255,255,.045));border-color:rgba(255,222,101,.27)}.v561PodiumAvatar{width:66px;height:66px;margin:0 auto;border-radius:21px;display:grid;place-items:center;background:rgba(255,255,255,.09);font-size:38px;overflow:hidden}.v561PodiumAvatar img{width:100%;height:100%;object-fit:cover}.v561PodiumSlot b{display:block;margin-top:8px;font-size:17px}.v561PodiumSlot strong{display:block;margin-top:5px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v561PodiumSlot small{display:block;margin-top:3px;color:#a8c9dc;font-size:8px;font-weight:900}.v561PodiumBase{height:46px;margin-top:10px;border-radius:14px 14px 0 0;display:grid;place-items:center;background:linear-gradient(180deg,#7693aa,#3d566e);font-size:20px;font-weight:1000}.v561PodiumSlot.first .v561PodiumBase{height:68px;background:linear-gradient(180deg,#ffe477,#d99d27);color:#5a3500}.v561PodiumSlot.second .v561PodiumBase{height:52px;background:linear-gradient(180deg,#dce7ee,#879aa7);color:#233443}.v561PodiumSlot.third .v561PodiumBase{height:40px;background:linear-gradient(180deg,#dc9d67,#89562f);color:#fff1df}
.v561RankBody{padding:8px 18px 20px}.v561RankTitle{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 10px}.v561RankTitle strong{font-size:14px}.v561RankTitle small{color:#8deaff;font-size:8px;font-weight:1000}.v561RankList{display:grid;gap:7px}.v561RankRow{min-height:66px;padding:8px 10px;border-radius:16px;display:grid;grid-template-columns:42px 48px minmax(0,1fr) auto auto;gap:9px;align-items:center;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.065);cursor:pointer;transition:.14s}.v561RankRow:hover{transform:translateX(3px);background:rgba(255,255,255,.07)}.v561RankRow.me{border-color:rgba(107,229,255,.3);background:rgba(81,204,255,.08)}.v561RankNum{font-size:15px;font-weight:1000;text-align:center;color:#ffe27b}.v561RankAvatar{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.08);font-size:26px;overflow:hidden}.v561RankAvatar img{width:100%;height:100%;object-fit:cover}.v561RankInfo{min-width:0}.v561RankInfo strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v561RankInfo small{display:block;margin-top:4px;color:#9bb7ca;font-size:8px;font-weight:850}.v561RankXp{font-size:10px;font-weight:1000;color:#8deaff}.v561RankLevel{min-width:48px;padding:7px 8px;border-radius:10px;background:rgba(255,225,103,.10);color:#ffe27d;font-size:9px;font-weight:1000;text-align:center}.v561RankEmpty{padding:36px 20px;text-align:center;color:#a9c4d6}.v561RankEmpty b{display:block;font-size:35px}.v561RankEmpty strong{display:block;margin-top:7px;color:#fff;font-size:16px}.v561RankEmpty span{display:block;margin-top:5px;font-size:9px;font-weight:850}
body.cityGameFullscreen .v561RankModal{z-index:2147483500!important}
@keyframes v561Fade{from{opacity:0}to{opacity:1}}
@media(max-width:690px){.playerVisitCard{width:100vw!important;max-height:100dvh!important;height:100dvh;border-radius:0!important}.playerVisitHero{padding:18px 15px 16px!important;grid-template-columns:auto 1fr auto!important;gap:11px!important}.playerVisitAvatarWrap{width:78px!important;height:78px!important;border-radius:23px!important}.playerVisitAvatar{font-size:46px!important}.playerVisitIdentity strong{font-size:21px!important}.playerVisitLevel{min-width:58px!important;width:58px!important;height:58px!important;border-radius:18px!important}.playerVisitLevel strong{font-size:24px!important}.playerVisitBody{padding:12px!important}.v561ProfileRankRow{grid-template-columns:105px 1fr}.v561ProfileActions{grid-template-columns:1fr}.v561RankModal{padding:0}.v561RankShell{width:100vw;max-height:100dvh;height:100dvh;border-radius:0}.v561RankHead{min-height:92px;padding:15px}.v561RankHead strong{font-size:25px}.v561Podium{padding:14px 8px 5px;gap:6px}.v561PodiumSlot{padding:9px 5px 0;min-height:134px}.v561PodiumSlot.first{min-height:158px}.v561PodiumAvatar{width:54px;height:54px;font-size:31px}.v561PodiumSlot b{font-size:15px}.v561PodiumSlot strong{font-size:9px}.v561RankBody{padding:8px 9px 16px}.v561RankRow{grid-template-columns:32px 42px minmax(0,1fr) auto}.v561RankLevel{display:none}}

/* ===== v56-2-meme-style ===== */
/* v56.2 - Meme collection / NPC sprites */
.v562MemeSection{margin-top:18px}
.v562MemeGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.v562MemeCard{position:relative;overflow:hidden;min-height:260px;padding:12px;border-radius:22px;background:linear-gradient(180deg,#102a46,#0b2038);border:1px solid rgba(128,232,255,.13);box-shadow:0 10px 26px rgba(12,38,66,.10);color:#fff}
.v562MemeCard.unlocked{border-color:rgba(111,232,255,.30);background:linear-gradient(180deg,#123351,#0c2741)}
.v562MemeCard.equipped{border-color:#ffe16f;box-shadow:0 0 0 2px rgba(255,225,111,.13),0 15px 34px rgba(255,192,67,.13)}
.v562MemeArt{height:150px;border-radius:17px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 25%,rgba(116,235,255,.16),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.07)}
.v562MemeArt img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(0,0,0,.24))}
.v562MemeArt.missing::after{content:'🎭';font-size:54px;opacity:.62}.v562MemeArt.missing img{display:none}
.v562MemeCard.locked .v562MemeArt{filter:saturate(.18) brightness(.5)}
.v562MemeLock{position:absolute;top:20px;right:20px;min-width:34px;height:34px;padding:0 8px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(5,18,33,.88);border:1px solid rgba(255,255,255,.12);font-size:17px}
.v562MemeInfo{padding:11px 3px 0}.v562MemeInfo strong{display:block;font-size:14px}.v562MemeInfo small{display:block;margin-top:5px;min-height:28px;color:#9fc0d8;font-size:9px;font-weight:900;line-height:1.35}
.v562MemeAction{width:100%;min-height:40px;margin-top:10px;border:0;border-radius:13px;cursor:pointer;background:linear-gradient(180deg,#64e9ff,#3a9bd8);color:#073149;font:1000 9px Trebuchet MS,Arial;box-shadow:0 4px 0 #236998}
.v562MemeAction.equipped{background:linear-gradient(180deg,#ffe67d,#ffbd49);box-shadow:0 4px 0 #956019;color:#513400}.v562MemeAction:disabled{cursor:default;opacity:.72;box-shadow:none}
.v562MemeHeaderCount{margin-left:auto;min-width:70px;padding:7px 9px;border-radius:12px;background:#eafaff;color:#17627b;text-align:center;font-size:9px;font-weight:1000}
.v562MemePassBonus{position:absolute;right:8px;top:36px;z-index:8;width:62px;height:72px;padding:5px;border-radius:15px;background:linear-gradient(180deg,rgba(8,31,51,.94),rgba(14,48,73,.96));border:1px solid rgba(255,226,113,.35);box-shadow:0 8px 20px rgba(0,0,0,.25);text-align:center;color:#fff;pointer-events:none}
.v562MemePassBonus img{width:48px;height:45px;object-fit:contain;display:block;margin:auto}.v562MemePassBonus span{display:block;margin-top:2px;color:#ffe47d;font:1000 7px Trebuchet MS,Arial;line-height:1.05}
.v562MemePassBonus.missing img{display:none}.v562MemePassBonus.missing::before{content:'🎭';display:block;font-size:34px;line-height:45px}
.v562AchievementBonus{display:inline-flex;align-items:center;gap:5px;margin-top:7px;padding:5px 7px;border-radius:10px;background:#e9fbff;color:#17627b;font:1000 8px Trebuchet MS,Arial}.v562AchievementBonus img{width:24px;height:24px;object-fit:contain}
.v562OwnMemeProfile{position:absolute;right:20px;bottom:14px;width:110px;height:128px;object-fit:contain;z-index:2;filter:drop-shadow(0 12px 15px rgba(0,0,0,.30));pointer-events:none}
.v562WardrobePreviewMeme{position:absolute;right:12px;bottom:7px;width:84px;height:96px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.25));pointer-events:none}
.v562MemeNpcBadge{position:absolute;left:12px;bottom:12px;padding:6px 9px;border-radius:11px;background:rgba(7,27,46,.84);border:1px solid rgba(126,232,255,.20);color:#a9efff;font:1000 8px Trebuchet MS,Arial}
@media(max-width:900px){.v562MemeGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.v562MemeGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v562MemeCard{min-height:225px;padding:9px}.v562MemeArt{height:126px}.v562OwnMemeProfile{width:82px;height:98px;right:7px}}

/* ===== v56-2-1-full-meme-skin-style ===== */
/* v56.2.1 - meme skin is the whole city character, not an overlay */
.v562MemeInfo small::after{content:' · заменяет персонажа целиком';color:#75e9ff}

/* ===== v56-2-2-meme-render-fix-style ===== */
/* v56.2.2 - reliable meme asset rendering */
.v562MemeArt{position:relative}
.v562MemeArt.v5622-loading::after,.v562MemeArt.v5622-missing::after{
  content:'🎭';position:absolute;inset:0;display:grid;place-items:center;font-size:44px;
  background:linear-gradient(145deg,rgba(16,37,66,.7),rgba(8,21,42,.88));
}
.v562MemeArt.v5622-missing::before{
  content:'нет файла';position:absolute;left:50%;bottom:7px;transform:translateX(-50%);z-index:2;
  font:900 8px Trebuchet MS,Arial;color:#ffc1c1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;
}

/* ===== v56-2-3-meme-autotrim-style ===== */
/* v56.2.3 - trim transparent borders from meme art and ground the visible sprite */
.v562MemeArt img[data-v5623-trimmed="1"],
.v562MemePassBonus img[data-v5623-trimmed="1"],
.v562AchievementBonus img[data-v5623-trimmed="1"],
.v562WardrobePreviewMeme[data-v5623-trimmed="1"],
.v562OwnMemeProfile[data-v5623-trimmed="1"]{object-fit:contain!important;object-position:center center!important}
.v562MemeArt img[data-v5623-trimmed="1"]{padding:5px;box-sizing:border-box}

/* ===== v56-2-5-meme-npc-scale-anchor-style ===== */
/* v56.2.5 - meme NPCs use their visible alpha bounds, stand on the ground, and match player scale */

/* ===== v56-3-pass-variety-style ===== */
/* v56.3 - Battle Pass variety: pets, mounts, skins and social emotes */
.v563RewardType{
  position:absolute;left:10px;top:36px;z-index:9;display:inline-flex;align-items:center;gap:4px;
  min-height:20px;padding:0 7px;border-radius:999px;background:rgba(5,23,40,.86);
  border:1px solid rgba(255,255,255,.13);color:#dff8ff;font:1000 7px/1 Trebuchet MS,Arial;
  letter-spacing:.04em;box-shadow:0 5px 14px rgba(0,0,0,.16);pointer-events:none
}
.megaRewardCard[data-v563-type="pet"]{border-color:rgba(116,238,174,.30)!important}
.megaRewardCard[data-v563-type="mount"]{border-color:rgba(255,214,104,.34)!important}
.megaRewardCard[data-v563-type="skin"]{border-color:rgba(195,134,255,.32)!important}
.megaRewardCard[data-v563-type="emote"]{border-color:rgba(255,146,210,.30)!important}
.megaRewardCard[data-v563-type="room"]{border-color:rgba(105,196,255,.25)!important}
.megaRewardCard[data-v563-type="pet"] .megaRewardIcon,
.megaRewardCard[data-v563-type="mount"] .megaRewardIcon,
.megaRewardCard[data-v563-type="skin"] .megaRewardIcon,
.megaRewardCard[data-v563-type="emote"] .megaRewardIcon{filter:drop-shadow(0 0 15px rgba(255,224,111,.30))}

[data-online-emote]{position:relative}
[data-online-emote].v563EmoteLocked{opacity:.36!important;filter:grayscale(.8);cursor:not-allowed!important}
[data-online-emote].v563EmoteLocked::after{content:"🔒";position:absolute;right:-3px;top:-5px;font-size:8px;line-height:1;filter:none}

.v563CollectionSection{margin-top:18px}
.v563MiniHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 9px}
.v563MiniHead strong{font-size:14px;color:#173a58}.v563MiniHead span{font-size:9px;font-weight:1000;color:#5b7891}
.v563PetGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.v563PetCard{min-height:116px;padding:10px;border:1px solid #d8e8f4;border-radius:17px;background:#f8fcff;text-align:center;color:#183b57}
.v563PetCard.locked{opacity:.52;filter:saturate(.45)}.v563PetCard.equipped{border-color:#ffc84e;box-shadow:0 0 0 2px rgba(255,200,78,.14)}
.v563PetIcon{font-size:34px;line-height:1.1}.v563PetCard strong{display:block;margin-top:5px;font-size:10px}.v563PetCard small{display:block;min-height:22px;margin-top:3px;color:#7893a9;font-size:7px;font-weight:900;line-height:1.25}
.v563PetCard button{width:100%;min-height:29px;margin-top:7px;border:0;border-radius:9px;background:#30b8db;color:#fff;font:1000 7px Trebuchet MS,Arial;cursor:pointer}
.v563PetCard button:disabled{background:#d8e3eb;color:#7790a4;cursor:default}.v563PetCard.equipped button{background:#ffc94e;color:#523400}
.v563EmoteGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.v563EmoteCard{min-height:90px;padding:9px;border-radius:16px;border:1px solid #d8e8f4;background:#f8fcff;text-align:center;color:#173a58}
.v563EmoteCard.locked{opacity:.48}.v563EmoteCard .emo{font-size:29px}.v563EmoteCard strong{display:block;margin-top:4px;font-size:9px}.v563EmoteCard small{display:block;margin-top:3px;color:#7893a9;font-size:7px;font-weight:900}
@media(max-width:720px){.v563PetGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.v563EmoteGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* world-editor.css */
/* KodKlass v59.2.2 - WORLD EDITOR WORKSPACE */
.kkWorldEditorButton{height:34px!important;min-width:72px!important;padding:0 10px!important;border:1px solid rgba(101,221,255,.32)!important;border-radius:10px!important;background:linear-gradient(180deg,rgba(35,93,125,.95),rgba(12,42,65,.98))!important;color:#eafbff!important;font:900 9px/1 Trebuchet MS,Arial!important;letter-spacing:.06em!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;cursor:pointer!important;box-shadow:0 6px 16px rgba(0,0,0,.18)!important}.kkWorldEditorButton:hover{border-color:#72e7ff!important;transform:translateY(-1px)}.kkWorldEditorButton[hidden]{display:none!important}
.kkWorldEditor{position:absolute;inset:0;z-index:520;pointer-events:none;font-family:Inter,Trebuchet MS,Arial,sans-serif;color:#dff8ff}.kkWorldEditor[hidden]{display:none}.kkWorldEditor *{box-sizing:border-box}.kkWorldEditor button,.kkWorldEditor input,.kkWorldEditor select,.kkWorldEditor label{font:inherit}
.kkWeTopbar{position:absolute;left:12px;right:12px;top:12px;height:52px;z-index:540;pointer-events:auto;display:flex;align-items:center;gap:10px;padding:6px 8px 6px 10px;border:1px solid rgba(129,213,245,.18);border-radius:16px;background:rgba(5,19,31,.96);box-shadow:0 16px 36px rgba(0,0,0,.28);backdrop-filter:blur(18px)}
.kkWeBrand{display:flex;align-items:center;gap:8px;min-width:172px}.kkWeBrand>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#38c9ff,#5871ff);font-size:18px}.kkWeBrand div{display:flex;flex-direction:column;line-height:1}.kkWeBrand small{font-size:6px;letter-spacing:.22em;color:#68a9c6}.kkWeBrand strong{font-size:11px;margin-top:4px;letter-spacing:.06em}.kkWeHistory,.kkWeTopActions{display:flex;align-items:center;gap:5px}.kkWeHistory button,.kkWeTopActions button,.kkWeImport{height:34px;padding:0 10px;border:1px solid rgba(128,197,226,.14);border-radius:10px;background:#102a3e;color:#a8c9d8;font-size:8px;font-weight:900;letter-spacing:.04em;cursor:pointer;display:flex;align-items:center;justify-content:center}.kkWeHistory button:hover,.kkWeTopActions button:hover,.kkWeImport:hover{background:#16374f;color:#effcff}.kkWeHistory button.active{border-color:rgba(87,221,255,.35);color:#76e6ff;background:rgba(45,146,186,.16)}.kkWeHistory button:disabled{opacity:.25;cursor:not-allowed}.kkWeImport input{display:none}.kkWeTopActions{margin-left:auto}.kkWeTopActions .save{min-width:132px;background:linear-gradient(135deg,#37bf8c,#258b70);border-color:#64e8b5;color:white}.kkWeTopActions .close{width:34px;padding:0;font-size:14px;background:#2f1f29;color:#ffc8d3}.kkWeStatus{margin-left:auto;display:flex;align-items:center;gap:6px;padding:0 8px;color:#6fa3b7;font-size:7px;font-weight:900;letter-spacing:.08em;white-space:nowrap}.kkWeStatus i{width:7px;height:7px;border-radius:50%;background:#4fdf9b;box-shadow:0 0 10px rgba(79,223,155,.5)}.kkWeStatus.dirty{color:#ffd27c}.kkWeStatus.dirty i{background:#ffc85c}.kkWeStatus.saving i{background:#65dfff;animation:kkWePulse .7s infinite alternate}@keyframes kkWePulse{to{opacity:.25}}
.kkWeTools,.kkWeInspector{position:absolute;top:76px;bottom:14px;z-index:535;pointer-events:auto;border:1px solid rgba(129,213,245,.15);border-radius:16px;background:rgba(7,23,36,.965);box-shadow:0 18px 38px rgba(0,0,0,.27);backdrop-filter:blur(16px);overflow:auto}.kkWeTools{left:14px;width:198px;padding:10px}.kkWeInspector{right:14px;width:292px}.kkWeTools>small{display:block;padding:3px 6px 7px;color:#648a9e;font-size:7px;font-weight:950;letter-spacing:.13em}.kkWeTools>button{width:100%;min-height:46px;margin-bottom:5px;padding:6px 8px;border:1px solid rgba(135,199,224,.09);border-radius:11px;background:rgba(255,255,255,.025);color:#9bb9c9;text-align:left;display:grid;grid-template-columns:31px 1fr;grid-template-rows:auto auto;column-gap:8px;cursor:pointer}.kkWeTools>button>span{grid-row:1/3;width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.055);font-size:16px}.kkWeTools>button>b{font-size:9px;color:#c7e3ef}.kkWeTools>button>em{font-size:7px;font-style:normal;color:#68899b;margin-top:2px}.kkWeTools>button:hover{border-color:rgba(91,221,255,.24);background:rgba(57,172,213,.06)}.kkWeTools>button.active{background:linear-gradient(135deg,rgba(64,190,237,.17),rgba(83,109,242,.09));border-color:rgba(98,222,255,.34);box-shadow:inset 3px 0 0 #62dfff}.kkWeDivider{height:1px;background:rgba(255,255,255,.06);margin:8px 2px}
.kkWeLayers{display:grid;gap:4px}.kkWeLayers button{height:31px;padding:0 8px;border:1px solid rgba(135,199,224,.08);border-radius:8px;background:rgba(255,255,255,.02);color:#9ab6c4;display:grid;grid-template-columns:20px 1fr 18px;align-items:center;text-align:left;cursor:pointer}.kkWeLayers button b{font-size:8px}.kkWeLayers button i{font-style:normal;color:#50dba0;text-align:center}.kkWeLayers button.off{opacity:.45}.kkWeLayers button.off i{color:#657a86}
.kkWeInspectorHead{height:56px;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between}.kkWeInspectorHead div{display:flex;flex-direction:column}.kkWeInspectorHead small{font-size:6.5px;letter-spacing:.16em;color:#648da1}.kkWeInspectorHead strong{font-size:12px;margin-top:4px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kkWeInspectorHead>span{font-size:22px}.kkWeInspectorBody{padding:9px}.kkWeSection{padding:10px;margin-bottom:8px;border:1px solid rgba(255,255,255,.055);border-radius:12px;background:rgba(255,255,255,.022)}.kkWeSection h4{margin:0 0 8px;color:#8db4c7;font-size:7px;letter-spacing:.12em;text-transform:uppercase}.kkWeSection label{display:flex;flex-direction:column;gap:4px;margin-bottom:7px}.kkWeSection label>span{font-size:7.5px;color:#789bac}.kkWeSection input,.kkWeSection select{width:100%;height:34px;border:1px solid rgba(126,194,221,.13);border-radius:9px;background:#0b2132;color:#eafaff;padding:0 9px;font-size:9px;outline:none}.kkWeSection input:focus,.kkWeSection select:focus{border-color:#5edcff}.kkWeTwo{display:grid;grid-template-columns:1fr 1fr;gap:6px}.kkWeTypeRow{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.kkWeTypeRow span{font-size:8px;font-weight:900;color:#93b5c5}.kkWeTypeRow code{max-width:145px;overflow:hidden;text-overflow:ellipsis;color:#68dfff;font-size:7px}.kkWeNote,.kkWeHelp p{font-size:7.5px;line-height:1.45;color:#718f9e;margin:7px 0 0}.kkWeSelectSpecial,.kkWeDanger button{width:100%;height:34px;margin-top:5px;border:1px solid rgba(120,201,232,.12);border-radius:9px;background:#102a3d;color:#b9d9e7;font-size:8px;font-weight:900;text-align:left;padding:0 9px;cursor:pointer}.kkWeDanger{display:grid;grid-template-columns:1fr 1fr;gap:5px}.kkWeDanger button{margin:0;text-align:center}.kkWeDanger button:last-child{background:rgba(112,32,45,.18);color:#ffb0bd;border-color:rgba(255,96,120,.15)}.kkWeProtected{display:flex;flex-direction:column;gap:5px;background:rgba(255,199,83,.035)}.kkWeProtected b{font-size:8px;color:#ffd17a}.kkWeProtected span{font-size:7px;line-height:1.4;color:#7d96a2}
.kkWorldEditorCanvas{position:absolute;inset:0;z-index:530;pointer-events:auto;touch-action:none}.kkWeGridLine{stroke:rgba(112,202,233,.10);stroke-width:1;vector-effect:non-scaling-stroke}.kkWeEntity{fill:rgba(80,208,255,.055);stroke:rgba(101,220,255,.42);stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:grab}.kkWeEntity:hover{fill:rgba(97,222,255,.13);stroke:#79eaff;stroke-width:2.5}.kkWeEntity.selected{fill:rgba(255,208,87,.16);stroke:#ffd45f;stroke-width:3;filter:drop-shadow(0 0 5px rgba(255,209,85,.55));cursor:grabbing}.kkWe-houses{stroke:#7ed5ff}.kkWe-districts{stroke:#79e8a1;fill:rgba(83,214,128,.035)}.kkWe-npcs{stroke:#d99cff}.kkWe-blockers{stroke:#ff647b;fill:rgba(255,77,105,.11);stroke-dasharray:6 4}.kkWe-special{stroke:#ffd45f}.kkWeSelectedLabel rect{fill:rgba(5,22,35,.95);stroke:rgba(255,215,97,.55)}.kkWeSelectedLabel text{fill:#fff;font-size:10px;font-weight:900;pointer-events:none}.kkWeHint{position:absolute;left:50%;bottom:17px;transform:translateX(-50%);z-index:541;pointer-events:none;padding:8px 13px;border:1px solid rgba(118,213,246,.14);border-radius:11px;background:rgba(4,18,29,.91);color:#9fc9da;font-size:8px;font-weight:900;letter-spacing:.04em;box-shadow:0 8px 22px rgba(0,0,0,.2)}
body.kkWorldTesting .kkWorldEditorCanvas{pointer-events:none!important}body.kkWorldTesting .kkWeTools,body.kkWorldTesting .kkWeInspector{opacity:.34;pointer-events:none}body.kkWorldTesting .kkWeHint{color:#8cf0b4;border-color:rgba(84,229,155,.25)}
@media(max-width:1180px){.kkWeTools{width:154px}.kkWeInspector{width:240px}.kkWeTools>button{grid-template-columns:31px 1fr}.kkWeTools>button>em{display:none}.kkWeBrand{min-width:132px}.kkWeBrand div{display:none}.kkWeTopbar{gap:5px}.kkWeStatus{display:none}.kkWeHistory button{padding:0 7px}.kkWeTopActions .save{min-width:96px}}
@media(max-width:820px){.kkWeTools{width:54px;padding:6px}.kkWeTools>small,.kkWeTools>button>b,.kkWeTools>button>em,.kkWeLayers button b{display:none}.kkWeTools>button{display:grid;grid-template-columns:1fr;place-items:center;padding:3px}.kkWeTools>button>span{grid-row:auto}.kkWeLayers button{grid-template-columns:1fr;place-items:center;height:30px;padding:0}.kkWeLayers button i{display:none}.kkWeInspector{width:230px}.kkWeTopActions button:not(.save):not(.close),.kkWeImport,.kkWeHistory button:nth-child(n+3){display:none}.kkWeBrand{min-width:42px}.kkWeTopActions .save{font-size:0;min-width:38px}.kkWeTopActions .save:after{content:'🌍';font-size:15px}}

/* v59.2.1 UX extensions */
.kkWeBrand strong i{font-style:normal;color:#5edfff;font-size:7px;margin-left:4px;opacity:.8}
.kkWeZoom{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid rgba(128,197,226,.10);border-radius:10px;background:rgba(4,16,26,.35)}
.kkWeZoom button{height:27px;min-width:28px;padding:0 7px;border:0;border-radius:7px;background:transparent;color:#8eb7c9;font-size:10px;font-weight:950;cursor:pointer}.kkWeZoom button:hover{background:#15344a;color:#ecfbff}.kkWeZoom #kkWeZoomValue{min-width:44px;font-size:7.5px;color:#64defa}
.kkWeSelectionStatus{height:25px;display:flex;align-items:center;padding:0 9px;border:1px solid rgba(126,197,224,.08);border-radius:999px;background:rgba(255,255,255,.02);color:#65899a;font-size:6.5px;font-weight:950;letter-spacing:.08em;white-space:nowrap}.kkWeSelectionStatus.active{border-color:rgba(255,210,90,.2);background:rgba(255,210,90,.06);color:#ffd66e}
.kkWeHistory button:disabled,.kkWeActionGrid button:disabled{opacity:.25;cursor:not-allowed}
.kkWeLayerRow{display:grid;grid-template-columns:1fr 29px;gap:3px;margin-bottom:4px}.kkWeLayerRow>button{height:31px;border:1px solid rgba(135,199,224,.08);border-radius:8px;background:rgba(255,255,255,.02);color:#9ab6c4;cursor:pointer}.kkWeLayerRow>button:first-child{padding:0 7px;display:grid;grid-template-columns:20px 1fr 23px 15px;align-items:center;text-align:left}.kkWeLayerRow>button:first-child b{font-size:8px}.kkWeLayerRow>button:first-child em{font-style:normal;font-size:6.5px;color:#587889;text-align:right}.kkWeLayerRow>button:first-child i{font-style:normal;color:#50dba0;text-align:center}.kkWeLayerRow>button:last-child{padding:0;font-size:10px}.kkWeLayerRow:hover>button{border-color:rgba(91,221,255,.2)}.kkWeLayerRow.off{opacity:.43}.kkWeLayerRow.off>button:first-child i{color:#657a86}.kkWeLayerRow.locked>button:last-child{border-color:rgba(255,202,83,.22);background:rgba(255,202,83,.06)}
.kkWeShortcuts{display:grid;grid-template-columns:auto 1fr;gap:5px 7px;padding:7px;border:1px solid rgba(255,255,255,.04);border-radius:10px;background:rgba(255,255,255,.015)}.kkWeShortcuts b{font-size:6.5px;color:#7cdcf2;white-space:nowrap}.kkWeShortcuts span{font-size:6.5px;color:#668898}
.kkWeEntity.primary{stroke:#fff2a6}.kkWeEntity.locked{stroke-dasharray:4 3;cursor:not-allowed;opacity:.72}.kkWeEntity.locked.selected{stroke:#ffbe65;filter:drop-shadow(0 0 4px rgba(255,190,101,.38))}
.kkWeMarquee{fill:rgba(79,198,255,.10);stroke:#64dfff;stroke-width:1.5;stroke-dasharray:7 4;vector-effect:non-scaling-stroke;pointer-events:none}
.kkWeActionGrid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.kkWeActionGrid button{min-height:34px;padding:5px 6px;border:1px solid rgba(120,201,232,.12);border-radius:9px;background:#102a3d;color:#b9d9e7;font-size:7px;font-weight:900;cursor:pointer}.kkWeActionGrid button:hover{background:#15364e;color:#fff}.kkWeActionGrid button.danger{background:rgba(112,32,45,.18);color:#ffb0bd;border-color:rgba(255,96,120,.15)}
.kkWeMultiSummary>strong{display:block;margin-bottom:9px;color:#ffe089;font-size:17px}.kkWeMultiSummary>div{height:25px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.04);font-size:7.5px;color:#7898a7}.kkWeMultiSummary>div b{color:#d9f5ff;font-size:9px}
.kkWeLockedNote{background:rgba(255,180,77,.04);border-color:rgba(255,188,72,.12)}.kkWeLockedNote b{display:block;color:#ffc66e;font-size:8px;margin-bottom:4px}.kkWeLockedNote span{font-size:7px;line-height:1.45;color:#7e96a0}
.kkWeSection input:disabled,.kkWeSection select:disabled{opacity:.42;cursor:not-allowed}
body.kkWorldPanReady .kkWorldEditorCanvas{cursor:grab}body.kkWorldPanning .kkWorldEditorCanvas{cursor:grabbing!important}body.kkWorldPanning .kkWeEntity{cursor:grabbing!important}
@media(max-width:1450px){.kkWeSelectionStatus{display:none}.kkWeStatus{display:none}.kkWeHistory button{padding:0 7px}.kkWeTopbar{gap:6px}}
@media(max-width:1050px){.kkWeZoom{display:none}.kkWeHistory button[data-we-action="copy"],.kkWeHistory button[data-we-action="paste"],.kkWeHistory button[data-we-action="delete"]{display:none}.kkWeShortcuts{display:none}}
@media(max-width:820px){.kkWeLayerRow{grid-template-columns:1fr}.kkWeLayerRow>button:last-child{display:none}.kkWeLayerRow>button:first-child{grid-template-columns:1fr;place-items:center;padding:0}.kkWeLayerRow>button:first-child b,.kkWeLayerRow>button:first-child em,.kkWeLayerRow>button:first-child i{display:none}}


/* v59.2.2 — docked workspace: editor chrome no longer covers the map */
body.kkWorldEditing{
  --kk-we-left:222px;
  --kk-we-right:316px;
  --kk-we-top:76px;
  --kk-we-bottom:14px;
}
body.kkWorldEditing #cityStageCanvasWrap{background:#04101a!important;}
body.kkWorldEditing #cityStageCanvasWrap > :not(#cityStageCanvas):not(#kkWorldEditor){visibility:hidden!important;pointer-events:none!important;}
body.kkWorldEditing #cityStageCanvas{
  inset:auto!important;
  left:var(--kk-we-left)!important;
  top:var(--kk-we-top)!important;
  width:calc(100% - var(--kk-we-left) - var(--kk-we-right))!important;
  height:calc(100% - var(--kk-we-top) - var(--kk-we-bottom))!important;
  border:1px solid rgba(111,214,248,.18)!important;
  border-radius:12px!important;
  box-shadow:0 18px 44px rgba(0,0,0,.28)!important;
  background:#315f4b!important;
  overflow:hidden!important;
}
body.kkWorldEditing .kkWorldEditorCanvas{
  inset:auto!important;
  left:var(--kk-we-left)!important;
  top:var(--kk-we-top)!important;
  border-radius:12px;
  overflow:hidden;
}
body.kkWorldEditing .kkWorldEditor:before{
  content:"";
  position:absolute;
  left:var(--kk-we-left);right:var(--kk-we-right);top:var(--kk-we-top);bottom:var(--kk-we-bottom);
  z-index:529;
  border:1px solid rgba(111,214,248,.12);
  border-radius:12px;
  background:transparent;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
  pointer-events:none;
}
body.kkWorldEditing .kkWeHint{bottom:22px;max-width:min(620px,calc(100% - var(--kk-we-left) - var(--kk-we-right) - 30px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.kkWorldEditing.kkWorldHandReady .kkWorldEditorCanvas,
body.kkWorldEditing.kkWorldPanReady .kkWorldEditorCanvas{cursor:grab!important}
body.kkWorldEditing.kkWorldHandReady .kkWeEntity,
body.kkWorldEditing.kkWorldPanReady .kkWeEntity{cursor:grab!important}
body.kkWorldEditing.kkWorldPanning .kkWorldEditorCanvas,
body.kkWorldEditing.kkWorldPanning .kkWeEntity{cursor:grabbing!important}
body.kkWorldEditing.kkWorldPanelsHidden{
  --kk-we-left:14px;
  --kk-we-right:14px;
}
body.kkWorldEditing.kkWorldPanelsHidden .kkWeTools,
body.kkWorldEditing.kkWorldPanelsHidden .kkWeInspector{display:none!important}
body.kkWorldEditing.kkWorldPanelsHidden [data-we-action="panels"]{border-color:rgba(94,222,255,.34)!important;color:#72e6ff!important;background:rgba(49,162,207,.13)!important}
body.kkWorldEditing.cityGameFullscreen #cityStageCanvas{
  width:calc(100% - var(--kk-we-left) - var(--kk-we-right))!important;
  height:calc(100% - var(--kk-we-top) - var(--kk-we-bottom))!important;
}
@media(max-width:1180px){
  body.kkWorldEditing{--kk-we-left:178px;--kk-we-right:264px;}
}
@media(max-width:820px){
  body.kkWorldEditing{--kk-we-left:78px;--kk-we-right:254px;--kk-we-top:72px;--kk-we-bottom:10px;}
  body.kkWorldEditing.kkWorldPanelsHidden{--kk-we-left:8px;--kk-we-right:8px;}
}

body.kkWorldEditing:not(.cityGameFullscreen) #cityStageCanvasWrap{height:clamp(620px,calc(100dvh - 170px),820px)!important;min-height:620px!important;}
@media(max-height:760px){body.kkWorldEditing:not(.cityGameFullscreen) #cityStageCanvasWrap{height:590px!important;min-height:590px!important;}}


/* learning.css */
/* ===== tdWorkshopV565Styles ===== */
.tdLessonLiveOpen{min-width:72px;height:42px;padding:0 12px;border:0;border-radius:13px;cursor:pointer;color:#21104c;background:linear-gradient(180deg,#a8f8ff,#59ddff);box-shadow:0 5px 0 #238aa8;font:1000 10px/1 inherit;white-space:nowrap}.tdLessonLiveOpen:active{transform:translateY(3px);box-shadow:0 2px 0 #238aa8}.tdLessonLiveOpen.hot{animation:td565Hot 1.15s ease-in-out infinite}@keyframes td565Hot{50%{box-shadow:0 5px 0 #238aa8,0 0 24px rgba(86,226,255,.65)}}
  .adminLessonTopActions{display:flex;align-items:stretch;gap:8px}.adminTdPreset{min-width:130px;padding:0 13px;border:1px solid rgba(145,231,255,.25);border-radius:14px;color:#dffaff;background:linear-gradient(180deg,rgba(53,168,220,.28),rgba(36,92,152,.24));font:1000 9px/1 inherit;cursor:pointer}.adminTdPreset:hover{background:linear-gradient(180deg,rgba(69,194,245,.4),rgba(45,108,173,.32))}
  .tdLessonLaunch{position:absolute;z-index:44;right:14px;top:82px;display:flex;align-items:center;gap:9px;padding:7px 8px 7px 11px;border:1px solid rgba(255,255,255,.16);border-radius:16px;color:#fff;background:linear-gradient(135deg,rgba(93,53,211,.95),rgba(35,137,230,.95));box-shadow:0 12px 34px rgba(25,31,93,.3),inset 0 1px rgba(255,255,255,.22);backdrop-filter:blur(12px)}
  .tdLessonLaunch>span{font-size:22px}.tdLessonLaunch div{line-height:1}.tdLessonLaunch small{display:block;color:#ddd5ff;font-size:6px;font-weight:1000;letter-spacing:.11em}.tdLessonLaunch strong{display:block;margin-top:4px;font-size:10px}.tdLessonLaunch button{height:36px;padding:0 11px;border:0;border-radius:11px;color:#472f05;background:linear-gradient(180deg,#fff28e,#ffc33d);box-shadow:0 4px 0 #966413;font:1000 8px/1 inherit;cursor:pointer}.tdLessonLaunch button:active{transform:translateY(2px);box-shadow:0 2px 0 #966413}
  .td565Overlay{position:fixed;z-index:2147483646;inset:0;display:none;align-items:center;justify-content:center;padding:12px;background:rgba(4,9,23,.82);backdrop-filter:blur(15px)}.td565Overlay.open{display:flex}
  .td565Shell{width:min(1180px,100%);height:min(920px,calc(100vh - 18px));display:grid;grid-template-rows:auto auto 1fr;overflow:hidden;border:1px solid rgba(255,255,255,.17);border-radius:28px;color:#edf7ff;background:radial-gradient(circle at 12% 0%,rgba(117,82,255,.23),transparent 29%),radial-gradient(circle at 92% 6%,rgba(42,218,255,.17),transparent 27%),linear-gradient(180deg,#101a35,#091020 62%,#070c18);box-shadow:0 34px 100px rgba(0,0,0,.55)}
  .td565Head{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(9,15,31,.9);backdrop-filter:blur(14px)}.td565Logo{width:50px;height:50px;display:grid;place-items:center;flex:0 0 auto;border-radius:16px;background:linear-gradient(145deg,#a06dff,#4edcff);box-shadow:inset 0 2px rgba(255,255,255,.4),0 6px 0 #34369a;font-size:26px}.td565HeadText{min-width:0;flex:1}.td565HeadText small{display:block;color:#9db7d4;font-size:7px;font-weight:1000;letter-spacing:.13em}.td565HeadText h2{margin:3px 0 0!important;color:#fff!important;font-size:22px!important}.td565ThreeHours{padding:8px 12px;border-radius:12px;color:#251841;background:linear-gradient(180deg,#fff0a4,#ffc958);font-size:9px;font-weight:1000;white-space:nowrap}.td565Close{width:42px;height:42px;border:0;border-radius:13px;cursor:pointer;color:#d9e7f5;background:rgba(255,255,255,.08);font-size:20px}
  .td565Timeline{display:flex;gap:6px;padding:9px 12px;overflow-x:auto;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(7,13,28,.7);scrollbar-width:thin}.td565StageTab{min-width:112px;min-height:51px;padding:7px 9px;border:1px solid transparent;border-radius:13px;cursor:pointer;text-align:left;color:#7891ad;background:rgba(255,255,255,.045);font:900 8px/1.1 inherit;transition:.16s}.td565StageTab b{display:block;color:#c7d7e9;font-size:10px}.td565StageTab small{display:block;margin-top:4px;color:#718ba9;font-size:7px}.td565StageTab.active{border-color:rgba(109,230,255,.36);color:#ebfbff;background:linear-gradient(180deg,rgba(72,194,236,.19),rgba(93,78,223,.14));box-shadow:0 0 0 2px rgba(78,215,255,.04)}.td565StageTab.active b{color:#fff}.td565StageTab.done{color:#85e6b7;background:rgba(49,189,125,.1)}.td565StageTab.done b:after{content:'  ✓';color:#73e7a9}
  .td565Main{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 340px}.td565Work{min-width:0;overflow:auto;padding:14px 16px 22px}.td565Side{overflow:auto;padding:14px;border-left:1px solid rgba(255,255,255,.08);background:rgba(5,11,24,.48)}
  .td565StageTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.td565StageTitle small{display:block;color:#849fbd;font-size:7px;font-weight:1000;letter-spacing:.12em}.td565StageTitle h3{margin:3px 0 0!important;color:#fff!important;font-size:20px!important}.td565StageTitle p{margin:5px 0 0;color:#94abc4;font-size:9px;font-weight:800}.td565StageTime{padding:7px 10px;border-radius:11px;color:#20194a;background:#a9f3ff;font-size:8px;font-weight:1000;white-space:nowrap}
  .td565ProgressRow{display:flex;align-items:center;gap:9px;margin-bottom:12px}.td565ProgressRow b{min-width:58px;color:#bdf5ff;font-size:9px}.td565ProgressBar{height:7px;flex:1;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.07)}.td565ProgressBar i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#996eff,#4ce8ff);transition:width .2s ease}.td565Example{height:31px;padding:0 10px;border:0;border-radius:10px;cursor:pointer;color:#d7e8fa;background:#1b2c48;font:1000 8px/1 inherit}
  .td565Fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.td565Field{display:block;padding:11px;border:1px solid rgba(255,255,255,.085);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.028));transition:.15s}.td565Field.done{border-color:rgba(90,232,172,.3)}.td565Field.wide{grid-column:1/-1}.td565Label{display:flex;align-items:center;gap:8px;margin-bottom:7px}.td565Label>span{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:rgba(120,100,255,.14);font-size:18px}.td565Label b{display:block;color:#f2f8ff;font-size:10px}.td565Label small{display:block;margin-top:2px;color:#718aa6;font-size:7px;font-weight:800}.td565Field input,.td565Field textarea{width:100%;padding:9px 10px;border:1px solid rgba(255,255,255,.09);border-radius:11px;outline:none;color:#f5fbff;background:rgba(2,8,19,.6);font:800 9px/1.35 inherit}.td565Field input{height:39px}.td565Field textarea{min-height:62px;resize:vertical}.td565Field input:focus,.td565Field textarea:focus{border-color:rgba(86,226,255,.55);box-shadow:0 0 0 3px rgba(70,216,255,.06)}.td565Chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.td565Chips button{min-height:26px;padding:0 8px;border:1px solid rgba(255,255,255,.08);border-radius:9px;cursor:pointer;color:#aac1da;background:rgba(255,255,255,.05);font:900 7px/1 inherit}.td565Chips button:hover{color:#fff;background:rgba(93,220,255,.12)}
  .td565Checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.td565Check{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid rgba(255,255,255,.08);border-radius:14px;cursor:pointer;color:#b8cbe0;background:rgba(255,255,255,.045);font-size:9px;font-weight:900}.td565Check input{width:18px;height:18px;accent-color:#5be7bc}.td565Check:has(input:checked){border-color:rgba(88,230,173,.35);color:#effff7;background:rgba(55,190,128,.09)}
  .td565ActionRow{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.td565Build{min-height:52px;border:0;border-radius:15px;cursor:pointer;color:#24154a;background:linear-gradient(180deg,#c3f8ff,#61dfff);box-shadow:0 5px 0 #267fa9;font:1000 11px/1 inherit}.td565Build:active{transform:translateY(3px);box-shadow:0 2px 0 #267fa9}.td565Next{min-width:130px;border:0;border-radius:15px;cursor:pointer;color:#1d442f;background:linear-gradient(180deg,#baf7cf,#6fe4a4);box-shadow:0 5px 0 #29875b;font:1000 9px/1 inherit}
  .td565PromptCard{padding:12px;border:1px solid rgba(105,227,255,.16);border-radius:18px;background:linear-gradient(145deg,rgba(45,100,190,.15),rgba(102,68,192,.1))}.td565PromptCard small{display:block;color:#809ab8;font-size:7px;font-weight:1000;letter-spacing:.12em}.td565PromptCard h4{margin:4px 0 8px!important;color:#fff!important;font-size:15px!important}.td565Prompt{width:100%;height:270px;padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:12px;outline:none;color:#dbe9f8;background:rgba(2,7,17,.72);font:700 8px/1.42 ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}.td565PromptButtons{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.td565Copy,.td565Deep{min-height:47px;border:0;border-radius:13px;cursor:pointer;font:1000 9px/1 inherit}.td565Copy{color:#183b2b;background:linear-gradient(180deg,#b7f5d2,#63e2a1);box-shadow:0 4px 0 #25875b}.td565Deep{color:#fff;background:linear-gradient(180deg,#7965ff,#4d3bd8);box-shadow:0 4px 0 #30258b}.td565Copy.copied{background:#90f2b1}.td565Tip{margin-top:8px;padding:9px;border-radius:11px;color:#94abc3;background:rgba(255,255,255,.04);font-size:8px;font-weight:800;line-height:1.4}.td565Tip b{color:#fff}
  .td565Schedule{margin-top:10px;padding:11px;border-radius:16px;background:rgba(255,255,255,.04)}.td565Schedule strong{display:block;margin-bottom:8px;font-size:10px}.td565ScheduleRow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 0;color:#859db8;font-size:8px;font-weight:900;border-bottom:1px solid rgba(255,255,255,.045)}.td565ScheduleRow:last-child{border:0}.td565ScheduleRow b{color:#dbeafd}.td565Total{margin-top:7px;text-align:right;color:#ffd970;font-size:9px;font-weight:1000}
  .td565Bonus{margin-top:10px}.td565Bonus strong{display:block;margin-bottom:6px;font-size:10px}.td565BonusGrid{display:grid;grid-template-columns:1fr;gap:6px}.td565BonusBtn{padding:9px;border:1px solid rgba(255,255,255,.08);border-radius:11px;cursor:pointer;text-align:left;color:#b9cce1;background:rgba(255,255,255,.045);font:900 8px/1.2 inherit}.td565BonusBtn:hover{color:#fff;background:rgba(117,91,255,.12)}
  .td565Showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.td565ShowCard{padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:rgba(255,255,255,.045)}.td565ShowCard b{display:block;color:#fff;font-size:11px}.td565ShowCard p{min-height:40px;margin:6px 0 0;color:#9fb5cc;font-size:9px;font-weight:800;line-height:1.4}.td565Finish{margin-top:12px;padding:16px;border:1px solid rgba(255,219,95,.2);border-radius:18px;text-align:center;background:linear-gradient(145deg,rgba(255,192,67,.11),rgba(117,77,222,.1))}.td565Finish span{font-size:34px}.td565Finish h4{margin:5px 0 4px!important;color:#fff!important;font-size:18px!important}.td565Finish p{margin:0;color:#9fb4ca;font-size:9px;font-weight:800}.td565Reset{margin-top:8px;width:100%;min-height:35px;border:0;border-radius:11px;cursor:pointer;color:#8da6c0;background:rgba(255,255,255,.045);font:900 8px/1 inherit}
  .td565Error{animation:td565Error .32s ease}@keyframes td565Error{30%{transform:translateX(-4px)}60%{transform:translateX(4px)}}
  body.cityGameFullscreen .tdLessonLaunch{top:56px;right:8px}.td565Overlay *{box-sizing:border-box}
  @media(max-width:900px){.td565Shell{height:calc(100vh - 10px);border-radius:20px}.td565Main{grid-template-columns:1fr}.td565Side{display:none}.td565Fields{grid-template-columns:1fr}.td565Field.wide{grid-column:auto}.td565Checks{grid-template-columns:1fr}.td565Head{padding:9px}.td565Logo{width:42px;height:42px;font-size:22px}.td565HeadText h2{font-size:17px!important}.td565ThreeHours{padding:7px;font-size:7px}.td565Timeline{padding:7px}.td565StageTab{min-width:94px}.td565Work{padding:10px}.td565ActionRow{grid-template-columns:1fr}.td565Next{min-height:44px}.td565Showcase{grid-template-columns:1fr}.tdLessonLaunch{right:7px;top:70px;padding:6px}.tdLessonLaunch div{display:none}.tdLessonLiveOpen{min-width:54px;padding:0 8px}.adminLessonTopActions{width:100%;flex-direction:column}.adminTdPreset{min-height:42px}}

/* ===== v56-6-1-admin-all-style ===== */
/* v56.6.1 - admin testing account: everything unlocked */
#studentTransportButton.v5661AdminAllMounts{display:block!important}
.v5661AdminUnlockBadge{position:absolute;right:14px;bottom:14px;z-index:457;display:none;align-items:center;gap:7px;min-height:34px;padding:0 11px;border-radius:13px;background:rgba(8,28,47,.90);border:1px solid rgba(255,222,99,.32);color:#ffe77f;font:1000 9px Trebuchet MS,Arial;box-shadow:0 12px 28px rgba(0,0,0,.18);pointer-events:none}
.v5661AdminUnlockBadge.show{display:flex}

/* ===== v56-6-4-lesson-overlay-fix-style ===== */
/* Fullscreen city sits at z-index 2147483000+, so lesson must be above the entire city portal. */
.td565Overlay{z-index:2147483646!important;pointer-events:auto!important}
.td565Overlay.open{display:flex!important;visibility:visible!important;opacity:1!important}
.td565Shell{position:relative;z-index:1;pointer-events:auto!important}
.td565Close{position:relative;z-index:20;pointer-events:auto!important;touch-action:manipulation}
.tdLessonLaunch,.tdLessonLaunch button,#tdLessonLiveOpen{pointer-events:auto!important;touch-action:manipulation}
body.cityGameFullscreen .td565Overlay{position:fixed!important;inset:0!important;z-index:2147483646!important}


/* polish.css */
/* ===== v57-polish-style ===== */
/* v57.0 - less text, clearer focus, stronger game feel. */
:root{--v57-panel:rgba(5,19,36,.86);--v57-line:rgba(140,232,255,.18);--v57-glow:rgba(95,222,255,.22)}

/* Remove permanent instructional/debug chrome. Contextual prompts remain. */
.cityStageSystemLegend,
.cityStageHelp,
.cityStageCollisionBadge,
.cityRemoteLegend,
.v559GoalCard,
.v566TeachPanel,
.v566TeachRibbon,
.v566TeachMini{display:none!important}
.cityStageHouseCount,.cityHouseCountLong{display:none!important}

/* Topbar: location + online state, nothing else shouting for attention. */
.cityStageTopbar{min-height:58px!important;padding:8px 11px!important;background:linear-gradient(180deg,rgba(5,19,36,.94),rgba(5,19,36,.84))!important;backdrop-filter:blur(14px);border-bottom:1px solid rgba(140,232,255,.10)!important}
.cityStageLocationIcon{width:38px!important;height:38px!important;border-radius:13px!important;font-size:21px!important}
.cityStageLocation small{display:none!important}
.cityStageLocation strong{font-size:15px!important;letter-spacing:-.01em}
.cityStageStatus>span{min-height:30px!important;padding:0 9px!important;font-size:8px!important;background:rgba(19,67,61,.36)!important}
.cityStageStatus button{min-height:36px!important;min-width:40px!important;padding:0 10px!important;border-radius:12px!important;font-size:15px!important}

/* The top bar already names the location, so the duplicate floating location card is removed. */
.cityLocationChip{display:none!important}

/* Active quest: title + one concrete objective. */
.cityQuestHud{left:12px!important;top:12px!important;width:min(294px,calc(100% - 24px))!important;padding:9px 11px 10px!important;border-radius:15px!important;background:linear-gradient(135deg,rgba(5,22,42,.91),rgba(10,37,59,.86))!important;border:1px solid rgba(113,228,255,.18)!important;box-shadow:0 14px 32px rgba(0,0,0,.20)!important;overflow:hidden}
.cityQuestHud::before,.cityQuestHud::after{opacity:.34!important}
.cityQuestHud small{font-size:7px!important;letter-spacing:.10em!important}
.cityQuestHud strong{margin-top:4px!important;font-size:14px!important;line-height:1.05!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cityQuestHud span{margin-top:5px!important;font-size:9px!important;line-height:1.2!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cityQuestProgress{height:4px!important;margin-top:7px!important}

/* Context action becomes the main instructional UI. */
.cityDoorPrompt,.citySocialPrompt{border-radius:16px!important;box-shadow:0 18px 44px rgba(0,0,0,.30),0 0 0 5px rgba(92,224,255,.07)!important}
.citySocialPrompt{min-width:min(390px,calc(100% - 28px))!important;padding:8px 11px!important}
.citySocialPrompt .key{width:38px!important;height:38px!important;flex-basis:38px!important;border-radius:11px!important;font-size:17px!important}
.citySocialPrompt strong{font-size:12px!important}.citySocialPrompt small{font-size:8px!important}
.citySocialPrompt .socialIcon{font-size:22px!important}
.cityDoorPrompt{min-width:min(390px,calc(100% - 28px))!important;min-height:52px!important;padding:7px 12px!important}

/* Secondary world controls become compact game buttons. */
#worldMapButton{left:12px!important;bottom:12px!important;min-width:48px!important;min-height:44px!important;padding:0 12px!important;border-radius:14px!important;font-size:10px!important;box-shadow:0 5px 0 rgba(8,32,66,.72),0 11px 24px rgba(7,25,52,.20)!important}
#studentTransportButton.v557Transport{right:12px!important;bottom:74px!important;min-width:0!important;min-height:48px!important;max-width:176px!important;padding:7px 11px!important;border-radius:15px!important;box-shadow:0 5px 0 rgba(8,32,66,.72),0 11px 24px rgba(7,25,52,.20)!important}
#studentTransportButton.v557Transport strong{font-size:11px!important}
#studentTransportButton.v557Transport small{display:none!important}

/* Online presence stays visible but smaller. */
.cityOnlineDock{gap:5px!important}
.cityOnlinePeople{min-height:38px!important;padding:0 9px!important;border-radius:13px!important}
.cityOnlinePeople span{display:none!important}
.cityOnlineEmotes{padding:4px!important;border-radius:13px!important}
.cityOnlineEmotes button{width:31px!important;height:31px!important;border-radius:10px!important;font-size:17px!important}

/* World event - one-line urgency, not another paragraph. */
.v556EventBanner{top:12px!important;min-width:0!important;width:min(480px,calc(100% - 150px))!important;padding:7px 8px!important;border-radius:15px!important;gap:8px!important}
.v556EventIcon{width:38px!important;height:38px!important;border-radius:12px!important;font-size:21px!important}
.v556EventBanner small{display:none!important}.v556EventBanner strong{margin:0!important;font-size:12px!important}.v556EventBanner span{margin-top:2px!important;font-size:8px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v556EventGo{min-height:34px!important;padding:0 10px!important;border-radius:10px!important;font-size:8px!important}

/* Tomorrow's workshop entry stays discoverable but compact. */
.tdLessonLaunch{right:12px!important;top:58px!important;padding:6px!important;border-radius:14px!important;gap:5px!important}
.tdLessonLaunch>span{font-size:20px!important}.tdLessonLaunch div{display:none!important}.tdLessonLaunch button{height:34px!important;padding:0 9px!important;border-radius:10px!important;font-size:8px!important}

/* Small optional help - no automatic tutorial wall. */
.v57HelpButton{position:absolute;right:12px;bottom:12px;z-index:320;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(149,234,255,.20);border-radius:14px;color:#dffaff;background:rgba(5,22,40,.82);box-shadow:0 10px 26px rgba(0,0,0,.22);backdrop-filter:blur(10px);font:1000 18px/1 Trebuchet MS,Arial;cursor:pointer;transition:.16s ease}
.v57HelpButton:hover{transform:translateY(-2px);background:rgba(11,42,68,.94)}
.v57HelpPanel{position:absolute;right:12px;bottom:64px;z-index:321;width:min(250px,calc(100% - 24px));display:none;padding:10px;border:1px solid rgba(149,234,255,.18);border-radius:16px;color:#fff;background:rgba(5,20,37,.94);box-shadow:0 18px 46px rgba(0,0,0,.34);backdrop-filter:blur(14px)}
.v57HelpPanel.show{display:grid;gap:6px;animation:v57Pop .16s ease}
.v57HelpRow{min-height:34px;display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:11px;background:rgba(255,255,255,.055);font:900 10px/1.2 Trebuchet MS,Arial}
.v57HelpRow b{min-width:45px;color:#ffe478;font-size:11px}.v57HelpRow span{color:#d9edf9}
@keyframes v57Pop{from{opacity:0;transform:translateY(5px) scale(.98)}to{opacity:1;transform:none}}

/* Subtle ambience - visual depth without blocking clicks. */
.v57Atmosphere{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none;mix-blend-mode:screen;opacity:.72}
.v57Atmosphere i{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;background:rgba(142,240,255,.72);box-shadow:0 0 12px rgba(103,229,255,.65);animation:v57Float var(--d) ease-in-out infinite alternate;animation-delay:var(--delay)}
@keyframes v57Float{from{transform:translate3d(0,7px,0);opacity:.18}to{transform:translate3d(7px,-8px,0);opacity:.78}}

/* Keep touch screens clear. */
@media(max-width:720px){
  .cityStageTopbar{min-height:52px!important;padding:6px 8px!important}.cityStageLocationIcon{width:34px!important;height:34px!important;font-size:19px!important}.cityStageLocation strong{font-size:12px!important}
  .cityStageStatus>span{display:none!important}.cityStageCanvasWrap>.cityLocationChip{top:8px!important;left:8px!important;padding:6px 8px!important}.cityLocationChip .locName{font-size:9px!important}
  .cityQuestHud{top:45px!important;left:8px!important;width:min(245px,calc(100% - 16px))!important;padding:8px 9px!important}.cityQuestHud small{font-size:6px!important}.cityQuestHud strong{font-size:12px!important}.cityQuestHud span{font-size:8px!important}
  .cityOnlineEmotes button:nth-child(n+5){display:none!important}
  .v556EventBanner{top:48px!important;left:8px!important;transform:translateY(-12px)!important;width:calc(100% - 16px)!important;max-width:none!important}.v556EventBanner.show{transform:translateY(0)!important}.v556EventGo{grid-column:auto!important;width:auto!important}
  .tdLessonLaunch{top:46px!important;right:8px!important}.tdLessonLaunch>span{display:none!important}
  #worldMapButton{left:8px!important;bottom:8px!important}.v57HelpButton{right:8px;bottom:8px;width:40px;height:40px;border-radius:13px}.v57HelpPanel{right:8px;bottom:56px}
  #studentTransportButton.v557Transport{right:8px!important;bottom:60px!important;max-width:136px!important}
  .cityOnlineDock{right:8px!important;top:8px!important}
}

body.cityGameFullscreen .cityStageTopbar{min-height:52px!important}
body.cityGameFullscreen .cityQuestHud{top:max(8px,env(safe-area-inset-top))!important}
body.cityGameFullscreen #worldMapButton{left:max(8px,env(safe-area-inset-left))!important;bottom:max(8px,env(safe-area-inset-bottom))!important}
body.cityGameFullscreen .v57HelpButton{right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom))}
body.cityGameFullscreen .v57HelpPanel{right:max(8px,env(safe-area-inset-right));bottom:max(56px,calc(env(safe-area-inset-bottom) + 52px))}

/* ===== v57-1-world-polish-style ===== */
/* City first, UI second. */
#cityStageCanvas{filter:saturate(1.10) contrast(1.025) brightness(1.015)}
.cityStageShade{background:radial-gradient(circle at 50% 46%,transparent 40%,rgba(3,14,28,.20) 100%),linear-gradient(180deg,rgba(20,73,93,.025),rgba(4,19,35,.17))!important}
.cityDoorPrompt,.citySocialPrompt{min-height:48px!important;max-width:410px!important;background:rgba(5,23,42,.92)!important;color:#fff!important;border:1px solid rgba(139,235,255,.30)!important;box-shadow:0 16px 42px rgba(0,0,0,.34),0 0 24px rgba(77,221,255,.10)!important;backdrop-filter:blur(15px)!important}
.cityDoorPrompt .cityDoorKey,.citySocialPrompt .key{background:linear-gradient(180deg,#fff08a,#ffc841)!important;color:#4b3300!important;box-shadow:0 4px 0 #9c6813!important}
.cityDoorPrompt small,.citySocialPrompt small{color:#9ddcf1!important;letter-spacing:.02em!important}
.cityDoorPrompt.show~.citySocialPrompt{opacity:0!important;transform:translate(-50%,12px) scale(.96)!important;pointer-events:none!important}
.cityOnlinePeople{background:rgba(5,26,43,.70)!important;border-color:rgba(111,232,255,.13)!important}
#worldMapButton,.v57HelpButton{background:rgba(5,24,43,.78)!important;border-color:rgba(132,232,255,.18)!important;backdrop-filter:blur(12px)!important}
@media(max-width:720px){.cityDoorPrompt,.citySocialPrompt{min-width:min(330px,calc(100% - 20px))!important}.cityDoorPrompt small,.citySocialPrompt small{font-size:7px!important}}

/* ===== v57-2-game-feel-style ===== */
/* Short, readable feedback instead of more permanent UI. */
.v572HouseTransition{position:absolute;inset:0;z-index:332;display:grid;place-items:center;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 52%,rgba(73,220,255,.13),rgba(2,13,27,.76));backdrop-filter:blur(0);transition:opacity .16s ease,backdrop-filter .18s ease}
.v572HouseTransition.show{opacity:1;backdrop-filter:blur(4px)}
.v572HouseTransitionCard{min-width:220px;max-width:min(78%,420px);padding:15px 20px;border-radius:22px;text-align:center;color:#fff;background:rgba(6,27,48,.88);border:1px solid rgba(134,238,255,.28);box-shadow:0 20px 58px rgba(0,0,0,.36),0 0 34px rgba(76,218,255,.13);transform:translateY(10px) scale(.94);opacity:0;transition:transform .20s cubic-bezier(.2,.9,.2,1.15),opacity .16s ease}
.v572HouseTransition.show .v572HouseTransitionCard{transform:translateY(0) scale(1);opacity:1}
.v572HouseTransitionIcon{display:block;font-size:36px;filter:drop-shadow(0 5px 14px rgba(92,224,255,.28))}
.v572HouseTransitionCard strong{display:block;margin-top:5px;font:1000 18px Trebuchet MS,Arial}
.v572HouseTransitionCard small{display:block;margin-top:4px;color:#9fe9ff;font:900 8px Trebuchet MS,Arial;letter-spacing:.07em;text-transform:uppercase}
.v572GainLayer{position:absolute;inset:0;z-index:334;pointer-events:none;overflow:hidden}
.v572GainChip{position:absolute;left:50%;top:58%;padding:7px 11px;border-radius:999px;color:#fff;background:rgba(5,26,46,.91);border:1px solid rgba(133,236,255,.24);box-shadow:0 8px 26px rgba(0,0,0,.24);font:1000 10px Trebuchet MS,Arial;white-space:nowrap;animation:v572GainFly 1.05s cubic-bezier(.18,.78,.22,1) both}
.v572GainChip.xp{color:#a9f3ff}.v572GainChip.coins{color:#ffe27b}
@keyframes v572GainFly{0%{opacity:0;transform:translate(-50%,12px) scale(.78)}15%{opacity:1;transform:translate(-50%,0) scale(1.04)}72%{opacity:1}100%{opacity:0;transform:translate(-50%,-72px) scale(.96)}}
.cityDoorPrompt.show{animation:v572PromptIn .18s cubic-bezier(.2,.9,.2,1.12)}
@keyframes v572PromptIn{from{filter:brightness(.8);opacity:.35}to{filter:brightness(1);opacity:1}}
@media(max-width:720px){.v572HouseTransitionCard{min-width:190px;padding:13px 16px}.v572HouseTransitionIcon{font-size:31px}.v572HouseTransitionCard strong{font-size:15px}.v572GainChip{top:53%;font-size:9px}}
@media(prefers-reduced-motion:reduce){.v572HouseTransition,.v572HouseTransitionCard,.v572GainChip,.cityDoorPrompt.show{animation:none!important;transition:none!important}}

/* ===== v57-3-world-depth-style ===== */
/* v57.3 keeps the canvas readable: world decoration carries the mood, UI stays quiet. */
#cityStageCanvas{filter:saturate(1.13) contrast(1.035) brightness(1.018)}
.cityStageShade{background:
  radial-gradient(circle at 50% 48%,transparent 34%,rgba(1,11,23,.12) 72%,rgba(1,9,20,.27) 100%),
  linear-gradient(180deg,rgba(102,228,255,.025),transparent 30%,rgba(2,15,31,.12))!important}
/* Location chip becomes a small discovery badge instead of another permanent panel. */
#cityLocationChip{max-width:255px!important;padding:8px 11px!important;border-radius:14px!important;background:rgba(4,22,39,.72)!important;border:1px solid rgba(135,232,255,.16)!important;box-shadow:0 10px 28px rgba(0,0,0,.20)!important;backdrop-filter:blur(12px)!important}
#cityLocationChip .locLabel{font-size:6px!important;opacity:.62!important}
#cityLocationChip .locName{font-size:11px!important}
#cityLocationChip .locDesc{display:none!important}
@media(max-width:720px){#cityLocationChip{max-width:205px!important;padding:7px 9px!important}.cityStageShade{background:radial-gradient(circle at 50% 48%,transparent 38%,rgba(1,10,22,.20) 100%)!important}}

/* ===== v57-4-fun-layer-style ===== */
#cityStageCanvasWrap.v574-coop-live::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:6;background:radial-gradient(circle at 50% 50%,rgba(113,239,255,.14),transparent 42%);animation:v574HubFlash .9s ease-out both}
@keyframes v574HubFlash{0%{opacity:0}22%{opacity:1}100%{opacity:0}}
.v574FunPop{position:absolute;z-index:2147483000;pointer-events:none;transform:translate(-50%,-50%);font:1000 24px/1 Trebuchet MS,Arial;filter:drop-shadow(0 5px 8px rgba(0,0,0,.35));animation:v574Pop .95s ease-out forwards}
@keyframes v574Pop{0%{opacity:0;transform:translate(-50%,-20%) scale(.6)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.18)}100%{opacity:0;transform:translate(-50%,-125%) scale(.92)}}


/* invasion.css */
/* ===== v57-9-meme-invasion-style ===== */
#v575Hud{position:absolute;left:14px;top:76px;z-index:2147483000;display:none;pointer-events:none;max-width:min(440px,calc(100vw - 28px));font-family:Trebuchet MS,Arial,sans-serif}
#v575Hud.show{display:block}
.v575Card{background:linear-gradient(180deg,rgba(7,16,29,.94),rgba(11,28,46,.94));border:1px solid rgba(124,227,255,.20);box-shadow:0 14px 36px rgba(0,0,0,.36);backdrop-filter:blur(10px);border-radius:18px;padding:10px 12px;color:#eafcff}
.v575Top{display:flex;align-items:center;gap:10px;justify-content:space-between}.v575Top b{font-size:14px;letter-spacing:.04em}.v575Top small{display:block;color:#9edff1;font-size:10px;margin-top:2px}
.v575Tag{padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.08);font:1000 10px/1 Trebuchet MS,Arial}.v575Bars{margin-top:9px;display:grid;gap:8px}.v575LabelRow{display:flex;align-items:center;justify-content:space-between;gap:12px;font:1000 10px/1 Trebuchet MS,Arial;color:#b7dcf0;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.v575Bar{height:12px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;position:relative}.v575Bar>i{display:block;height:100%;width:0;border-radius:inherit;transition:width .18s linear}#v575CoreBar i{background:linear-gradient(90deg,#49f2f3,#23b7ff 55%,#2a79ff)}#v575BossBar i{background:linear-gradient(90deg,#ffdb69,#ff8b4d 55%,#ff476f)}
.v575Bottom{margin-top:9px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#cae6f8;font-size:11px}.v575Note{opacity:.92}.v575Btns{position:absolute;right:14px;bottom:18px;z-index:2147483000;display:none;gap:10px;align-items:flex-end;flex-direction:column}.v575Btns.show{display:flex}.v575Btn{pointer-events:auto;border:none;border-radius:16px;padding:12px 14px;min-width:132px;box-shadow:0 10px 25px rgba(0,0,0,.28);font:1000 13px/1.05 Trebuchet MS,Arial;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .14s ease,filter .14s ease,opacity .14s ease}.v575Btn:hover{transform:translateY(-2px);filter:brightness(1.05)}.v575Btn:active{transform:translateY(1px)}.v575Btn.shoot{background:linear-gradient(135deg,#26b6ff,#4779ff)}.v575Btn.block{background:linear-gradient(135deg,#3bcc92,#1aa96f)}.v575Btn.start{background:linear-gradient(135deg,#ff8f57,#ff496d)}.v575Btn[disabled]{opacity:.5;filter:grayscale(.2);cursor:default;transform:none}.v575Btn small{display:block;font-size:10px;opacity:.88;font-weight:800}#v575StartWrap{position:absolute;right:14px;top:78px;z-index:2147483000;display:none}#v575StartWrap.show{display:block}
.v575Toast{position:absolute;left:50%;top:14%;transform:translateX(-50%);z-index:2147483001;pointer-events:none;background:linear-gradient(180deg,rgba(255,90,90,.95),rgba(191,31,60,.95));padding:14px 18px;border-radius:18px;box-shadow:0 18px 40px rgba(0,0,0,.35);color:#fff;text-align:center;min-width:min(420px,calc(100vw - 26px));font-family:Trebuchet MS,Arial,sans-serif;opacity:0;transition:opacity .18s ease,transform .18s ease}.v575Toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.v575Toast b{display:block;font-size:18px;letter-spacing:.06em}.v575Toast span{display:block;margin-top:6px;font-size:12px;color:#ffe7ec}#cityStageCanvasWrap.v575-alert::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:5;background:radial-gradient(circle at 50% 50%,rgba(255,77,111,.12),transparent 48%)}
#cityStageCanvas.v577CombatAim{cursor:crosshair}
#v575BuildMenu{position:absolute;left:50%;bottom:18px;transform:translateX(-50%) translateY(18px);z-index:2147483002;width:min(760px,calc(100vw - 30px));display:none;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;font-family:Trebuchet MS,Arial,sans-serif}
#v575BuildMenu.show{display:block;opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.v575BuildCard{background:linear-gradient(180deg,rgba(7,18,32,.98),rgba(10,29,48,.98));border:1px solid rgba(125,231,255,.28);box-shadow:0 20px 46px rgba(0,0,0,.45);border-radius:22px;padding:12px;color:#effcff}
.v575BuildHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.v575BuildHead strong{display:block;font-size:15px}.v575BuildHead small{display:block;color:#9fdbea;font-size:10px;margin-top:3px}.v575BuildClose{border:0;border-radius:12px;width:36px;height:36px;background:rgba(255,255,255,.08);color:#fff;font-size:17px;cursor:pointer}
.v575BuildChoices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.v575BuildChoice{border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:10px 8px;background:rgba(255,255,255,.055);color:#fff;cursor:pointer;text-align:center;min-height:92px;transition:transform .12s ease,background .12s ease,border-color .12s ease}.v575BuildChoice:hover{transform:translateY(-2px);background:rgba(118,229,255,.10);border-color:rgba(118,229,255,.34)}.v575BuildChoice .ico{display:block;font-size:29px;line-height:1}.v575BuildChoice b{display:block;font-size:11px;margin-top:7px}.v575BuildChoice small{display:block;font-size:9px;line-height:1.22;color:#b9d7e6;margin-top:4px}.v575BuildChoice.turret{box-shadow:inset 0 0 0 1px rgba(65,183,255,.08)}.v575BuildChoice.freeze{box-shadow:inset 0 0 0 1px rgba(101,231,255,.09)}.v575BuildChoice.rocket{box-shadow:inset 0 0 0 1px rgba(255,137,74,.10)}.v575BuildChoice.tesla{box-shadow:inset 0 0 0 1px rgba(189,128,255,.10)}.v575BuildChoice.shield{box-shadow:inset 0 0 0 1px rgba(94,255,167,.10)}
@media(max-width:720px){#v575Hud{left:10px;top:68px;max-width:calc(100vw - 20px)}.v575Card{padding:9px 10px;border-radius:16px}.v575Top b{font-size:12px}.v575Bottom{font-size:10px;gap:8px}#v575StartWrap{top:70px;right:10px}.v575Btn{min-width:120px;padding:10px 12px;font-size:12px}.v575Btns{right:10px;bottom:12px;gap:8px}.v575BuildChoices{grid-template-columns:repeat(2,minmax(0,1fr));max-height:48vh;overflow:auto}.v575BuildChoice{min-height:78px}.v575BuildChoice:last-child{grid-column:1/-1}.v575BuildCard{padding:10px;border-radius:18px}}

.v575BuildChoice[disabled]{opacity:.45;filter:grayscale(.24);cursor:not-allowed;transform:none}
.v575BuildChoice .cost{display:block;margin-top:6px;font-size:10px;color:#ffe17b;font-weight:1000}
.v575BuildChoice .stat{display:block;margin-top:4px;font-size:8px;color:#8fcfe7}
#v575GoldInfo{color:#ffe17b;font-weight:1000;white-space:nowrap}
.v575Float{position:absolute;z-index:2147483003;pointer-events:none;transform:translate(-50%,-50%);font:1000 18px/1 Trebuchet MS,Arial;color:#fff;text-shadow:0 3px 12px rgba(0,0,0,.45);animation:v575Float .88s ease-out forwards}
.v575Float.coin{color:#ffe17b}.v575Float.hit{color:#ffffff}.v575Float.crit{color:#ffb075}.v575Float.slow{color:#7cecff}.v575Float.boss{color:#ff8aa6}
@keyframes v575Float{0%{opacity:0;transform:translate(-50%,-12%) scale(.7)}15%{opacity:1}100%{opacity:0;transform:translate(-50%,-165%) scale(1.07)}}
.v575Ring{position:absolute;z-index:2147483002;pointer-events:none;left:0;top:0;width:18px;height:18px;border-radius:999px;border:3px solid rgba(255,255,255,.9);transform:translate(-50%,-50%) scale(.4);animation:v575Ring .55s ease-out forwards}
@keyframes v575Ring{0%{opacity:.95;transform:translate(-50%,-50%) scale(.35)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.8)}}
.v575HidePrompt{display:none!important;opacity:0!important;pointer-events:none!important}

.v575Flash{position:absolute;z-index:2147483004;pointer-events:none;border-radius:999px;transform:translate(-50%,-50%);animation:v575Flash .42s ease-out forwards;mix-blend-mode:screen}
@keyframes v575Flash{0%{opacity:.96;transform:translate(-50%,-50%) scale(.35)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.2)}}
.v575Spark{position:absolute;z-index:2147483004;pointer-events:none;width:8px;height:8px;border-radius:999px;transform:translate(-50%,-50%);animation:v575Spark .75s ease-out forwards;box-shadow:0 0 16px currentColor}
@keyframes v575Spark{0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}10%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx,0px)),calc(-50% + var(--dy,0px))) scale(1.15)}}
#v575NetInfo{color:#8feeff;font-weight:1000;white-space:nowrap}.realAvatarArt{image-rendering:auto!important;backface-visibility:hidden;transform:translateZ(0)}

/* ===== v59.0.5 active co-op tower defense ===== */
.v5905HudCard{min-width:min(430px,calc(100vw - 28px));border-color:rgba(105,235,255,.30);background:linear-gradient(160deg,rgba(6,17,32,.96),rgba(15,35,58,.94) 52%,rgba(30,18,53,.93));box-shadow:0 18px 46px rgba(0,0,0,.42),0 0 38px rgba(78,205,255,.08)}
.v5905CombatLine{display:flex;align-items:center;gap:10px;margin-top:9px}.v5905CombatLine>span{font:1000 10px/1 Trebuchet MS,Arial;color:#ffcf72;white-space:nowrap;transition:.2s}.v5905CombatLine>span.hot{color:#ff755e;text-shadow:0 0 12px rgba(255,98,74,.65);transform:scale(1.07)}
.v5905Ult{position:relative;height:18px;flex:1;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.08)}.v5905Ult i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#ff8a42,#ff4f79,#ae6bff);box-shadow:0 0 20px rgba(255,88,112,.46);transition:width .16s linear}.v5905Ult b{position:absolute;inset:0;display:grid;place-items:center;font:1000 8px/1 Trebuchet MS,Arial;letter-spacing:.05em;color:white;text-shadow:0 1px 4px rgba(0,0,0,.8)}
.v5905Btns{gap:8px}.v575Btn.upgrade{background:linear-gradient(135deg,#8d61ff,#5a4ce8)}.v575Btn.ultimate{background:linear-gradient(135deg,#ff9c43,#ff416d)}
.v5905AbilityRow{display:flex;gap:7px;pointer-events:auto}.v5905Ability{width:132px;min-height:56px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:linear-gradient(160deg,rgba(17,32,51,.98),rgba(12,23,40,.98));color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.26);cursor:pointer;display:grid;grid-template-columns:34px 1fr 27px;align-items:center;text-align:left;padding:7px 8px;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.v5905Ability:hover{transform:translateY(-2px)}.v5905Ability b{font-size:25px}.v5905Ability span{font:1000 9px/1.08 Trebuchet MS,Arial}.v5905Ability small{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.09);font:1000 9px/1 Trebuchet MS,Arial}.v5905Ability.ready{border-color:rgba(108,235,255,.5);box-shadow:0 10px 24px rgba(0,0,0,.26),0 0 20px rgba(76,211,255,.12)}.v5905Ability.bomb.ready{border-color:rgba(255,155,82,.52)}.v5905Ability.freeze.ready{border-color:rgba(103,231,255,.55)}
#v5905TowerMenu,#v5905Perk,#v5905Result{position:absolute;inset:0;z-index:2147483010;display:none;align-items:center;justify-content:center;padding:22px;font-family:Trebuchet MS,Arial,sans-serif;pointer-events:none}#v5905TowerMenu.show,#v5905Perk.show,#v5905Result.show{display:flex;pointer-events:auto}
#v5905TowerMenu{background:rgba(3,10,18,.34);backdrop-filter:blur(3px)}.v5905TowerCard{position:relative;width:min(620px,calc(100vw - 34px));border-radius:25px;padding:20px;background:linear-gradient(155deg,rgba(11,24,42,.985),rgba(24,28,59,.985));border:1px solid rgba(139,220,255,.30);box-shadow:0 28px 70px rgba(0,0,0,.48);color:#fff}.v5905PanelClose{position:absolute;right:12px;top:12px;width:36px;height:36px;border:0;border-radius:12px;background:rgba(255,255,255,.09);color:#fff;font-size:20px;cursor:pointer}.v5905TowerTitle{display:flex;gap:14px;align-items:center;padding-right:48px}.v5905TowerTitle>span{font-size:54px;width:70px;height:70px;border-radius:20px;display:grid;place-items:center;background:rgba(255,255,255,.07)}.v5905TowerTitle small{font:1000 10px/1 Trebuchet MS,Arial;color:#83eaff;letter-spacing:.12em}.v5905TowerTitle h3{margin:5px 0 3px;font-size:24px}.v5905TowerTitle p{margin:0;color:#b7d9ea;font-size:12px}.v5905BranchGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.v5905Branch{border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(255,255,255,.055);padding:15px;color:#fff;text-align:left;cursor:pointer;transition:.15s}.v5905Branch:hover{transform:translateY(-2px);border-color:rgba(108,228,255,.46);background:rgba(98,209,255,.09)}.v5905Branch b,.v5905Branch span,.v5905Branch strong{display:block}.v5905Branch b{font-size:14px}.v5905Branch span{font-size:11px;line-height:1.35;color:#b9d7e6;margin-top:6px}.v5905Branch strong{margin-top:10px;color:#ffe17b}.v5905Branch.levelup{margin-top:18px;width:100%;text-align:center}.v5905TowerMax{text-align:center;margin-top:18px;padding:16px;border-radius:17px;background:rgba(255,215,80,.09);border:1px solid rgba(255,220,100,.2);font-weight:1000;color:#ffe486}
#v5905Perk{background:radial-gradient(circle at 50% 45%,rgba(35,101,150,.42),rgba(2,8,16,.72));backdrop-filter:blur(5px)}.v5905PerkCard{width:min(820px,calc(100vw - 30px));padding:24px;border-radius:28px;background:linear-gradient(145deg,rgba(8,20,38,.985),rgba(30,24,66,.985));border:1px solid rgba(128,225,255,.28);box-shadow:0 30px 80px rgba(0,0,0,.52);color:#fff;text-align:center}.v5905PerkEyebrow{font:1000 10px/1 Trebuchet MS,Arial;color:#7fe9ff;letter-spacing:.18em}.v5905PerkCard h2{margin:8px 0 5px;font-size:25px}.v5905PerkCard>p{margin:0;color:#ffd979;font-weight:1000}.v5905PerkCard>small{display:block;margin-top:13px;color:#9fc5d7}.v5905PerkChoices{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:17px}.v5905PerkChoice{min-height:160px;border:1px solid rgba(255,255,255,.12);border-radius:21px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.035));color:#fff;cursor:pointer;padding:14px 12px;transition:.16s}.v5905PerkChoice:hover{transform:translateY(-4px);border-color:rgba(117,232,255,.45)}.v5905PerkChoice.mine{border-color:#75efff;box-shadow:0 0 0 2px rgba(117,239,255,.16),0 12px 32px rgba(37,177,255,.15);background:linear-gradient(160deg,rgba(76,217,255,.15),rgba(125,95,255,.09))}.v5905PerkChoice span,.v5905PerkChoice b,.v5905PerkChoice small,.v5905PerkChoice strong{display:block}.v5905PerkChoice span{font-size:42px}.v5905PerkChoice b{font-size:13px;margin-top:8px}.v5905PerkChoice small{font-size:10px;line-height:1.35;color:#b9d9e8;margin-top:6px}.v5905PerkChoice strong{margin-top:10px;color:#ffe27c}
#v5905Result{background:rgba(2,7,13,.68);backdrop-filter:blur(6px)}.v5905ResultCard{width:min(560px,calc(100vw - 30px));border-radius:28px;padding:24px;background:linear-gradient(155deg,rgba(10,26,43,.99),rgba(35,27,68,.99));border:1px solid rgba(133,225,255,.26);box-shadow:0 32px 80px rgba(0,0,0,.55);color:#fff;text-align:center}.v5905ResultIcon{font-size:68px;animation:v5905ResultPop .8s cubic-bezier(.2,.9,.2,1.2) both}.v5905ResultCard h2{margin:5px 0 5px}.v5905ResultCard p{margin:0;color:#aed2e3;font-size:12px}.v5905Scoreboard{display:grid;gap:7px;margin-top:17px;text-align:left}.v5905Scoreboard>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:13px;background:rgba(255,255,255,.055)}.v5905Scoreboard b{font-size:11px}.v5905Scoreboard span{font-size:10px;color:#b9dbea}
@keyframes v5905ResultPop{0%{opacity:0;transform:scale(.45) rotate(-12deg)}65%{opacity:1;transform:scale(1.1) rotate(3deg)}100%{transform:scale(1)}}
@media(max-width:760px){.v5905HudCard{min-width:0}.v5905AbilityRow{width:100%}.v5905Ability{width:50%;min-width:0}.v5905PerkChoices{grid-template-columns:1fr}.v5905PerkChoice{min-height:110px}.v5905BranchGrid{grid-template-columns:1fr}.v5905TowerCard,.v5905PerkCard,.v5905ResultCard{max-height:82vh;overflow:auto}.v5905CombatLine{flex-wrap:wrap}.v5905Ult{min-width:180px}}


/* battle.css */
/* ===== Koderia v59.51.0 Combat FX Overhaul (uses Canvas/Web Animations; no extra CSS required) ===== */
/* ===== KodKlass v59.42.0 Battle TD additions ===== */
#v591Threat{display:flex;align-items:center;gap:8px;margin-top:8px;padding:7px 10px;border-radius:12px;background:rgba(255,255,255,.055);border:1px solid rgba(127,229,255,.12);font:900 9px/1.2 Trebuchet MS,Arial;color:#d9f8ff}
#v591Threat b{color:#fff;letter-spacing:.03em}#v591Threat span{color:#9ec7da}
.v591Role{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;min-width:46px;height:18px!important;padding:0 7px;border-radius:999px;background:rgba(124,229,255,.10)!important;border:1px solid rgba(124,229,255,.18);font:1000 8px/1 Trebuchet MS,Arial;color:#a9efff;margin:5px auto 0}
.v591GoodAt{display:block!important;margin-top:4px;font:800 8px/1.2 Trebuchet MS,Arial;color:#8fb6c8!important}
.v591PhasePips{display:inline-flex;gap:4px;margin-left:8px;vertical-align:middle}.v591PhasePips i{display:block;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.v591PhasePips i.on{background:#ff6f86;box-shadow:0 0 10px rgba(255,92,126,.65)}
#v591RepairBtn{background:linear-gradient(135deg,#35b987,#278bd7)}
#v591BossInterrupt{display:none;margin-top:7px;padding:6px 9px;border-radius:10px;background:rgba(255,77,99,.14);border:1px solid rgba(255,102,124,.28);font:1000 9px/1 Trebuchet MS,Arial;color:#ffd7dc;animation:v591Warn .55s ease-in-out infinite alternate}#v591BossInterrupt.show{display:block}
.v591ThreatRush{box-shadow:0 0 18px rgba(103,225,255,.08)}
@keyframes v591Warn{from{transform:scale(1);opacity:.78}to{transform:scale(1.02);opacity:1}}
@media(max-width:760px){#v591Threat{font-size:8px}.v591AbilityStack{display:grid;grid-template-columns:1fr 1fr;gap:7px}.v591AbilityStack #v591RepairBtn{grid-column:1/-1;width:100%}}

/* ===== KodKlass v59.4.0 Battle Realm / exact build UX ===== */
#cityStageCanvasWrap.v594RealmWrap{background:radial-gradient(circle at 50% 48%,#102b49 0%,#07172b 48%,#020814 100%)}
#cityStageCanvas.v594Realm{cursor:crosshair}
#cityStageCanvas.v594BuildMode{cursor:cell!important}
#v594PortalPrompt,#v594ExitBtn,#v594Lobby,#v594BuildHint,#v594WaveBanner{position:absolute;z-index:96;display:none;font-family:Trebuchet MS,Arial,sans-serif}
#v594PortalPrompt.show,#v594ExitBtn.show,#v594Lobby.show,#v594BuildHint.show{display:flex}
#v594PortalPrompt{left:50%;bottom:88px;transform:translateX(-50%);flex-direction:column;align-items:center;gap:3px;min-width:220px;padding:11px 18px;border:1px solid rgba(107,234,255,.42);border-radius:17px;background:linear-gradient(145deg,rgba(6,23,43,.94),rgba(26,24,65,.94));box-shadow:0 14px 36px rgba(0,0,0,.34),0 0 24px rgba(91,224,255,.12);color:#edfdff;backdrop-filter:blur(12px);cursor:pointer}
#v594PortalPrompt b{font:1000 12px/1 Trebuchet MS,Arial;letter-spacing:.06em}#v594PortalPrompt span{font:800 9px/1.2 Trebuchet MS,Arial;color:#9ed4e5}
#v594PortalPrompt.alert{border-color:rgba(255,103,139,.66);box-shadow:0 14px 36px rgba(0,0,0,.34),0 0 32px rgba(255,82,128,.30);animation:v594PortalAlert .75s ease-in-out infinite alternate}
#v594PortalPrompt.alert span{color:#ffc0ce}
#v594ExitBtn{top:72px;left:18px;align-items:center;justify-content:center;padding:9px 13px;border:1px solid rgba(150,224,255,.24);border-radius:12px;background:rgba(5,17,33,.84);color:#dff9ff;font:1000 9px/1 Trebuchet MS,Arial;box-shadow:0 8px 22px rgba(0,0,0,.25);cursor:pointer;backdrop-filter:blur(10px)}
#v594ExitBtn:disabled{opacity:.38;cursor:not-allowed}
#v594Lobby{left:50%;top:22%;transform:translate(-50%,-50%);pointer-events:none;align-items:center;justify-content:center;text-align:center}
#v594Lobby>div{display:flex;flex-direction:column;gap:5px;min-width:250px;padding:15px 22px;border-radius:19px;border:1px solid rgba(117,232,255,.24);background:linear-gradient(145deg,rgba(5,22,42,.82),rgba(26,24,61,.78));box-shadow:0 18px 50px rgba(0,0,0,.28),inset 0 0 25px rgba(104,225,255,.04);backdrop-filter:blur(10px)}
#v594Lobby small{font:1000 8px/1 Trebuchet MS,Arial;letter-spacing:.18em;color:#78dff8}#v594Lobby b{font:1000 20px/1.1 Trebuchet MS,Arial;color:#f2fdff;text-shadow:0 0 17px rgba(96,225,255,.28)}#v594Lobby span{font:800 10px/1.25 Trebuchet MS,Arial;color:#a9cad8}
#v594BuildHint{left:50%;bottom:104px;transform:translateX(-50%);align-items:center;gap:10px;padding:10px 14px;border-radius:14px;border:1px solid rgba(104,237,255,.44);background:rgba(5,25,43,.92);box-shadow:0 12px 34px rgba(0,0,0,.32),0 0 20px rgba(86,227,255,.13);color:#eaffff;pointer-events:none;backdrop-filter:blur(10px)}
#v594BuildHint b{font:1000 9px/1 Trebuchet MS,Arial;color:#90f1ff}#v594BuildHint span{font:800 9px/1 Trebuchet MS,Arial;color:#b9d3df}
#v575BlockBtn.active{border-color:rgba(95,237,255,.78)!important;box-shadow:0 0 0 2px rgba(95,237,255,.15),0 0 28px rgba(80,228,255,.24)!important;transform:translateY(-2px)}
#v594WaveBanner{left:50%;top:25%;transform:translate(-50%,-50%) scale(.78);min-width:240px;flex-direction:column;align-items:center;gap:2px;padding:12px 24px;border-radius:20px;border:1px solid rgba(137,235,255,.34);background:linear-gradient(145deg,rgba(5,22,42,.92),rgba(37,23,65,.9));box-shadow:0 20px 60px rgba(0,0,0,.38),0 0 32px rgba(113,216,255,.15);color:#fff;pointer-events:none;opacity:0}
#v594WaveBanner.show{display:flex;animation:v594Wave 1.9s cubic-bezier(.2,.8,.2,1) both}
#v594WaveBanner small{font:1000 8px/1 Trebuchet MS,Arial;letter-spacing:.2em;color:#88eaff}#v594WaveBanner b{font:1000 34px/1 Trebuchet MS,Arial;text-shadow:0 0 24px rgba(118,225,255,.38)}#v594WaveBanner span{font:1000 10px/1.1 Trebuchet MS,Arial;color:#d9f7ff;letter-spacing:.06em}
.v594BuildPop{position:absolute;z-index:97;pointer-events:none;transform:translate(-50%,-50%);width:80px;height:80px;display:grid;place-items:center;animation:v594BuildPop .82s ease-out both}.v594BuildPop i{position:absolute;inset:4px;border:3px solid rgba(135,238,255,.75);border-radius:18px;animation:v594BuildRing .82s ease-out both}.v594BuildPop b{font-size:30px;filter:drop-shadow(0 0 12px rgba(125,232,255,.6))}
@keyframes v594PortalAlert{from{transform:translateX(-50%) scale(1)}to{transform:translateX(-50%) scale(1.025)}}
@keyframes v594Wave{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}14%,72%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-58%) scale(1.05)}}
@keyframes v594BuildPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}18%{opacity:1}100%{opacity:0;transform:translate(-50%,-70%) scale(1.18)}}
@keyframes v594BuildRing{0%{opacity:1;transform:scale(.55) rotate(0)}100%{opacity:0;transform:scale(1.4) rotate(32deg)}}
@media(max-width:760px){#v594PortalPrompt{bottom:72px;min-width:190px;padding:10px 14px}#v594ExitBtn{top:60px;left:10px}#v594BuildHint{bottom:86px;max-width:calc(100% - 24px);gap:5px;flex-direction:column;text-align:center}#v594Lobby{top:18%}#v594Lobby>div{min-width:210px;padding:12px 15px}#v594WaveBanner{top:20%;min-width:200px}}

/* ===== KodKlass v59.4.2 visible Arena portal / waypoint ===== */
#v5942CityPortal,#v5942PortalGuide{position:absolute;z-index:95;font-family:Trebuchet MS,Arial,sans-serif}
#v5942CityPortal{display:none;transform:translate(-50%,-58%);width:138px;height:166px;border:0;background:transparent;color:#ecfdff;cursor:pointer;filter:drop-shadow(0 16px 24px rgba(0,0,0,.38));pointer-events:auto}
#v5942CityPortal.show{display:flex;flex-direction:column;align-items:center;justify-content:center}
#v5942CityPortal::before,#v5942CityPortal::after{content:"";position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}
#v5942CityPortal::before{width:92px;height:126px;border:8px solid rgba(91,232,255,.88);box-shadow:0 0 22px rgba(69,222,255,.62),inset 0 0 25px rgba(116,108,255,.28);animation:v5942PortalRing 1.8s ease-in-out infinite}
#v5942CityPortal::after{width:116px;height:52px;border:3px solid rgba(192,137,255,.78);animation:v5942PortalOrbit 3.1s linear infinite}
#v5942CityPortal i{position:relative;z-index:2;font-style:normal;font-size:43px;line-height:1;filter:drop-shadow(0 0 13px rgba(119,232,255,.85));animation:v5942PortalBolt 1.15s ease-in-out infinite alternate}
#v5942CityPortal b{position:absolute;z-index:3;left:50%;bottom:7px;transform:translateX(-50%);min-width:122px;padding:7px 9px 5px;border-radius:11px 11px 5px 5px;background:rgba(4,22,41,.92);border:1px solid rgba(111,234,255,.55);box-shadow:0 8px 22px rgba(0,0,0,.28);font:1000 12px/1 Trebuchet MS,Arial;letter-spacing:.06em;white-space:nowrap}
#v5942CityPortal small{position:absolute;z-index:4;left:50%;bottom:-12px;transform:translateX(-50%);font:1000 8px/1 Trebuchet MS,Arial;color:#88edff;letter-spacing:.12em;white-space:nowrap;text-shadow:0 2px 8px #02101d}
#v5942CityPortal.live::before{border-color:rgba(255,96,137,.95);box-shadow:0 0 32px rgba(255,71,122,.72),inset 0 0 28px rgba(255,99,141,.25);animation-duration:.78s}
#v5942CityPortal.live b{border-color:rgba(255,114,149,.72);color:#ffeaf0;background:rgba(53,12,32,.93)}
#v5942CityPortal.live small{color:#ffb2c5}
#v5942PortalGuide{display:none;right:16px;top:86px;min-width:172px;align-items:center;gap:8px;padding:9px 11px;border:1px solid rgba(103,230,255,.34);border-radius:14px;background:linear-gradient(145deg,rgba(5,24,43,.94),rgba(23,25,59,.93));box-shadow:0 12px 32px rgba(0,0,0,.3),0 0 22px rgba(90,224,255,.1);color:#ecfdff;cursor:pointer;backdrop-filter:blur(10px);pointer-events:auto}
#v5942PortalGuide.show{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto}
#v5942PortalGuide>span{grid-row:1/3;font-size:22px}#v5942PortalGuide>b{font:1000 10px/1 Trebuchet MS,Arial;letter-spacing:.05em;text-align:left}#v5942PortalGuide>small{font:800 8px/1 Trebuchet MS,Arial;color:#8fcfe0;text-align:left}#v5942PortalGuide>i{grid-column:3;grid-row:1/3;font-style:normal;font-size:18px;color:#7eeeff;animation:v5942GuideArrow .8s ease-in-out infinite alternate}
#v5942PortalGuide.live{border-color:rgba(255,104,143,.58);box-shadow:0 12px 32px rgba(0,0,0,.3),0 0 28px rgba(255,80,127,.20)}#v5942PortalGuide.live>small{color:#ffafc2}#v5942PortalGuide.live>i{color:#ff8daa}
@keyframes v5942PortalRing{0%,100%{transform:translate(-50%,-50%) scale(.96);opacity:.78}50%{transform:translate(-50%,-50%) scale(1.06);opacity:1}}
@keyframes v5942PortalOrbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes v5942PortalBolt{from{transform:scale(.94);opacity:.82}to{transform:scale(1.08);opacity:1}}
@keyframes v5942GuideArrow{from{transform:translateX(-2px)}to{transform:translateX(3px)}}
@media(max-width:760px){#v5942CityPortal{width:116px;height:145px}#v5942CityPortal::before{width:74px;height:104px;border-width:6px}#v5942CityPortal::after{width:96px;height:44px}#v5942CityPortal i{font-size:35px}#v5942CityPortal b{min-width:104px;font-size:10px}#v5942PortalGuide{right:8px;top:74px;min-width:148px;padding:8px 9px}}

/* ===== Koderia v59.11.0 · Battle TD 2.0 polish ===== */
#v5911DataInfo{color:#79efff!important;font-weight:1000!important;text-shadow:0 0 10px rgba(96,228,255,.35)}
#v5905UltBtn.charged{animation:v5911UltReady .62s ease-in-out infinite alternate!important;border-color:rgba(255,226,91,.85)!important;box-shadow:0 0 30px rgba(255,203,68,.42),inset 0 0 20px rgba(255,229,94,.10)!important}
#v5905UltBtn.charged small{color:#fff0a6!important}.v5911ResultData{margin:10px 0;padding:9px 11px;border:1px solid rgba(104,233,255,.23);border-radius:13px;background:rgba(79,217,239,.07);color:#bfeef6;font:900 9px/1.35 Inter,system-ui,sans-serif}.v5911ResultData b{color:#78f0ff;font-size:11px}
.v575BuildChoice.drone{border-color:rgba(104,239,199,.24)!important}.v575BuildChoice.drone .ico{filter:drop-shadow(0 0 12px rgba(92,242,194,.45))}
@keyframes v5911UltReady{from{transform:translateY(0) scale(1)}to{transform:translateY(-2px) scale(1.025)}}
@media(max-width:760px){#v5911DataInfo{font-size:8px!important}.v5911ResultData{font-size:8px}}
@media(prefers-reduced-motion:reduce){#v5905UltBtn.charged{animation:none!important}}

/* The melee action appears only while an enemy is in striking distance. */
#v591MeleeBtn{background:linear-gradient(135deg,#f1a24b,#d94e58)}
#v591MeleeBtn.ready{box-shadow:0 0 0 2px rgba(255,225,117,.16),0 0 22px rgba(255,168,78,.38)}

/* ===== Koderia v59.25.1 · stable focused battle interface ===== */
#cityStageCanvasWrap.v59251BattleFocus .fwLauncher,
#cityStageCanvasWrap.v59251BattleFocus .koderiaLoopDock,
#cityStageCanvasWrap.v59251BattleFocus .koderiaMissionOverlay,
#cityStageCanvasWrap.v59251BattleFocus #khlTopRightStack,
#cityStageCanvasWrap.v59251BattleFocus #khlMoreButton,
#cityStageCanvasWrap.v59251BattleFocus #khlUtilityPanel,
#cityStageCanvasWrap.v59251BattleFocus #kshRail,
#cityStageCanvasWrap.v59251BattleFocus #kshPrimary,
#cityStageCanvasWrap.v59251BattleFocus #kshNudge,
#cityStageCanvasWrap.v59251BattleFocus #v5951WorldGuide,
#cityStageCanvasWrap.v59251BattleFocus .v5951TargetBeacon,
#cityStageCanvasWrap.v59251BattleFocus #cityLocationChip,
#cityStageCanvasWrap.v59251BattleFocus #v5782GarageButton,
#cityStageCanvasWrap.v59251BattleFocus #v5782GaragePanel,
body.v59251BattleFocus #lessonLiveBanner,
body.v59251BattleFocus #lessonRewardDock,
body.v59251BattleFocus #lessonBroadcast{
  display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important
}
#v575Hud,#v575Btns,#v575StartWrap,#v575Toast,#v575BuildMenu,#v5905TowerMenu,#v5905Perk,#v5905Result,#v594PortalPrompt,#v5925ArenaEntry,#v594ExitBtn,#v594Lobby,#v594BuildHint,#v594WaveBanner,#v5925Coach,#v5925Round{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
#v5925ArenaEntry{position:absolute;z-index:2147482999;left:50%;bottom:14px;transform:translateX(-50%);display:none;align-items:center;gap:9px;min-width:230px;padding:10px 13px;border:1px solid rgba(111,236,255,.46);border-radius:16px;background:linear-gradient(145deg,rgba(5,27,48,.95),rgba(41,29,82,.95));box-shadow:0 14px 38px rgba(0,0,0,.38),0 0 27px rgba(93,226,255,.15);color:#effdff;cursor:pointer;backdrop-filter:blur(12px)}#v5925ArenaEntry.show{display:flex}#v5925ArenaEntry>span{font-size:27px;filter:drop-shadow(0 0 10px #83edff)}#v5925ArenaEntry>div{flex:1;text-align:left}#v5925ArenaEntry b,#v5925ArenaEntry small{display:block}#v5925ArenaEntry b{font:1000 12px/1 Trebuchet MS,Arial}#v5925ArenaEntry small{margin-top:4px;font:900 8px/1 Trebuchet MS,Arial;color:#87dcec;letter-spacing:.08em}#v5925ArenaEntry>i{font:1000 24px/1 Trebuchet MS,Arial;font-style:normal;color:#8deeff;animation:v5942GuideArrow .8s ease-in-out infinite alternate}#v5925ArenaEntry.live{border-color:rgba(255,113,148,.75);box-shadow:0 14px 38px rgba(0,0,0,.38),0 0 32px rgba(255,79,127,.28);animation:v5925Attention .72s ease-in-out infinite alternate}#v5925ArenaEntry.live small{color:#ffb2c5}
#v594ExitBtn{z-index:2147483012!important;top:14px!important;left:14px!important;min-width:104px;min-height:39px;border-color:rgba(160,238,255,.58);background:linear-gradient(145deg,rgba(5,25,44,.97),rgba(34,28,72,.97));box-shadow:0 12px 34px rgba(0,0,0,.42),0 0 25px rgba(91,226,255,.18)}
#v575Hud{max-width:min(520px,calc(100vw - 28px))}
.v5905HudCard{min-width:min(500px,calc(100vw - 28px));padding:13px 15px;border-color:rgba(112,238,255,.42);box-shadow:0 20px 54px rgba(0,0,0,.46),0 0 42px rgba(76,215,255,.12)}
.v575Top b{font-size:16px}.v575Top small{font-size:12px}.v575Tag{font-size:11px}.v575LabelRow{font-size:11px}.v575Bottom{font-size:11px;flex-wrap:wrap;justify-content:flex-start}.v575Note{flex:1 0 100%;font-size:11px;color:#e7fbff}.v575Bar{height:14px}
#v591Threat{font-size:10px;padding:8px 11px}#v591Threat span{font-size:10px}.v5905CombatLine>span{font-size:11px}.v5905Ult b{font-size:9px}
#v5925ActivePerks{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:8px}#v5925ActivePerks:empty{display:none}#v5925ActivePerks>b{font:1000 8px/1 Trebuchet MS,Arial;color:#8cecff;letter-spacing:.08em}#v5925ActivePerks>span{padding:4px 7px;border-radius:999px;background:rgba(255,222,101,.10);border:1px solid rgba(255,226,112,.18);font:900 8px/1 Trebuchet MS,Arial;color:#fff2b4}
.v575Btn{position:relative;overflow:hidden;min-width:160px;font-size:14px;padding:13px 15px}.v575Btn small{font-size:10px}.v5905Ability{width:160px;min-height:61px}.v5905Ability span{font-size:10px;line-height:1.12}
.v5925Attention:not([disabled]){border-color:rgba(255,239,135,.9)!important;box-shadow:0 0 0 2px rgba(255,235,114,.18),0 0 30px rgba(255,218,73,.40)!important;animation:v5925Attention .72s ease-in-out infinite alternate!important}
.v5925Attention:not([disabled])::after{content:"✦";position:absolute;right:7px;top:5px;color:#fff6a6;font-size:14px;text-shadow:0 0 9px #ffd94d;animation:v5925Spark .65s ease-in-out infinite alternate;pointer-events:none}
#v5925Coach,#v5925Round{position:absolute;z-index:2147483005;display:none;font-family:Trebuchet MS,Arial,sans-serif;pointer-events:none;color:#effeff}
#v5925Coach.show{display:flex}#v5925Coach{left:50%;top:78px;transform:translateX(-50%);align-items:center;gap:10px;width:min(390px,calc(100vw - 32px));padding:11px 14px;border-radius:16px;background:linear-gradient(145deg,rgba(5,25,44,.94),rgba(31,26,69,.94));border:1px solid rgba(255,230,105,.52);box-shadow:0 15px 40px rgba(0,0,0,.34),0 0 28px rgba(255,218,71,.16);backdrop-filter:blur(12px)}
#v5925Coach>span{font-size:26px;filter:drop-shadow(0 0 10px #ffe36a);animation:v5925Spark .7s ease-in-out infinite alternate}#v5925Coach b,#v5925Coach small{display:block}#v5925Coach b{font:1000 9px/1 Trebuchet MS,Arial;color:#ffe783;letter-spacing:.13em}#v5925Coach small{margin-top:4px;font:900 11px/1.28 Trebuchet MS,Arial;color:#e5f9ff}
#v5925Round.show{display:flex}#v5925Round{left:50%;top:31%;transform:translate(-50%,-50%);width:min(480px,calc(100vw - 34px));justify-content:center;text-align:center}#v5925Round>div{width:100%;padding:18px 22px;border-radius:24px;background:linear-gradient(145deg,rgba(7,30,50,.96),rgba(42,27,78,.96));border:1px solid rgba(126,235,255,.42);box-shadow:0 24px 70px rgba(0,0,0,.5),0 0 44px rgba(102,222,255,.17);animation:v5925RoundIn .45s cubic-bezier(.2,.9,.2,1) both}#v5925Round small,#v5925Round b,#v5925Round span,#v5925Round em{display:block}#v5925Round small{font:1000 9px/1 Trebuchet MS,Arial;color:#81edff;letter-spacing:.18em}#v5925Round b{margin-top:6px;font:1000 24px/1.1 Trebuchet MS,Arial;color:white}#v5925Round span{margin-top:8px;font:900 11px/1.3 Trebuchet MS,Arial;color:#bfe1ec}#v5925Round em{margin-top:11px;padding:9px 11px;border-radius:13px;background:rgba(255,222,105,.10);border:1px solid rgba(255,226,112,.18);font:900 11px/1.35 Trebuchet MS,Arial;color:#fff0a7;font-style:normal}
.v5905PerkCard{width:min(900px,calc(100vw - 30px));padding:27px}.v5905PerkCard h2{font-size:28px}.v5905PerkCard>p{font-size:13px}.v5905PerkChoice{position:relative;overflow:hidden;min-height:230px;padding:17px 14px}.v5905PerkChoice b{font-size:14px}.v5905PerkChoice small{font-size:11px}.v5905PerkChoice em,.v5905PerkChoice i{display:block;margin-top:8px;padding:7px 8px;border-radius:10px;font:900 9px/1.3 Trebuchet MS,Arial;font-style:normal;text-align:left}.v5905PerkChoice em{background:rgba(108,229,255,.09);color:#9cecff}.v5905PerkChoice i{background:rgba(255,218,98,.08);color:#ffe991}.v5905PerkChoice strong{font-size:10px}
.v5925ResultPerks{display:grid;gap:6px;margin-top:12px;padding:11px;border-radius:15px;background:rgba(255,221,100,.07);border:1px solid rgba(255,223,106,.16);text-align:left}.v5925ResultPerks>b{font-size:10px;color:#ffe787}.v5925ResultPerks>span{font-size:9px;line-height:1.3;color:#dceef5}.v5925ResultPerks strong{color:#fff}
.v5905Scoreboard>div{align-items:flex-start}.v5905Scoreboard span{line-height:1.35;text-align:right}
.v575BuildChoice{min-height:158px}.v575BuildChoice b{font-size:12px}.v575BuildChoice small{font-size:10px}.v591Role,.v591GoodAt{font-size:9px!important}.v575BuildChoice .cost{font-size:11px}.v575BuildChoice .stat{font-size:9px}
@keyframes v5925Attention{from{filter:brightness(1);transform:translateY(0) scale(1)}to{filter:brightness(1.14);transform:translateY(-2px) scale(1.02)}}
@keyframes v5925Spark{from{opacity:.45;transform:scale(.82) rotate(-8deg)}to{opacity:1;transform:scale(1.18) rotate(8deg)}}
@keyframes v5925RoundIn{from{opacity:0;transform:translateY(15px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){
  #v5925ArenaEntry{bottom:76px;min-width:210px;padding:9px 11px}#v594ExitBtn{top:8px!important;left:8px!important;min-width:92px;min-height:36px}
  #v575Hud{top:60px;left:8px;max-width:calc(100vw - 16px)}.v5905HudCard{min-width:0;padding:10px 11px}.v575Top b{font-size:13px}.v575Top small{font-size:10px}.v575Note{font-size:9px}.v575Bottom{gap:6px;font-size:9px}#v591Threat{font-size:9px}.v5905CombatLine{margin-top:6px}
  #v5925Coach{top:auto;bottom:225px;width:calc(100vw - 20px);padding:9px 11px}#v5925Coach small{font-size:10px}
  .v575Btns{right:8px;bottom:8px;width:calc(100vw - 16px);display:none!important;grid-template-columns:1fr 1fr;gap:6px}.v575Btns.show{display:grid!important}.v575Btn{min-width:0;width:100%;padding:10px 8px;font-size:11px;border-radius:13px}.v575Btn small{font-size:8px}.v5905AbilityRow{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(3,1fr);gap:5px}.v5905Ability{width:100%!important;min-height:48px;grid-template-columns:25px 1fr 23px;padding:5px}.v5905Ability b{font-size:20px}.v5905Ability span{font-size:8px}.v591AbilityStack #v591RepairBtn{grid-column:auto}
  #v5925Round{top:36%}.v5905PerkCard{padding:16px}.v5905PerkCard h2{font-size:21px}.v5905PerkChoices{gap:8px}.v5905PerkChoice{min-height:0;padding:11px;display:grid;grid-template-columns:44px 1fr;column-gap:8px;text-align:left}.v5905PerkChoice>span{grid-row:1/6;font-size:34px}.v5905PerkChoice b{margin-top:0}.v5905PerkChoice small,.v5905PerkChoice em,.v5905PerkChoice i,.v5905PerkChoice strong{grid-column:2;margin-top:5px}.v5905PerkChoice em,.v5905PerkChoice i{padding:5px 6px;font-size:8px}
  .v575BuildChoice{min-height:142px}
}
@media(prefers-reduced-motion:reduce){.v5925Attention:not([disabled]),.v5925Attention:not([disabled])::after,#v5925Coach>span,#v5925Round>div{animation:none!important}}

/* ===== Koderia v59.26.0 · Battle TD run rewards ===== */
#v5926RoundStars{display:block;margin-top:10px;color:#ffe875;font:1000 12px/1.25 Trebuchet MS,Arial;letter-spacing:.04em;text-shadow:0 0 12px rgba(255,219,88,.42)}
.v5926ResultStars{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;margin:12px 0 9px;padding:10px 12px;border:1px solid rgba(255,225,111,.34);border-radius:16px;background:linear-gradient(135deg,rgba(255,216,82,.16),rgba(181,116,255,.12));color:#ffe76d;font:1000 19px/1 Trebuchet MS,Arial;text-shadow:0 0 14px rgba(255,219,90,.58)}
.v5926ResultStars b{flex-basis:100%;margin-top:4px;color:#fff4ba;font-size:10px;letter-spacing:.08em}
.v5926VictoryStar{position:absolute;z-index:2147483015;pointer-events:none;color:#ffe671;font:1000 28px/1 Arial;text-shadow:0 0 16px #ffbd45,0 0 30px rgba(255,223,102,.7);animation:v5926VictoryStar 1.65s cubic-bezier(.16,.84,.25,1) both}
@keyframes v5926VictoryStar{0%{opacity:0;transform:translate(-50%,-50%) scale(.25) rotate(-25deg)}15%{opacity:1}78%{opacity:1;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.25) rotate(250deg)}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.45) rotate(360deg)}}
@media(max-width:760px){#v5926RoundStars{font-size:10px}.v5926ResultStars{font-size:16px}}
@media(prefers-reduced-motion:reduce){.v5926VictoryStar{animation:none;opacity:0}}


/* ===== Koderia v59.42.0 · readable control, goals and tower combos ===== */
#v5942Objectives{display:grid;grid-template-columns:1fr;gap:4px;margin-top:8px;padding:8px 10px;border-radius:12px;background:rgba(7,28,48,.70);border:1px solid rgba(129,231,255,.16)}
#v5942Objectives>b{font:1000 8px/1 Trebuchet MS,Arial;color:#ffe77b;letter-spacing:.1em;margin-bottom:1px}
#v5942Objectives>span{font:900 9px/1.2 Trebuchet MS,Arial;color:#cbe8f2;padding:3px 5px;border-radius:7px;background:rgba(255,255,255,.025)}
#v5942Objectives>span.done{color:#9dffc9;background:rgba(66,232,145,.08)}#v5942Objectives>span.fail{color:#ffb0bd;background:rgba(255,88,115,.08)}#v5942Objectives>span.warn{color:#ffe6a0}
.v5905Ability span em{display:block;margin-top:3px;font:1000 8px/1 Trebuchet MS,Arial;font-style:normal;color:#b9f7ff;opacity:.92}
.v5942AbilityZone{position:absolute;z-index:2147482998;pointer-events:none;transform:translate(-50%,-50%);border:3px solid;border-radius:50%;box-shadow:0 0 28px rgba(99,231,255,.25),inset 0 0 26px rgba(94,230,255,.12);animation:v5942AbilityZone .8s ease-out both}
.v5942ResultGoals{display:grid;gap:6px;margin:9px 0 12px;text-align:left}.v5942ResultGoals span{padding:8px 10px;border-radius:11px;font:900 10px/1.25 Trebuchet MS,Arial;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.v5942ResultGoals .done{color:#9dffc9;border-color:rgba(84,236,157,.22);background:rgba(65,221,142,.08)}.v5942ResultGoals .fail{color:#ffb5c0;border-color:rgba(255,91,117,.20);background:rgba(255,78,105,.07)}
@keyframes v5942AbilityZone{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.08)}}
@media(max-width:760px){#v5942Objectives{padding:6px 8px;gap:2px}#v5942Objectives>span{font-size:8px}.v5905Ability span em{font-size:7px}}
@media(prefers-reduced-motion:reduce){.v5942AbilityZone{animation:none;opacity:.5}}

/* Koderia v59.45.0 · elemental reactions */
.v5945Reaction{position:absolute;left:50%;top:19%;z-index:68;display:flex;align-items:center;gap:10px;min-width:260px;max-width:min(86vw,460px);padding:11px 16px;border:1px solid rgba(255,235,148,.48);border-radius:16px;background:linear-gradient(135deg,rgba(6,20,38,.96),rgba(40,23,62,.94));box-shadow:0 16px 42px rgba(0,0,0,.34),0 0 28px rgba(151,222,255,.16);color:#effcff;pointer-events:none;opacity:0;transform:translate(-50%,-16px) scale(.92);transition:opacity .16s ease,transform .22s cubic-bezier(.2,.9,.2,1.2)}
.v5945Reaction.show{opacity:1;transform:translate(-50%,0) scale(1)}
.v5945Reaction>span{font-size:30px;filter:drop-shadow(0 0 12px rgba(255,225,112,.42))}.v5945Reaction b{display:block;color:#fff0a6;font:1000 12px/1.1 Trebuchet MS,Arial;letter-spacing:.05em}.v5945Reaction small{display:block;margin-top:4px;color:#cfeaf4;font:800 9px/1.25 Trebuchet MS,Arial}
@media(max-width:760px){.v5945Reaction{top:15%;min-width:220px;padding:9px 12px}.v5945Reaction>span{font-size:24px}.v5945Reaction b{font-size:10px}}

#v5945ReactionHint{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:5px;padding:5px 7px;border-radius:10px;background:rgba(105,76,160,.08);border:1px solid rgba(194,161,255,.12);font:900 8px/1 Trebuchet MS,Arial;color:#dcd3ff}#v5945ReactionHint b{color:#fff0a6;letter-spacing:.06em}#v5945ReactionHint span{padding:3px 5px;border-radius:7px;background:rgba(255,255,255,.035)}@media(max-width:760px){#v5945ReactionHint{font-size:7px;gap:2px}}


/* ===== Koderia v59.47.0 · clean battle mission HUD ===== */
#v5945ReactionHint{display:none!important}
#v5942Objectives{display:block;margin-top:8px;padding:8px;border-radius:16px;background:linear-gradient(145deg,rgba(5,24,42,.86),rgba(20,25,57,.78));border:1px solid rgba(123,229,255,.18);box-shadow:inset 0 0 22px rgba(84,218,255,.035)}
.v5947GoalHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.v5947GoalHead>div{display:flex;align-items:center;gap:7px}.v5947GoalHead small{font:1000 8px/1 Trebuchet MS,Arial;color:#92eaff;letter-spacing:.13em}.v5947GoalHead b{font:1000 13px/1 Trebuchet MS,Arial;color:#ffe273;letter-spacing:.05em;text-shadow:0 0 12px rgba(255,218,84,.28)}.v5947GoalHead>span{padding:4px 7px;border-radius:999px;background:rgba(255,221,91,.10);border:1px solid rgba(255,226,112,.16);font:1000 8px/1 Trebuchet MS,Arial;color:#fff0a6}
.v5947GoalGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.v5947GoalCard{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;column-gap:6px;align-items:center;min-width:0;padding:7px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(150,232,255,.11);overflow:hidden;transition:border-color .18s ease,background .18s ease,transform .18s ease}.v5947GoalCard>.v5947GoalIcon{grid-row:1/3;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(95,222,255,.10);font-size:18px;filter:drop-shadow(0 0 8px rgba(108,231,255,.18))}.v5947GoalCard>div{min-width:0}.v5947GoalCard>div>b,.v5947GoalCard>div>small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v5947GoalCard>div>b{font:1000 8px/1 Trebuchet MS,Arial;color:#f5fdff;letter-spacing:.06em}.v5947GoalCard>div>small{margin-top:3px;font:800 7px/1.1 Trebuchet MS,Arial;color:#a9cad7}.v5947GoalCard>div>i{display:block;height:3px;margin-top:5px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.v5947GoalCard>div>i>em{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#64e6ff,#ffe06b);box-shadow:0 0 8px rgba(102,229,255,.35);transition:width .28s ease}.v5947GoalCard>strong{grid-column:2;justify-self:start;margin-top:4px;font:1000 7px/1 Trebuchet MS,Arial;color:#bce8f5;letter-spacing:.04em}.v5947GoalCard.safe{border-color:rgba(99,239,164,.17)}.v5947GoalCard.warn{border-color:rgba(255,186,85,.26);background:rgba(255,145,67,.055)}.v5947GoalCard.done{border-color:rgba(88,240,157,.35);background:rgba(65,231,142,.08);box-shadow:inset 0 0 18px rgba(65,231,142,.04)}.v5947GoalCard.done>.v5947GoalIcon{background:rgba(67,232,145,.14)}.v5947GoalCard.done>strong{color:#9dffc6}.v5947GoalCard.fail{border-color:rgba(255,90,118,.28);background:rgba(255,76,107,.06)}.v5947GoalCard.fail>strong{color:#ffb2bf}
#v5925Coach{top:76px;max-width:360px;padding:9px 12px;border-radius:14px;opacity:.97}#v5925Coach b{font-size:8px;color:#8eeeff}#v5925Coach small{font-size:10px}
@media(max-width:760px){#v5942Objectives{padding:6px;margin-top:6px;border-radius:13px}.v5947GoalHead{margin-bottom:5px}.v5947GoalHead small{font-size:7px}.v5947GoalHead b{font-size:11px}.v5947GoalHead>span{font-size:7px;padding:3px 6px}.v5947GoalGrid{gap:4px}.v5947GoalCard{grid-template-columns:23px minmax(0,1fr);padding:5px;column-gap:4px;border-radius:10px}.v5947GoalCard>.v5947GoalIcon{width:23px;height:23px;font-size:15px;border-radius:7px}.v5947GoalCard>div>b{font-size:7px}.v5947GoalCard>div>small{font-size:6px}.v5947GoalCard>strong{font-size:6px}.v5947GoalCard>div>i{margin-top:4px}}


/* ===== Koderia v59.48.0 · Boss & Enemy Feel ===== */
#v5925Coach{display:none!important}
#v575BossWrap:not([hidden]){padding:9px 10px;margin-top:7px;border-radius:13px;background:linear-gradient(135deg,rgba(78,13,30,.38),rgba(25,20,58,.35));border:1px solid rgba(255,102,128,.22);box-shadow:inset 0 0 22px rgba(255,64,100,.06)}
#v575BossName{color:#ffdbe2;text-shadow:0 0 12px rgba(255,88,116,.34)}
#v575BossBar{height:10px!important;box-shadow:0 0 18px rgba(255,78,104,.18)}
#v575BossBar i{background:linear-gradient(90deg,#ffb05b,#ff526e,#b85cff)!important;box-shadow:0 0 14px rgba(255,82,110,.42)}
@media(max-width:760px){#v5925Coach{display:none!important}}
\n\n/* ===== Koderia v59.50.1 · Upgrade Rush ===== */
#v5905Perk{overflow:hidden}
.v5905PerkCard{position:relative;overflow:hidden;border:1px solid rgba(255,226,104,.36);background:radial-gradient(circle at 50% 0%,rgba(255,221,89,.16),transparent 38%),linear-gradient(145deg,rgba(6,25,45,.98),rgba(39,24,76,.98));box-shadow:0 30px 90px rgba(0,0,0,.58),0 0 70px rgba(255,211,74,.14)}
.v5905PerkCard::before,.v5905PerkCard::after{content:"";position:absolute;pointer-events:none;border-radius:50%}.v5905PerkCard::before{width:340px;height:340px;left:-120px;top:-190px;background:radial-gradient(circle,rgba(105,235,255,.20),transparent 67%);animation:v5949OrbitGlow 2.3s ease-in-out infinite alternate}.v5905PerkCard::after{width:390px;height:390px;right:-170px;bottom:-230px;background:radial-gradient(circle,rgba(255,218,83,.18),transparent 69%);animation:v5949OrbitGlow 2.7s ease-in-out infinite alternate-reverse}
.v5949PerkIntro,.v5949PerkSelect{position:relative;z-index:2}.v5949PerkIntro{display:none;min-height:360px;align-items:center;justify-content:center;flex-direction:column;text-align:center}.v5949PerkIntro.show{display:flex;animation:v5949Anticipation .48s cubic-bezier(.2,.9,.2,1) both}.v5949PerkIntro>span{font-size:82px;line-height:1;filter:drop-shadow(0 0 28px rgba(255,225,86,.92));animation:v5949BoltCharge .62s ease-in-out infinite alternate}.v5949PerkIntro>small{margin-top:20px;font:1000 10px/1 Trebuchet MS,Arial;letter-spacing:.23em;color:#8deeff}.v5949PerkIntro>b{margin-top:10px;font:1000 34px/1 Trebuchet MS,Arial;color:#fff2a6;text-shadow:0 0 26px rgba(255,220,74,.55)}.v5949PerkIntro>em{margin-top:13px;font:900 12px/1.3 Trebuchet MS,Arial;color:#dff8ff;font-style:normal}
.v5949PerkSelect{display:none}.v5949PerkSelect.show{display:block;animation:v5949SelectReveal .48s cubic-bezier(.18,.9,.25,1) both}.v5949PerkSelect h2{margin-top:7px}.v5905PerkEyebrow{color:#ffe678!important;text-shadow:0 0 15px rgba(255,219,77,.42)}
.v5905PerkChoice{transform-origin:50% 100%;border:1px solid rgba(132,229,255,.25)!important;background:linear-gradient(155deg,rgba(13,43,69,.94),rgba(34,25,72,.95))!important;box-shadow:0 16px 38px rgba(0,0,0,.28);animation:v5949CardPop .52s cubic-bezier(.2,.95,.25,1) both;animation-delay:calc(var(--perk-order,0) * 110ms)}.v5905PerkChoice::before{content:"";position:absolute;inset:0;background:linear-gradient(125deg,transparent 30%,rgba(255,255,255,.13) 48%,transparent 64%);transform:translateX(-125%);animation:v5949CardSweep 2.8s ease-in-out infinite;animation-delay:calc(.45s + var(--perk-order,0) * 180ms);pointer-events:none}.v5905PerkChoice>span{font-size:52px!important;filter:drop-shadow(0 0 18px rgba(130,231,255,.42))}.v5905PerkChoice b{color:#fff!important;text-shadow:0 0 14px rgba(108,226,255,.2)}.v5905PerkChoice em{color:#9eeeff!important;text-transform:uppercase;letter-spacing:.05em}.v5905PerkChoice i{color:#ffe990!important}.v5905PerkChoice.mine{border-color:rgba(255,230,101,.92)!important;box-shadow:0 0 0 2px rgba(255,226,91,.16),0 0 42px rgba(255,208,60,.38)!important;animation:v5949ChosenPulse .62s ease-in-out infinite alternate!important}.v5905PerkChoice.mine>span{filter:drop-shadow(0 0 24px rgba(255,226,85,.88))}
#v5949UpgradeBurst{position:absolute;z-index:2147483030;inset:0;display:none;align-items:center;justify-content:center;pointer-events:none;font-family:Trebuchet MS,Arial,sans-serif;background:radial-gradient(circle,rgba(255,219,69,.13),transparent 54%)}#v5949UpgradeBurst.show{display:flex;animation:v5949BurstBg 2.3s ease-out both}#v5949UpgradeBurst>div{min-width:310px;max-width:min(580px,calc(100vw - 34px));padding:24px 30px;border-radius:26px;text-align:center;background:linear-gradient(145deg,rgba(8,28,48,.96),rgba(55,33,82,.96));border:2px solid rgba(255,229,104,.72);box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 75px rgba(255,209,63,.34);animation:v5949UpgradeWin 2.25s cubic-bezier(.16,.9,.2,1) both}#v5949UpgradeBurst span,#v5949UpgradeBurst small,#v5949UpgradeBurst b,#v5949UpgradeBurst em{display:block}#v5949UpgradeBurst span{font-size:68px;filter:drop-shadow(0 0 26px rgba(255,226,94,.75))}#v5949UpgradeBurst small{margin-top:8px;font:1000 10px/1 Trebuchet MS,Arial;letter-spacing:.23em;color:#8deeff}#v5949UpgradeBurst b{margin-top:8px;font:1000 28px/1.08 Trebuchet MS,Arial;color:#fff0a0;text-shadow:0 0 20px rgba(255,220,71,.48)}#v5949UpgradeBurst em{margin-top:10px;font:900 12px/1.3 Trebuchet MS,Arial;color:#e7faff;font-style:normal}
@keyframes v5949Anticipation{from{opacity:0;transform:scale(.84)}to{opacity:1;transform:scale(1)}}@keyframes v5949BoltCharge{from{transform:scale(.88) rotate(-5deg);opacity:.72}to{transform:scale(1.14) rotate(5deg);opacity:1}}@keyframes v5949SelectReveal{from{opacity:0;transform:translateY(24px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes v5949CardPop{0%{opacity:0;transform:translateY(42px) scale(.82) rotate(-2deg)}70%{opacity:1;transform:translateY(-4px) scale(1.025)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes v5949CardSweep{0%,58%{transform:translateX(-125%)}78%,100%{transform:translateX(125%)}}@keyframes v5949ChosenPulse{from{transform:translateY(0) scale(1)}to{transform:translateY(-4px) scale(1.025)}}@keyframes v5949OrbitGlow{from{transform:scale(.88);opacity:.5}to{transform:scale(1.12);opacity:1}}@keyframes v5949BurstBg{0%{opacity:0}12%,76%{opacity:1}100%{opacity:0}}@keyframes v5949UpgradeWin{0%{opacity:0;transform:scale(.55) rotate(-3deg)}16%{opacity:1;transform:scale(1.08) rotate(1deg)}25%,76%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.08) translateY(-16px)}}
@media(max-width:760px){.v5949PerkIntro{min-height:290px}.v5949PerkIntro>span{font-size:62px}.v5949PerkIntro>b{font-size:25px}.v5905PerkChoice>span{font-size:38px!important}#v5949UpgradeBurst>div{min-width:0;width:calc(100vw - 34px);padding:19px 18px}#v5949UpgradeBurst span{font-size:54px}#v5949UpgradeBurst b{font-size:22px}}
@media(prefers-reduced-motion:reduce){.v5949PerkIntro.show,.v5949PerkIntro>span,.v5949PerkSelect.show,.v5905PerkChoice,.v5905PerkChoice::before,.v5905PerkChoice.mine,#v5949UpgradeBurst.show,#v5949UpgradeBurst>div{animation:none!important}}

/* v59.49 compact active upgrade strip */
#v5925ActivePerks>span{min-width:27px;text-align:center;font-size:14px;padding:4px 6px}#v5925ActivePerks>span.more{font:1000 8px/1 Trebuchet MS,Arial;color:#fff0a6}

/* v59.50.1 — Wild Upgrades */
.v5905PerkChoice.wild{border:2px solid rgba(255,111,230,.78)!important;background:radial-gradient(circle at 50% 0%,rgba(255,105,222,.22),transparent 45%),linear-gradient(155deg,rgba(50,19,67,.98),rgba(15,34,70,.97))!important;box-shadow:0 18px 48px rgba(0,0,0,.34),0 0 38px rgba(255,91,219,.20)!important}
.v5905PerkChoice.wild::after{content:"ДИКИЙ АПГРЕЙД";position:absolute;top:9px;right:9px;padding:5px 8px;border-radius:999px;background:linear-gradient(90deg,#ff63d7,#996cff);color:#fff;font:1000 8px/1 Trebuchet MS,Arial;letter-spacing:.08em;box-shadow:0 0 18px rgba(255,91,221,.42);animation:v5950WildBadge .7s ease-in-out infinite alternate}
.v5905PerkChoice.wild>span{filter:drop-shadow(0 0 24px rgba(255,113,227,.82))!important}.v5905PerkChoice.wild b{color:#ffd8f7!important}.v5905PerkChoice.wild i{background:rgba(255,104,219,.10)!important;color:#ffc8f2!important}
#v5949UpgradeBurst.wild{background:radial-gradient(circle,rgba(255,80,222,.19),transparent 58%)}#v5949UpgradeBurst.wild>div{border-color:rgba(255,116,231,.88);background:linear-gradient(145deg,rgba(39,12,55,.98),rgba(29,31,88,.97));box-shadow:0 30px 100px rgba(0,0,0,.58),0 0 95px rgba(255,79,217,.40)}#v5949UpgradeBurst.wild span{filter:drop-shadow(0 0 32px rgba(255,118,234,.95))}#v5949UpgradeBurst.wild b{color:#ffd2f5;text-shadow:0 0 25px rgba(255,85,217,.60)}
@keyframes v5950WildBadge{from{transform:scale(.96);filter:brightness(.92)}to{transform:scale(1.04);filter:brightness(1.2)}}
@media(prefers-reduced-motion:reduce){.v5905PerkChoice.wild::after{animation:none!important}}


/* survival.css */
/* Koderia v59.38.0 · Workshop, enemy roles and combat feedback */
#ksvOpen{position:fixed;z-index:2147482900;left:14px;bottom:16px;display:grid;grid-template-columns:auto 1fr;column-gap:8px;min-width:178px;padding:10px 13px;border:1px solid rgba(142,245,177,.48);border-radius:16px;background:linear-gradient(145deg,rgba(8,43,43,.96),rgba(29,68,48,.96));box-shadow:0 14px 34px rgba(0,0,0,.32),0 0 24px rgba(108,245,171,.13);color:#effff4;font-family:Trebuchet MS,Arial,sans-serif;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}#ksvOpen[hidden]{display:none}#ksvOpen>span{grid-row:1/3;font-size:26px;filter:drop-shadow(0 0 8px #9df2b6)}#ksvOpen b,#ksvOpen small{display:block}#ksvOpen b{font:1000 11px/1.15 Trebuchet MS,Arial;letter-spacing:.06em}#ksvOpen small{margin-top:3px;color:#a9dfbe;font:800 8px/1 Trebuchet MS,Arial;letter-spacing:.05em}
#ksvRoot{position:fixed;z-index:2147483500;inset:0;overflow:hidden;background:#071b26;opacity:0;transition:opacity .2s ease;font-family:Trebuchet MS,Arial,sans-serif;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none}#ksvRoot.show{opacity:1}#ksvCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}#ksvHud{position:absolute;z-index:2;left:14px;right:14px;top:max(10px,env(safe-area-inset-top));display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:12px;pointer-events:none}#ksvHud button,#ksvControls button,#ksvBuildPanel button,#ksvOver button{font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}#ksvExit{pointer-events:auto;padding:11px 12px;border:1px solid rgba(176,239,244,.42);border-radius:13px;background:rgba(5,28,40,.91);box-shadow:0 10px 30px rgba(0,0,0,.3);color:#edfdff;font:1000 10px/1 Trebuchet MS,Arial}.ksvTitle{text-align:center;color:#f4ffff;text-shadow:0 2px 12px #06141d}.ksvTitle small,.ksvTitle b,.ksvTitle span{display:block}.ksvTitle small{font:1000 8px/1 Trebuchet MS,Arial;color:#a2e9c0;letter-spacing:.18em}.ksvTitle b{margin-top:4px;font:1000 17px/1 Trebuchet MS,Arial}.ksvTitle span{margin-top:4px;color:#d7f2ea;font:800 9px/1 Trebuchet MS,Arial}.ksvRes{display:flex;gap:7px;justify-content:flex-end}.ksvRes span{padding:9px 10px;border:1px solid rgba(190,243,235,.25);border-radius:12px;background:rgba(4,26,38,.82);box-shadow:0 8px 24px rgba(0,0,0,.22);color:#effff4;font:900 11px/1 Trebuchet MS,Arial}.ksvRes b{color:#fff1a4}
#ksvControls{position:absolute;z-index:3;inset:auto 14px max(12px,env(safe-area-inset-bottom));display:flex;align-items:end;justify-content:space-between;pointer-events:none}.ksvActions{display:grid;grid-template-columns:repeat(2,150px);gap:8px;pointer-events:auto}.ksvActions button{min-height:58px;padding:8px;border:1px solid rgba(156,241,216,.44);border-radius:16px;background:linear-gradient(145deg,rgba(8,52,56,.95),rgba(20,81,65,.95));box-shadow:0 14px 33px rgba(0,0,0,.35);color:#f2fff9}.ksvActions button:last-child{border-color:rgba(255,212,114,.54);background:linear-gradient(145deg,rgba(108,57,32,.97),rgba(139,87,36,.97))}.ksvActions b,.ksvActions small{display:block}.ksvActions b{font:1000 11px/1 Trebuchet MS,Arial;letter-spacing:.05em}.ksvActions small{margin-top:5px;color:#c5eade;font:800 8px/1 Trebuchet MS,Arial}.ksvActions button.glow{animation:ksvGlow .65s ease-in-out infinite alternate}.ksvActions button.glow small{color:#fff2a2}#ksvStick{position:relative;width:94px;height:94px;border:1px solid rgba(190,246,230,.37);border-radius:50%;background:radial-gradient(circle,rgba(137,242,195,.16),rgba(4,27,40,.62));box-shadow:0 12px 28px rgba(0,0,0,.28);pointer-events:auto;touch-action:none}#ksvStick::after{content:'ДВИЖЕНИЕ';position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);font:1000 7px/1 Trebuchet MS,Arial;color:#a5dbcb;white-space:nowrap;letter-spacing:.08em}#ksvStick i{position:absolute;left:calc(50% - 19px);top:calc(50% - 19px);width:38px;height:38px;border-radius:50%;background:rgba(203,255,239,.72);box-shadow:0 0 18px rgba(151,255,209,.52);transition:transform .05s}
#ksvBuildPanel{position:absolute;z-index:4;left:50%;bottom:94px;transform:translateX(-50%);width:min(390px,calc(100vw - 28px));padding:10px;border:1px solid rgba(183,247,224,.35);border-radius:17px;background:rgba(4,31,40,.94);box-shadow:0 18px 44px rgba(0,0,0,.38);text-align:center}#ksvBuildPanel>small{display:block;margin-bottom:8px;color:#a8edc8;font:1000 8px/1 Trebuchet MS,Arial;letter-spacing:.14em}#ksvBuildPanel button{width:calc(50% - 4px);min-height:54px;margin:0 2px;padding:7px;border:1px solid rgba(183,247,224,.23);border-radius:12px;background:rgba(94,170,143,.14);color:#f2fff8}#ksvBuildPanel button.selected{border-color:#ffe37d;box-shadow:0 0 18px rgba(255,222,104,.28)}#ksvBuildPanel b,#ksvBuildPanel span{display:block}#ksvBuildPanel b{margin-top:2px;font:1000 10px/1 Trebuchet MS,Arial}#ksvBuildPanel span{margin-top:4px;color:#cae9de;font:800 8px/1 Trebuchet MS,Arial}
#ksvToast{position:absolute;z-index:5;left:50%;top:28%;transform:translate(-50%,-50%);width:min(360px,calc(100vw - 36px));text-align:center;color:#fff9ca;font:1000 15px/1.3 Trebuchet MS,Arial;text-shadow:0 2px 12px #04131e;pointer-events:none;opacity:0;transition:opacity .16s}#ksvToast.show{opacity:1}#ksvOver{position:absolute;z-index:10;inset:0;display:grid;place-items:center;background:rgba(3,14,26,.7);backdrop-filter:blur(7px);text-align:center}#ksvOver[hidden]{display:none}#ksvOver section{width:min(400px,calc(100vw - 32px));padding:26px 22px;border:1px solid rgba(181,241,223,.4);border-radius:25px;background:linear-gradient(145deg,rgba(11,47,51,.97),rgba(21,42,72,.97));box-shadow:0 28px 80px rgba(0,0,0,.54);color:#f4fffa}#ksvOver span{font-size:56px;filter:drop-shadow(0 0 14px #9be9b7)}#ksvOver small{display:block;margin-top:10px;color:#a4e6c0;font:1000 9px/1 Trebuchet MS,Arial;letter-spacing:.13em}#ksvOver h2{margin:8px 0;font-size:23px}#ksvOver p{color:#d5eee5;font-size:12px;line-height:1.45}#ksvOver button{width:100%;margin-top:8px;padding:13px;border:1px solid rgba(255,224,114,.58);border-radius:14px;background:linear-gradient(135deg,#d8903f,#bd4d54);color:#fff;font:1000 11px/1 Trebuchet MS,Arial}#ksvOver button+button{border-color:rgba(181,241,223,.3);background:rgba(255,255,255,.08)}
#ksvMission{position:absolute;z-index:2;left:50%;top:max(76px,calc(env(safe-area-inset-top) + 70px));transform:translateX(-50%);width:min(590px,calc(100vw - 32px));min-height:66px;padding:9px 11px;display:grid;grid-template-columns:46px minmax(0,1fr) 105px;align-items:center;gap:10px;border:1px solid rgba(129,233,217,.28);border-radius:19px;background:linear-gradient(145deg,rgba(5,31,42,.91),rgba(12,47,55,.91));box-shadow:0 13px 36px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(9px);pointer-events:none;color:#f3fffb}#ksvMission>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(122,238,199,.11);font-size:25px;filter:drop-shadow(0 0 9px rgba(137,248,207,.4))}#ksvMission>div{min-width:0}#ksvMission small,#ksvMission b,#ksvMission em{display:block}#ksvMission>div>small{color:#82edc6;font:1000 7px/1 Trebuchet MS,Arial;letter-spacing:.13em}#ksvMission>div>b{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:1000 12px/1.1 Trebuchet MS,Arial}#ksvMission>div>em{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b7d7d0;font:800 8px/1 Trebuchet MS,Arial;font-style:normal}#ksvMission i{display:block;height:5px;margin-top:7px;overflow:hidden;border-radius:5px;background:rgba(255,255,255,.08)}#ksvMission i u{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5fe6ba,#ffe77a);box-shadow:0 0 10px rgba(112,239,192,.45);transition:width .25s ease}#ksvMission aside{padding-left:10px;border-left:1px solid rgba(143,226,213,.16);text-align:center}#ksvMission aside>b{display:block;color:#fff0a0;font:1000 13px/1 Trebuchet MS,Arial}#ksvMission aside>small{display:block;margin-top:4px;color:#b9d8d4;font:900 8px/1 Trebuchet MS,Arial}
#ksvPerk{position:absolute;z-index:9;inset:0;padding:16px;display:grid;place-items:center;background:rgba(2,11,22,.72);backdrop-filter:blur(8px)}#ksvPerk[hidden]{display:none}#ksvPerk>section{width:min(690px,calc(100vw - 24px));padding:22px;border:1px solid rgba(139,237,226,.38);border-radius:27px;background:radial-gradient(circle at 50% 0,rgba(92,239,213,.16),transparent 44%),linear-gradient(155deg,rgba(7,38,47,.99),rgba(17,27,54,.99));box-shadow:0 30px 100px rgba(0,0,0,.68);color:#f4fffb;text-align:center}#ksvPerk>section>span{display:grid;width:58px;height:58px;margin:0 auto 8px;place-items:center;border-radius:18px;background:linear-gradient(145deg,#6cf1c7,#6c7cff);box-shadow:0 9px 28px rgba(75,224,207,.25);font-size:30px}#ksvPerk>section>small{display:block;color:#86f1d0;font:1000 8px/1 Trebuchet MS,Arial;letter-spacing:.14em}#ksvPerk h2{margin:7px 0 5px;font-size:24px}#ksvPerk p{margin:0;color:#b7cfd2;font:800 10px/1.45 Trebuchet MS,Arial}#ksvPerkCards{margin-top:15px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}#ksvPerkCards button{min-height:142px;padding:13px 10px;border:1px solid rgba(145,231,222,.22);border-radius:18px;background:linear-gradient(155deg,rgba(82,196,170,.12),rgba(93,95,203,.1));color:#f3fffb;cursor:pointer;transition:transform .16s,border-color .16s,filter .16s;-webkit-tap-highlight-color:transparent}#ksvPerkCards button:hover:not(:disabled){transform:translateY(-3px);border-color:#82efcf;filter:brightness(1.1)}#ksvPerkCards button:disabled{opacity:.55;cursor:wait}#ksvPerkCards span,#ksvPerkCards b,#ksvPerkCards small{display:block}#ksvPerkCards span{font-size:35px}#ksvPerkCards b{margin-top:8px;font:1000 12px/1.15 Trebuchet MS,Arial}#ksvPerkCards small{margin-top:7px;color:#bcd8d4;font:800 9px/1.35 Trebuchet MS,Arial}#ksvPerk>section>em{display:block;margin-top:12px;color:#ffe89b;font:850 8px/1.4 Trebuchet MS,Arial;font-style:normal}
@keyframes ksvGlow{from{transform:translateY(0);filter:brightness(1)}to{transform:translateY(-2px);filter:brightness(1.13);box-shadow:0 0 26px rgba(255,216,101,.35)}}
@media(max-width:700px){#ksvOpen{left:8px;bottom:74px;min-width:151px;padding:8px 10px}#ksvOpen b{font-size:9px}#ksvOpen small{font-size:7px}#ksvHud{left:8px;right:8px;grid-template-columns:auto 1fr;gap:7px}.ksvTitle{text-align:left}.ksvTitle small{font-size:7px}.ksvTitle b{font-size:13px}.ksvTitle span{font-size:8px}.ksvRes{grid-column:1/-1;justify-content:flex-start}.ksvRes span{padding:6px 8px;font-size:9px}#ksvExit{padding:9px;font-size:8px}.ksvActions{grid-template-columns:repeat(2,calc((100vw - 132px)/2));gap:5px}.ksvActions button{min-height:53px;padding:6px}.ksvActions b{font-size:9px}.ksvActions small{font-size:7px}#ksvStick{width:80px;height:80px}#ksvBuildPanel{bottom:78px}#ksvToast{top:31%;font-size:13px}#ksvMission{top:max(119px,calc(env(safe-area-inset-top) + 114px));width:calc(100vw - 16px);min-height:55px;padding:7px;grid-template-columns:34px minmax(0,1fr) 72px;gap:7px;border-radius:14px}#ksvMission>span{width:32px;height:32px;border-radius:10px;font-size:19px}#ksvMission>div>b{font-size:9px}#ksvMission>div>small{font-size:6px}#ksvMission>div>em{font-size:7px}#ksvMission aside{padding-left:6px}#ksvMission aside>b{font-size:10px}#ksvMission aside>small{font-size:6px}#ksvPerk{padding:8px}#ksvPerk>section{padding:15px 12px;border-radius:21px}#ksvPerk h2{font-size:19px}#ksvPerkCards{grid-template-columns:1fr;gap:6px;max-height:52vh;overflow:auto}#ksvPerkCards button{min-height:74px;display:grid;grid-template-columns:45px 1fr;text-align:left;align-items:center}#ksvPerkCards span{grid-row:1/3;font-size:28px}#ksvPerkCards b{margin:0;font-size:10px}#ksvPerkCards small{margin:3px 0 0;font-size:8px}}
@media(prefers-reduced-motion:reduce){.ksvActions button.glow{animation:none}}

/* v59.35.0 · large expedition map */
#ksvMapOpen{position:absolute;z-index:4;left:14px;top:max(57px,calc(env(safe-area-inset-top) + 52px));width:130px;padding:8px 9px;border:1px solid rgba(144,225,255,.4);border-radius:12px;background:rgba(5,28,43,.9);box-shadow:0 9px 24px rgba(0,0,0,.28);color:#eafcff;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}#ksvMapOpen b,#ksvMapOpen small{display:block}#ksvMapOpen b{font-size:9px}#ksvMapOpen small{margin-top:3px;color:#91dff4;font-size:6px;font-weight:900;letter-spacing:.07em}.ksvRes{max-width:610px;flex-wrap:wrap}.ksvRes .ksvRare{border-color:rgba(174,154,255,.28);background:rgba(35,29,70,.76)}
#ksvMap{position:absolute;z-index:8;inset:0;display:grid;place-items:center;padding:16px;background:rgba(2,10,22,.76);backdrop-filter:blur(9px)}#ksvMap[hidden]{display:none}#ksvMap>section{width:min(920px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;padding:18px;border:1px solid rgba(144,229,255,.33);border-radius:26px;background:radial-gradient(circle at 50% 0,rgba(71,204,222,.13),transparent 40%),linear-gradient(150deg,rgba(6,35,46,.99),rgba(15,25,55,.99));box-shadow:0 30px 100px rgba(0,0,0,.65);color:#f1ffff}#ksvMap header{display:flex;justify-content:space-between;align-items:start;gap:12px}#ksvMap header small{color:#77e8ff;font:1000 7px Trebuchet MS;letter-spacing:.15em}#ksvMap h2{margin:4px 0 3px;font-size:22px}#ksvMap p{margin:0;color:#b5d0d8;font:800 9px/1.4 Trebuchet MS}#ksvMapClose{flex:0 0 38px;width:38px;height:38px;border:1px solid rgba(173,231,240,.18);border-radius:12px;background:rgba(255,255,255,.06);color:#fff;font-size:15px;cursor:pointer}.ksvMapGrid{margin-top:14px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.ksvMapGrid>button{position:relative;min-height:132px;padding:11px 8px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent),transparent 58%);border-radius:17px;background:linear-gradient(150deg,color-mix(in srgb,var(--zone),#071c29 18%),rgba(7,24,38,.97));box-shadow:inset 0 1px rgba(255,255,255,.05);color:#fff;font-family:inherit;text-align:center;cursor:pointer;transition:.16s}.ksvMapGrid>button:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 9px 23px color-mix(in srgb,var(--accent),transparent 80%)}.ksvMapGrid span,.ksvMapGrid b,.ksvMapGrid small,.ksvMapGrid em{display:block}.ksvMapGrid span{font-size:31px;filter:drop-shadow(0 0 10px var(--accent))}.ksvMapGrid b{margin-top:6px;font:1000 9px/1.1 Trebuchet MS}.ksvMapGrid small{margin-top:5px;color:var(--accent);font:900 7px/1.1 Trebuchet MS}.ksvMapGrid em{margin-top:8px;color:#d3e8ec;font:800 6.5px/1 Trebuchet MS;font-style:normal}.ksvMapGrid i{color:#ffe681;font-style:normal}.ksvCampTravel{display:block;width:100%;margin-top:10px;padding:12px;border:1px solid rgba(255,226,125,.34);border-radius:14px;background:linear-gradient(135deg,rgba(89,76,37,.72),rgba(37,70,63,.76));color:#fff4bb;font:1000 10px Trebuchet MS;cursor:pointer}
@media(max-width:900px){.ksvMapGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.ksvMapGrid>button{min-height:104px}.ksvRes{max-width:440px}}
@media(max-width:700px){#ksvMapOpen{left:8px;top:max(48px,calc(env(safe-area-inset-top) + 43px));width:86px;padding:6px}#ksvMapOpen small{display:none}.ksvRes{max-width:none;gap:4px}.ksvRes span{padding:5px 6px!important;font-size:8px!important}#ksvMap{padding:7px}#ksvMap>section{width:100%;max-height:100%;padding:12px;border-radius:19px}.ksvMapGrid{gap:6px}.ksvMapGrid>button{min-height:92px;padding:7px 4px;border-radius:13px}.ksvMapGrid span{font-size:25px}.ksvMapGrid b{font-size:7.5px}.ksvMapGrid small{font-size:6px}.ksvMapGrid em{font-size:5.5px}}

/* v59.36.0 · active survival feedback */
#ksvFireHud{position:absolute;z-index:4;left:14px;top:max(116px,calc(env(safe-area-inset-top) + 108px));width:140px;padding:8px 9px;border:1px solid rgba(255,211,105,.36);border-radius:13px;background:rgba(35,25,22,.88);box-shadow:0 10px 28px rgba(0,0,0,.3);color:#fff8cf;pointer-events:none}#ksvFireHud span,#ksvFireHud b{font:1000 8px Trebuchet MS}#ksvFireHud b{float:right;color:#ffe17b}#ksvFireHud i{display:block;clear:both;height:5px;margin-top:6px;overflow:hidden;border-radius:8px;background:rgba(255,255,255,.09)}#ksvFireHud u{display:block;height:100%;width:100%;border-radius:inherit;background:linear-gradient(90deg,#ff744c,#ffe56f);box-shadow:0 0 11px rgba(255,184,73,.55);transition:width .2s}#ksvFireHud.danger{border-color:rgba(255,82,104,.72);background:rgba(62,14,27,.94);animation:ksvFireDanger .55s ease-in-out infinite alternate}#ksvFireHud.danger b{color:#ff91a1}
#ksvCombo{position:absolute;z-index:5;left:50%;top:max(164px,calc(env(safe-area-inset-top) + 154px));transform:translateX(-50%);min-width:155px;padding:8px 13px;border:1px solid rgba(116,233,255,.45);border-radius:999px;background:rgba(6,34,46,.86);box-shadow:0 10px 30px rgba(0,0,0,.32),0 0 22px rgba(88,224,255,.15);color:#a8f4ff;text-align:center;pointer-events:none}#ksvCombo[hidden]{display:none}#ksvCombo b,#ksvCombo small{display:block}#ksvCombo b{font:1000 11px Trebuchet MS}#ksvCombo small{margin-top:2px;color:#c7e5e8;font:800 6px Trebuchet MS;letter-spacing:.08em}#ksvCombo.turbo{border-color:#ffe477;background:linear-gradient(135deg,rgba(102,49,16,.94),rgba(37,41,59,.94));color:#fff08b;animation:ksvTurbo .35s ease-in-out infinite alternate}
#ksvBuff{position:absolute;z-index:4;right:14px;top:max(116px,calc(env(safe-area-inset-top) + 108px));max-width:210px;padding:8px 10px;display:flex;align-items:center;gap:8px;border:1px solid rgba(182,159,255,.4);border-radius:14px;background:rgba(29,24,62,.88);box-shadow:0 10px 28px rgba(0,0,0,.3),0 0 22px rgba(157,127,255,.13);color:#fff;pointer-events:none}#ksvBuff[hidden]{display:none}#ksvBuff>span{font-size:24px}#ksvBuff b,#ksvBuff small{display:block}#ksvBuff b{font:1000 8px Trebuchet MS;color:#e3d8ff}#ksvBuff small{margin-top:3px;font:800 6.5px Trebuchet MS;color:#c8c1df}#ksvRoot.ksvRaidWarn #ksvMission{border-color:rgba(255,91,112,.68);box-shadow:0 0 34px rgba(255,59,89,.25),0 13px 36px rgba(0,0,0,.35);animation:ksvRaid .62s ease-in-out infinite alternate}#ksvRoot.ksvRaidWarn #ksvMission>span{background:rgba(255,63,92,.14)}
@keyframes ksvFireDanger{to{transform:scale(1.035);box-shadow:0 0 28px rgba(255,52,79,.35)}}@keyframes ksvTurbo{to{transform:translateX(-50%) scale(1.05);box-shadow:0 0 35px rgba(255,210,73,.4)}}@keyframes ksvRaid{to{transform:translateX(-50%) scale(1.012)}}
@media(max-width:700px){#ksvFireHud{left:8px;top:max(181px,calc(env(safe-area-inset-top) + 176px));width:116px;padding:6px 7px}#ksvFireHud span,#ksvFireHud b{font-size:7px}#ksvBuff{right:8px;top:max(181px,calc(env(safe-area-inset-top) + 176px));max-width:150px;padding:6px 7px}#ksvBuff>span{font-size:19px}#ksvBuff b{font-size:6.5px}#ksvBuff small{font-size:5.5px}#ksvCombo{top:max(226px,calc(env(safe-area-inset-top) + 220px));min-width:132px;padding:6px 10px}#ksvCombo b{font-size:9px}#ksvCombo small{font-size:5.5px}}
@media(prefers-reduced-motion:reduce){#ksvFireHud.danger,#ksvCombo.turbo,#ksvRoot.ksvRaidWarn #ksvMission{animation:none}}

/* v59.37.0 · map cards echo each location without adding UI noise */
.ksvMapGrid>button::before,.ksvMapGrid>button::after{content:'';position:absolute;inset:0;pointer-events:none}.ksvMapGrid>button::before{background:radial-gradient(circle at 22% 18%,color-mix(in srgb,var(--accent),transparent 72%),transparent 28%),radial-gradient(circle at 82% 70%,color-mix(in srgb,var(--zone),white 14%),transparent 37%);opacity:.72}.ksvMapGrid>button::after{inset:auto -8% -24% -8%;height:58%;border-radius:50% 50% 0 0;background:color-mix(in srgb,var(--zone),#071924 22%);border-top:1px solid color-mix(in srgb,var(--accent),transparent 66%);opacity:.76}.ksvMapGrid>button:nth-child(2n)::after{transform:rotate(5deg)}.ksvMapGrid>button:nth-child(3n)::after{height:48%;transform:rotate(-6deg)}.ksvMapGrid>button>span,.ksvMapGrid>button>b,.ksvMapGrid>button>small,.ksvMapGrid>button>em{position:relative;z-index:1}

/* v59.38.0 · one contextual workshop instead of more permanent HUD buttons */
#ksvWorkshop{position:absolute;z-index:8;inset:0;display:grid;place-items:center;padding:16px;background:rgba(2,10,20,.76);backdrop-filter:blur(9px)}#ksvWorkshop[hidden]{display:none}#ksvWorkshop>section{width:min(790px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;padding:18px;border:1px solid rgba(194,171,255,.38);border-radius:25px;background:radial-gradient(circle at 50% 0,rgba(156,117,255,.16),transparent 40%),linear-gradient(150deg,rgba(9,36,49,.99),rgba(30,24,65,.99));box-shadow:0 30px 100px rgba(0,0,0,.68);color:#f7ffff}#ksvWorkshop header{display:flex;align-items:start;justify-content:space-between;gap:14px}#ksvWorkshop header small{color:#bda7ff;font:1000 7px Trebuchet MS;letter-spacing:.15em}#ksvWorkshop h2{margin:4px 0 5px;font-size:23px}#ksvWorkshopResources{margin:0;color:#d8e8e7;font:900 9px/1.35 Trebuchet MS}#ksvWorkshopClose{flex:0 0 38px;width:38px;height:38px;border:1px solid rgba(206,190,255,.24);border-radius:12px;background:rgba(255,255,255,.06);color:#fff;font-size:15px;cursor:pointer}#ksvCraftGrid{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#ksvCraftGrid>button{min-height:92px;padding:11px;display:grid;grid-template-columns:48px 1fr;align-items:center;gap:10px;border:1px solid rgba(173,224,225,.22);border-radius:17px;background:linear-gradient(145deg,rgba(76,190,164,.10),rgba(120,89,205,.10));color:#f2fffb;text-align:left;font-family:inherit;cursor:pointer;transition:transform .14s,border-color .14s,filter .14s}#ksvCraftGrid>button:hover:not(:disabled){transform:translateY(-2px);border-color:#bba7ff;filter:brightness(1.12)}#ksvCraftGrid>button>span{font-size:35px;text-align:center;filter:drop-shadow(0 0 10px rgba(174,145,255,.35))}#ksvCraftGrid b,#ksvCraftGrid small,#ksvCraftGrid em{display:block}#ksvCraftGrid b{font:1000 11px/1.15 Trebuchet MS}#ksvCraftGrid small{margin-top:5px;color:#bed3d3;font:800 8px/1.3 Trebuchet MS}#ksvCraftGrid em{margin-top:7px;color:#ffe38b;font:900 7px/1.2 Trebuchet MS;font-style:normal}#ksvCraftGrid>button:disabled{cursor:not-allowed;opacity:.48;filter:saturate(.5)}#ksvCraftGrid>button.maxed{opacity:.68;border-color:rgba(136,255,190,.34);background:rgba(83,179,126,.12)}#ksvCraftGrid>button.maxed em{color:#8ff3b5}#ksvCraftGrid>button.locked em{color:#ffb18d}#ksvWorkshop footer{margin-top:12px;padding-top:10px;border-top:1px solid rgba(194,171,255,.16);color:#aebfc6;font:800 7.5px/1.4 Trebuchet MS;text-align:center}
@media(max-width:700px){#ksvWorkshop{padding:7px}#ksvWorkshop>section{width:100%;max-height:100%;padding:12px;border-radius:19px}#ksvWorkshop h2{font-size:19px}#ksvWorkshopResources{font-size:7.5px}#ksvCraftGrid{grid-template-columns:1fr;gap:6px}#ksvCraftGrid>button{min-height:70px;padding:8px;grid-template-columns:40px 1fr}#ksvCraftGrid>button>span{font-size:28px}#ksvCraftGrid b{font-size:9px}#ksvCraftGrid small{font-size:7px}#ksvCraftGrid em{margin-top:4px;font-size:6px}}

/* v59.40.1 · compact always-visible expedition route */
#ksvRoute{position:absolute;z-index:4;right:14px;top:max(176px,calc(env(safe-area-inset-top) + 168px));width:218px;padding:9px;display:grid;grid-template-columns:35px 1fr;gap:8px;align-items:center;border:1px solid rgba(255,220,118,.4);border-radius:15px;background:linear-gradient(145deg,rgba(63,46,24,.9),rgba(19,50,62,.94));box-shadow:0 12px 30px rgba(0,0,0,.33),inset 0 1px rgba(255,255,255,.08);color:#fff9d7;font-family:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .14s,border-color .14s}#ksvRoute:hover{transform:translateY(-2px);border-color:#ffe47b}#ksvRoute>span{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:rgba(255,218,103,.14);font-size:20px}#ksvRoute em,#ksvRoute b,#ksvRoute small{display:block}#ksvRoute em{color:#ffe37d;font:1000 6px/1 Trebuchet MS;letter-spacing:.13em;font-style:normal}#ksvRoute b{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:1000 9px/1.15 Trebuchet MS}#ksvRoute small{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d3e8e4;font:800 7px/1.15 Trebuchet MS}
#ksvCraftGrid>button:nth-child(n+10){background:linear-gradient(145deg,rgba(255,196,90,.13),rgba(106,78,201,.15));border-color:rgba(255,218,122,.28)}
.ksvMapGrid>button.ksvNextZone{border-color:#ffe46f!important;box-shadow:0 0 0 2px rgba(255,223,104,.22),0 0 28px rgba(255,211,81,.34)!important;animation:ksvNextZone .8s ease-in-out infinite alternate}.ksvMapGrid>button.ksvNextZone::before{opacity:1;background:radial-gradient(circle at 50% 40%,rgba(255,228,111,.36),transparent 52%)}
@keyframes ksvNextZone{to{transform:translateY(-3px) scale(1.025)}}
@media(max-width:700px){#ksvRoute{right:8px;top:max(261px,calc(env(safe-area-inset-top) + 252px));width:164px;padding:7px;grid-template-columns:29px 1fr;gap:6px;border-radius:12px}#ksvRoute>span{width:28px;height:28px;border-radius:9px;font-size:17px}#ksvRoute em{font-size:5px}#ksvRoute b{font-size:7px}#ksvRoute small{font-size:5.5px}}

/* The city owns global keyboard handlers. Remove it from the rendered tree while
   the expedition is open so neither its UI nor its controls can block survival. */
body.ksv-active #cityStageCanvasWrap{display:none!important}
body.ksv-active #ksvRoot{z-index:2147483647!important;pointer-events:auto!important;isolation:isolate}


/* progression.css */
/* ===== v57-6-progression-style ===== */
.passLegend{align-items:center;gap:10px 16px;flex-wrap:wrap}
.passLegend .passSwipeHint{margin-left:auto;background:rgba(114,233,255,.14);border:1px solid rgba(114,233,255,.22);padding:7px 10px;border-radius:999px;color:#b8f4ff;font-weight:1000;letter-spacing:.08em}
.passTrackShell{position:relative;min-height:clamp(520px,68vh,820px);padding:0 42px}
.passTrackArrow{position:absolute!important;left:50%!important;transform:translateX(-50%);width:52px;height:52px;border-radius:18px;background:linear-gradient(180deg,rgba(15,31,55,.95),rgba(9,21,38,.95));border:1px solid rgba(125,234,255,.22);box-shadow:0 12px 30px rgba(0,0,0,.26);z-index:3}
.passTrackArrowLeft{top:10px!important}
.passTrackArrowRight{bottom:10px!important}
.passTrackArrow span{display:block;transform:none}
#megaTrackViewport{height:clamp(460px,62vh,760px)!important;overflow-y:auto!important;overflow-x:hidden!important;padding:72px 10px 72px!important;scroll-behavior:smooth;scroll-snap-type:y proximity;overscroll-behavior:contain;border-radius:28px;background:linear-gradient(180deg,rgba(5,11,22,.36),rgba(8,18,31,.18));}
#battlePassTrack.v576Track{display:block!important;width:100%!important;min-width:0!important;padding:0 0 30px;position:relative}
#battlePassTrack.v576Track::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:6px;transform:translateX(-50%);border-radius:999px;background:linear-gradient(180deg,rgba(70,229,255,.16),rgba(121,135,255,.28) 50%,rgba(254,202,82,.18));box-shadow:0 0 0 1px rgba(132,227,255,.06)}
.v576LevelSection{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 130px minmax(0,1fr);gap:18px;align-items:center;min-height:210px;padding:20px 0 32px;scroll-snap-align:start}
.v576LevelSection.checkpoint{min-height:250px;padding-top:32px;padding-bottom:42px}
.v576LevelSection.current{z-index:2}
.v576LevelSection.current::after{content:"";position:absolute;left:8%;right:8%;top:18px;bottom:18px;border-radius:34px;background:radial-gradient(circle at 50% 50%,rgba(113,240,255,.07),transparent 70%);pointer-events:none}
.v576Center{display:grid;justify-items:center;align-content:center;position:relative;z-index:2}
.v576Milestone{width:118px;height:118px;border-radius:30px;display:grid;place-items:center;text-align:center;background:linear-gradient(180deg,rgba(15,28,49,.98),rgba(7,16,29,.98));border:1px solid rgba(126,234,255,.24);box-shadow:0 18px 40px rgba(0,0,0,.28);position:relative;overflow:hidden}
.v576Milestone::before{content:"";position:absolute;inset:10px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01));pointer-events:none}
.v576Milestone strong{position:relative;z-index:1;font-size:34px;line-height:1;font-family:Trebuchet MS,Arial,sans-serif;color:#f4fcff}
.v576Milestone small{position:relative;z-index:1;font-size:11px;font-weight:1000;letter-spacing:.12em;color:#a8d4e8}
.v576MilestoneLabel{margin-top:10px;padding:7px 12px;border-radius:999px;background:rgba(118,238,255,.12);border:1px solid rgba(118,238,255,.18);font:1000 10px/1 Trebuchet MS,Arial;color:#c7fbff;letter-spacing:.1em;text-transform:uppercase}
.v576LevelSection.passed .v576Milestone{opacity:.92}
.v576LevelSection.future .v576Milestone{opacity:.88}
.v576LevelSection.current .v576Milestone{border-color:rgba(122,244,255,.54);box-shadow:0 20px 56px rgba(31,206,255,.18),0 18px 40px rgba(0,0,0,.32)}
.v576RewardWrap{position:relative;z-index:2}
.v576RewardWrap.premium{padding-top:34px}
.v576PremiumBranch{position:absolute;left:-34px;top:50%;width:34px;height:2px;background:linear-gradient(90deg,rgba(246,210,112,.14),rgba(246,210,112,.5));transform:translateY(-50%)}
.v576RewardCard{position:relative;border-radius:28px;padding:16px 16px 15px;background:linear-gradient(180deg,rgba(14,29,51,.95),rgba(10,20,36,.95));border:1px solid rgba(124,227,255,.16);box-shadow:0 16px 34px rgba(0,0,0,.23);overflow:hidden;display:grid;gap:10px;min-height:154px}
.v576RewardCard::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 36%);pointer-events:none}
.v576RewardCard.free{margin-right:10px}
.v576RewardCard.premium{margin-left:10px;border-color:rgba(244,212,130,.23);background:linear-gradient(180deg,rgba(45,32,18,.96),rgba(21,14,10,.96))}
.v576RewardCard.claimable{box-shadow:0 20px 44px rgba(27,202,255,.18)}
.v576RewardCard.claimed{opacity:.75}
.v576RewardCard.locked{opacity:.9}
.v576CardTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:relative;z-index:1}
.v576Pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(119,231,255,.12);border:1px solid rgba(119,231,255,.18);font:1000 10px/1 Trebuchet MS,Arial;color:#d6faff;letter-spacing:.08em;text-transform:uppercase}
.v576RewardCard.premium .v576Pill{background:rgba(250,216,126,.12);border-color:rgba(250,216,126,.18);color:#fff0bd}
.v576Rarity{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.08);font:1000 9px/1 Trebuchet MS,Arial;color:#d0deea;letter-spacing:.08em;text-transform:uppercase}
.v576RewardMain{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;align-items:center;position:relative;z-index:1}
.v576IconStage{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.v576IconStage img{max-width:100%;max-height:100%;object-fit:contain;display:block;filter:drop-shadow(0 8px 12px rgba(0,0,0,.25))}
.v576IconStage span{font-size:40px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.25))}
.v576RewardText strong{display:block;color:#f6fbff;font-size:18px;line-height:1.1;margin-bottom:6px}
.v576RewardText small{display:block;color:#a4bdd0;font-size:11px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v576Meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;position:relative;z-index:1}
.v576Meta span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.06);font:1000 10px/1 Trebuchet MS,Arial;color:#dcefff}
.v576Action{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.v576Action button{border:none;border-radius:15px;padding:11px 14px;cursor:pointer;font:1000 11px/1 Trebuchet MS,Arial;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 10px 24px rgba(0,0,0,.2)}
.v576Action .claim{background:linear-gradient(135deg,#3ad0ff,#4c7dff);color:#fff}
.v576Action .lockedBtn{background:rgba(255,255,255,.06);color:#9bb2c3;cursor:default;box-shadow:none}
.v576Action .claimedBtn{background:linear-gradient(135deg,#42ca8a,#238d67);color:#f2fff8;cursor:default}
.v576CurrentTag{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,#72ecff,#4d81ff);color:#06111d;font:1000 11px/1 Trebuchet MS,Arial;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 12px 24px rgba(60,152,255,.24)}
.v576Checkpoint{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;background:rgba(255,226,132,.12);border:1px solid rgba(255,226,132,.18);color:#ffe59d;font:1000 10px/1 Trebuchet MS,Arial;letter-spacing:.08em;text-transform:uppercase}
.v576PreviewNote{margin-top:8px;font-size:10px;color:#a8c7da;text-align:center;max-width:140px;line-height:1.35}
.v576RewardCard.rarity-epic,.v576RewardCard.rarity-legendary,.v576RewardCard.rarity-mythic{transform:translateY(-4px)}
.v576RewardCard.rarity-legendary{border-color:rgba(255,183,86,.38)}
.v576RewardCard.rarity-mythic{border-color:rgba(233,137,255,.38)}
.passBottomTip.v576Tip{margin-top:16px}
.passBottomTip.v576Tip strong{font-size:15px}
.passBottomTip.v576Tip small{line-height:1.45}
@media(max-width:980px){
  .passTrackShell{padding:0 20px}
  .v576LevelSection{grid-template-columns:1fr 110px 1fr;gap:10px;min-height:200px}
  .v576RewardCard{padding:14px;min-height:148px}
  .v576RewardMain{grid-template-columns:66px minmax(0,1fr)}
  .v576IconStage{width:66px;height:66px}
}
@media(max-width:760px){
  .passTrackShell{padding:0 8px}
  .passTrackArrow{width:46px;height:46px;border-radius:16px}
  #megaTrackViewport{padding:66px 2px 66px!important}
  #battlePassTrack.v576Track::before{left:50%;width:4px}
  .v576LevelSection{grid-template-columns:1fr;gap:10px;min-height:auto;padding:16px 0 34px}
  .v576Center{order:1}
  .v576RewardWrap.free{order:2}
  .v576RewardWrap.premium{order:3;padding-top:0}
  .v576RewardCard.free,.v576RewardCard.premium{margin:0}
  .v576PremiumBranch{display:none}
  .v576Milestone{width:104px;height:104px;border-radius:26px}
  .v576RewardCard{min-height:0}
  .v576RewardText strong{font-size:17px}
}

/* ===== v57-6-1-path-polish-style ===== */
.v576HeroNext{margin:14px 0 16px;padding:16px 18px;border-radius:26px;background:linear-gradient(180deg,rgba(13,30,52,.96),rgba(8,19,34,.96));border:1px solid rgba(121,236,255,.16);box-shadow:0 18px 36px rgba(0,0,0,.24);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.95fr);gap:14px;align-items:stretch}
.v576HeroMain{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:center}
.v576HeroVisual{width:92px;height:92px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.03));box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.v576HeroVisual img{max-width:100%;max-height:100%;object-fit:contain;display:block;filter:drop-shadow(0 10px 15px rgba(0,0,0,.28))}
.v576HeroVisual span{font-size:52px;filter:drop-shadow(0 10px 15px rgba(0,0,0,.28))}
.v576HeroText b{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:rgba(112,238,255,.14);border:1px solid rgba(112,238,255,.18);font:1000 10px/1 Trebuchet MS,Arial;color:#d1fbff;letter-spacing:.08em;text-transform:uppercase}
.v576HeroText strong{display:block;margin-top:10px;font-size:24px;line-height:1.08;color:#f5fdff}
.v576HeroText small{display:block;margin-top:7px;color:#a9c3d5;font-size:12px;line-height:1.45;max-width:540px}
.v576HeroMeta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px}
.v576HeroMeta span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.07);font:1000 10px/1 Trebuchet MS,Arial;color:#dbf1ff}
.v576HeroSide{display:grid;gap:10px;align-content:start}
.v576NextMini{padding:12px 13px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06)}
.v576NextMini span{display:block;font:1000 9px/1 Trebuchet MS,Arial;color:#9ec3d7;letter-spacing:.1em;text-transform:uppercase}
.v576NextMini strong{display:block;margin-top:6px;color:#f6fbff;font-size:15px;line-height:1.15}
.v576NextMini small{display:block;margin-top:5px;color:#9cb8ca;font-size:11px;line-height:1.35}
.v576StageRail{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 16px}
.v576StageCard{padding:11px 10px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);display:grid;justify-items:center;text-align:center;gap:6px;position:relative;overflow:hidden}
.v576StageCard::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,rgba(114,240,255,.0),rgba(114,240,255,.7),rgba(114,240,255,0));opacity:.45}
.v576StageCard.current{background:linear-gradient(180deg,rgba(113,239,255,.16),rgba(77,132,255,.12));border-color:rgba(118,240,255,.24);box-shadow:0 14px 26px rgba(53,160,255,.14)}
.v576StageCard.passed{opacity:.82}
.v576StageCard span{font-size:22px;line-height:1}
.v576StageCard b{font-size:10px;line-height:1.15;color:#e7fbff;letter-spacing:.08em;text-transform:uppercase}
.v576StageCard small{font-size:10px;line-height:1.25;color:#93b6ca}
.v576LevelSection{min-height:194px!important}
.v576LevelSection.checkpoint{min-height:232px!important}
.v576LevelSection .v576RewardWrap:empty{min-height:1px}
.v576RewardCard{min-height:142px!important;gap:9px}
.v576RewardCard.minor{min-height:124px!important;opacity:.92}
.v576RewardCard.major{min-height:170px!important;box-shadow:0 20px 44px rgba(0,0,0,.28)}
.v576RewardCard.major.free{border-color:rgba(115,237,255,.26)}
.v576RewardCard.major.premium{border-color:rgba(255,215,114,.28)}
.v576RewardCard.major .v576RewardMain{grid-template-columns:82px minmax(0,1fr)}
.v576RewardCard.major .v576IconStage{width:82px;height:82px}
.v576RewardCard.minor .v576RewardText small{-webkit-line-clamp:1}
.v576RewardCard.minor .v576Meta{display:none}
.v576RewardText strong{font-size:17px}
.v576RewardCard.major .v576RewardText strong{font-size:20px}
.v576Action .subHint{margin-left:auto;font:1000 9px/1.2 Trebuchet MS,Arial;color:#96b7c9;letter-spacing:.06em;text-transform:uppercase}
.v576LevelSection.current .v576CurrentTag{box-shadow:0 14px 28px rgba(61,149,255,.28),0 0 0 1px rgba(123,244,255,.12)}
@media(max-width:920px){
  .v576HeroNext{grid-template-columns:1fr;gap:12px}
  .v576StageRail{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .v576HeroNext{padding:14px}
  .v576HeroMain{grid-template-columns:74px minmax(0,1fr);gap:11px}
  .v576HeroVisual{width:74px;height:74px;border-radius:24px}
  .v576HeroVisual span{font-size:44px}
  .v576HeroText strong{font-size:20px}
  .v576StageRail{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .v576RewardCard.major .v576RewardMain{grid-template-columns:70px minmax(0,1fr)}
  .v576RewardCard.major .v576IconStage{width:70px;height:70px}
}

/* ===== v57-6-2-reward-cleanup-style ===== */
/* v57.6.2: important rewards stay cards; small rewards become quiet nodes. */
.v576LevelSection.v5762MinorRow{min-height:142px!important;padding-top:12px!important;padding-bottom:22px!important}
.v576LevelSection.v5762MajorRow{min-height:226px!important;padding-top:26px!important;padding-bottom:36px!important}
.v576LevelSection.v5762MajorRow.checkpoint{min-height:250px!important}
.v5762QuietNode{position:relative;z-index:2;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;padding:8px 10px;border-radius:18px;background:rgba(12,26,44,.76);border:1px solid rgba(126,225,245,.10);box-shadow:0 9px 20px rgba(0,0,0,.14);overflow:hidden}
.v5762QuietNode.premium{background:rgba(35,27,17,.78);border-color:rgba(246,213,128,.13)}
.v5762QuietNode.claimable{border-color:rgba(108,238,255,.28);box-shadow:0 10px 26px rgba(45,194,255,.12)}
.v5762QuietNode.claimed{opacity:.64}
.v5762QuietNode.locked{opacity:.70}
.v5762QuietIcon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.065);font-size:25px;overflow:hidden}
.v5762QuietIcon img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.v5762QuietText{min-width:0}
.v5762QuietText strong{display:block;color:#effaff;font-size:13px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v5762QuietText small{display:block;margin-top:4px;color:#89aabd;font:800 9px/1.2 Trebuchet MS,Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v5762QuietNode.premium .v5762QuietText small{color:#c8b47d}
.v5762QuietAction{display:flex;align-items:center;justify-content:flex-end;min-width:62px}
.v5762QuietAction button{border:0;border-radius:12px;padding:8px 9px;background:rgba(255,255,255,.07);color:#9cb7c9;font:1000 9px/1 Trebuchet MS,Arial;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.v5762QuietAction button.claim{background:linear-gradient(135deg,#32c7f5,#4e7eff);color:white;box-shadow:0 8px 18px rgba(41,158,255,.18);cursor:pointer}
.v5762QuietAction button.claimed{background:rgba(54,186,125,.18);color:#95e5bd}
.v5762QuietAction button.premiumLock{color:#d1b96e;background:rgba(244,211,123,.08)}
.v5762MajorBadge{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:5px 8px;border-radius:999px;background:rgba(121,236,255,.10);color:#bff8ff;font:1000 9px/1 Trebuchet MS,Arial;letter-spacing:.06em;text-transform:uppercase}
.v576RewardCard.major .v576CardTop{align-items:center}
.v576RewardCard.major .v576Pill{font-size:9px}
.v5762RewardKind{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.055);font:1000 9px/1 Trebuchet MS,Arial;color:#a8c8d9;text-transform:uppercase;letter-spacing:.06em}
.v5762FlowHint{margin:0 0 12px;padding:10px 13px;border-radius:18px;background:rgba(111,234,255,.06);border:1px solid rgba(111,234,255,.09);display:flex;align-items:center;gap:10px;color:#a9c8da;font:800 10px/1.35 Trebuchet MS,Arial}
.v5762FlowHint b{color:#defaff;font-size:11px}
.v5762HeroNext .v576NextMini:last-child{border-color:rgba(249,216,126,.10)}
.v5762LegendMinor{display:inline-flex;align-items:center;gap:7px;color:#9ab8c8;font:900 9px/1 Trebuchet MS,Arial;letter-spacing:.05em;text-transform:uppercase}
.v5762LegendMinor i{width:18px;height:8px;border-radius:999px;background:rgba(255,255,255,.12);display:block}
@media(max-width:760px){
  .v576LevelSection.v5762MinorRow{min-height:auto!important;padding:11px 0 26px!important}
  .v576LevelSection.v5762MajorRow{min-height:auto!important;padding:18px 0 34px!important}
  .v5762QuietNode{grid-template-columns:42px minmax(0,1fr) auto;min-height:58px;padding:7px 9px}
  .v5762QuietIcon{width:40px;height:40px;font-size:23px}
  .v5762QuietAction button{padding:7px 8px}
}


/* admin.css */
/* ===== v57-8-admin-control-style ===== */
#v578AdminButton{position:fixed;left:16px;top:86px;bottom:auto;z-index:2147483550;display:none;align-items:center;gap:10px;min-height:48px;padding:6px 13px 6px 7px;border:1px solid rgba(255,211,101,.30);border-radius:17px;background:linear-gradient(180deg,rgba(34,28,62,.97),rgba(17,23,47,.97));box-shadow:0 7px 0 rgba(35,22,63,.72),0 15px 34px rgba(0,0,0,.28);color:#fff;cursor:pointer;font-family:Trebuchet MS,Arial,sans-serif}
#v578AdminButton.show{display:flex}#v578AdminButton:hover{filter:brightness(1.08);transform:translateY(-1px)}#v578AdminButton:active{transform:translateY(3px);box-shadow:0 3px 0 rgba(35,22,63,.72),0 8px 20px rgba(0,0,0,.25)}
.v578AdminButtonIcon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#ffd665,#ff9d42);color:#432800;font-size:21px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.32)}
.v578AdminButtonCopy{display:grid;gap:2px;text-align:left}.v578AdminButtonCopy small{font:1000 7px/1 Trebuchet MS,Arial;color:#ffc96c;letter-spacing:.12em}.v578AdminButtonCopy strong{font:1000 11px/1 Trebuchet MS,Arial;color:#fff;letter-spacing:.06em}
#v578AdminOverlay{position:fixed;inset:0;z-index:2147483600;display:none;background:rgba(2,8,17,.72);backdrop-filter:blur(14px);padding:20px;font-family:Trebuchet MS,Arial,sans-serif;color:#fff}
#v578AdminOverlay.show{display:grid;place-items:center;animation:v578Fade .16s ease}@keyframes v578Fade{from{opacity:0}to{opacity:1}}
.v578Shell{width:min(1440px,100%);height:min(900px,calc(100vh - 40px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(132,227,255,.16);border-radius:30px;background:linear-gradient(160deg,rgba(8,18,33,.995),rgba(11,26,44,.995));box-shadow:0 40px 110px rgba(0,0,0,.60)}
.v578Top{min-height:82px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(255,255,255,.07);background:linear-gradient(90deg,rgba(255,199,78,.07),rgba(82,225,255,.035))}
.v578Brand{display:flex;align-items:center;gap:12px}.v578BrandIcon{width:50px;height:50px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#ffd55e,#ff9740);color:#422600;font-size:27px;box-shadow:0 10px 25px rgba(255,169,49,.18)}
.v578BrandCopy{display:grid;gap:3px}.v578BrandCopy span{font:1000 8px/1 Trebuchet MS,Arial;color:#ffc96b;letter-spacing:.15em}.v578BrandCopy strong{font:1000 23px/1.05 Trebuchet MS,Arial}.v578BrandCopy small{font:850 9px/1.3 Trebuchet MS,Arial;color:#8fb6cc}
.v578TopStats{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.v578TopStat{min-width:90px;padding:9px 11px;border-radius:15px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.065);text-align:center}.v578TopStat strong{display:block;font-size:17px}.v578TopStat small{display:block;margin-top:2px;color:#8fb4c8;font-size:8px;font-weight:1000}.v578Close{width:43px;height:43px;border:0;border-radius:14px;background:rgba(255,255,255,.075);color:#fff;font-size:19px;cursor:pointer}
.v578Body{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:0}
.v578Sidebar{min-height:0;padding:13px;border-right:1px solid rgba(255,255,255,.065);background:rgba(0,0,0,.10);display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px}
.v578Search{width:100%;height:43px;padding:0 12px;border:1px solid rgba(128,224,255,.12);border-radius:14px;background:rgba(255,255,255,.055);color:#fff;outline:none;font:850 10px Trebuchet MS,Arial}.v578Search::placeholder{color:#7094a8}
.v578Players{overflow:auto;display:grid;align-content:start;gap:7px;padding-right:3px}.v578Player{width:100%;min-height:62px;padding:8px;border:1px solid rgba(255,255,255,.06);border-radius:16px;background:rgba(255,255,255,.035);color:#fff;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:9px;align-items:center;text-align:left;cursor:pointer}.v578Player:hover{border-color:rgba(111,230,255,.25);background:rgba(101,228,255,.07)}.v578Player.selected{border-color:rgba(255,208,92,.34);background:linear-gradient(135deg,rgba(255,202,78,.10),rgba(93,226,255,.05))}.v578PlayerAvatar{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.07);font-size:23px}.v578PlayerCopy{display:grid;gap:3px;min-width:0}.v578PlayerCopy strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v578PlayerCopy small{font-size:8px;color:#88a9bc;font-weight:850}.v578Online{width:9px;height:9px;border-radius:50%;background:#5d7381}.v578Online.on{background:#55e898;box-shadow:0 0 10px rgba(85,232,152,.55)}
.v578Main{min-height:0;overflow:auto;padding:14px;display:grid;align-content:start;gap:12px}
.v578Empty{min-height:360px;display:grid;place-items:center;text-align:center;color:#7f9daf}.v578Empty div{display:grid;gap:8px;justify-items:center}.v578Empty span{font-size:52px}.v578Empty strong{font-size:20px;color:#e9f8ff}.v578Empty small{max-width:420px;font-size:10px;line-height:1.45}
.v578SelectedHero{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px;border:1px solid rgba(112,231,255,.13);border-radius:22px;background:linear-gradient(135deg,rgba(74,209,255,.08),rgba(255,197,78,.05))}.v578SelectedAvatar{width:70px;height:70px;border-radius:20px;display:grid;place-items:center;background:rgba(255,255,255,.07);font-size:38px}.v578SelectedCopy{display:grid;gap:4px}.v578SelectedCopy span{font-size:8px;font-weight:1000;color:#73e8ff;letter-spacing:.12em}.v578SelectedCopy strong{font-size:22px}.v578SelectedCopy small{font-size:10px;color:#91b2c5}.v578SelectedWallet{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.v578Wallet{padding:8px 10px;border-radius:13px;background:rgba(255,255,255,.055);text-align:center;min-width:72px}.v578Wallet b{display:block;font-size:14px}.v578Wallet small{font-size:7px;color:#90adbd;font-weight:1000}
.v578Grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v578Card{padding:13px;border:1px solid rgba(255,255,255,.065);border-radius:22px;background:rgba(255,255,255,.035);display:grid;align-content:start;gap:10px}.v578Card.wide{grid-column:1/-1}.v578CardHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.v578CardHead div{display:grid;gap:3px}.v578CardHead span{font:1000 8px/1 Trebuchet MS,Arial;color:#72e8ff;letter-spacing:.12em}.v578CardHead strong{font-size:16px}.v578CardHead small{font-size:8px;color:#7d9bae}
.v578Actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.v578Actions.three{grid-template-columns:repeat(3,minmax(0,1fr))}.v578Btn{min-height:43px;padding:8px 10px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(255,255,255,.055);color:#eaf9ff;font:1000 9px/1.1 Trebuchet MS,Arial;cursor:pointer}.v578Btn:hover{filter:brightness(1.1);border-color:rgba(112,232,255,.24)}.v578Btn.primary{background:linear-gradient(135deg,#2ab8ff,#4a77ef);border-color:transparent}.v578Btn.good{background:linear-gradient(135deg,#39c98e,#1a9d6e);border-color:transparent}.v578Btn.warn{background:linear-gradient(135deg,#ffad4d,#ef7740);border-color:transparent;color:#311b00}.v578Btn.danger{background:linear-gradient(135deg,#e85168,#ab314b);border-color:transparent}.v578Btn.gold{background:linear-gradient(135deg,#ffd75f,#ef9f32);border-color:transparent;color:#392200}.v578Btn.active{box-shadow:0 0 0 2px rgba(116,239,255,.18) inset}
.v578Locations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.v578Loc{min-height:50px;padding:7px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(255,255,255,.035);color:#fff;cursor:pointer;display:grid;place-items:center;gap:3px}.v578Loc span{font-size:20px}.v578Loc small{font-size:7px;font-weight:1000;color:#9fb8c6}.v578Loc:hover{background:rgba(91,219,255,.08);border-color:rgba(113,233,255,.25)}
.v578RewardRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.v578Field{display:grid;gap:5px}.v578Field span{font-size:8px;font-weight:1000;color:#82a5b9}.v578Input{width:100%;height:40px;padding:0 10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.055);color:#fff;outline:none;font:900 10px Trebuchet MS,Arial}.v578Input:focus{border-color:rgba(105,229,255,.36)}.v578Quick{display:flex;gap:5px;flex-wrap:wrap}.v578Chip{min-height:30px;padding:0 8px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.045);color:#c9e9f8;font:1000 8px Trebuchet MS,Arial;cursor:pointer}.v578Chip.minus{color:#ff9aa9}.v578Chip.plus{color:#86efbd}
.v578RangeRow{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:8px;align-items:center}.v578Range{width:100%;accent-color:#5be5ff}.v578Value{padding:7px;border-radius:11px;background:rgba(255,255,255,.06);text-align:center;font-size:10px;font-weight:1000;color:#e9fbff}.v578StatusLine{min-height:34px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;color:#98b8ca}.v578StatusLine b{color:#effbff}.v578Divider{height:1px;background:rgba(255,255,255,.06)}
@media(max-width:900px){#v578AdminOverlay{padding:8px}.v578Shell{height:calc(100vh - 16px);border-radius:22px}.v578TopStats{display:none}.v578Body{grid-template-columns:220px minmax(0,1fr)}.v578Grid{grid-template-columns:1fr}.v578Card.wide{grid-column:auto}.v578Locations{grid-template-columns:repeat(2,minmax(0,1fr))}.v578SelectedHero{grid-template-columns:58px minmax(0,1fr)}.v578SelectedWallet{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:650px){#v578AdminButton{left:8px;bottom:8px}.v578AdminButtonCopy strong{font-size:9px}.v578AdminButtonCopy small{display:none}.v578Shell{grid-template-rows:auto minmax(0,1fr)}.v578Top{padding:10px}.v578BrandCopy strong{font-size:18px}.v578BrandCopy small{display:none}.v578Body{grid-template-columns:1fr;grid-template-rows:170px minmax(0,1fr)}.v578Sidebar{border-right:0;border-bottom:1px solid rgba(255,255,255,.065);padding:8px}.v578Players{grid-auto-flow:column;grid-auto-columns:190px;overflow-x:auto;overflow-y:hidden}.v578Player{min-height:54px}.v578Main{padding:9px}.v578Actions.three{grid-template-columns:repeat(2,minmax(0,1fr))}.v578RewardRow{grid-template-columns:1fr}}

/* ===== v57-8-1-focus-style ===== */
#v5781FocusOverlay{position:fixed;inset:0;z-index:2147483646;display:none;place-items:center;padding:24px;background:radial-gradient(circle at 50% 38%,rgba(37,91,135,.34),transparent 38%),linear-gradient(160deg,rgba(2,8,18,.985),rgba(5,17,31,.992));font-family:Trebuchet MS,Arial,sans-serif;color:#fff;pointer-events:auto;user-select:none}
#v5781FocusOverlay.show{display:grid;animation:v5781FocusIn .22s ease}@keyframes v5781FocusIn{from{opacity:0}to{opacity:1}}
.v5781FocusBox{width:min(620px,100%);padding:34px 28px 28px;border-radius:34px;border:1px solid rgba(117,232,255,.18);background:linear-gradient(180deg,rgba(10,28,49,.96),rgba(5,16,31,.97));box-shadow:0 40px 100px rgba(0,0,0,.58);text-align:center;position:relative;overflow:hidden}
.v5781FocusBox::before{content:"";position:absolute;inset:-120px;background:conic-gradient(from 30deg,transparent,rgba(86,221,255,.08),transparent 32%,rgba(255,211,99,.06),transparent 70%);animation:v5781Spin 14s linear infinite}@keyframes v5781Spin{to{transform:rotate(360deg)}}
.v5781FocusIcon{position:relative;width:106px;height:106px;margin:0 auto 18px;border-radius:32px;display:grid;place-items:center;background:linear-gradient(135deg,#64e8ff,#557bff);font-size:54px;box-shadow:0 20px 50px rgba(61,157,255,.28),inset 0 0 0 1px rgba(255,255,255,.28)}
.v5781FocusEyebrow{position:relative;display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,211,101,.10);border:1px solid rgba(255,211,101,.16);font:1000 9px/1 Trebuchet MS,Arial;color:#ffd975;letter-spacing:.15em}
.v5781FocusBox h2{position:relative;margin:14px 0 0;font:1000 clamp(26px,5vw,42px)/1.04 Trebuchet MS,Arial;color:#f5fcff}
.v5781FocusMessage{position:relative;margin:14px auto 0;max-width:500px;color:#b9d5e6;font:850 14px/1.5 Trebuchet MS,Arial;white-space:pre-wrap}
.v5781FocusTeacher{position:relative;margin-top:20px;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:15px;background:rgba(255,255,255,.055);color:#d6edfa;font:900 10px/1 Trebuchet MS,Arial}
.v5781FocusPulse{width:9px;height:9px;border-radius:50%;background:#59e89c;box-shadow:0 0 14px rgba(89,232,156,.65);animation:v5781Pulse 1.5s ease-in-out infinite}@keyframes v5781Pulse{50%{transform:scale(1.4);opacity:.62}}
.v5781FocusHint{position:relative;display:block;margin-top:14px;color:#7196ac;font:850 9px/1.4 Trebuchet MS,Arial}
.v5781FocusAdminCard{border-color:rgba(255,205,91,.14)!important;background:linear-gradient(135deg,rgba(255,198,70,.065),rgba(78,219,255,.04))!important}
.v5781FocusState{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.055);font:1000 9px/1 Trebuchet MS,Arial;color:#9fbaca}.v5781FocusState.on{background:rgba(255,89,111,.12);color:#ff9aaa;border:1px solid rgba(255,89,111,.18)}
.v5781FocusMessageInput{min-height:64px!important;padding:10px 11px!important;resize:vertical;line-height:1.35!important}
.v5781FocusPresets{display:flex;gap:6px;flex-wrap:wrap}.v5781FocusPresets button{min-height:30px;padding:0 9px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.045);color:#bfe3f2;font:1000 8px Trebuchet MS,Arial;cursor:pointer}
@media(max-width:650px){.v5781FocusBox{padding:28px 18px 22px;border-radius:28px}.v5781FocusIcon{width:88px;height:88px;font-size:46px}.v5781FocusMessage{font-size:12px}}

/* ===== v57-8-2-transport-style ===== */
#studentTransportButton,#adminHorseButton,#v557MountModal,#v577MountButton,#v577MountPanel,#v5773GarageButton,#v5773GaragePanel{display:none!important;visibility:hidden!important;pointer-events:none!important}
#v5782GarageButton{position:absolute;right:14px;bottom:72px;z-index:420;display:none;align-items:center;gap:9px;min-height:52px;padding:6px 11px 6px 7px;border:1px solid rgba(125,232,255,.22);border-radius:18px;background:linear-gradient(180deg,rgba(16,40,68,.97),rgba(8,24,43,.97));box-shadow:0 12px 30px rgba(0,0,0,.3);color:#f5fdff;cursor:pointer;font-family:Trebuchet MS,Arial,sans-serif}
#v5782GarageButton.show{display:flex}#v5782GarageButton.active{border-color:rgba(255,220,112,.32);box-shadow:0 14px 34px rgba(0,0,0,.34),0 0 26px rgba(255,199,75,.08)}
.v5782BtnIcon{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,rgba(102,229,255,.2),rgba(98,119,255,.18));font-size:25px}.v5782BtnCopy{text-align:left}.v5782BtnCopy small{display:block;color:#7fe9ff;font-size:7px;font-weight:1000;letter-spacing:.14em}.v5782BtnCopy strong{display:block;margin-top:2px;font-size:11px;line-height:1}.v5782BtnCopy span{display:block;margin-top:3px;color:#9dbdd0;font-size:8px;font-weight:850}
#v5782GaragePanel{position:absolute;right:14px;bottom:136px;z-index:421;width:min(760px,calc(100% - 28px));max-height:min(76vh,720px);display:none;padding:14px;border-radius:30px;background:linear-gradient(160deg,rgba(8,25,45,.985),rgba(14,32,54,.985) 58%,rgba(17,30,48,.985));border:1px solid rgba(125,230,255,.2);box-shadow:0 32px 80px rgba(0,0,0,.55);color:#fff;overflow:auto;overscroll-behavior:contain;font-family:Trebuchet MS,Arial,sans-serif;backdrop-filter:blur(14px)}
#v5782GaragePanel.show{display:block;animation:v5782PanelIn .18s ease-out both}@keyframes v5782PanelIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.v5782Head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:4px 4px 12px}.v5782HeadCopy>span{display:block;color:#75eaff;font-size:8px;font-weight:1000;letter-spacing:.16em}.v5782HeadCopy>strong{display:block;margin-top:5px;font-size:25px;line-height:1.05}.v5782HeadCopy>small{display:block;margin-top:6px;color:#9dbfd1;font-size:10px;font-weight:850}.v5782Close{width:42px;height:42px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.06);color:#dff7ff;font-size:18px;cursor:pointer}
.v5782Current{position:relative;overflow:hidden;display:grid;grid-template-columns:108px minmax(0,1fr) auto;gap:15px;align-items:center;padding:14px;border-radius:24px;background:radial-gradient(circle at 12% 20%,rgba(89,226,255,.17),transparent 36%),linear-gradient(135deg,rgba(62,91,151,.19),rgba(255,198,85,.07));border:1px solid rgba(126,232,255,.12)}
.v5782Current::after{content:"";position:absolute;right:-40px;top:-70px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(255,205,89,.1),transparent 68%);pointer-events:none}.v5782CurrentArt{width:108px;height:92px;border-radius:23px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.025));font-size:60px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.055)}.v5782CurrentCopy small{display:block;color:#84eaff;font-size:8px;font-weight:1000;letter-spacing:.13em}.v5782CurrentCopy strong{display:block;margin-top:6px;font-size:23px}.v5782CurrentCopy span{display:block;margin-top:6px;color:#abc6d5;font-size:10px;font-weight:850}.v5782CurrentSpeed{min-width:105px;padding:11px 12px;border-radius:18px;background:rgba(3,13,26,.36);text-align:center}.v5782CurrentSpeed small{display:block;color:#8eaec0;font-size:7px;font-weight:1000;letter-spacing:.12em}.v5782CurrentSpeed strong{display:block;margin-top:5px;color:#ffe080;font-size:22px}
.v5782Section{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 3px 8px}.v5782Section strong{font-size:12px;letter-spacing:.04em}.v5782Section small{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.055);color:#9ebccd;font-size:8px;font-weight:900}
.v5782Grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.v5782Card{position:relative;overflow:hidden;min-height:156px;padding:12px;border:1px solid rgba(255,255,255,.075);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));color:#fff;text-align:left;cursor:pointer;display:grid;grid-template-rows:auto auto 1fr auto;transition:transform .14s ease,border-color .14s ease,background .14s ease}.v5782Card:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(111,231,255,.35);background:linear-gradient(180deg,rgba(108,225,255,.09),rgba(255,255,255,.025))}.v5782Card.selected{border-color:rgba(255,221,104,.5);background:radial-gradient(circle at 25% 0,rgba(255,220,100,.13),transparent 44%),linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:inset 0 0 0 1px rgba(255,220,100,.08)}.v5782Card.locked{opacity:.48;filter:saturate(.55);cursor:not-allowed}.v5782Card.admin{border-color:rgba(255,183,80,.22)}
.v5782CardTop{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.v5782Art{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(117,229,255,.12),rgba(99,92,255,.12));font-size:38px}.v5782Badge{display:inline-flex;padding:5px 7px;border-radius:999px;background:rgba(92,226,151,.11);color:#8ff0b5;font-size:7px;font-weight:1000;letter-spacing:.08em}.v5782Badge.selected{background:rgba(255,221,105,.13);color:#ffe381}.v5782Badge.locked{background:rgba(255,255,255,.06);color:#91a6b4}.v5782Badge.admin{background:rgba(255,164,79,.12);color:#ffbd79}.v5782Card>strong{display:block;margin-top:9px;font-size:15px;line-height:1.05}.v5782Card>small{display:block;margin-top:5px;color:#92b1c4;font-size:9px;font-weight:850;line-height:1.3}.v5782Speed{align-self:end;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:10px}.v5782SpeedTrack{height:6px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.v5782SpeedTrack i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5fe8ff,#7397ff 58%,#ffd467)}.v5782Speed b{color:#dff8ff;font-size:10px}.v5782Foot{display:flex;gap:9px;align-items:flex-start;margin-top:10px;padding:10px 11px;border-radius:16px;background:rgba(255,255,255,.035);color:#8facbd;font-size:9px;font-weight:850;line-height:1.35}.v5782Foot span{font-size:17px;line-height:1}
body.cityGameFullscreen #v5782GarageButton{right:max(12px,env(safe-area-inset-right));bottom:max(72px,calc(env(safe-area-inset-bottom) + 66px))}body.cityGameFullscreen #v5782GaragePanel{right:max(12px,env(safe-area-inset-right));bottom:max(136px,calc(env(safe-area-inset-bottom) + 128px))}
@media(max-width:820px){.v5782Grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v5782Current{grid-template-columns:88px minmax(0,1fr)}.v5782CurrentArt{width:88px;height:82px;font-size:52px}.v5782CurrentSpeed{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.v5782CurrentSpeed strong{margin:0}}
@media(max-width:560px){#v5782GarageButton{right:8px;bottom:62px;min-height:45px;padding:5px 8px}.v5782BtnCopy span{display:none}.v5782BtnIcon{width:33px;height:33px;font-size:22px}#v5782GaragePanel{right:8px;bottom:116px;width:calc(100% - 16px);padding:10px;border-radius:24px;max-height:78%}.v5782HeadCopy>strong{font-size:20px}.v5782Grid{grid-template-columns:1fr}.v5782Card{min-height:126px;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:10px}.v5782CardTop{grid-row:1/4;display:block}.v5782Art{width:60px;height:60px}.v5782Badge{margin-top:7px}.v5782Card>strong{margin-top:4px}.v5782Speed{margin-top:7px}.v5782Current{grid-template-columns:68px minmax(0,1fr);gap:10px}.v5782CurrentArt{width:68px;height:66px;font-size:43px}.v5782CurrentCopy strong{font-size:18px}}

/* ===== v57-10-1-teacher-console-style ===== */
/* Retire the accumulated legacy admin surface. The final console below is the only visible admin UI. */
#v578AdminButton,#v578AdminOverlay{display:none!important;visibility:hidden!important;pointer-events:none!important}
#v57101AdminButton{position:fixed;left:14px;top:82px;z-index:2147483620;display:none;align-items:center;gap:9px;min-height:50px;padding:6px 13px 6px 7px;border:1px solid rgba(255,214,101,.34);border-radius:18px;background:linear-gradient(180deg,rgba(35,28,63,.985),rgba(12,24,45,.985));box-shadow:0 8px 0 rgba(38,24,62,.75),0 18px 38px rgba(0,0,0,.34);color:#fff;cursor:pointer;font-family:Trebuchet MS,Arial,sans-serif}
#v57101AdminButton.show{display:flex}#v57101AdminButton:hover{filter:brightness(1.08);transform:translateY(-1px)}#v57101AdminButton:active{transform:translateY(3px);box-shadow:0 3px 0 rgba(38,24,62,.75),0 8px 22px rgba(0,0,0,.3)}
.v57101AdminIcon{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#ffd966,#ff9f45);color:#432600;font-size:22px}.v57101AdminCopy{display:grid;gap:2px;text-align:left}.v57101AdminCopy small{font-size:7px;font-weight:1000;color:#ffd16b;letter-spacing:.13em}.v57101AdminCopy strong{font-size:11px;letter-spacing:.05em}
#v57101Overlay{position:fixed;inset:0;z-index:2147483635;display:none;padding:18px;background:rgba(2,8,18,.79);backdrop-filter:blur(12px);font-family:Trebuchet MS,Arial,sans-serif;color:#effbff}#v57101Overlay.show{display:grid;place-items:center}
.v57101Shell{width:min(1180px,100%);height:min(850px,calc(100vh - 36px));display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(119,229,255,.15);border-radius:30px;background:linear-gradient(160deg,rgba(8,23,42,.995),rgba(12,29,49,.995) 55%,rgba(19,25,49,.995));box-shadow:0 40px 120px rgba(0,0,0,.62)}
.v57101Head{display:flex;align-items:center;gap:12px;padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.065)}.v57101HeadIcon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,#ffd65e,#f58a43);color:#402500;font-size:28px}.v57101HeadCopy{display:grid;gap:2px;min-width:0}.v57101HeadCopy span{font-size:8px;font-weight:1000;color:#72e8ff;letter-spacing:.15em}.v57101HeadCopy strong{font-size:21px}.v57101HeadCopy small{font-size:9px;color:#88a8ba}.v57101HeadStats{margin-left:auto;display:flex;gap:7px}.v57101Pill{min-width:82px;padding:7px 9px;border-radius:13px;background:rgba(255,255,255,.055);text-align:center}.v57101Pill b{display:block;font-size:12px}.v57101Pill small{display:block;margin-top:2px;color:#7f9eaf;font-size:7px;font-weight:1000}.v57101Close{width:40px;height:40px;border:0;border-radius:13px;background:rgba(255,255,255,.06);color:#fff;font-size:18px;cursor:pointer}
.v57101Tabs{display:flex;gap:7px;padding:9px 13px;border-bottom:1px solid rgba(255,255,255,.06);overflow-x:auto}.v57101Tab{min-height:38px;padding:0 13px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.035);color:#9ebccc;font:1000 9px Trebuchet MS,Arial;white-space:nowrap;cursor:pointer}.v57101Tab.active{background:linear-gradient(135deg,rgba(255,207,82,.15),rgba(89,219,255,.10));border-color:rgba(255,212,91,.25);color:#fff}
.v57101Body{min-height:0;overflow:auto;padding:14px}.v57101Grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v57101Card{padding:13px;border:1px solid rgba(255,255,255,.07);border-radius:22px;background:rgba(255,255,255,.035);display:grid;align-content:start;gap:10px}.v57101Card.wide{grid-column:1/-1}.v57101CardHead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.v57101CardHead div{display:grid;gap:3px}.v57101CardHead span{font-size:8px;font-weight:1000;color:#71e8ff;letter-spacing:.12em}.v57101CardHead strong{font-size:16px}.v57101CardHead small{font-size:8px;color:#7f9fb1;line-height:1.35}.v57101State{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.055);color:#a9c6d5;font-size:8px;font-weight:1000}.v57101State.good{color:#69e5a7;background:rgba(62,210,142,.10)}.v57101State.warn{color:#ffc869;background:rgba(255,188,69,.10)}
.v57101Hero{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px;border-radius:21px;background:linear-gradient(135deg,rgba(88,221,255,.08),rgba(255,203,79,.06));border:1px solid rgba(107,230,255,.10)}.v57101Avatar{width:72px;height:72px;display:grid;place-items:center;border-radius:20px;background:rgba(255,255,255,.07);font-size:39px}.v57101HeroCopy{display:grid;gap:4px}.v57101HeroCopy span{font-size:8px;font-weight:1000;color:#72e8ff}.v57101HeroCopy strong{font-size:22px}.v57101HeroCopy small{font-size:9px;color:#8faebf}.v57101Wallet{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.v57101Wallet div{min-width:74px;padding:8px;border-radius:12px;background:rgba(255,255,255,.055);text-align:center}.v57101Wallet b{display:block;font-size:13px}.v57101Wallet small{font-size:7px;color:#85a5b7;font-weight:1000}
.v57101Actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.v57101Actions.three{grid-template-columns:repeat(3,minmax(0,1fr))}.v57101Btn{min-height:43px;padding:8px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.055);color:#ebfaff;font:1000 9px/1.15 Trebuchet MS,Arial;cursor:pointer}.v57101Btn:hover{filter:brightness(1.1);border-color:rgba(109,230,255,.24)}.v57101Btn.primary{background:linear-gradient(135deg,#28b8ff,#4d75ef);border-color:transparent}.v57101Btn.gold{background:linear-gradient(135deg,#ffd45e,#ee9d32);border-color:transparent;color:#392100}.v57101Btn.good{background:linear-gradient(135deg,#36c98b,#159968);border-color:transparent}.v57101Btn.warn{background:linear-gradient(135deg,#ffae4f,#ec7842);border-color:transparent;color:#351c00}.v57101Btn.danger{background:linear-gradient(135deg,#e8576c,#ad304c);border-color:transparent}.v57101Btn[disabled]{opacity:.4;cursor:default;filter:grayscale(.3)}
.v57101Field{display:grid;gap:5px}.v57101Field span{font-size:8px;font-weight:1000;color:#84a5b7}.v57101Input{width:100%;min-height:40px;padding:8px 10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.055);color:#fff;outline:none;font:900 10px Trebuchet MS,Arial}.v57101Input[type=range]{padding:0;accent-color:#62e5ff}.v57101Row{display:grid;grid-template-columns:minmax(0,1fr) 80px;gap:8px;align-items:center}.v57101Value{padding:8px;border-radius:11px;background:rgba(255,255,255,.055);text-align:center;font-size:10px;font-weight:1000}.v57101Status{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.04);font-size:9px;color:#90afc0}.v57101Status b{color:#eefbff}.v57101Divider{height:1px;background:rgba(255,255,255,.06)}
.v57101Students{display:grid;grid-template-columns:280px minmax(0,1fr);gap:12px;min-height:580px}.v57101StudentList{min-height:0;overflow:auto;display:grid;align-content:start;gap:7px}.v57101Student{width:100%;min-height:58px;padding:8px;border:1px solid rgba(255,255,255,.06);border-radius:15px;background:rgba(255,255,255,.035);color:#fff;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:8px;align-items:center;text-align:left;cursor:pointer}.v57101Student.active{border-color:rgba(255,207,79,.3);background:rgba(255,204,79,.07)}.v57101Student .av{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.06);font-size:23px}.v57101Student .copy{display:grid;gap:3px;min-width:0}.v57101Student .copy strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v57101Student .copy small{font-size:8px;color:#809fb0}.v57101Dot{width:9px;height:9px;border-radius:50%;background:#596f7b}.v57101Dot.on{background:#56e49a;box-shadow:0 0 10px rgba(86,228,154,.5)}.v57101StudentMain{min-width:0}.v57101Empty{min-height:340px;display:grid;place-items:center;text-align:center;color:#7898aa}.v57101Empty div{display:grid;gap:8px;justify-items:center}.v57101Empty span{font-size:48px}.v57101Empty strong{color:#e8f8ff;font-size:18px}.v57101Empty small{font-size:9px;max-width:420px;line-height:1.45}
.v57101Diag{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;line-height:1.5;color:#9ac0d2;word-break:break-word}.v57101Diag b{color:#fff}
@media(max-width:820px){#v57101Overlay{padding:7px}.v57101Shell{height:calc(100vh - 14px);border-radius:22px}.v57101HeadStats{display:none}.v57101Grid{grid-template-columns:1fr}.v57101Card.wide{grid-column:auto}.v57101Students{grid-template-columns:1fr;grid-template-rows:190px minmax(0,1fr)}.v57101StudentList{grid-auto-flow:column;grid-auto-columns:190px;overflow-x:auto;overflow-y:hidden}.v57101Hero{grid-template-columns:58px minmax(0,1fr)}.v57101Avatar{width:58px;height:58px;font-size:32px}.v57101Wallet{grid-column:1/-1;justify-content:flex-start}.v57101Actions.three{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v59.72.0 · teacher lesson assignments */
.v57101Lessons{display:grid;gap:16px}.v57101LessonsIntro{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid rgba(113,232,255,.15);border-radius:24px;background:linear-gradient(135deg,rgba(31,145,190,.12),rgba(113,88,255,.08))}.v57101LessonsIntro>div:first-child{display:grid;gap:5px}.v57101LessonsIntro span,.v57101LessonRosterHead small{font-size:9px;font-weight:1000;letter-spacing:.13em;color:#71e8ff}.v57101LessonsIntro h3{margin:0;font-size:23px}.v57101LessonsIntro p{margin:0;max-width:650px;color:#93afbf;font-size:11px;line-height:1.45}.v57101ChosenLesson{display:flex!important;align-items:center;gap:10px;min-width:220px;padding:11px 13px;border-radius:18px;background:rgba(255,255,255,.06)}.v57101ChosenLesson>span{font-size:28px}.v57101ChosenLesson div{display:grid;gap:2px}.v57101ChosenLesson small{font-size:8px;color:#819cac}.v57101ChosenLesson strong{font-size:12px}.v57101LessonGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v57101LessonCard{appearance:none;text-align:left;color:inherit;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(255,255,255,.035);padding:14px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;position:relative;cursor:pointer;transition:.16s ease}.v57101LessonCard:hover{transform:translateY(-2px);border-color:rgba(113,232,255,.28);background:rgba(113,232,255,.055)}.v57101LessonCard.selected{border-color:#71e8ff;box-shadow:0 0 0 1px rgba(113,232,255,.18),0 10px 30px rgba(0,184,255,.08);background:rgba(28,157,202,.11)}.v57101LessonCard>span{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.06);font-size:23px}.v57101LessonCard>div{display:grid;gap:3px}.v57101LessonCard small{color:#71e8ff;font-weight:1000;font-size:7px;letter-spacing:.1em}.v57101LessonCard strong{font-size:12px}.v57101LessonCard p{margin:0;color:#7f9eaf;font-size:8px;line-height:1.35}.v57101LessonCard em{grid-column:1/-1;justify-self:end;font-style:normal;font-size:7px;font-weight:1000;color:#6f8f9f}.v57101LessonCard.selected em{color:#71e8ff}.v57101LessonRosterHead{display:flex;align-items:end;justify-content:space-between;gap:10px;padding-top:3px}.v57101LessonRosterHead>div{display:grid;gap:3px}.v57101LessonRosterHead strong{font-size:16px}.v57101LessonRosterHead>span{font-size:9px;color:#86a2b2}.v57101LessonRoster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v57101LessonStudent{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.028)}.v57101LessonStudent.same{border-color:rgba(83,232,164,.32);background:rgba(51,185,126,.07)}.v57101LessonStudentWho{display:flex;align-items:center;gap:10px;min-width:0}.v57101LessonStudentWho>span{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.055);font-size:20px}.v57101LessonStudentWho>div{display:grid;gap:3px;min-width:0}.v57101LessonStudentWho strong{font-size:11px}.v57101LessonStudentWho small{font-size:8px;color:#85a4b5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v57101LessonStudentActions{display:flex;gap:6px;flex:0 0 auto}.v57101LessonStudentActions .v57101Btn{padding:8px 10px;font-size:7px}.v57101Btn.good{border-color:rgba(83,232,164,.3);background:rgba(51,185,126,.12);color:#7af0b3}.v57101Btn.danger{border-color:rgba(255,103,125,.2);background:rgba(255,73,100,.07);color:#ff98aa}.v57101Empty{padding:30px;text-align:center;color:#7592a2}.v57101Tabs [data-v57101-tab="lessons"]{min-width:max-content}
@media(max-width:900px){.v57101LessonGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.v57101LessonRoster{grid-template-columns:1fr}}@media(max-width:620px){.v57101LessonsIntro{align-items:flex-start;flex-direction:column}.v57101ChosenLesson{min-width:0;width:100%}.v57101LessonGrid{grid-template-columns:1fr}.v57101LessonStudent{align-items:flex-start;flex-direction:column}.v57101LessonStudentActions{width:100%}.v57101LessonStudentActions .v57101Btn{flex:1}}

/* ===== v59.73.0 teacher workspace cleanup ===== */
.v57101Tabs{padding:10px 14px;gap:8px;background:rgba(3,12,20,.42)}
.v57101Tab{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;min-width:108px;font-size:10px;text-transform:none;letter-spacing:0}
.v57101Tab span{font-size:10px}.v57101Tab.tools{margin-left:10px;flex:.8;border-style:dashed;color:#7893a2}.v57101Tab.tools.active{color:#ffd47a;border-style:solid;background:rgba(255,190,75,.08)}
.v57101Workspace{display:grid;gap:14px}.v57101WorkspaceIntro{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid rgba(113,232,255,.14);border-radius:24px;background:linear-gradient(135deg,rgba(40,164,205,.11),rgba(88,91,231,.07))}.v57101WorkspaceIntro.technical{border-color:rgba(255,195,94,.15);background:linear-gradient(135deg,rgba(180,111,33,.10),rgba(75,61,41,.08))}.v57101WorkspaceIntro>div:first-child{display:grid;gap:5px}.v57101WorkspaceIntro span{font-size:9px;font-weight:1000;letter-spacing:.13em;color:#71e8ff}.v57101WorkspaceIntro.technical span{color:#ffd076}.v57101WorkspaceIntro h3{margin:0;font-size:23px}.v57101WorkspaceIntro p{margin:0;max-width:680px;color:#8daabb;font-size:10px;line-height:1.45}.v57101WorkspaceMetric{min-width:100px;padding:11px 14px;border-radius:18px;background:rgba(255,255,255,.055);text-align:center}.v57101WorkspaceMetric b{display:block;font-size:22px}.v57101WorkspaceMetric small{font-size:7px;color:#819dab;font-weight:1000}.v57101OverviewList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v57101OverviewStudent{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:19px;background:rgba(255,255,255,.028)}.v57101OverviewAvatar{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.06);font-size:24px}.v57101OverviewCopy{display:grid;gap:3px;min-width:0}.v57101OverviewCopy>div{display:flex;align-items:center;gap:7px}.v57101OverviewCopy strong{font-size:12px}.v57101OverviewCopy small{font-size:8px;color:#718d9d}.v57101OverviewCopy span{font-size:9px;color:#a8c4d3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v57101MiniLink{border:1px solid rgba(113,232,255,.18);border-radius:11px;background:rgba(113,232,255,.07);color:#9fefff;padding:8px 10px;font:1000 8px Trebuchet MS,Arial;cursor:pointer}.v57101Details,.v57101ToolSection{border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(0,0,0,.12);overflow:hidden}.v57101Details>summary,.v57101ToolSection>summary{cursor:pointer;list-style:none;padding:11px 13px;font-size:9px;font-weight:1000;color:#9bb7c7}.v57101Details>summary::-webkit-details-marker,.v57101ToolSection>summary::-webkit-details-marker{display:none}.v57101Details[open]>summary,.v57101ToolSection[open]>summary{border-bottom:1px solid rgba(255,255,255,.06);color:#fff}.v57101Details>*:not(summary){margin:12px}.v57101ToolSection>*:not(summary){margin:12px}.v57101ToolSection .v57101Grid{margin:12px}.v57101ToolSection .v57101Students{margin:12px}
@media(max-width:820px){.v57101Tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.v57101Tab{min-width:0}.v57101Tab.tools{margin-left:0;grid-column:1/-1}.v57101WorkspaceIntro{align-items:flex-start}.v57101WorkspaceMetric{display:none}.v57101OverviewList{grid-template-columns:1fr}.v57101OverviewStudent{grid-template-columns:40px minmax(0,1fr);}.v57101MiniLink{grid-column:2;justify-self:start}}


/* groups.css */
/* ===== Koderia v59.19.0 · Groups Foundation ===== */
.v5919GroupToolbar{display:grid;gap:8px;padding:10px;margin:0 0 10px;border:1px solid rgba(118,196,255,.18);border-radius:16px;background:linear-gradient(145deg,rgba(21,37,67,.96),rgba(14,26,49,.96));box-shadow:0 10px 28px rgba(0,0,0,.18)}
.v5919GroupPickerCopy{display:flex;align-items:center;justify-content:space-between;gap:8px}.v5919GroupPickerCopy small{font-size:9px;font-weight:900;letter-spacing:.11em;color:#79c7ff}.v5919GroupPickerCopy strong{max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#fff}
.v5919GroupToolbar select{width:100%;min-height:40px;border:1px solid rgba(128,205,255,.2);border-radius:12px;background:#101e38;color:#fff;padding:0 10px;font:800 12px/1 system-ui,sans-serif;outline:none}.v5919GroupToolbar select:focus{border-color:#55baff;box-shadow:0 0 0 3px rgba(64,152,247,.15)}
.v5919GroupToolbar>button{min-height:36px;border:0;border-radius:11px;background:rgba(67,154,247,.16);color:#a9ddff;font:900 11px/1 system-ui,sans-serif;cursor:pointer}.v5919GroupToolbar>button:hover{background:rgba(67,154,247,.26);color:#fff}
.v5919GroupOverlay{position:fixed;inset:0;z-index:100080;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(4,8,18,.72);backdrop-filter:blur(12px)}.v5919GroupOverlay.show{display:flex}
.v5919GroupModal{width:min(760px,96vw);max-height:min(780px,92vh);overflow:auto;border:1px solid rgba(132,203,255,.2);border-radius:26px;background:linear-gradient(160deg,#142744,#0b172d 60%,#0d1d38);box-shadow:0 30px 90px rgba(0,0,0,.48);color:#fff;padding:22px}
.v5919GroupModal>header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.v5919GroupModal>header small{display:block;color:#67c5ff;font:900 10px/1 system-ui;letter-spacing:.14em}.v5919GroupModal>header h3{margin:6px 0 5px;font:900 24px/1.1 system-ui}.v5919GroupModal>header p{margin:0;color:#a9b9d1;font:700 12px/1.45 system-ui}.v5919GroupModal>header button{width:42px;height:42px;border:0;border-radius:13px;background:rgba(255,255,255,.08);color:#fff;font-size:18px;cursor:pointer}
.v5919CreateGroup{display:grid;grid-template-columns:1.15fr 1fr 1fr auto;gap:8px;padding:12px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06)}.v5919CreateGroup input{min-width:0;height:44px;border:1px solid rgba(152,204,255,.14);border-radius:12px;background:#0b1830;color:#fff;padding:0 12px;font:750 12px/1 system-ui;outline:none}.v5919CreateGroup input:focus{border-color:#4cb6ff}.v5919CreateGroup button{border:0;border-radius:12px;padding:0 16px;background:linear-gradient(135deg,#4098f7,#735cff);color:#fff;font:900 11px/1 system-ui;cursor:pointer;white-space:nowrap}
.v5919GroupList{display:grid;gap:9px;margin-top:14px}.v5919GroupRow{display:flex;gap:8px;padding:7px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.035)}.v5919GroupRow.selected{border-color:rgba(76,182,255,.45);background:rgba(64,152,247,.12)}.v5919GroupOpen{flex:1;display:flex;align-items:center;gap:12px;text-align:left;border:0;background:transparent;color:#fff;cursor:pointer;padding:8px}.v5919GroupOpen>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(70,172,255,.13);font-size:20px}.v5919GroupOpen div{min-width:0}.v5919GroupOpen strong,.v5919GroupOpen small{display:block}.v5919GroupOpen strong{font:900 14px/1.2 system-ui}.v5919GroupOpen small{margin-top:5px;color:#9fb0c9;font:700 11px/1.35 system-ui;white-space:normal}.v5919GroupArchive{width:44px;border:0;border-radius:12px;background:rgba(255,181,70,.08);cursor:pointer;font-size:16px}.v5919GroupArchive:hover{background:rgba(255,181,70,.17)}.v5919NoGroups{padding:24px;text-align:center;border:1px dashed rgba(255,255,255,.12);border-radius:16px;color:#9fb0c9;font:700 12px/1.5 system-ui}
.v5919MembershipCard{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px;padding:14px 16px;border-radius:18px;border:1px solid rgba(83,187,255,.17);background:linear-gradient(135deg,rgba(49,129,221,.12),rgba(115,92,255,.08));color:#fff}.v5919MembershipCard>div:first-child small,.v5919MembershipCard>div:first-child strong,.v5919MembershipCard>div:first-child span{display:block}.v5919MembershipCard>div:first-child small{color:#69c4ff;font:900 9px/1 system-ui;letter-spacing:.1em}.v5919MembershipCard>div:first-child strong{margin-top:5px;font:900 14px/1.2 system-ui}.v5919MembershipCard>div:first-child span{margin-top:4px;color:#99abc4;font:700 10px/1.35 system-ui}.v5919MembershipChips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.v5919MembershipChips button{min-height:34px;padding:0 11px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#101f39;color:#aebcd0;font:850 10px/1 system-ui;cursor:pointer}.v5919MembershipChips button.on{border-color:rgba(70,208,159,.4);background:rgba(49,181,129,.16);color:#83e5bb}
@media(max-width:760px){.v5919CreateGroup{grid-template-columns:1fr}.v5919CreateGroup button{min-height:44px}.v5919MembershipCard{align-items:flex-start;flex-direction:column}.v5919MembershipChips{justify-content:flex-start}.v5919GroupOverlay{padding:8px}.v5919GroupModal{border-radius:20px;padding:16px}}


/* session-gate.css */
/* Koderia v59.19.2 — student lesson/session gate */
.koderiaSessionGate[hidden]{display:none!important}
.koderiaSessionGate{
  position:fixed;inset:0;z-index:300000;display:grid;place-items:center;
  padding:clamp(16px,4vw,48px);overflow:auto;
  background:
    radial-gradient(circle at 16% 18%,rgba(76,181,255,.26),transparent 30%),
    radial-gradient(circle at 84% 76%,rgba(139,92,246,.25),transparent 34%),
    linear-gradient(145deg,#07111f 0%,#0c1d38 48%,#10162e 100%);
  color:#fff;font-family:inherit
}
body.koderiaGateOpen{overflow:hidden!important}
.koderiaGateShell{width:min(760px,100%);position:relative}
.koderiaGateCard{
  position:relative;overflow:hidden;border:1px solid rgba(151,209,255,.22);
  border-radius:32px;padding:clamp(24px,5vw,48px);
  background:linear-gradient(155deg,rgba(15,35,65,.96),rgba(9,21,41,.96));
  box-shadow:0 32px 90px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.08)
}
.koderiaGateCard:before{content:"";position:absolute;inset:-2px auto auto -2px;width:54%;height:5px;background:linear-gradient(90deg,#58d5ff,#7c8cff,transparent)}
.koderiaGateTop{display:flex;align-items:center;gap:18px;margin-bottom:26px}
.koderiaGateIcon{width:72px;height:72px;flex:0 0 72px;display:grid;place-items:center;border-radius:22px;font-size:38px;background:linear-gradient(145deg,#1d9bf0,#7768ff);box-shadow:0 14px 30px rgba(52,137,255,.28)}
.koderiaGateEyebrow{display:block;margin-bottom:6px;font-size:12px;font-weight:900;letter-spacing:.14em;color:#7ee7ff}
.koderiaGateCard h2{margin:0;font-size:clamp(29px,5vw,48px);line-height:1.02;letter-spacing:-.035em}
.koderiaGateLead{margin:0 0 24px;color:#d9e8ff;font-size:clamp(16px,2.5vw,20px);line-height:1.55}
.koderiaGateLessonNote{display:flex;gap:14px;align-items:flex-start;margin:0 0 24px;padding:16px 18px;border-radius:20px;background:rgba(86,211,255,.09);border:1px solid rgba(106,219,255,.18)}
.koderiaGateLessonNote span{font-size:23px}.koderiaGateLessonNote strong{display:block;margin-bottom:3px;font-size:15px}.koderiaGateLessonNote p{margin:0;color:#bcd0eb;font-size:13px;line-height:1.45}
.koderiaGateForm{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:8px}
.koderiaGateForm input{min-width:0;height:58px;border-radius:17px;border:1px solid rgba(163,210,255,.3);background:#081527;color:#fff;padding:0 18px;font:800 16px/1 inherit;letter-spacing:.035em;outline:none}
.koderiaGateForm input:focus{border-color:#5bdcff;box-shadow:0 0 0 4px rgba(91,220,255,.12)}
.koderiaGateForm input::placeholder{color:#7187a5;font-weight:700;letter-spacing:0}
.koderiaGateSubmit{height:58px;border:0;border-radius:17px;padding:0 22px;cursor:pointer;background:linear-gradient(135deg,#54dbff,#6f70ff);color:white;font:900 14px/1 inherit;box-shadow:0 13px 28px rgba(60,144,255,.25)}
.koderiaGateSubmit:disabled{opacity:.58;cursor:wait}
.koderiaGateError{display:block;min-height:22px;margin-top:8px;color:#ff9fa9;font-size:13px;font-weight:800}
.koderiaGateParent{margin:22px 0 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);color:#9eb3ce;font-size:13px;line-height:1.55}
.koderiaGateParent strong{color:#dcecff}
.koderiaGateBack{margin-top:18px;width:100%;border:0;background:transparent;color:#9fc5e9;font:800 13px/1.2 inherit;cursor:pointer;padding:10px}.koderiaGateBack:hover{color:white}
@media(max-width:620px){.koderiaGateTop{align-items:flex-start}.koderiaGateIcon{width:58px;height:58px;flex-basis:58px;font-size:30px;border-radius:18px}.koderiaGateForm{grid-template-columns:1fr}.koderiaGateSubmit{width:100%}.koderiaGateCard{border-radius:25px}}


/* workshop.css */
/* ===== webWorkshopV5901Styles ===== */
/* Old lesson launchers stay hidden; today's lesson is the 3-hour interactive website workshop. */
#tdLessonLaunch,#tdLessonLiveOpen,#adminTdPreset{display:none!important}
.gameLessonLaunch{right:14px!important;top:82px!important;background:linear-gradient(135deg,rgba(33,203,209,.97),rgba(93,74,236,.98))!important;box-shadow:0 12px 34px rgba(18,86,130,.32),inset 0 1px rgba(255,255,255,.26)!important}
.gameLessonLiveOpen{min-width:84px!important;background:linear-gradient(180deg,#9af7ff,#48dce9)!important;box-shadow:0 5px 0 #188b9b!important;color:#063b43!important}
.gameLessonLiveOpen.hot{animation:ggWebHot 1.05s ease-in-out infinite}@keyframes ggWebHot{50%{box-shadow:0 5px 0 #188b9b,0 0 30px rgba(88,232,255,.75)}}
.gameLessonAdminPreset{min-width:205px!important;color:#ddfbff!important;border-color:rgba(116,234,255,.3)!important;background:linear-gradient(180deg,rgba(42,180,201,.31),rgba(72,74,196,.28))!important}

.gg103Overlay .td565Shell{background:radial-gradient(circle at 8% 0%,rgba(45,225,210,.18),transparent 29%),radial-gradient(circle at 94% 2%,rgba(125,91,255,.22),transparent 30%),linear-gradient(180deg,#101a34,#091120 62%,#070c17)!important}
.gg103Overlay .td565Logo{background:linear-gradient(145deg,#65f2e5,#42c9eb 47%,#7d6aff)!important;box-shadow:inset 0 2px rgba(255,255,255,.5),0 6px 0 #3453a1!important}
.gg103Overlay .td565Head{gap:10px!important}
.gg103Overlay .td565HeadText small{color:#8fece9!important}
.gg103Overlay .td565ThreeHours{background:linear-gradient(180deg,#d7fff7,#78ebda)!important;color:#08453d!important;box-shadow:0 4px 0 #239787}

.gg103Coins{display:flex;align-items:center;gap:7px;min-width:124px;padding:8px 11px;border-radius:13px;color:#3d2804;background:linear-gradient(180deg,#fff3a3,#ffc74a);box-shadow:0 4px 0 #9c6916;font:1000 9px/1 inherit;white-space:nowrap}.gg103Coins b{font-size:15px}.gg103Coins i{font-style:normal;color:#7a5312}
.ggWebHeaderStats{display:flex;align-items:center;gap:8px}
.ggWebPower{width:124px;padding:7px 9px;border:1px solid rgba(106,244,235,.2);border-radius:13px;background:rgba(9,22,41,.55)}
.ggWebPowerTop{display:flex;justify-content:space-between;gap:8px;color:#91b9c9;font-size:7px;font-weight:1000;letter-spacing:.08em}.ggWebPowerTop b{color:#9bfff5;font-size:9px}
.ggWebPowerTrack{height:5px;margin-top:5px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.08)}.ggWebPowerTrack i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#4fe7d6,#63cfff,#9b78ff);transition:width .35s ease}
.ggWebMissionBadge{min-width:66px;padding:8px 9px;border-radius:13px;color:#dcecff;background:rgba(255,255,255,.07);font-size:7px;font-weight:900;text-align:center}.ggWebMissionBadge b{display:block;margin-top:2px;color:#fff;font-size:12px}
.ggWebSave{min-width:94px;padding:8px 10px;border-radius:12px;color:#86dcb3;background:rgba(61,190,124,.1);font-size:7px;font-weight:1000;text-align:center;transition:.2s}.ggWebSave.pulse{transform:scale(1.04);background:rgba(61,190,124,.18)}

.gg103RewardTag{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:5px 8px;border-radius:999px;color:#123f3b;background:linear-gradient(180deg,#c7fff2,#75ead7);font-size:8px;font-weight:1000}.gg103RewardTag.claimed{color:#17432e;background:linear-gradient(180deg,#c7f8d9,#86e9b1)}
.ggWebCheckTitle{margin:14px 0 7px;color:#7be4dc;font-size:7px;font-weight:1000;letter-spacing:.12em}
.gg103Quiz{margin-top:11px;padding:12px;border:1px solid rgba(112,230,224,.18);border-radius:17px;background:linear-gradient(145deg,rgba(56,202,194,.09),rgba(106,75,220,.08))}.gg103Quiz small{display:block;color:#73e6dc;font-size:7px;font-weight:1000;letter-spacing:.12em}.gg103Quiz strong{display:block;margin-top:5px;color:#fff;font-size:12px}.gg103QuizOptions{display:grid;grid-template-columns:1fr;gap:6px;margin-top:9px}.gg103QuizOption{min-height:39px;padding:7px 10px;border:1px solid rgba(255,255,255,.09);border-radius:11px;cursor:pointer;text-align:left;color:#bed0e4;background:rgba(255,255,255,.045);font:900 8px/1.25 inherit}.gg103QuizOption:hover{color:#fff;background:rgba(255,255,255,.08)}.gg103QuizOption.correct{border-color:rgba(99,236,164,.48);color:#eafff2;background:rgba(65,190,124,.16)}.gg103QuizOption.wrong{border-color:rgba(255,104,123,.45);color:#ffe9ed;background:rgba(222,65,91,.13);animation:td565Error .32s ease}.gg103QuizResult{min-height:16px;margin-top:6px;color:#8ea9c5;font-size:8px;font-weight:900}.gg103QuizResult.ok{color:#7ceaae}
.gg103Locked{opacity:.42;filter:saturate(.45);cursor:not-allowed!important}.gg103DoneNote{margin-top:10px;padding:11px;border-radius:14px;color:#174832;background:linear-gradient(180deg,#c7f8d9,#86e9b1);font-size:9px;font-weight:1000;text-align:center}
.gg103RewardBurst{position:fixed;z-index:2147483647;left:50%;top:50%;pointer-events:none;transform:translate(-50%,-50%);color:#fff;font-size:30px;font-weight:1000;animation:ggWebReward 1.25s ease-out forwards;text-shadow:0 7px 24px rgba(0,0,0,.45)}@keyframes ggWebReward{0%{opacity:0;transform:translate(-50%,-35%) scale(.45)}18%{opacity:1;transform:translate(-50%,-60%) scale(1.12)}72%{opacity:1;transform:translate(-50%,-110%) scale(1)}100%{opacity:0;transform:translate(-50%,-165%) scale(.9)}}
.gg103Confetti{position:fixed;z-index:2147483647;left:50%;top:50%;width:9px;height:9px;border-radius:3px;pointer-events:none;background:hsl(var(--h),90%,65%);animation:ggWebConfetti .9s ease-out forwards}@keyframes ggWebConfetti{0%{opacity:1;transform:translate(-50%,-50%) rotate(0)}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) rotate(var(--r))}}
.ggWebLaunchCard{display:flex;align-items:center;gap:14px;margin-top:14px;padding:15px;border:1px solid rgba(112,235,225,.18);border-radius:18px;background:linear-gradient(145deg,rgba(51,202,193,.11),rgba(117,91,255,.11))}.ggWebLaunchCard>span{font-size:38px}.ggWebLaunchCard h4{margin:0!important;color:#fff!important;font-size:16px!important}.ggWebLaunchCard p{margin:5px 0 0;color:#9eb8ca;font-size:8px;font-weight:850;line-height:1.45}
.gg103Overlay .td565Build{background:linear-gradient(180deg,#8af4ea,#45d6cb)!important;color:#0c413d!important;box-shadow:0 5px 0 #198b82!important}.gg103Overlay .td565Next{background:linear-gradient(180deg,#b0a2ff,#7668ef)!important;box-shadow:0 5px 0 #4541a6!important}
.gg103Overlay .td565StageTab.active{border-color:rgba(93,238,226,.45)!important;background:linear-gradient(180deg,rgba(55,196,190,.22),rgba(92,72,203,.18))!important}.gg103Overlay .td565StageTab.done{box-shadow:inset 0 -3px rgba(80,218,158,.7)}
.gg103Overlay .td565ScheduleRow.break{color:#ffe09e;background:rgba(255,195,72,.08);border-radius:8px;padding-left:6px;padding-right:6px}
.gg103Overlay .td565Bonus p{margin:6px 0 8px;color:#8ea9c0;font-size:7px;font-weight:800}

/* Reset is intentionally gone: lesson state is autosaved and survives closing/reopening. */
#gg103Reset{display:none!important}

@media(max-width:1120px){.ggWebPower,.ggWebMissionBadge{display:none}.ggWebSave{min-width:72px}.gg103Coins{min-width:100px}}
@media(max-width:900px){.gg103Coins{min-width:auto;padding:7px 9px}.gg103Coins i{display:none}.gameLessonLaunch{right:7px!important;top:70px!important}.gameLessonAdminPreset{min-height:42px!important}.gg103Quiz strong{font-size:11px}.ggWebHeaderStats{gap:5px}.ggWebSave{display:none}}

/* ===== petWorldWorkshopV5902Styles ===== */
/* 7+ friendly programming lab: every concept is learned through a tiny playable task. */
.gameLessonLaunch{background:linear-gradient(135deg,rgba(71,201,166,.98),rgba(99,82,233,.98))!important}
.gameLessonLiveOpen{min-width:98px!important;background:linear-gradient(180deg,#b9ffe8,#63e5bd)!important;box-shadow:0 5px 0 #229574!important;color:#073c31!important}
.gameLessonAdminPreset{min-width:222px!important}
.gg103Overlay .td565Shell{background:radial-gradient(circle at 5% 1%,rgba(76,226,170,.17),transparent 26%),radial-gradient(circle at 95% 3%,rgba(139,101,255,.18),transparent 27%),linear-gradient(180deg,#12203a,#0a1426 63%,#070d19)!important}
.gg103Overlay .td565Logo{background:linear-gradient(145deg,#a6ffd6,#4dd7ae 48%,#8b72ff)!important;box-shadow:inset 0 2px rgba(255,255,255,.52),0 6px 0 #376f7d!important}
.gg103Overlay .td565HeadText small{color:#9dffe0!important}
.gg103Overlay .td565HeadText h2{letter-spacing:-.025em!important}
.gg103Overlay .td565StageTab{min-width:115px!important}
.gg103Overlay .td565StageTab.active{border-color:rgba(104,239,186,.5)!important;background:linear-gradient(180deg,rgba(63,205,157,.22),rgba(104,79,205,.18))!important}
.gg103Overlay .td565Build{background:linear-gradient(180deg,#baffdf,#62dfb7)!important;color:#0c4638!important;box-shadow:0 5px 0 #248e70!important}
.gg103Overlay .td565Next{background:linear-gradient(180deg,#c4b8ff,#806ff1)!important;box-shadow:0 5px 0 #4d42a7!important}
.ggWebPowerTrack i{background:linear-gradient(90deg,#62e2ad,#63d5ff,#9b78ff)!important}

.ggPetConcept{margin:12px 0;padding:14px;border:1px solid rgba(113,235,191,.17);border-radius:18px;background:linear-gradient(145deg,rgba(70,197,150,.105),rgba(96,83,198,.08));box-shadow:inset 0 1px rgba(255,255,255,.035)}
.ggPetConceptHead{display:flex;align-items:center;gap:10px}.ggPetConceptHead>span{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:linear-gradient(145deg,#b6ffe0,#69e4bc);box-shadow:0 4px 0 #288c70;font-size:20px}.ggPetConceptHead small{display:block;color:#8ef2cc;font-size:7px;font-weight:1000;letter-spacing:.14em}.ggPetConceptHead h4{margin:3px 0 0!important;color:#fff!important;font-size:14px!important}.ggPetConcept>p{margin:11px 0 9px;color:#b8cce0;font-size:9px;font-weight:780;line-height:1.55}.ggPetConcept pre{margin:0;padding:11px 12px;overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#07111e;color:#b9ffe4;font:800 9px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap}.ggPetRemember{margin-top:9px;padding:8px 10px;border-radius:11px;color:#d8e8f4;background:rgba(255,255,255,.055);font-size:8px;font-weight:800}.ggPetRemember b{color:#fff}

.ggPetLevels{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:11px 0}.ggPetLevels>div{display:flex;flex-direction:column;gap:4px;min-height:64px;padding:10px 11px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07)}.ggPetLevels>div:first-child{background:linear-gradient(145deg,rgba(62,196,148,.10),rgba(255,255,255,.035));border-color:rgba(100,230,177,.13)}.ggPetLevels>div:last-child{background:linear-gradient(145deg,rgba(146,104,255,.10),rgba(255,255,255,.035));border-color:rgba(163,129,255,.14)}.ggPetLevels b{color:#fff;font-size:7px;letter-spacing:.08em}.ggPetLevels span{color:#9fb5ca;font-size:8px;font-weight:820;line-height:1.4}

.ggPetGame{margin:12px 0;padding:13px;border:1px solid rgba(112,209,255,.18);border-radius:19px;background:radial-gradient(circle at 95% 0,rgba(108,86,238,.13),transparent 36%),linear-gradient(145deg,rgba(32,103,150,.12),rgba(44,49,96,.12));box-shadow:0 10px 28px rgba(0,0,0,.10),inset 0 1px rgba(255,255,255,.035)}.ggPetGame.done{border-color:rgba(93,232,163,.28);background:linear-gradient(145deg,rgba(43,177,111,.13),rgba(45,79,112,.09))}.ggPetGameHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}.ggPetGameHead small{display:block;color:#77ddff;font-size:7px;font-weight:1000;letter-spacing:.13em}.ggPetGameHead h4{margin:3px 0 0!important;color:#fff!important;font-size:14px!important}.ggPetGameHead p{margin:5px 0 0;color:#9fb5ca;font-size:8px;font-weight:800;line-height:1.4}.ggPetGameStatus{flex:none;padding:6px 8px;border-radius:999px;color:#b9e8ff;background:rgba(71,177,222,.13);font-size:7px;font-weight:1000;letter-spacing:.08em}.ggPetGame.done .ggPetGameStatus{color:#bff8d5;background:rgba(65,196,126,.14)}.ggPetGameBody{min-height:72px}
.ggPetChoices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.ggPetChoices button,.ggPetAlgoSteps button,.ggPetDebugOptions button,.ggPetActionGrid button{min-height:40px;padding:8px 10px;border:1px solid rgba(255,255,255,.09);border-radius:12px;cursor:pointer;color:#dbeafa;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));font:900 9px/1.2 inherit;transition:.16s}.ggPetChoices button:hover,.ggPetAlgoSteps button:hover,.ggPetDebugOptions button:hover,.ggPetActionGrid button:hover{transform:translateY(-2px);border-color:rgba(113,234,198,.3);color:#fff;background:rgba(102,220,184,.10)}.ggPetChoices button:active,.ggPetAlgoSteps button:active,.ggPetDebugOptions button:active,.ggPetActionGrid button:active{transform:translateY(0)}.ggPetGameMessage{min-height:18px;margin-top:8px;color:#8faac1;font-size:8px;font-weight:900;text-align:center}.ggPetGameMessage.ok{color:#82ebb0}

.ggPetSimPet{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 9px;border-radius:50%;font-size:42px;background:radial-gradient(circle at 40% 30%,rgba(255,255,255,.15),rgba(82,220,178,.12));filter:drop-shadow(0 8px 12px rgba(0,0,0,.25))}.ggPetBounce{animation:ggPetBounce 1.5s ease-in-out infinite}@keyframes ggPetBounce{50%{transform:translateY(-4px) rotate(2deg)}}
.ggPetStats{display:grid;gap:6px}.ggPetStat{display:flex;align-items:center;gap:8px}.ggPetStat>span{width:24px;text-align:center;font-size:17px}.ggPetStat>div{flex:1}.ggPetStat b{display:flex;justify-content:space-between;color:#ddecf7;font-size:8px}.ggPetStat b i{font-style:normal;color:#fff}.ggPetStat em{display:block;height:7px;margin-top:4px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.075)}.ggPetStat em u{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#61dda9,#65d9f2,#9f83ff);transition:width .25s ease}.ggPetActionGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.ggPetCodeLive{margin-top:9px;padding:8px 10px;border-radius:10px;color:#a9f6d8;background:#07121e;font:800 8px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-align:center}

.ggPetAlgoChosen{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;min-height:42px;margin-bottom:8px;padding:8px;border-radius:12px;background:rgba(0,0,0,.15)}.ggPetAlgoChosen span{padding:6px 7px;border-radius:8px;color:#d8f5eb;background:rgba(70,201,157,.10);font-size:8px;font-weight:850}.ggPetAlgoChosen i{grid-column:1/-1;align-self:center;color:#718da5;font-size:8px;font-style:normal;text-align:center}.ggPetAlgoSteps{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ggPetAlgoSteps button:disabled{opacity:.34;transform:none}
.ggPetIfCard{margin-bottom:8px;padding:11px;border-radius:12px;background:#07111e;text-align:center}.ggPetIfCard code{color:#b7ffe1;font:900 10px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.ggPetFunctionMachine{padding:11px;border-radius:14px;background:rgba(0,0,0,.14)}.ggPetFunctionScreen{margin-bottom:8px;padding:10px;border:1px solid rgba(95,227,182,.15);border-radius:10px;color:#c6ffe7;background:#06151b;font:1000 10px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-align:center}

.ggPetReaction{display:grid;grid-template-columns:1fr auto;grid-template-areas:'lamp lamp' 'start result';gap:8px;align-items:center}.ggPetReactionLamp{grid-area:lamp;display:grid;place-items:center;min-height:72px;border:1px solid rgba(255,255,255,.08);border-radius:15px;cursor:pointer;color:#8fa9bc;background:rgba(255,255,255,.04);font-size:16px;font-weight:1000;letter-spacing:.08em;user-select:none;transition:.12s}.ggPetReactionLamp.ready{color:#082f22;background:linear-gradient(180deg,#baffd8,#56e89b);box-shadow:0 0 24px rgba(75,232,151,.35);transform:scale(1.015)}#ggPetReactionStart{grid-area:start;min-height:38px;border:0;border-radius:11px;cursor:pointer;color:#073b30;background:linear-gradient(180deg,#b9ffe1,#61deb0);font:1000 9px inherit}#ggPetReactionResult{grid-area:result;color:#fff;font-size:12px;text-align:right}

.ggPetCatchHud{display:flex;justify-content:space-between;margin-bottom:7px;color:#cfe6f6;font-size:9px;font-weight:1000}.ggPetCatchArena{position:relative;height:180px;overflow:hidden;border:1px solid rgba(116,220,255,.13);border-radius:15px;background:radial-gradient(circle at 50% 120%,rgba(77,213,169,.16),transparent 48%),linear-gradient(180deg,#14253d,#0d192b)}.ggPetTreat{position:absolute;z-index:2;width:42px;height:42px;transform:translate(-50%,-50%);border:0;border-radius:50%;cursor:pointer;background:rgba(255,255,255,.09);font-size:27px;box-shadow:0 5px 16px rgba(0,0,0,.25);transition:left .08s,top .08s,transform .1s}.ggPetTreat:hover{transform:translate(-50%,-50%) scale(1.14)}.ggPetCatchCover{position:absolute;z-index:3;inset:0;display:grid;place-items:center;background:rgba(6,14,26,.55);backdrop-filter:blur(3px)}.ggPetCatchCover.hidden{display:none}.ggPetCatchCover button{min-width:118px;min-height:43px;border:0;border-radius:13px;cursor:pointer;color:#08382e;background:linear-gradient(180deg,#baffdf,#62dfb7);box-shadow:0 5px 0 #248e70;font:1000 10px inherit}

.ggPetDebugCode{margin:0 0 8px;padding:12px;border-radius:12px;background:#06101c;color:#b9ffe3;font:850 10px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap}.ggPetDebugOptions{display:grid;gap:6px}.ggPetDebugOptions button{text-align:left}

@media(max-width:900px){.ggPetLevels{grid-template-columns:1fr}.ggPetChoices,.ggPetActionGrid{grid-template-columns:1fr}.ggPetAlgoSteps,.ggPetAlgoChosen{grid-template-columns:1fr}.ggPetCatchArena{height:155px}.gg103Overlay .td565StageTab{min-width:102px!important}}

/* ===== petWorldWorkshopV5903ColorQuest ===== */
.gg103Overlay{
  --lesson-accent:#63e6be;
  --lesson-accent2:#8b72ff;
  --lesson-hot:#ffd166;
  --lesson-soft:rgba(99,230,190,.14);
  --lesson-soft2:rgba(139,114,255,.13);
}
.gg103Overlay[data-lesson-theme="coral"]{--lesson-accent:#ff8a72;--lesson-accent2:#ffcf62;--lesson-hot:#ff6b9e;--lesson-soft:rgba(255,138,114,.16);--lesson-soft2:rgba(255,207,98,.12)}
.gg103Overlay[data-lesson-theme="violet"]{--lesson-accent:#b48cff;--lesson-accent2:#ff7edb;--lesson-hot:#79e7ff;--lesson-soft:rgba(180,140,255,.16);--lesson-soft2:rgba(255,126,219,.12)}
.gg103Overlay[data-lesson-theme="cyan"]{--lesson-accent:#5ee7f2;--lesson-accent2:#66a7ff;--lesson-hot:#74f4c4;--lesson-soft:rgba(94,231,242,.15);--lesson-soft2:rgba(102,167,255,.12)}
.gg103Overlay[data-lesson-theme="amber"]{--lesson-accent:#ffd166;--lesson-accent2:#ff9f6e;--lesson-hot:#7ce7ce;--lesson-soft:rgba(255,209,102,.15);--lesson-soft2:rgba(255,159,110,.12)}
.gg103Overlay[data-lesson-theme="rose"]{--lesson-accent:#ff7d9e;--lesson-accent2:#ffb56b;--lesson-hot:#ffe078;--lesson-soft:rgba(255,125,158,.15);--lesson-soft2:rgba(255,181,107,.12)}
.gg103Overlay[data-lesson-theme="purple"]{--lesson-accent:#a98cff;--lesson-accent2:#7dd8ff;--lesson-hot:#e08cff;--lesson-soft:rgba(169,140,255,.16);--lesson-soft2:rgba(125,216,255,.11)}
.gg103Overlay[data-lesson-theme="blue"]{--lesson-accent:#67c7ff;--lesson-accent2:#62efd2;--lesson-hot:#9a9cff;--lesson-soft:rgba(103,199,255,.15);--lesson-soft2:rgba(98,239,210,.11)}
.gg103Overlay[data-lesson-theme="mint"]{--lesson-accent:#62e6a8;--lesson-accent2:#71d7ff;--lesson-hot:#ffd36d;--lesson-soft:rgba(98,230,168,.15);--lesson-soft2:rgba(113,215,255,.11)}
.gg103Overlay[data-lesson-theme="pink"]{--lesson-accent:#ff76bf;--lesson-accent2:#a887ff;--lesson-hot:#67e7ff;--lesson-soft:rgba(255,118,191,.15);--lesson-soft2:rgba(168,135,255,.12)}
.gg103Overlay[data-lesson-theme="gold"]{--lesson-accent:#ffd86a;--lesson-accent2:#ff9d62;--lesson-hot:#fff1a3;--lesson-soft:rgba(255,216,106,.16);--lesson-soft2:rgba(255,157,98,.11)}

.gg103Overlay .td565Shell{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 9% 4%,var(--lesson-soft),transparent 27%),
    radial-gradient(circle at 91% 7%,var(--lesson-soft2),transparent 29%),
    radial-gradient(circle at 55% 110%,rgba(69,111,255,.10),transparent 35%),
    linear-gradient(180deg,#111a30,#09111f 64%,#070c16)!important;
  transition:background .55s ease;
}
.gg103Overlay .td565Shell:before,.gg103Overlay .td565Shell:after{content:"";position:absolute;z-index:0;width:180px;height:180px;border-radius:50%;filter:blur(2px);opacity:.16;pointer-events:none;animation:ggLessonFloat 7s ease-in-out infinite}
.gg103Overlay .td565Shell:before{left:-70px;top:120px;background:var(--lesson-accent)}
.gg103Overlay .td565Shell:after{right:-90px;bottom:40px;background:var(--lesson-accent2);animation-delay:-3.2s}
@keyframes ggLessonFloat{50%{transform:translateY(-18px) translateX(8px) scale(1.08)}}
.gg103Overlay .td565Head,.gg103Overlay .td565Timeline,.gg103Overlay .td565Main{position:relative;z-index:1}

.ggLessonLogo{position:relative;overflow:visible!important;background:linear-gradient(145deg,var(--lesson-accent),var(--lesson-accent2))!important;box-shadow:inset 0 2px rgba(255,255,255,.5),0 6px 0 rgba(35,50,116,.8),0 0 24px var(--lesson-soft)!important;transition:.4s}
.ggLessonLogo span{display:block;animation:ggLessonPaw 2.4s ease-in-out infinite;filter:drop-shadow(0 2px 3px rgba(0,0,0,.22))}
.ggLessonLogo i{position:absolute;width:9px;height:9px;right:-2px;top:-2px;border-radius:50%;background:var(--lesson-hot);box-shadow:0 0 12px var(--lesson-hot);animation:ggLessonBlink 1.5s ease-in-out infinite}
@keyframes ggLessonPaw{0%,100%{transform:rotate(-5deg) scale(1)}50%{transform:rotate(7deg) scale(1.08)}}
@keyframes ggLessonBlink{50%{transform:scale(.55);opacity:.45}}
.gg103Overlay .td565HeadText h2{font-size:18px!important;line-height:1.04!important;margin-top:3px!important}
.ggLessonHeaderStage{display:flex;align-items:center;gap:6px;margin-top:6px}.ggLessonHeaderStage span{padding:3px 6px;border-radius:6px;color:#8da6bc;background:rgba(255,255,255,.05);font-size:6px;font-weight:1000;letter-spacing:.1em}.ggLessonHeaderStage b{color:var(--lesson-accent);font-size:8px;letter-spacing:.04em;transition:color .3s}

.ggWebMissionBadge{border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.04))}.ggWebMissionBadge b{color:var(--lesson-accent)}
.ggWebPower{border-color:color-mix(in srgb,var(--lesson-accent) 25%,transparent)}
.ggWebPowerTop b{color:var(--lesson-accent)!important}
.ggWebPowerTrack i{position:relative;background:linear-gradient(90deg,var(--lesson-accent),var(--lesson-accent2),var(--lesson-hot))!important;background-size:180% 100%;animation:ggLessonBar 2.2s linear infinite}
.ggWebPowerTrack i:after,.td565ProgressBar i:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.55) 48%,transparent 76%);transform:translateX(-120%);animation:ggLessonShine 1.8s ease-in-out infinite}
@keyframes ggLessonBar{50%{background-position:100% 0}}
@keyframes ggLessonShine{65%,100%{transform:translateX(130%)}}
.gg103Coins{animation:ggCoinFloat 3s ease-in-out infinite}@keyframes ggCoinFloat{50%{transform:translateY(-2px)}}

/* Header quest map */
.gg103Overlay .td565Timeline{display:block!important;padding:8px 14px 10px!important;overflow-x:auto!important;overflow-y:hidden!important;background:rgba(3,9,20,.54)!important;border-top:1px solid rgba(255,255,255,.04)!important;border-bottom:1px solid rgba(255,255,255,.06)!important;scrollbar-width:thin}
.ggQuestMap{position:relative;display:flex;align-items:flex-start;gap:8px;width:max-content;min-width:100%;padding:7px 4px 2px}
.ggQuestTrack{position:absolute;left:30px;right:30px;top:26px;height:4px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.ggQuestTrack i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#62dfb7,#5ed8ff,#a48dff,#ff85bd,#ffd166);transition:width .45s cubic-bezier(.2,.8,.2,1)}
.ggQuestNode{position:relative;z-index:1;display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:7px;align-items:center;width:108px;min-width:108px;padding:5px 7px 6px;border:1px solid transparent;border-radius:14px;cursor:pointer;color:#8196aa;background:transparent;font-family:inherit;text-align:left;transition:.2s}
.ggQuestNode:hover:not(.gg103Locked){transform:translateY(-2px);background:rgba(255,255,255,.045);color:#dbe9f5}
.ggQuestNum{grid-row:1/3;display:grid;place-items:center;width:29px;height:29px;border:2px solid rgba(255,255,255,.15);border-radius:50%;color:#7790a8;background:#101b2d;font-size:9px;font-weight:1000;box-shadow:0 0 0 4px rgba(8,15,27,.8);transition:.25s}
.ggQuestIcon{display:none}.ggQuestNode b{overflow:hidden;color:inherit;font-size:7px;font-weight:1000;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis}.ggQuestNode small{color:#5f758b;font-size:6px;font-weight:850}
.ggQuestNode.active{color:#fff;background:linear-gradient(145deg,var(--lesson-soft),var(--lesson-soft2));border-color:color-mix(in srgb,var(--lesson-accent) 32%,transparent)}.ggQuestNode.active .ggQuestNum{border-color:var(--lesson-accent);color:#0a2330;background:var(--lesson-accent);box-shadow:0 0 0 4px rgba(8,15,27,.8),0 0 18px color-mix(in srgb,var(--lesson-accent) 55%,transparent);animation:ggQuestPulse 1.7s ease-in-out infinite}.ggQuestNode.active b{color:#fff}.ggQuestNode.active small{color:#c2d4e3}
.ggQuestNode.done .ggQuestNum{border-color:#69e5a7;color:#063b29;background:#78f0b1}.ggQuestNode.done b{color:#9edfbf}.ggQuestNode.done small{color:#6ea98e}
@keyframes ggQuestPulse{50%{transform:scale(1.08)}}
.ggQuestCheckpoint{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;width:76px;min-width:76px;height:56px;margin:-4px 2px 0;padding:4px;border:1px solid rgba(255,210,91,.32);border-radius:16px;cursor:pointer;color:#ffe9a7;background:linear-gradient(145deg,rgba(255,196,65,.18),rgba(255,105,151,.11));font-family:inherit;box-shadow:0 0 22px rgba(255,195,66,.08);transition:.2s}.ggQuestCheckpoint:hover:not(.gg103Locked){transform:translateY(-3px) rotate(-1deg);box-shadow:0 0 24px rgba(255,195,66,.2)}.ggQuestCheckpoint>span{font-size:19px;animation:ggQuizBolt 1.4s ease-in-out infinite}.ggQuestCheckpoint b{margin-top:1px;font-size:6px;letter-spacing:.05em}.ggQuestCheckpoint small{margin-top:2px;color:#bfa66c;font-size:5px;font-weight:900}.ggQuestCheckpoint.done{border-color:rgba(111,235,167,.34);color:#c9ffe0;background:rgba(70,193,124,.12)}
@keyframes ggQuizBolt{50%{transform:translateY(-2px) scale(1.12);filter:drop-shadow(0 0 6px #ffd66d)}}
.ggQuestNow{display:flex;align-items:center;gap:8px;min-width:520px;margin-top:5px;padding:6px 10px;border:1px solid rgba(255,255,255,.065);border-radius:12px;background:linear-gradient(90deg,var(--lesson-soft),rgba(255,255,255,.025),var(--lesson-soft2))}.ggQuestNowPet{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:rgba(255,255,255,.08);font-size:19px;box-shadow:inset 0 1px rgba(255,255,255,.09)}.ggQuestNowPet.pop{animation:ggPetHeaderPop .38s ease}.ggQuestNow div{min-width:0;flex:1}.ggQuestNow small{display:block;color:#7d91a5;font-size:6px;font-weight:1000;letter-spacing:.12em}.ggQuestNow b{display:block;margin-top:2px;overflow:hidden;color:#fff;font-size:8px;white-space:nowrap;text-overflow:ellipsis}.ggQuestNow em{font-style:normal;color:var(--lesson-accent);font-size:8px;font-weight:1000}
@keyframes ggPetHeaderPop{50%{transform:scale(1.25) rotate(7deg)}}

/* More varied lesson cards */
.gg103Overlay .td565Work{animation:ggStageIn .3s ease}.gg103Overlay .td565StageTitle{position:relative;overflow:hidden;padding:13px 14px!important;border:1px solid color-mix(in srgb,var(--lesson-accent) 20%,transparent);border-radius:18px;background:linear-gradient(130deg,var(--lesson-soft),rgba(255,255,255,.025) 55%,var(--lesson-soft2))}.gg103Overlay .td565StageTitle:after{content:"";position:absolute;right:-22px;top:-35px;width:100px;height:100px;border-radius:50%;background:var(--lesson-accent2);opacity:.08;filter:blur(5px)}.gg103Overlay .td565StageTitle h3{font-size:18px!important}.gg103Overlay .td565StageTitle>div>small{color:var(--lesson-accent)!important}.gg103Overlay .td565StageTime{border:1px solid color-mix(in srgb,var(--lesson-accent) 20%,transparent)!important;background:rgba(0,0,0,.18)!important;color:#d9e5ef!important}
@keyframes ggStageIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.gg103RewardTag{color:#102d2b!important;background:linear-gradient(180deg,color-mix(in srgb,var(--lesson-accent) 45%,white),var(--lesson-accent))!important;box-shadow:0 3px 11px color-mix(in srgb,var(--lesson-accent) 15%,transparent)}
.ggPetConcept{border-color:color-mix(in srgb,var(--lesson-accent) 22%,transparent)!important;background:linear-gradient(145deg,var(--lesson-soft),rgba(255,255,255,.025),var(--lesson-soft2))!important}.ggPetConceptHead>span{background:linear-gradient(145deg,color-mix(in srgb,var(--lesson-accent) 48%,white),var(--lesson-accent))!important;box-shadow:0 4px 0 color-mix(in srgb,var(--lesson-accent) 50%,#182338)!important}.ggPetConceptHead small{color:var(--lesson-accent)!important}.ggPetConcept pre{border-color:color-mix(in srgb,var(--lesson-accent) 16%,transparent);box-shadow:inset 3px 0 var(--lesson-accent)}.ggPetConcept pre code{color:color-mix(in srgb,var(--lesson-accent) 58%,white)}
.ggPetGame{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--lesson-accent2) 25%,transparent)!important;background:radial-gradient(circle at 92% 0,var(--lesson-soft2),transparent 37%),linear-gradient(145deg,rgba(28,66,110,.16),rgba(36,38,76,.12))!important}.ggPetGame:not(.done):after{content:"";position:absolute;left:-30%;bottom:-18px;width:38%;height:2px;background:linear-gradient(90deg,transparent,var(--lesson-accent),transparent);animation:ggGameScan 3.2s linear infinite}.ggPetGameHead small{color:var(--lesson-accent2)!important}.ggPetGameStatus{color:color-mix(in srgb,var(--lesson-accent2) 55%,white)!important;background:var(--lesson-soft2)!important}.ggPetChoices button:hover,.ggPetAlgoSteps button:hover,.ggPetDebugOptions button:hover,.ggPetActionGrid button:hover{border-color:color-mix(in srgb,var(--lesson-accent) 38%,transparent)!important;background:var(--lesson-soft)!important}.ggPetChoices button:active,.ggPetAlgoSteps button:active,.ggPetDebugOptions button:active,.ggPetActionGrid button:active{animation:ggButtonTap .18s ease}
@keyframes ggGameScan{to{left:130%}}@keyframes ggButtonTap{50%{transform:scale(.96)}}
.ggPetStat em u{background:linear-gradient(90deg,var(--lesson-accent),var(--lesson-accent2),var(--lesson-hot))!important}
.gg103Quiz{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--lesson-hot) 23%,transparent)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--lesson-hot) 9%,transparent),var(--lesson-soft2))!important}.gg103Quiz small{color:var(--lesson-hot)!important}.gg103QuizOption:hover{transform:translateX(3px);border-color:color-mix(in srgb,var(--lesson-hot) 35%,transparent)}
.gg103Overlay .td565Build{background:linear-gradient(180deg,color-mix(in srgb,var(--lesson-accent) 47%,white),var(--lesson-accent))!important;color:#0b2730!important;box-shadow:0 5px 0 color-mix(in srgb,var(--lesson-accent) 55%,#14213b)!important}.gg103Overlay .td565Next{background:linear-gradient(180deg,color-mix(in srgb,var(--lesson-accent2) 45%,white),var(--lesson-accent2))!important;box-shadow:0 5px 0 color-mix(in srgb,var(--lesson-accent2) 58%,#24224b)!important}.gg103Overlay .td565Build:hover,.gg103Overlay .td565Next:hover{filter:brightness(1.06);transform:translateY(-2px)}
.gg103Overlay .td565Field.done{border-color:color-mix(in srgb,var(--lesson-accent) 30%,transparent)!important;box-shadow:inset 3px 0 var(--lesson-accent)}.gg103Overlay .td565Chips button:hover{border-color:var(--lesson-accent)!important;color:#fff!important;background:var(--lesson-soft)!important;transform:translateY(-1px)}
.gg103Overlay .td565Check input:checked+span{color:#dfffee}.gg103Overlay .td565Check:has(input:checked){border-color:rgba(102,232,164,.25)!important;background:rgba(72,183,121,.08)!important;animation:ggCheckPop .28s ease}@keyframes ggCheckPop{50%{transform:scale(1.012)}}

/* Midway Code Quiz */
.ggMidQuiz{position:absolute;z-index:40;inset:0;display:none;place-items:center;padding:18px;background:rgba(3,7,16,.72);backdrop-filter:blur(9px)}.ggMidQuiz.open{display:grid;animation:ggQuizFade .22s ease}.ggMidQuizCard{position:relative;width:min(650px,94vw);max-height:88vh;overflow:auto;padding:22px;border:1px solid rgba(255,210,104,.22);border-radius:26px;background:radial-gradient(circle at 10% 0,rgba(255,199,83,.16),transparent 30%),radial-gradient(circle at 92% 8%,rgba(255,105,173,.14),transparent 32%),linear-gradient(180deg,#151c37,#0c1428);box-shadow:0 28px 80px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.06)}.ggMidQuizClose{position:absolute;right:13px;top:13px;width:34px;height:34px;border:1px solid rgba(255,255,255,.09);border-radius:11px;cursor:pointer;color:#9fb0c3;background:rgba(255,255,255,.05);font:1000 18px/1 inherit}.ggMidQuizTop{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-right:34px}.ggMidQuizTop small,.ggMidQuizWin small{display:block;color:#ffd56d;font-size:8px;font-weight:1000;letter-spacing:.14em}.ggMidQuizTop h3,.ggMidQuizWin h3{margin:5px 0 0;color:#fff;font-size:20px}.ggMidQuizHud{display:flex;gap:6px}.ggMidQuizHud span{padding:7px 10px;border-radius:11px;color:#fff;background:rgba(255,255,255,.065);font-size:9px;font-weight:1000}.ggMidQuizDots{display:flex;gap:6px;margin:16px 0}.ggMidQuizDots i{height:6px;flex:1;border-radius:99px;background:rgba(255,255,255,.08);transition:.25s}.ggMidQuizDots i.done{background:#6fe3a8}.ggMidQuizDots i.active{background:linear-gradient(90deg,#ffd166,#ff7fb2);box-shadow:0 0 12px rgba(255,199,85,.26)}.ggMidQuizQuestion{padding:16px;border-radius:18px;color:#fff;background:rgba(255,255,255,.045);font-size:17px;font-weight:1000;line-height:1.3}.ggMidQuizOptions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.ggMidQuizOptions button{display:flex;align-items:center;gap:10px;min-height:58px;padding:10px 12px;border:1px solid rgba(255,255,255,.085);border-radius:15px;cursor:pointer;color:#d6e2ee;background:rgba(255,255,255,.045);font:900 10px/1.25 inherit;text-align:left;transition:.18s}.ggMidQuizOptions button:hover{transform:translateY(-2px);border-color:rgba(255,205,96,.28);background:rgba(255,197,78,.07)}.ggMidQuizOptions button>span{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:9px;color:#ffd97d;background:rgba(255,198,72,.10);font-size:9px}.ggMidQuizOptions button.correct{border-color:rgba(105,235,167,.4);color:#e4fff0;background:rgba(68,190,124,.14)}.ggMidQuizOptions button.correct>span{color:#082d20;background:#7ae8ae}.ggMidQuizOptions button.wrong{border-color:rgba(255,105,132,.38);color:#ffe8ed;background:rgba(218,65,89,.13);animation:td565Error .3s ease}.ggMidQuizExplain{min-height:38px;margin-top:11px;padding:10px 12px;border-radius:13px;color:#7f96ab;background:rgba(0,0,0,.13);font-size:9px;font-weight:850;line-height:1.45}.ggMidQuizExplain.show{color:#c8d9e8;background:rgba(255,255,255,.045)}.ggMidQuizNext,.ggMidQuizWin button{width:100%;min-height:45px;margin-top:10px;border:0;border-radius:14px;cursor:pointer;color:#402d05;background:linear-gradient(180deg,#ffe69a,#ffc94d);box-shadow:0 5px 0 #9c6c1c;font:1000 10px inherit;transition:.15s}.ggMidQuizNext:hover,.ggMidQuizWin button:hover{transform:translateY(-2px);filter:brightness(1.04)}.ggMidQuizWin{text-align:center;padding:12px 8px}.ggMidQuizWin>span{display:block;font-size:70px;animation:ggQuizWin 1.8s ease-in-out infinite}.ggMidQuizWin p{margin:9px auto;color:#9eb3c5;font-size:10px;font-weight:800;line-height:1.5}.ggMidQuizScore{display:flex;align-items:baseline;justify-content:center;gap:6px;margin:18px 0;padding:15px;border-radius:18px;background:rgba(255,255,255,.05)}.ggMidQuizScore b{color:#ffe07d;font-size:36px}.ggMidQuizScore span{color:#9fb0c2;font-size:9px;font-weight:900}.ggMidQuizWin button.ghost{color:#bac9d6;background:rgba(255,255,255,.055);box-shadow:none;border:1px solid rgba(255,255,255,.09)}
.ggQuizSpark{position:fixed;z-index:2147483647;left:50%;top:52%;width:9px;height:9px;border-radius:3px;pointer-events:none;background:linear-gradient(145deg,#ffe36f,#ff7eb9);box-shadow:0 0 9px rgba(255,207,94,.4);animation:ggQuizSpark .8s ease-out forwards}@keyframes ggQuizSpark{to{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(.4)}}@keyframes ggQuizWin{50%{transform:translateY(-5px) rotate(4deg)}}@keyframes ggQuizFade{from{opacity:0}to{opacity:1}}

@media(max-width:1120px){.gg103Overlay .td565HeadText h2{font-size:15px!important}.ggLessonHeaderStage{display:none}.ggQuestNode{width:96px;min-width:96px}.ggQuestNow{min-width:430px}}
@media(max-width:900px){.ggQuestNode{width:82px;min-width:82px;grid-template-columns:28px 1fr}.ggQuestNode b{font-size:6px}.ggQuestNode small{display:none}.ggQuestCheckpoint{width:66px;min-width:66px}.ggQuestNow{min-width:330px}.ggMidQuizOptions{grid-template-columns:1fr}.ggMidQuizCard{padding:18px 14px}.ggMidQuizQuestion{font-size:14px}.gg103Overlay .td565StageTitle h3{font-size:15px!important}}


/* foundation-week.css */
/* Koderia v59.43.0 · Day 3 IF / ELSE · controllable adventures */
:root{--fw-ink:#ecf8ff;--fw-muted:#a9c2d6;--fw-panel:#0b2036;--fw-line:rgba(143,219,255,.18);--fw-cyan:#62e8ff;--fw-violet:#9b86ff;--fw-yellow:#ffd761;--fw-green:#6ee7a4;--fw-coral:#ff806f}
.fwOverlay,.fwOverlay *,.fwLauncher,.fwLauncher *,.fwAdmin,.fwAdmin *{-webkit-tap-highlight-color:transparent;box-sizing:border-box;user-select:none;-webkit-user-select:none}
.fwOverlay button,.fwLauncher button,.fwAdmin button{transition:transform .16s ease,filter .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.fwOverlay button:focus-visible,.fwLauncher button:focus-visible,.fwAdmin button:focus-visible,.fwAdmin select:focus-visible{outline:3px solid #fff08a;outline-offset:3px}.fwOverlay button:active,.fwLauncher button:active,.fwAdmin button:active{transform:translateY(2px) scale(.985)}
@media(hover:hover){.fwOption:hover,.fwProjectBlock:hover,.fwCommandButtons button:hover,.fwGameActions button:hover{transform:translateY(-2px);filter:brightness(1.15);box-shadow:0 8px 20px rgba(62,208,255,.16)}.fwDayBtn.current:hover,.fwPhaseBtn.available:hover,.fwAdminDay:hover,.fwAdminPhase:not(:disabled):hover,.fwAdminActions button:hover,.fwAcceptDay:not(:disabled):hover,.fwResetWeek:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.12)}}
#v57101Overlay .v57101Tabs{scrollbar-width:none}#v57101Overlay .v57101Tabs::-webkit-scrollbar{display:none}#v57101Body{scrollbar-width:thin;scrollbar-color:#3c6c8c #0b1b2c}#v57101Body::-webkit-scrollbar{width:8px;height:8px}#v57101Body::-webkit-scrollbar-track{background:#0b1b2c}#v57101Body::-webkit-scrollbar-thumb{border:2px solid #0b1b2c;border-radius:8px;background:#3c6c8c}
body.fwWeekActive .gameLessonLaunch,body.fwWeekActive .gameLessonLiveOpen{display:none!important}
.fwLauncher{position:absolute;z-index:290;left:10px;top:62px;width:min(230px,calc(100% - 90px));display:none;align-items:center;gap:8px;padding:7px;border:1px solid rgba(112,232,255,.35);border-radius:17px;background:linear-gradient(140deg,rgba(5,31,52,.96),rgba(36,39,105,.96));box-shadow:0 14px 35px rgba(0,0,0,.35);color:#fff;pointer-events:auto}
.fwLauncher.show{display:flex}.fwLauncher>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#60e4ff,#8877ff);font-size:20px}.fwLauncher>div{min-width:0;flex:1}.fwLauncher small,.fwLauncher strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fwLauncher small{color:#aeefff;font:900 9px/1.2 Inter,system-ui;letter-spacing:.09em}.fwLauncher strong{margin-top:4px;font:1000 12px/1.1 Inter,system-ui}.fwLauncher button{height:35px;padding:0 10px;border:0;border-radius:11px;background:linear-gradient(180deg,#fff39a,#ffc83f);box-shadow:0 4px 0 #906416;color:#392900;font:1000 10px Inter,system-ui;cursor:pointer}.fwLauncher button:active{transform:translateY(2px);box-shadow:0 2px 0 #906416}
.fwLiveOpen{min-width:96px!important;background:linear-gradient(180deg,#d5ffab,#72e89c)!important;box-shadow:0 5px 0 #23935a!important;color:#0a4025!important}.fwLiveOpen[hidden]{display:none!important}

.fwOverlay{position:fixed;z-index:2147483645;inset:0;display:grid;place-items:center;padding:10px;background:rgba(2,10,22,.76);backdrop-filter:blur(9px);opacity:0;visibility:hidden;pointer-events:none;transition:.2s}
.fwOverlay.open{opacity:1;visibility:visible;pointer-events:auto}.fwShell{width:min(1320px,calc(100vw - 18px));height:min(850px,calc(100dvh - 18px));overflow:hidden;border:1px solid rgba(129,225,255,.27);border-radius:28px;background:linear-gradient(150deg,#0a1d32,#101931 58%,#191a3b);box-shadow:0 30px 90px rgba(0,0,0,.55);color:var(--fw-ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.fwHead{height:78px;display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--fw-line);background:rgba(4,20,36,.82)}.fwHeadLogo{width:52px;height:52px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,#59e5ff,#725eff);box-shadow:0 10px 25px rgba(62,155,255,.24);font-size:27px}.fwHeadCopy{min-width:0;flex:1}.fwHeadCopy small{display:block;color:#8feaff;font-size:10px;font-weight:1000;letter-spacing:.12em}.fwHeadCopy h2{margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:24px;line-height:1.1}.fwHeadTrack{padding:7px 11px;border:1px solid rgba(255,220,103,.27);border-radius:13px;background:rgba(76,54,9,.32)}.fwHeadTrack small,.fwHeadTrack b{display:block}.fwHeadTrack small{color:#e4c978;font-size:9px;font-weight:1000;letter-spacing:.1em}.fwHeadTrack b{margin-top:3px;font-size:13px}.fwClose{width:46px;height:46px;border:0;border-radius:15px;background:#ffd76b;color:#382b08;box-shadow:0 5px 0 #997228;font-size:25px;font-weight:1000;cursor:pointer}.fwClose:active{transform:translateY(3px);box-shadow:0 2px 0 #997228}
.fwBody{height:calc(100% - 78px);display:grid;grid-template-columns:320px 1fr;min-height:0}.fwSide{min-height:0;overflow:auto;padding:12px;border-right:1px solid var(--fw-line);background:rgba(4,17,30,.64)}.fwHero{position:relative;height:160px;overflow:hidden;border-radius:19px;background:#142f50}.fwHero img{width:100%;height:100%;display:block;object-fit:cover}.fwHero::after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,rgba(5,20,35,.82))}.fwHeroTag{position:absolute;z-index:1;left:10px;right:10px;bottom:9px}.fwHeroTag small,.fwHeroTag strong{display:block}.fwHeroTag small{color:#b9f4ff;font-size:9px;font-weight:1000;letter-spacing:.1em}.fwHeroTag strong{margin-top:3px;font-size:15px}.fwDays{display:grid;gap:6px;margin-top:10px}.fwDayBtn{width:100%;display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:8px;padding:8px;border:1px solid rgba(144,213,241,.12);border-radius:14px;background:rgba(15,43,66,.62);color:#dcefff;text-align:left;opacity:.56}.fwDayBtn.current{opacity:1;border-color:rgba(101,229,255,.55);background:linear-gradient(135deg,rgba(27,93,121,.72),rgba(63,52,127,.72))}.fwDayBtn.done{opacity:.9;border-color:rgba(100,231,163,.38)}.fwDayBtn>span{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.09);font-size:18px}.fwDayBtn b,.fwDayBtn small{display:block}.fwDayBtn b{font-size:12px}.fwDayBtn small{margin-top:3px;color:#a9c8da;font-size:9px}.fwDayBtn em{color:#7ff0ad;font-size:12px;font-style:normal;font-weight:1000}.fwTrackMission{margin-top:10px;padding:10px;border:1px solid rgba(255,216,95,.2);border-radius:15px;background:rgba(91,59,13,.21)}.fwTrackMission small{color:#ffd96c;font-size:9px;font-weight:1000;letter-spacing:.09em}.fwTrackMission p{margin:5px 0 0;color:#e9f5ff;font-size:12px;font-weight:750;line-height:1.45}
.fwMain{min-width:0;min-height:0;display:grid;grid-template-rows:auto 1fr}.fwPhases{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;padding:10px;border-bottom:1px solid var(--fw-line);background:rgba(5,20,35,.55)}.fwPhaseBtn{min-width:0;height:58px;padding:5px;border:1px solid rgba(143,214,242,.12);border-radius:13px;background:rgba(17,44,67,.66);color:#9eb8ca;cursor:default}.fwPhaseBtn span,.fwPhaseBtn b,.fwPhaseBtn small{display:block}.fwPhaseBtn span{font-size:16px}.fwPhaseBtn b{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.fwPhaseBtn small{margin-top:2px;color:#7899ad;font-size:7px;font-weight:900}.fwPhaseBtn.break{border-style:dashed;background:rgba(26,71,56,.55)}.fwPhaseBtn.break.active{background:linear-gradient(145deg,#27775c,#31595a)}.fwPhaseBtn.done{color:#bffbd4;border-color:rgba(94,232,153,.36);background:rgba(17,82,58,.42)}.fwPhaseBtn.active{color:#fff;border-color:rgba(100,228,255,.66);background:linear-gradient(145deg,rgba(26,120,149,.8),rgba(84,59,164,.76));box-shadow:0 8px 22px rgba(46,163,216,.16)}.fwPhaseBtn.active small{color:#d7f7ff}.fwPhaseBtn.locked{opacity:.38}.fwPhaseBtn.available{cursor:pointer}
.fwContent{min-height:0;overflow:auto;padding:18px}.fwStageIntro{display:flex;align-items:flex-start;gap:13px}.fwStageIcon{width:58px;height:58px;flex:0 0 auto;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#4bdff3,#7969ef);font-size:29px}.fwStageIntro>div{min-width:0}.fwStageIntro small{color:#8feaff;font-size:10px;font-weight:1000;letter-spacing:.12em}.fwStageIntro h3{margin:5px 0 0;font-size:26px;line-height:1.12}.fwStageIntro p{max-width:760px;margin:7px 0 0;color:#b9cfde;font-size:14px;font-weight:700;line-height:1.5}.fwLevelCard{margin-top:14px;padding:12px;border:1px solid rgba(255,216,94,.22);border-radius:16px;background:linear-gradient(135deg,rgba(95,61,9,.3),rgba(53,38,92,.27))}.fwLevelCard small{color:#ffd761;font-size:10px;font-weight:1000;letter-spacing:.09em}.fwLevelCard strong{display:block;margin-top:5px;font-size:14px}.fwTheoryGrid{display:grid;grid-template-columns:minmax(250px,1fr) minmax(280px,1.1fr);gap:12px;margin-top:14px}.fwExplain,.fwDiagram,.fwActivity,.fwCreate{border:1px solid var(--fw-line);border-radius:19px;background:rgba(8,30,49,.72);padding:14px}.fwExplain h4,.fwActivity h4,.fwCreate h4{margin:0;font-size:18px}.fwExplain p,.fwActivity p,.fwCreate p{margin:8px 0 0;color:#bed2df;font-size:14px;font-weight:700;line-height:1.55}.fwRemember{margin-top:12px;padding:10px;border-radius:13px;background:rgba(68,55,151,.34);color:#e8e2ff;font-size:12px;font-weight:800;line-height:1.45}.fwDiagram{min-height:210px;display:grid;place-items:center;overflow:hidden}.fwDiagramScene{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.fwDiagramScene .node{min-width:72px;padding:12px;border:2px solid rgba(129,230,255,.45);border-radius:15px;background:#133b59;text-align:center;font-size:24px}.fwDiagramScene .node b{display:block;margin-top:5px;color:#dff8ff;font-size:8px}.fwDiagramScene .arrow{color:#ffd964;font-size:25px;font-weight:1000}.fwDiagramScene .box{min-width:90px;padding:13px;border:2px solid #8f7fff;border-radius:15px;background:rgba(93,72,176,.48);text-align:center}.fwDiagramScene .box small,.fwDiagramScene .box b{display:block}.fwDiagramScene .box small{color:#d5ccff;font-size:8px}.fwDiagramScene .box b{margin-top:5px;font-size:18px}.fwDiagramScene .branch{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fwDiagramScene .loop{width:130px;height:90px;display:grid;place-items:center;border:8px solid #ffd35d;border-left-color:transparent;border-radius:50%;font-size:29px}.fwDiagramScene .screen{width:220px;padding:12px;border:6px solid #556d96;border-radius:18px;background:#78d6f3;color:#13304b;text-align:center;font-size:35px;box-shadow:inset 0 0 0 3px rgba(255,255,255,.38)}
.fwDemoSteps{display:grid;gap:8px;margin-top:14px}.fwDemoStep{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:9px;padding:10px;border:1px solid rgba(142,220,251,.14);border-radius:14px;background:rgba(12,42,65,.62)}.fwDemoStep span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(91,215,241,.15);font-size:20px}.fwDemoStep b{display:block;font-size:13px}.fwDemoStep small{display:block;margin-top:3px;color:#abc3d2;font-size:11px}.fwPlayDemo{margin-top:12px;min-height:46px;padding:0 18px;border:0;border-radius:14px;background:linear-gradient(180deg,#9bf4ff,#4fd2ed);box-shadow:0 5px 0 #247e9c;color:#083442;font-size:11px;font-weight:1000;cursor:pointer}.fwPlayDemo.playing{animation:fwPulse .7s ease-in-out infinite}@keyframes fwPulse{50%{filter:brightness(1.14);transform:scale(1.015)}}
.fwActivity{margin-top:14px}.fwOptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.fwOption{min-height:52px;padding:9px;border:1px solid rgba(142,219,250,.2);border-radius:14px;background:rgba(18,53,78,.82);color:#effaff;font:900 13px/1.35 Inter,system-ui;cursor:pointer}.fwOption:hover{border-color:#75e6ff}.fwOption.correct{border-color:#72eca8;background:rgba(22,105,71,.72)}.fwOption.wrong{border-color:#ff8d7c;background:rgba(116,43,41,.67)}.fwFeedback{min-height:36px;margin-top:9px;padding:9px;border-radius:12px;background:rgba(4,19,32,.72);color:#bcd1df;font-size:12px;font-weight:850}.fwFeedback.ok{color:#9af4bb;background:rgba(14,74,48,.5)}
.fwGame{margin-top:14px;border:1px solid rgba(121,229,255,.25);border-radius:20px;background:linear-gradient(145deg,rgba(11,42,66,.9),rgba(36,31,80,.86));padding:14px}.fwGameTop{display:flex;align-items:center;justify-content:space-between;gap:10px}.fwGameTop h4{margin:0;font-size:18px}.fwGameTop span{padding:6px 9px;border-radius:10px;background:rgba(255,214,95,.18);color:#ffd968;font-size:10px;font-weight:1000}.fwGameBoard{margin-top:12px;min-height:190px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:rgba(3,18,31,.42);padding:12px}.fwCommandPath{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;min-height:48px}.fwCommandPath span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#314d88;border:1px solid rgba(255,255,255,.18);font-size:20px}.fwCommandButtons{display:grid;grid-template-columns:repeat(4,52px);justify-content:center;gap:7px;margin-top:10px}.fwCommandButtons button,.fwGameActions button{min-height:44px;border:0;border-radius:13px;background:#243e63;color:#fff;font-weight:1000;cursor:pointer}.fwCommandButtons button{font-size:20px}.fwGameActions{display:flex;justify-content:center;gap:8px;margin-top:10px}.fwGameActions button{padding:0 14px;font-size:11px}.fwGameActions .primary{background:linear-gradient(180deg,#ffe984,#f8b937);color:#3e2c00}.fwVariableMachine{width:min(440px,100%);text-align:center}.fwVariableValue{font:1000 34px/1 ui-monospace,monospace;color:#8ff3ff}.fwVariableCode{margin:10px 0;padding:11px;border-radius:12px;background:#071624;color:#d8f7ff;font:900 13px ui-monospace,monospace}.fwConditionRounds{display:grid;gap:9px;width:min(520px,100%)}.fwConditionCard{padding:12px;border-radius:14px;background:rgba(14,45,69,.78);text-align:center}.fwConditionCard b{display:block;font-size:15px}.fwConditionCard span{display:block;margin-top:5px;color:#b8d0de;font-size:11px}.fwConditionChoices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fwLoopMachine{text-align:center}.fwLoopRobot{font-size:48px}.fwLoopTrack{margin:10px auto;width:min(440px,100%);height:24px;border-radius:12px;background:repeating-linear-gradient(90deg,#233c5a 0 34px,#395573 34px 37px);position:relative}.fwLoopTrack i{position:absolute;top:-14px;left:var(--fw-pos,0%);font-style:normal;font-size:26px;transition:.35s}.fwProjectBlocks{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px;width:min(540px,100%)}.fwProjectBlock{min-height:58px;border:1px solid rgba(133,223,255,.2);border-radius:14px;background:#173b59;color:#fff;font-weight:900;cursor:pointer}.fwProjectBlock.on{border-color:#75eaa9;background:#185c48}.fwProjectPreview{margin-top:12px;padding:12px;border-radius:15px;background:#071827;color:#bff7ff;font:900 10px/1.55 ui-monospace,monospace;white-space:pre-line}
.fwCreate{margin-top:14px}.fwCreate textarea{width:100%;min-height:120px;margin-top:10px;padding:12px;border:1px solid rgba(120,224,255,.28);border-radius:14px;outline:0;resize:vertical;background:#071827;color:#effbff;font:800 14px/1.55 Inter,system-ui;user-select:text;-webkit-user-select:text}.fwCreate textarea:focus{border-color:#67e7ff;box-shadow:0 0 0 3px rgba(81,219,255,.12)}.fwExampleChips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.fwExampleChips button{padding:7px 9px;border:1px solid rgba(152,133,255,.28);border-radius:10px;background:rgba(77,58,142,.44);color:#e9e4ff;font-size:10px;font-weight:900;cursor:pointer}
.fwLabHeading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.fwLabHeading small{display:block;color:#83eaff;font-size:10px;font-weight:1000;letter-spacing:.1em}.fwLabHeading h4{margin:5px 0 0;font-size:21px}.fwLabHeading p{margin:5px 0 0;color:#a9c5d6;font-size:12px;font-weight:750}.fwLabHeading>b{flex:0 0 auto;padding:8px 11px;border-radius:12px;background:rgba(255,213,91,.18);color:#ffdc71;font-size:12px}.fwTheoryLab,.fwDemoLab,.fwRouteLab{margin-top:14px;padding:16px;border:1px solid rgba(126,225,255,.22);border-radius:21px;background:linear-gradient(145deg,rgba(8,35,56,.9),rgba(31,29,75,.82))}.fwTheoryLead{margin:10px 0 0;color:#c7dae5;font-size:15px;font-weight:750;line-height:1.55}.fwConceptCards{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:13px}.fwConceptCard{min-height:145px;padding:12px;border:1px solid rgba(130,219,252,.17);border-radius:16px;background:rgba(16,49,74,.82);color:#eefaff;text-align:left;cursor:pointer}.fwConceptCard>span,.fwConceptCard>b,.fwConceptCard>small,.fwConceptCard>em,.fwConceptCard>em u{display:block}.fwConceptCard>span{font-size:30px}.fwConceptCard>b{margin-top:9px;font-size:14px}.fwConceptCard>small{margin-top:7px;color:#8faebe;font-size:10px;font-weight:850;line-height:1.45}.fwConceptCard>em{margin-top:8px;padding:8px;border-radius:10px;background:rgba(4,26,37,.58);color:#fff2aa;font-size:10px;font-style:normal;font-weight:900;line-height:1.4}.fwConceptCard>em u{margin-top:5px;color:#9deec0;font-size:8px;text-decoration:none}.fwConceptCard.seen{border-color:rgba(102,235,160,.55);background:linear-gradient(145deg,rgba(20,93,66,.76),rgba(35,62,93,.78))}.fwConceptCard.seen small{color:#c7f6d8;font-size:11px}.fwConceptCard.done{background:linear-gradient(145deg,rgba(17,103,68,.88),rgba(27,71,89,.84))}.fwTheoryTask{margin-top:10px;padding:10px;border-radius:13px;background:rgba(4,19,32,.7);color:#b6ccda;font-size:12px;font-weight:850}.fwTheoryTask.ready{background:rgba(18,83,56,.55);color:#aaf3c5}
.fwDemoWorkspace{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(300px,1.1fr);gap:12px;margin-top:13px}.fwDemoVisual{position:relative;min-height:260px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:radial-gradient(circle at 50% 40%,rgba(75,205,255,.17),transparent 56%),#071b2c}.fwDemoPulse{position:absolute;right:12px;bottom:12px;width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,#ffe67b,#ffae38);box-shadow:0 8px 28px rgba(255,186,58,.24);font-size:25px;animation:fwPulse 1.2s ease-in-out infinite}.fwDemoTimeline{display:grid;gap:8px}.fwDemoStep{opacity:.48}.fwDemoStep.active{opacity:1;border-color:#6de6ff;background:rgba(26,89,116,.78);box-shadow:0 0 0 2px rgba(80,220,255,.08)}.fwDemoStep.done{opacity:.9;border-color:rgba(104,234,163,.38);background:rgba(18,79,58,.58)}.fwDemoActions{display:flex;justify-content:flex-end;gap:8px;margin-top:11px}.fwDemoActions button{min-height:46px;padding:0 15px;border:1px solid rgba(133,221,251,.2);border-radius:13px;background:#183d5b;color:#eafaff;font-size:11px;font-weight:1000;cursor:pointer}.fwDemoActions .primary{border:0;background:linear-gradient(180deg,#99efff,#4dcced);color:#073843}.fwDemoActions button:disabled{opacity:.5}
.fwQuizSeries.complete,.fwRouteLab.complete{text-align:center}.fwQuizSeries.complete>div,.fwWinBurst{font-size:62px;filter:drop-shadow(0 10px 22px rgba(255,205,76,.28))}.fwQuizSeries.complete h4,.fwRouteLab.complete h4{margin:8px 0 0;font-size:25px}.fwQuizSeries.complete p,.fwRouteLab.complete p{color:#c2d6e2;font-weight:750}.fwQuizSeries.complete button,.fwRouteLab.complete button{min-height:46px;padding:0 16px;border:0;border-radius:13px;background:#234b69;color:#fff;font-weight:1000;cursor:pointer}
.fwRouteWorkspace{display:grid;grid-template-columns:minmax(310px,1fr) minmax(280px,.8fr);gap:14px;margin-top:14px}.fwGrid{width:min(510px,100%);display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:5px;padding:7px;border:2px solid rgba(106,217,255,.25);border-radius:18px;background:#071a29}.fwGridCell{position:relative;aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(142,219,248,.14);border-radius:10px;background:linear-gradient(145deg,#183e5b,#123047);font-size:clamp(17px,2.3vw,27px)}.fwGridCell:nth-child(odd){background:linear-gradient(145deg,#1b4663,#15354c)}.fwGridCell.wall{background:#283b50}.fwGridCell.goal{box-shadow:inset 0 0 0 2px rgba(255,217,91,.55)}.fwGridCell.door{background:#3f3555}.fwGridCell i{position:absolute;z-index:2;display:grid;place-items:center;width:72%;height:72%;border-radius:50%;background:rgba(101,232,255,.2);filter:drop-shadow(0 5px 7px rgba(0,0,0,.45));font-style:normal;font-size:1.18em;animation:fwRobotBob .8s ease-in-out infinite alternate}@keyframes fwRobotBob{to{transform:translateY(-3px)}}.fwGridLegend{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.fwGridLegend span{padding:5px 7px;border-radius:8px;background:rgba(255,255,255,.055);color:#abc4d3;font-size:9px;font-weight:850}.fwCodePanel{min-width:0;padding:11px;border:1px solid rgba(135,222,252,.15);border-radius:17px;background:rgba(4,20,34,.68)}.fwCodeHead{display:flex;align-items:center;justify-content:space-between;gap:8px}.fwCodeHead b{color:#9befff;font-size:10px;letter-spacing:.08em}.fwCodeHead span{color:#ffd96d;font-size:10px;font-weight:950}.fwProgram{min-height:118px;display:flex;align-content:flex-start;flex-wrap:wrap;gap:7px;margin-top:9px;padding:9px;border-radius:13px;background:#061522}.fwProgram>p{margin:auto;color:#7697aa;text-align:center;font-size:10px;font-weight:800;line-height:1.5}.fwProgram>button{min-width:62px;height:48px;padding:4px;border:1px solid rgba(133,218,251,.2);border-radius:11px;background:#294d78;color:#fff;font-size:15px;font-weight:950;cursor:pointer}.fwProgram>button small{display:block;color:#9ec3d8;font-size:8px}.fwRepeatPick{margin-top:9px;padding:8px;border-radius:12px;background:rgba(79,58,148,.3)}.fwRepeatPick>small{color:#cfc4ff;font-size:8px;font-weight:950}.fwRepeatPick>div{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:6px}.fwRepeatPick button{min-height:36px;border:1px solid rgba(160,142,255,.25);border-radius:9px;background:#332c67;color:#eeeaff;font-weight:1000;cursor:pointer}.fwRepeatPick button.active{border-color:#fff18a;background:#725ab2;color:#fff}.fwRouteControls{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.fwRouteControls button{min-height:52px;border:0;border-radius:13px;background:linear-gradient(180deg,#315b84,#1e3f62);box-shadow:0 4px 0 #112a43;color:#fff;font-size:22px;cursor:pointer}.fwRouteControls button:disabled{opacity:.42}.fwHint{margin-top:10px;padding:9px;border:1px dashed rgba(255,214,94,.2);border-radius:12px;color:#8fa9ba;font-size:11px;font-weight:800}.fwHint.show{border-color:rgba(255,214,94,.4);background:rgba(100,67,12,.25);color:#ffe49a}
.fwBuildSteps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.fwBuildSteps button{min-height:96px;padding:9px;border:1px solid rgba(134,219,250,.16);border-radius:14px;background:#153b59;color:#eefaff;text-align:left;cursor:pointer}.fwBuildSteps span,.fwBuildSteps b,.fwBuildSteps small{display:block}.fwBuildSteps span{font-size:22px}.fwBuildSteps b{margin-top:5px;font-size:11px}.fwBuildSteps small{margin-top:5px;color:#8faebe;font-size:8px;font-weight:900}.fwBuildSteps button.done{border-color:#6ce8a2;background:#165b45}.fwBuildSteps button.done small{color:#b8f4cf}
.fwLessonClock{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.fwLessonClock span{padding:9px;border:1px solid rgba(124,222,255,.16);border-radius:11px;background:rgba(8,28,45,.72);color:#9db8c9;text-align:center;font-size:9px;font-weight:950}.fwLessonClock b{margin-left:4px;color:#ffe077}.fwTheoryChapters{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.fwTheoryChapters button{min-height:58px;display:flex;align-items:center;gap:8px;padding:8px;border:1px solid rgba(127,218,250,.16);border-radius:13px;background:#153650;color:#dcecf5;text-align:left;cursor:pointer}.fwTheoryChapters span{font-size:20px}.fwTheoryChapters b{font-size:10px}.fwTheoryChapters button.active{border-color:#68e5ff;background:linear-gradient(145deg,#286e8e,#55469a)}.fwTheoryChapters button.done{border-color:rgba(102,233,158,.48)}.fwTheoryChapter{display:grid;grid-template-columns:minmax(300px,1fr) minmax(330px,1fr);gap:12px;margin-top:11px}.fwTheoryStory,.fwTheoryExperiment{padding:16px;border:1px solid rgba(130,220,251,.18);border-radius:19px;background:rgba(8,29,47,.82)}.fwTheoryStory>small,.fwTheoryExperiment>small{color:#79e8ff;font-size:9px;font-weight:1000;letter-spacing:.09em}.fwTheoryStory h4{margin:7px 0 0;font-size:23px}.fwTheoryStory>p{margin:10px 0 0;color:#c4d7e2;font-size:14px;font-weight:720;line-height:1.62}.fwDefinition{margin-top:12px;padding:11px;border-left:4px solid #ffe06a;border-radius:0 12px 12px 0;background:rgba(87,63,14,.34);color:#fff2be;font-size:12px;font-weight:800;line-height:1.5}.fwTalkPrompt{margin-top:10px;padding:11px;border-radius:12px;background:rgba(66,52,145,.32);color:#e6e0ff;font-size:11px;font-weight:800;line-height:1.48}.fwTheoryAnimation{height:100px;display:grid;place-items:center;margin-bottom:10px;overflow:hidden;border-radius:15px;background:radial-gradient(circle,rgba(87,217,255,.2),transparent 65%),#071b2c}.fwTheoryAnimation i{font-style:normal;font-size:39px;animation:fwTheoryRobot 2s ease-in-out infinite}.fwTheoryAnimation span{color:#ffe172;font-size:24px;font-weight:1000}.fwTheoryAnimation.chapter-0 i{animation-name:fwTheoryRobot}.fwTheoryAnimation.chapter-1 span{animation:fwSequenceGlow 1.8s steps(3) infinite}.fwTheoryAnimation.chapter-2 i{animation:fwTurnRobot 2.4s ease-in-out infinite}.fwTheoryAnimation.chapter-3 i{animation:fwBugShake 1.5s ease-in-out infinite}@keyframes fwTheoryRobot{50%{transform:translateX(45px)}}@keyframes fwSequenceGlow{50%{filter:brightness(1.8);letter-spacing:5px}}@keyframes fwTurnRobot{50%{transform:rotate(90deg)}}@keyframes fwBugShake{30%,60%{transform:translateX(8px)}45%,75%{transform:translateX(-8px)}}.fwTheoryExperiment h5{margin:6px 0 0;font-size:16px}.fwTheoryAnswers{display:grid;gap:7px;margin-top:10px}.fwTheoryAnswers:not(.multi):not(.order){grid-template-columns:1fr}.fwTheoryAnswers.multi,.fwTheoryAnswers.order{grid-template-columns:repeat(2,1fr)}.fwTheoryAnswers button{min-height:45px;padding:8px;border:1px solid rgba(132,219,250,.18);border-radius:12px;background:#183f5e;color:#f0faff;font-size:11px;font-weight:900;cursor:pointer}.fwTheoryAnswers button.selected{border-color:#fff17d;background:#624d92}.fwTheoryAnswers button:disabled{opacity:.38}.fwTheoryCheck,.fwTinyReset{min-height:40px;margin-top:8px;padding:0 12px;border:0;border-radius:11px;background:#6bdca0;color:#073920;font-size:10px;font-weight:1000;cursor:pointer}.fwTinyReset{background:#294b67;color:#dff6ff}.fwOrderAnswer{margin-top:9px;padding:9px;border-radius:12px;background:#061725}.fwOrderAnswer>small{color:#7ee7ff;font-size:8px;font-weight:1000}.fwOrderAnswer>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.fwOrderAnswer span{padding:6px 8px;border-radius:8px;background:#264b74;font-size:9px;font-weight:900}.fwOrderAnswer span b{margin-right:5px;color:#ffe273}.fwOrderAnswer p{margin:4px;color:#7f9daf;font-size:9px}.fwTheoryFooter{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:11px;padding:10px;border-radius:14px;background:rgba(7,26,42,.78)}.fwTheoryFooter b{color:#91f0b5;font-size:11px}.fwTheoryFooter span{color:#a8c1d0;font-size:10px;font-weight:800}.fwTheoryFooter button{min-height:40px;padding:0 12px;border:0;border-radius:11px;background:#54d4ed;color:#073641;font-size:10px;font-weight:1000;cursor:pointer}.fwTheoryFooter button:disabled{opacity:.4}
.fwDemoLesson{display:grid;grid-template-columns:minmax(310px,1fr) minmax(320px,1fr);gap:14px;margin-top:13px}.fwDemoGrid{width:min(500px,100%)}.fwDemoMessage{margin-top:8px;padding:10px;border-radius:12px;background:#071a29;color:#b8cfdd;font-size:11px;font-weight:850}.fwDemoMessage.ok{background:#15533d;color:#a7f0c1}.fwDemoCode{padding:12px;border:1px solid rgba(129,221,252,.16);border-radius:17px;background:rgba(4,20,34,.68)}.fwDemoMode{display:grid;grid-template-columns:1fr 1fr;gap:7px}.fwDemoMode button{min-height:43px;border:1px solid rgba(126,219,251,.2);border-radius:11px;background:#173c59;color:#dff5ff;font-size:10px;font-weight:1000;cursor:pointer}.fwDemoMode button.active{border-color:#7de9ff;background:#286b8a}.fwDemoMode button.active.bug{border-color:#ff9b87;background:#743d45}.fwAnimatedProgram{min-height:108px;display:flex;align-content:flex-start;flex-wrap:wrap;gap:7px;margin-top:9px;padding:10px;border-radius:13px;background:#061522}.fwAnimatedProgram span{min-width:59px;height:48px;display:grid;place-items:center;border:1px solid rgba(132,219,251,.16);border-radius:11px;background:#234565;color:#cde4ef;font-size:16px;font-weight:1000}.fwAnimatedProgram span small{font-size:8px}.fwAnimatedProgram span.active{border-color:#fff078;background:#775a24;box-shadow:0 0 22px rgba(255,220,80,.26);transform:translateY(-3px)}.fwAnimatedProgram span.done{background:#175a43;color:#c5f8d8}.fwDemoExplain{margin-top:9px;padding:10px;border-radius:12px;background:rgba(83,61,153,.26)}.fwDemoExplain b{font-size:11px}.fwDemoExplain p{margin:5px 0 0;color:#c4bde6;font-size:10px;font-weight:750;line-height:1.45}.fwBugQuestion{display:grid;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(110px,auto));align-items:center;gap:7px;margin-top:11px;padding:10px;border:1px solid rgba(255,137,116,.27);border-radius:14px;background:rgba(94,38,43,.35)}.fwBugQuestion small,.fwBugQuestion b{display:block}.fwBugQuestion small{color:#ffaf9e;font-size:8px;font-weight:1000}.fwBugQuestion b{margin-top:4px;font-size:11px}.fwBugQuestion button{min-height:41px;border:1px solid rgba(255,157,139,.22);border-radius:10px;background:#513743;color:#ffe9e5;font-size:9px;font-weight:950;cursor:pointer}.fwBugQuestion button.correct{border-color:#74e8a6;background:#155a42}.fwDemoChecklist{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.fwDemoChecklist span{padding:9px;border-radius:10px;background:#102e46;color:#8da9ba;text-align:center;font-size:9px;font-weight:900}.fwDemoChecklist span.done{background:#15513d;color:#a9f0c3}
.fwCheckProgress{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.fwCheckProgress b{color:#8cecff;font-size:10px}.fwCheckProgress i{height:9px;overflow:hidden;border-radius:5px;background:#102b41}.fwCheckProgress i u{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#5ce4ff,#7becad);transition:width .3s}.fwCheckProgress span{padding:6px 8px;border-radius:9px;background:#59498f;color:#efeaff;font-size:8px;font-weight:1000}.fwCheckCard{margin-top:12px;padding:16px;border:1px solid rgba(130,220,251,.18);border-radius:20px;background:linear-gradient(145deg,rgba(9,37,58,.9),rgba(42,33,84,.76));text-align:center}.fwCheckVisual{min-height:100px;display:grid;place-items:center;border-radius:15px;background:radial-gradient(circle,rgba(84,217,255,.18),transparent 64%),#071928;font-size:34px;letter-spacing:8px}.fwCheckCard h4{margin:13px 0 0;font-size:19px}.fwCheckAnswers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:11px}.fwCheckAnswers button{min-height:54px;padding:9px;border:1px solid rgba(135,221,252,.18);border-radius:13px;background:#183e5d;color:#effaff;font-size:11px;font-weight:950;cursor:pointer}.fwCheckRule{margin-top:9px;color:#9eb9c8;text-align:center;font-size:10px;font-weight:800}.fwCheckWin{margin-top:18px;padding:28px;border:1px solid rgba(112,233,168,.3);border-radius:22px;background:linear-gradient(145deg,rgba(18,91,62,.72),rgba(34,39,83,.78));text-align:center}.fwCheckWin>div{font-size:58px}.fwCheckWin small{color:#8df0b2;font-weight:1000}.fwCheckWin h4{margin:7px 0 0;font-size:26px}.fwCheckWin p{color:#c5d9e4;font-weight:750}.fwCheckWin button{min-height:44px;padding:0 14px;border:0;border-radius:12px;background:#214a67;color:#fff;font-weight:950;cursor:pointer}
.fwLabRhythm{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.fwLabRhythm span{padding:7px;border-radius:9px;background:rgba(255,255,255,.05);color:#a9c3d2;text-align:center;font-size:8px;font-weight:900}.fwRouteLab.courier{border-color:rgba(255,210,89,.38);background:linear-gradient(145deg,rgba(13,48,66,.94),rgba(72,45,90,.9))}.fwRouteLab.courier .fwGrid{box-shadow:0 0 0 3px rgba(255,210,83,.08),0 16px 35px rgba(0,0,0,.2)}
.fwBuilderSteps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:11px}.fwBuilderSteps span{display:flex;align-items:center;gap:7px;padding:9px;border-radius:11px;background:#102f48;color:#94adbd;font-size:9px;font-weight:900}.fwBuilderSteps span b{width:23px;height:23px;display:grid;place-items:center;border-radius:8px;background:#244d6c;color:#fff}.fwBuilderSteps span.done{background:#15513d;color:#b6f3cd}.fwBuilderSteps span.done b{background:#4dd487;color:#073820}.fwBuilderTitle{display:block;margin-top:10px;color:#85e9ff;font-size:8px;font-weight:1000;letter-spacing:.08em}.fwBuilderTitle input{width:100%;height:45px;margin-top:5px;padding:0 12px;border:1px solid rgba(126,221,253,.22);border-radius:12px;outline:0;background:#071a29;color:#effaff;font-size:13px;font-weight:850;user-select:text}.fwBuilderTitle input:focus{border-color:#6de5ff}.fwBuilderWorkspace{display:grid;grid-template-columns:minmax(330px,1fr) minmax(300px,.85fr);gap:13px;margin-top:11px}.fwBuilderTools{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:7px}.fwBuilderTools button{min-height:41px;border:1px solid rgba(131,219,251,.18);border-radius:10px;background:#173c59;color:#e9f8ff;font-size:9px;font-weight:1000;cursor:pointer}.fwBuilderTools button.active{border-color:#fff07a;background:#65508e}.fwBuilderGrid{width:min(560px,100%)}button.fwGridCell{padding:0;color:inherit;cursor:pointer}.fwGridCell.start{box-shadow:inset 0 0 0 2px rgba(101,230,255,.48)}.fwBuilderHelp{display:block;margin-top:7px;color:#91adbd;font-size:9px;font-weight:800}.fwBuilderTest{padding:11px;border:1px solid rgba(132,221,252,.15);border-radius:17px;background:rgba(4,20,34,.68)}.fwBuilderBrief{text-align:center}.fwBuilderBrief>div{font-size:39px}.fwBuilderBrief h5{margin:5px 0 0;font-size:16px}.fwBuilderBrief ul{margin:11px 0;padding-left:20px;color:#b9cfdb;text-align:left;font-size:11px;font-weight:750;line-height:1.65}.fwBuilderBrief button{min-height:45px;padding:0 14px;border:0;border-radius:12px;background:linear-gradient(180deg,#9af1ff,#4ecde8);color:#073641;font-size:10px;font-weight:1000;cursor:pointer}.fwPartnerChallenge{margin-top:9px;padding:12px;border:1px solid rgba(107,235,163,.3);border-radius:13px;background:rgba(17,86,57,.5);color:#bdf5d2;font-size:11px}.fwPartnerChallenge b{color:#fff}
.fwCompleteRow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;padding-top:13px;border-top:1px solid var(--fw-line)}.fwCompleteState{color:#a8c1d1;font-size:11px;font-weight:850}.fwCompleteState.done{color:#86edac}.fwCompleteBtn{min-height:48px;padding:0 20px;border:0;border-radius:15px;background:linear-gradient(180deg,#a8f8c2,#51d88a);box-shadow:0 5px 0 #218153;color:#07391f;font-size:12px;font-weight:1000;cursor:pointer}.fwCompleteBtn:disabled{opacity:.55;filter:grayscale(.45);cursor:default}.fwCompleteBtn:not(:disabled):active{transform:translateY(3px);box-shadow:0 2px 0 #218153}
.fwBreakCard{max-width:680px;margin:32px auto 0;padding:30px;border:2px dashed rgba(139,237,184,.46);border-radius:28px;background:linear-gradient(145deg,rgba(22,83,64,.68),rgba(22,58,77,.76));text-align:center}.fwBreakCard>div{font-size:64px}.fwBreakCard small{display:block;margin-top:10px;color:#9bf0bf;font-size:9px;font-weight:1000;letter-spacing:.14em}.fwBreakCard h4{margin:8px 0 0;font-size:30px}.fwBreakCard p{max-width:520px;margin:12px auto 0;color:#d5eade;font-size:14px;font-weight:750;line-height:1.55}.fwBreakCard strong{display:inline-block;margin-top:18px;padding:10px 14px;border-radius:14px;background:rgba(5,30,27,.55);color:#fff0a6;font-size:13px}

.fwAdmin{margin:0;padding:16px;border:1px solid rgba(107,221,255,.22);border-radius:24px;background:linear-gradient(145deg,rgba(8,37,58,.96),rgba(37,29,78,.94));color:#eefaff}.fwAdminLoading{display:flex;align-items:center;gap:12px}.fwAdminLoading>span{font-size:32px}.fwAdminLoading strong,.fwAdminLoading small{display:block}.fwAdminLoading small{margin-top:4px;color:#a9c4d5}.fwAdminHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.fwAdminHead span{color:#81eaff;font-size:10px;font-weight:1000;letter-spacing:.12em}.fwAdminHead h4{margin:5px 0 0;font-size:24px}.fwAdminHead p{margin:5px 0 0;color:#b4cad7;font-size:12px;font-weight:750}.fwAdminState{padding:8px 11px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(4,19,33,.55);font-size:11px;font-weight:1000}.fwAdminState.on{color:#8ff2b4;border-color:rgba(111,237,163,.4)}.fwAdminDays{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px}.fwAdminDay{min-height:78px;padding:9px;border:1px solid rgba(128,217,250,.14);border-radius:15px;background:rgba(13,43,66,.7);color:#dcefff;text-align:left;cursor:pointer}.fwAdminDay span,.fwAdminDay b,.fwAdminDay small{display:block}.fwAdminDay span{font-size:20px}.fwAdminDay b{margin-top:5px;font-size:12px}.fwAdminDay small{margin-top:3px;color:#9db7c8;font-size:9px}.fwAdminDay.selected{border-color:#65e1ff;background:linear-gradient(145deg,rgba(30,108,137,.8),rgba(73,55,147,.74));box-shadow:0 8px 24px rgba(63,208,255,.13)}.fwSchedule{display:flex;align-items:center;gap:6px;overflow-x:auto;margin-top:10px;padding:8px;border:1px solid rgba(132,220,250,.12);border-radius:14px;background:rgba(3,20,33,.5);white-space:nowrap}.fwSchedule b,.fwSchedule span,.fwSchedule em{padding:7px 9px;border-radius:9px;font-size:9px;font-style:normal;font-weight:1000}.fwSchedule b{color:#8beaff;background:rgba(52,135,165,.2)}.fwSchedule span{color:#c9dce7;background:rgba(255,255,255,.045)}.fwSchedule em{color:#b8f1cf;background:rgba(39,120,83,.31)}.fwAdminPhaseTitle{margin-top:14px;color:#b6d1df;font-size:10px;font-weight:1000;letter-spacing:.09em}.fwAdminPhases{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin-top:7px}.fwAdminPhase{min-height:64px;padding:6px;border:1px solid rgba(135,216,247,.14);border-radius:12px;background:rgba(13,42,64,.72);color:#b7cedb;font-size:10px;font-weight:950;cursor:pointer}.fwAdminPhase span,.fwAdminPhase small{display:block}.fwAdminPhase span{margin-bottom:3px;font-size:18px}.fwAdminPhase small{margin-top:3px;color:#7898aa;font-size:8px}.fwAdminPhase.break{border-style:dashed;background:rgba(29,82,63,.54)}.fwAdminPhase.selected{color:#fff;border-color:#68e2ff;background:#285f88;box-shadow:0 8px 24px rgba(68,207,255,.16)}.fwAdminPhase.selected small{color:#dff8ff}.fwAdminRoster{display:grid;gap:9px;margin-top:14px}.fwAdminLearner{display:grid;grid-template-columns:minmax(150px,1fr) 150px minmax(150px,1fr) minmax(118px,auto);align-items:center;gap:10px;padding:11px;border:1px solid rgba(132,214,245,.12);border-radius:15px;background:rgba(5,23,38,.54)}.fwAdminLearner:hover{border-color:rgba(127,225,255,.3);background:rgba(9,35,56,.72)}.fwAdminLearnerMain{display:flex;align-items:center;gap:9px;min-width:0}.fwAdminLearnerMain>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.08);font-size:21px}.fwAdminLearnerMain b,.fwAdminLearnerMain small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fwAdminLearnerMain b{font-size:12px}.fwAdminLearnerMain small{margin-top:3px;color:#9db8c9;font-size:9px}.fwTrackSelect{height:42px;padding:0 9px;border:1px solid rgba(133,220,252,.2);border-radius:11px;background:#0e2d45;color:#eefaff;font-size:11px;font-weight:900}.fwAdminProgress b,.fwAdminProgress small{display:block}.fwAdminProgress b{font-size:11px}.fwAdminProgress small{margin-top:3px;color:#9db8c8;font-size:9px}.fwAdminProgress i{display:block;height:7px;margin-top:6px;overflow:hidden;border-radius:4px;background:#10283b}.fwAdminProgress i u{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#56e5ff,#78e9a9);text-decoration:none;transition:width .35s ease}.fwAdminLearnerActions{display:grid;gap:6px}.fwAcceptDay,.fwResetWeek{min-height:40px;padding:0 10px;border-radius:11px;font-size:10px;font-weight:1000;cursor:pointer}.fwAcceptDay{border:0;background:#ffc951;color:#382500}.fwResetWeek{border:1px solid rgba(138,215,246,.2);background:#173c59;color:#dff6ff}.fwAcceptDay:disabled,.fwResetWeek:disabled{opacity:.38;cursor:default}.fwAdminActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.fwAdminActions button{min-height:48px;padding:0 16px;border:1px solid rgba(140,220,250,.18);border-radius:13px;background:#173f5f;color:#fff;font-size:11px;font-weight:1000;cursor:pointer}.fwAdminActions .start{border:0;background:linear-gradient(180deg,#9df6b9,#4fd283);box-shadow:0 4px 0 #247f50;color:#08351f}.fwAdminActions .next{border:0;background:linear-gradient(180deg,#9feeff,#49cce8);box-shadow:0 4px 0 #237c96;color:#073743}.fwAdminActions .stop{border-color:rgba(255,127,111,.4);background:rgba(112,38,39,.7)}.fwAdminNote{margin-top:10px;padding:11px;border-radius:12px;background:rgba(4,19,31,.58);color:#a9c2d1;font-size:10px;font-weight:800;line-height:1.55}
.fwTeacherGuide{margin-top:10px;padding:12px;border:1px solid rgba(255,215,92,.25);border-radius:14px;background:linear-gradient(135deg,rgba(95,64,13,.34),rgba(55,43,94,.3))}.fwTeacherGuide span{color:#ffdd70;font-size:9px;font-weight:1000;letter-spacing:.08em}.fwTeacherGuide p{margin:6px 0 0;color:#edf5fa;font-size:11px;font-weight:800;line-height:1.55}

/* Live class quiz */
.fwQuizLive{margin-top:14px;padding:22px;border:1px solid rgba(134,221,255,.24);border-radius:24px;background:radial-gradient(circle at 50% 0,rgba(97,83,211,.35),transparent 48%),linear-gradient(145deg,#0b2742,#211c52);text-align:center}.fwQuizLogo{font-size:62px;filter:drop-shadow(0 10px 24px rgba(255,217,76,.3))}.fwQuizLive>small{display:block;color:#9cedff;font-size:11px;font-weight:1000;letter-spacing:.11em}.fwQuizLive>h4{max-width:780px;margin:9px auto 0;font-size:clamp(23px,3.2vw,36px);line-height:1.15}.fwQuizLive>p{max-width:690px;margin:10px auto 0;color:#c4d8e4;font-size:14px;font-weight:800;line-height:1.5}.fwQuizTop{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left}.fwQuizTop small,.fwQuizTop b{display:block}.fwQuizTop small{color:#9cecff;font-size:11px;font-weight:1000;letter-spacing:.09em}.fwQuizTop b{margin-top:5px;font-size:15px}.fwQuizTimer{width:82px;height:82px;flex:0 0 auto;display:grid;place-content:center;border:7px solid #65e8ff;border-right-color:rgba(101,232,255,.18);border-radius:50%;background:#071d31;text-align:center;box-shadow:0 0 28px rgba(83,220,255,.18)}.fwQuizTimer strong,.fwQuizTimer small{display:block}.fwQuizTimer strong{font-size:25px}.fwQuizTimer small{color:#9fc5d8;font-size:8px}.fwQuizTimer.danger{border-color:#ff786c;border-right-color:rgba(255,120,108,.2);animation:fwQuizDanger .55s ease-in-out infinite alternate}@keyframes fwQuizDanger{to{transform:scale(1.07);box-shadow:0 0 32px rgba(255,93,80,.38)}}.fwQuizQuestionVisual{min-height:110px;display:grid;place-items:center;margin-top:12px;border-radius:18px;background:radial-gradient(circle,rgba(94,229,255,.2),transparent 64%),rgba(3,19,34,.62);font-size:46px;letter-spacing:9px}.fwQuizAnswers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.fwQuizAnswers button{min-height:74px;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:8px;padding:11px;border:2px solid rgba(255,255,255,.16);border-radius:17px;color:#fff;text-align:left;box-shadow:0 5px 0 rgba(0,0,0,.28);cursor:pointer}.fwQuizAnswers button span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(0,0,0,.18);font-size:18px}.fwQuizAnswers button b{font-size:15px;line-height:1.25}.fwQuizAnswers .answer-0,.fwQuizRevealAnswers .answer-0{background:#d94b43}.fwQuizAnswers .answer-1,.fwQuizRevealAnswers .answer-1{background:#276fd0}.fwQuizAnswers .answer-2,.fwQuizRevealAnswers .answer-2{background:#d89a16}.fwQuizAnswers .answer-3,.fwQuizRevealAnswers .answer-3{background:#278d54}.fwQuizAnswers button.selected{outline:4px solid #fff47f;outline-offset:2px}.fwQuizAnswers button:disabled{opacity:.72;cursor:default}.fwQuizResponse,.fwQuizExplanation,.fwQuizWait{margin-top:13px;padding:12px;border-radius:14px;background:rgba(3,19,33,.68);color:#cce0ea;font-size:13px;font-weight:900}.fwQuizWait i{width:9px;height:9px;display:inline-block;margin-right:7px;border-radius:50%;background:#6aeaa3;box-shadow:0 0 0 0 rgba(106,234,163,.5);animation:fwWait 1.2s infinite}@keyframes fwWait{70%{box-shadow:0 0 0 9px rgba(106,234,163,0)}}.fwQuizPlayers{max-width:650px;margin:16px auto 0}.fwQuizPlayers>b{color:#ffdc70;font-size:11px}.fwLiveRanking{max-width:650px;display:grid;gap:7px;margin:12px auto 0;text-align:left}.fwLiveRanking>div{display:grid;grid-template-columns:32px 38px 1fr auto;align-items:center;gap:8px;padding:9px 12px;border-radius:13px;background:rgba(10,42,66,.86)}.fwLiveRanking>div.me{outline:2px solid #ffe26e;background:rgba(81,61,144,.82)}.fwLiveRanking>div>b{color:#9feeff;font-size:13px}.fwLiveRanking>div>span{font-size:23px}.fwLiveRanking strong{font-size:13px}.fwLiveRanking em{color:#ffe27c;font-size:13px;font-style:normal;font-weight:1000}.fwLiveRanking p{color:#a9c2d0;text-align:center}.fwQuizRevealAnswers{display:grid;gap:8px;margin-top:15px}.fwQuizRevealAnswers>div{display:grid;grid-template-columns:38px minmax(120px,1fr) minmax(90px,1fr) 30px;align-items:center;gap:9px;padding:10px;border:3px solid transparent;border-radius:14px;color:#fff;text-align:left;opacity:.62}.fwQuizRevealAnswers>div.correct{border-color:#fff27a;opacity:1}.fwQuizRevealAnswers>div.mine{box-shadow:0 0 0 2px #fff}.fwQuizRevealAnswers i{height:9px;overflow:hidden;border-radius:5px;background:rgba(0,0,0,.24)}.fwQuizRevealAnswers u{display:block;height:100%;border-radius:5px;background:#fff;text-decoration:none}.fwQuizRevealAnswers em{font-style:normal;font-weight:1000}.fwQuizExplanation{background:rgba(41,117,80,.58);color:#d9f9e5}.fwQuizScore{padding:10px 13px;border-radius:13px;background:rgba(255,216,80,.16);color:#ffe17b;font-size:17px;font-weight:1000}
.fwQuizHost{margin-top:11px;padding:13px;border:1px solid rgba(255,216,85,.3);border-radius:17px;background:linear-gradient(140deg,rgba(91,58,11,.33),rgba(45,37,104,.46))}.fwQuizHostHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.fwQuizHostHead span{color:#ffe077;font-size:9px;font-weight:1000;letter-spacing:.08em}.fwQuizHostHead h5{margin:5px 0 0;font-size:15px}.fwQuizHostHead>b{padding:7px 9px;border-radius:10px;background:rgba(4,20,34,.55);font-size:10px}.fwQuizHostPlayers{display:flex;gap:7px;overflow-x:auto;margin-top:10px;padding-bottom:3px}.fwQuizHostPlayers>div{min-width:150px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:5px;padding:8px;border-radius:11px;background:rgba(5,25,40,.66);opacity:.65}.fwQuizHostPlayers>div.answered{opacity:1;outline:1px solid rgba(100,235,164,.45)}.fwQuizHostPlayers span{font-size:20px}.fwQuizHostPlayers b,.fwQuizHostPlayers small{display:block}.fwQuizHostPlayers b{font-size:10px}.fwQuizHostPlayers small{grid-column:2/3;color:#9fb8c6;font-size:8px}.fwQuizHostPlayers em{grid-column:3;grid-row:1/3;color:#ffe07a;font-size:10px;font-style:normal;font-weight:1000}.fwQuizHostPlayers p{color:#a9c2d0;font-size:10px}.fwQuizHostActions{display:flex;align-items:flex-end;flex-wrap:wrap;gap:7px;margin-top:10px}.fwQuizHostActions label{display:grid;gap:4px;color:#a9c3d2;font-size:8px;font-weight:1000}.fwQuizHostActions select{height:41px;padding:0 9px;border:1px solid rgba(137,220,250,.22);border-radius:10px;background:#102e46;color:#fff;font-weight:900}.fwQuizHostActions button{min-height:42px;padding:0 12px;border:1px solid rgba(139,220,251,.2);border-radius:11px;background:#214b6b;color:#fff;font-size:9px;font-weight:1000;cursor:pointer}.fwQuizHostActions .start{border:0;background:#58da8c;color:#07361f}.fwQuizHostActions .next{border:0;background:#55d9f1;color:#073743}.fwQuizHostActions .reveal{border:0;background:#ffd55d;color:#3d2b00}.fwQuizHostActions .reset{background:rgba(113,39,41,.66);color:#ffd5d0}

/* Scratch-style block editor */
.fwScratchLab{background:linear-gradient(145deg,rgba(8,38,61,.96),rgba(36,30,86,.92))}.fwScratchRhythm{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:11px}.fwScratchRhythm span{padding:8px;border-radius:10px;background:rgba(255,255,255,.055);color:#9fb9c8;text-align:center;font-size:9px;font-weight:1000}.fwScratchRhythm .active{background:#3e69bf;color:#fff}.fwScratchWorkspace{display:grid;grid-template-columns:minmax(145px,.55fr) minmax(235px,.9fr) minmax(330px,1.35fr);gap:10px;margin-top:11px}.fwScratchPalette,.fwScratchCode,.fwScratchStage{min-width:0;padding:10px;border:1px solid rgba(135,219,251,.17);border-radius:17px;background:rgba(4,20,34,.78)}.fwScratchPanelTitle{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:9px}.fwScratchPanelTitle span{color:#a3efff;font-size:10px;font-weight:1000;letter-spacing:.09em}.fwScratchPanelTitle small{color:#ffd968;font-size:8px;font-weight:1000}.fwScratchBlock{position:relative;width:100%;min-height:49px;display:flex;align-items:center;gap:7px;margin:0 0 7px;padding:8px 10px;border:0;border-radius:9px 13px 13px 9px;background:linear-gradient(180deg,#4e91eb,#3473cf);box-shadow:0 4px 0 #23529a;color:#fff;text-align:left;cursor:grab}.fwScratchBlock::before{content:"";position:absolute;left:24px;top:-5px;width:22px;height:8px;border-radius:6px 6px 0 0;background:#4e91eb}.fwScratchBlock>span{font-size:17px}.fwScratchBlock>b{flex:1;font-size:10px;line-height:1.25}.fwScratchBlock.color-1{background:linear-gradient(180deg,#7d73df,#5c50bd);box-shadow:0 4px 0 #41378d}.fwScratchBlock.color-1::before{background:#7d73df}.fwScratchBlock.color-2{background:linear-gradient(180deg,#39a4dd,#267eb5);box-shadow:0 4px 0 #195d88}.fwScratchBlock.color-2::before{background:#39a4dd}.fwScratchBlock.color-3{background:linear-gradient(180deg,#3aa8a6,#267f82);box-shadow:0 4px 0 #195e61}.fwScratchBlock.color-3::before{background:#3aa8a6}.fwScratchBlock:disabled{opacity:.42;cursor:default}.fwScratchTip{margin-top:12px;padding:9px;border-radius:11px;background:rgba(87,65,153,.34);color:#dcd4ff;font-size:9px;font-weight:850;line-height:1.45}.fwScratchHat{position:relative;padding:11px 10px 9px;border-radius:19px 19px 8px 8px;background:linear-gradient(180deg,#ffd767,#e7a92f);box-shadow:0 4px 0 #a5701e;color:#3b2b03;font-size:10px}.fwScratchStack{min-height:230px;margin-top:5px;padding:10px;border:2px dashed rgba(130,217,249,.18);border-radius:10px;background:rgba(3,15,26,.72);transition:.16s}.fwScratchStack.drag-over,.fwScratchBlock.drag-over{border-color:#fff178;background-color:rgba(101,83,31,.72)}.fwScratchStack.has-blocks{padding-top:12px}.fwScratchStack .fwScratchBlock{margin-bottom:4px}.fwScratchStack .fwScratchBlock.active{z-index:2;outline:3px solid #fff178;transform:translateX(5px);filter:brightness(1.15);box-shadow:0 4px 0 #23529a,0 0 24px rgba(255,229,88,.34)}.fwScratchStack .fwScratchBlock.dragging{opacity:.35}.fwScratchGrip{cursor:grab}.fwScratchStack .fwScratchBlock>button{width:28px;height:28px;flex:0 0 auto;border:0;border-radius:8px;background:rgba(5,25,52,.28);color:#fff;font-size:19px;font-weight:1000;cursor:pointer}.fwScratchEmpty{min-height:150px;display:grid;place-content:center;gap:6px;color:#7898aa;text-align:center}.fwScratchEmpty span{font-size:31px}.fwScratchEmpty b{font-size:10px}.fwScratchEmpty small{max-width:160px;font-size:8px;line-height:1.4}.fwScratchDropEnd{padding:9px;border-radius:9px;color:#66889c;text-align:center;font-size:8px;font-weight:1000}.fwScratchActions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.fwScratchActions button{min-height:44px;border:1px solid rgba(135,220,250,.18);border-radius:11px;background:#1c425f;color:#fff;font-size:9px;font-weight:1000;cursor:pointer}.fwScratchActions button.flag{border:0;background:linear-gradient(180deg,#80efa4,#42c878);box-shadow:0 4px 0 #21824c;color:#06381d}.fwScratchActions button:disabled{opacity:.4;box-shadow:none;cursor:default}.fwScratchStage{background:linear-gradient(180deg,rgba(8,37,57,.88),rgba(5,22,37,.9))}.fwScratchStage .fwGrid{width:100%;max-width:500px;margin:auto}.fwScratchStageState{min-height:43px;margin-top:8px;padding:9px;border-radius:11px;background:#071a29;color:#b8d0de;font-size:10px;font-weight:850;line-height:1.4}.fwScratchStageState.ok{background:#14553d;color:#b9f3ce}.fwScratchStageState.bug{background:#642f36;color:#ffd1ca}

@media(max-width:900px){.fwShell{width:calc(100vw - 8px);height:calc(100dvh - 8px);border-radius:20px}.fwHead{height:70px;padding:8px}.fwHeadLogo{width:46px;height:46px;border-radius:14px;font-size:24px}.fwHeadCopy h2{font-size:19px}.fwHeadTrack{display:none}.fwClose{width:44px;height:44px}.fwBody{height:calc(100% - 70px);grid-template-columns:1fr}.fwSide{display:none}.fwPhases{display:flex;overflow-x:auto;padding:7px;scrollbar-width:none}.fwPhases::-webkit-scrollbar,.fwAdminPhases::-webkit-scrollbar,.fwSchedule::-webkit-scrollbar{display:none}.fwPhaseBtn{min-width:92px;height:60px}.fwContent{padding:12px}.fwStageIntro h3{font-size:21px}.fwStageIntro p{font-size:13px}.fwTheoryGrid{grid-template-columns:1fr}.fwDiagram{min-height:170px}.fwOptions{grid-template-columns:1fr}.fwConceptCards{grid-template-columns:repeat(2,1fr)}.fwDemoWorkspace,.fwRouteWorkspace{grid-template-columns:1fr}.fwDemoVisual{min-height:200px}.fwGrid{margin:auto}.fwBuildSteps{grid-template-columns:repeat(2,1fr)}.fwCompleteRow{position:sticky;z-index:4;bottom:-12px;margin-left:-12px;margin-right:-12px;padding:11px 12px;background:rgba(7,24,40,.97)}.fwAdminDays{grid-template-columns:repeat(2,1fr)}.fwAdminDays .fwAdminDay:last-child{grid-column:1/-1}.fwAdminPhases{display:flex;overflow-x:auto;scrollbar-width:none}.fwAdminPhase{min-width:104px}.fwAdminLearner{grid-template-columns:1fr 135px}.fwAdminProgress{grid-column:1/2}.fwAdminLearnerActions{grid-column:2/3;grid-row:2}.fwLauncher{top:54px;left:7px;width:205px}.fwLauncher>div{display:none}}
@media(max-width:520px){.fwOverlay{padding:2px}.fwHeadCopy small{font-size:8px}.fwHeadCopy h2{font-size:18px}.fwStageIcon{width:50px;height:50px;border-radius:15px;font-size:25px}.fwStageIntro h3{font-size:20px}.fwLevelCard{padding:10px}.fwExplain,.fwDiagram,.fwActivity,.fwCreate,.fwGame,.fwTheoryLab,.fwDemoLab,.fwRouteLab{padding:12px;border-radius:16px}.fwLabHeading h4{font-size:18px}.fwLabHeading>b{padding:6px 8px}.fwConceptCards{grid-template-columns:1fr 1fr;gap:7px}.fwConceptCard{min-height:128px;padding:9px}.fwConceptCard>span{font-size:25px}.fwConceptCard>b{font-size:12px}.fwGrid{gap:3px;padding:5px}.fwGridCell{border-radius:7px}.fwRouteControls button{min-height:56px}.fwProgram{min-height:92px}.fwBuildSteps{grid-template-columns:1fr 1fr}.fwDiagramScene .node{min-width:62px;padding:9px}.fwOptions{gap:8px}.fwOption{min-height:54px}.fwProjectBlocks{grid-template-columns:1fr}.fwAdmin{padding:12px;border-radius:18px}.fwAdminHead{display:block}.fwAdminState{display:inline-block;margin-top:8px}.fwAdminLearner{grid-template-columns:1fr}.fwTrackSelect,.fwAdminProgress,.fwAdminLearnerActions{grid-column:auto;grid-row:auto;width:100%}.fwAdminActions button{flex:1 1 145px}.fwLiveOpen{min-width:78px!important;padding:0 8px!important;font-size:10px!important}}
@media(max-height:500px) and (orientation:landscape){.fwHead{height:58px}.fwBody{height:calc(100% - 58px)}.fwStageIntro p,.fwLevelCard{display:none}.fwContent{padding:8px}.fwTheoryGrid{margin-top:8px}.fwDiagram{min-height:135px}.fwLauncher{top:48px}.fwCompleteRow{padding-block:6px}.fwCompleteBtn{min-height:40px}}
@media(max-width:900px){.fwTheoryChapter,.fwDemoLesson,.fwBuilderWorkspace{grid-template-columns:1fr}.fwBugQuestion{grid-template-columns:1fr repeat(3,1fr)}.fwBugQuestion>div{grid-column:1/-1}.fwBuilderGrid{margin:auto}.fwCheckVisual{min-height:86px}.fwLessonClock{overflow-x:auto;grid-template-columns:repeat(4,minmax(120px,1fr))}}
@media(max-width:520px){.fwTheoryChapters{display:flex;overflow-x:auto;scrollbar-width:none}.fwTheoryChapters button{min-width:130px}.fwTheoryChapter{grid-template-columns:1fr}.fwTheoryStory,.fwTheoryExperiment{padding:12px}.fwTheoryStory h4{font-size:20px}.fwTheoryStory>p{font-size:13px}.fwTheoryAnswers.multi,.fwTheoryAnswers.order{grid-template-columns:1fr}.fwTheoryFooter{grid-template-columns:1fr}.fwTheoryFooter button{width:100%}.fwDemoLesson{grid-template-columns:1fr}.fwBugQuestion{grid-template-columns:1fr}.fwBugQuestion>div{grid-column:auto}.fwDemoChecklist{grid-template-columns:1fr}.fwCheckAnswers{grid-template-columns:1fr}.fwCheckVisual{font-size:27px;letter-spacing:4px}.fwLabRhythm{display:flex;overflow-x:auto}.fwLabRhythm span{min-width:130px}.fwBuilderSteps{grid-template-columns:1fr 1fr}.fwBuilderWorkspace{grid-template-columns:1fr}.fwBuilderTools button{font-size:8px}.fwBuilderGrid{gap:3px}.fwLessonClock span{font-size:8px}}
@media(max-width:1050px){.fwScratchWorkspace{grid-template-columns:minmax(135px,.55fr) minmax(220px,.85fr) minmax(285px,1.2fr)}}
@media(max-width:900px){.fwScratchWorkspace{grid-template-columns:minmax(135px,.5fr) minmax(230px,1fr)}.fwScratchStage{grid-column:1/-1}.fwScratchStage .fwGrid{max-width:560px}.fwQuizLive{padding:17px}.fwQuizHostPlayers{scrollbar-width:none}}
@media(max-width:520px){.fwScratchRhythm{display:flex;overflow-x:auto}.fwScratchRhythm span{min-width:112px}.fwScratchWorkspace{grid-template-columns:minmax(112px,.62fr) minmax(170px,1fr);gap:7px}.fwScratchPalette,.fwScratchCode,.fwScratchStage{padding:8px;border-radius:14px}.fwScratchBlock{min-height:52px;padding:7px}.fwScratchBlock>b{font-size:9px}.fwScratchPalette .fwScratchBlock>span{display:none}.fwScratchTip{font-size:8px}.fwScratchStack{min-height:220px;padding:7px}.fwScratchActions{grid-template-columns:1fr}.fwScratchActions button{min-height:47px}.fwScratchStage{grid-column:1/-1}.fwScratchStageState{font-size:11px}.fwQuizLive{padding:13px;border-radius:18px}.fwQuizTop small{font-size:9px}.fwQuizTimer{width:68px;height:68px;border-width:6px}.fwQuizTimer strong{font-size:21px}.fwQuizQuestionVisual{min-height:86px;font-size:34px}.fwQuizAnswers{grid-template-columns:1fr;gap:8px}.fwQuizAnswers button{min-height:61px}.fwQuizAnswers button b{font-size:13px}.fwQuizRevealAnswers>div{grid-template-columns:31px 1fr 28px}.fwQuizRevealAnswers i{grid-column:2/3}.fwLiveRanking>div{grid-template-columns:27px 34px 1fr auto;padding:8px}.fwQuizHostHead{display:block}.fwQuizHostHead>b{display:inline-block;margin-top:7px}.fwQuizHostActions button{flex:1 1 130px}.fwQuizHostActions label{flex:0 0 80px}}
@media(prefers-reduced-motion:reduce){.fwOverlay,.fwPlayDemo,.fwLauncher{transition:none!important;animation:none!important}}

/* Пятый вариант ответа в смайл-викторине. */
.fwQuizAnswers .answer-4,.fwQuizRevealAnswers .answer-4{background:#7954b8}

/* Day 2: variables are visible, touchable game state instead of another route puzzle. */
.fwTheoryChapters.variable{grid-template-columns:repeat(5,1fr)}.fwTheoryChapter.variable{background:linear-gradient(145deg,rgba(11,46,73,.86),rgba(48,38,104,.7))}.fwTheoryExperiment.variable{background:radial-gradient(circle at 50% 10%,rgba(111,232,255,.16),transparent 45%),rgba(4,22,38,.74)}
.fwVariableFormula{min-height:96px;display:grid;place-items:center;margin-bottom:13px;padding:13px;border:2px solid rgba(157,139,255,.55);border-radius:18px;background:linear-gradient(145deg,rgba(79,65,170,.7),rgba(17,66,95,.72));box-shadow:inset 0 0 28px rgba(112,220,255,.08),0 12px 28px rgba(0,0,0,.22);color:#fff19a;font:1000 clamp(22px,3vw,34px)/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;text-align:center;animation:fwVarGlow 1.8s ease-in-out infinite alternate}@keyframes fwVarGlow{to{border-color:#6ee7ff;box-shadow:0 0 28px rgba(90,226,255,.2)}}
.fwVariableDemo,.fwVariableMission,.fwPetVariables,.fwVariableCreator{margin-top:14px;padding:16px;border:1px solid var(--fw-line);border-radius:22px;background:linear-gradient(145deg,rgba(8,37,59,.94),rgba(37,31,87,.9))}.fwVariableDemoGrid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(360px,1.25fr);gap:12px;margin-top:13px}.fwPetConsole{padding:16px;border:1px solid rgba(117,226,255,.24);border-radius:20px;background:radial-gradient(circle at 50% 10%,rgba(98,229,255,.22),transparent 48%),#091e33;text-align:center}.fwPetAvatar{font-size:64px;filter:drop-shadow(0 12px 18px rgba(81,217,255,.22));animation:fwPetFloat 1.5s ease-in-out infinite alternate}@keyframes fwPetFloat{to{transform:translateY(-7px)}}.fwPetConsole>strong{display:block;margin-top:4px;font-size:22px}.fwPetConsole>small{display:block;margin-top:7px;color:#b8efff;font-size:10px;font-weight:1000}.fwEnergyBar{height:13px;margin-top:13px;overflow:hidden;border-radius:9px;background:#10293e}.fwEnergyBar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#53d8ff,#7bf0a4);transition:width .45s ease}.fwPetStats{display:flex;justify-content:center;gap:8px;margin-top:13px}.fwPetStats span{padding:8px 10px;border-radius:11px;background:rgba(255,255,255,.07);font-size:10px;font-weight:1000}.fwVariableCards{display:grid;grid-template-columns:1fr 1fr;gap:9px}.fwVariableCard{min-height:102px;display:grid;grid-template-columns:42px 1fr;align-content:center;gap:3px 9px;padding:12px;border:2px solid rgba(137,217,247,.16);border-radius:17px;background:#102d47;transition:.25s}.fwVariableCard>span{grid-row:1/3;font-size:27px}.fwVariableCard>small{color:#9ddff0;font:1000 10px ui-monospace,monospace}.fwVariableCard>b{font-size:19px}.fwVariableCard.changed{border-color:#fff179;background:#385a62;animation:fwVarChanged .55s ease}@keyframes fwVarChanged{50%{transform:scale(1.045);box-shadow:0 0 30px rgba(255,236,103,.28)}}.fwCodeMission{margin-top:12px;padding:14px;border-radius:18px;background:rgba(4,19,33,.78)}.fwCodeMission>small{color:#8feaff;font-size:9px;font-weight:1000}.fwCodeMission>code{display:block;margin-top:7px;padding:13px;border-radius:13px;background:#071624;color:#ffe278;font:1000 clamp(16px,2vw,23px) ui-monospace,monospace}.fwCodeMission h5{margin:13px 0 0;font-size:17px}.fwDemoPredictions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.fwDemoPredictions button{min-height:52px;border:2px solid rgba(255,255,255,.14);border-radius:13px;background:#1d4b6c;color:#fff;font-weight:1000;cursor:pointer}.fwDemoPredictions button.correct{border-color:#baffce;background:#287c50}.fwDemoPredictions button.wrong{border-color:#ff9f95;background:#7e3540}.fwVariableDemoWin{margin-top:13px;padding:18px;border:2px solid #7beaa9;border-radius:17px;background:rgba(34,111,75,.48);font-size:15px;text-align:center}
.fwDataWorkbench{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(330px,1.3fr);gap:14px;margin-top:13px}.fwDataBox{min-height:260px;display:grid;place-content:center;gap:10px;padding:18px;border:3px solid #9b86ff;border-radius:25px;background:radial-gradient(circle,rgba(147,128,255,.3),transparent 65%),#122d4b;text-align:center;box-shadow:inset 0 -9px 0 rgba(0,0,0,.18)}.fwDataBox>span{font-size:70px}.fwDataBox>strong{font:1000 22px ui-monospace,monospace;color:#fff097}.fwDataBox>small{color:#a9ddeb;font-size:9px;font-weight:1000}.fwDataWorkbench h5{margin:2px 0 10px;font-size:18px}.fwDataBlocks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fwDataBlocks button{min-height:57px;display:flex;align-items:center;gap:8px;padding:10px;border:0;border-radius:10px 15px 15px 10px;background:linear-gradient(180deg,#558de7,#3768bd);box-shadow:0 5px 0 #244780;color:#fff;font:1000 12px ui-monospace,monospace;text-align:left;cursor:pointer}.fwDataBlocks button>span{font-size:18px}.fwDataBlocks button.correct{background:linear-gradient(180deg,#68e39b,#35a968);box-shadow-color:#227046}.fwDataBlocks button.wrong{background:linear-gradient(180deg,#f47772,#ad4247);box-shadow-color:#713038}.fwMissionNext,.fwCreatorPublish{width:100%;min-height:52px;margin-top:10px;border:0;border-radius:14px;background:linear-gradient(180deg,#fff18a,#f7bd37);box-shadow:0 5px 0 #946817;color:#382800;font-weight:1000;cursor:pointer}
.fwPetVariableWorkspace{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,1fr);gap:13px;margin-top:13px}.fwPetScene{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:12px;padding:15px;border-radius:20px;background:radial-gradient(circle at 17% 50%,rgba(102,235,255,.24),transparent 32%),rgba(4,20,34,.72)}.fwPetBig{font-size:78px;text-align:center;filter:drop-shadow(0 14px 22px rgba(0,0,0,.3))}.fwStateMeters{display:grid;gap:8px}.fwStateMeter{display:grid;grid-template-columns:37px 1fr;align-items:center;gap:8px;padding:8px;border:2px solid transparent;border-radius:13px;background:#102e47}.fwStateMeter>span{font-size:23px}.fwStateMeter small,.fwStateMeter b{display:block}.fwStateMeter small{color:#9feaff;font-size:8px;font-weight:1000}.fwStateMeter b{margin-top:3px;font-size:14px}.fwStateMeter em{margin-left:5px;color:#9eb7c7;font-size:9px;font-style:normal}.fwStateMeter i{display:block;height:7px;margin-top:6px;overflow:hidden;border-radius:5px;background:#071a2a}.fwStateMeter u{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#59dfff,#73eca2);transition:width .35s}.fwStateMeter.ready{border-color:#79eaa7;background:#174d3a}.fwPetActions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fwPetActions>button{min-height:92px;padding:9px;border:1px solid rgba(137,222,252,.18);border-radius:15px;background:#17415e;color:#fff;cursor:pointer}.fwPetActions>button>span,.fwPetActions>button>b,.fwPetActions>button>small{display:block}.fwPetActions>button>span{font-size:25px}.fwPetActions>button>b{margin-top:4px;font-size:11px}.fwPetActions>button>small{margin-top:4px;color:#add1df;font:850 9px/1.35 ui-monospace,monospace}.fwPetActions>button:disabled{opacity:.4}.fwPetCode{grid-column:1/-1;min-height:42px;padding:10px;border-radius:11px;background:#071724;color:#ffe17a;font:900 10px/1.45 ui-monospace,monospace}.fwPetVariables.complete,.fwVariableMission.complete{text-align:center}.fwPetVariables.complete .fwWinBurst,.fwVariableMission.complete .fwWinBurst{font-size:62px}.fwPetVariables.complete h4,.fwVariableMission.complete h4{margin:7px 0;font-size:25px}.fwPetVariables.complete p,.fwVariableMission.complete p{color:#bdd2de}
.fwCreatorGrid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:13px;margin-top:13px}.fwCreatorForm,.fwHeroPreview{padding:14px;border:1px solid rgba(135,220,250,.18);border-radius:19px;background:rgba(4,20,34,.72)}.fwCreatorForm label,.fwCreatorForm>small{display:block;color:#9ceaff;font-size:9px;font-weight:1000;letter-spacing:.06em}.fwCreatorForm input{width:100%;height:48px;margin:6px 0 13px;padding:0 12px;border:2px solid rgba(135,220,250,.27);border-radius:12px;background:#0d2c45;color:#fff;font-size:16px;font-weight:900;user-select:text;-webkit-user-select:text}.fwAvatarPick,.fwValuePick{display:flex;gap:7px;margin:6px 0 13px}.fwAvatarPick button,.fwValuePick button{min-width:48px;height:48px;border:2px solid transparent;border-radius:12px;background:#183f5c;color:#fff;font-size:23px;font-weight:1000;cursor:pointer}.fwValuePick button{font-size:13px}.fwAvatarPick button.active,.fwValuePick button.active{border-color:#fff077;background:#5a4b9b;box-shadow:0 0 22px rgba(255,224,92,.18)}.fwHeroPreview{text-align:center;background:radial-gradient(circle at 50% 5%,rgba(101,226,255,.2),transparent 42%),rgba(5,23,39,.8)}.fwHeroPreviewAvatar{font-size:68px}.fwHeroPreview h5{margin:3px 0 11px;font-size:21px}.fwHeroPreviewStats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.fwHeroPreviewStats span{padding:9px 5px;border-radius:11px;background:#102f48;font:850 9px ui-monospace,monospace}.fwHeroPreviewStats b{display:block;margin-top:4px;color:#ffe078;font-size:12px}.fwCreatorTests{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.fwCreatorTests button{min-height:61px;border:2px solid rgba(255,255,255,.12);border-radius:12px;background:#1c4764;color:#fff;font-size:10px;font-weight:1000;cursor:pointer}.fwCreatorTests button small{color:#add3e2;font:850 8px ui-monospace,monospace}.fwCreatorTests button.done{border-color:#77e9a5;background:#236846}.fwCreatorPublish:disabled{opacity:.38;box-shadow:none;cursor:default}
@media(max-width:900px){.fwVariableDemoGrid,.fwDataWorkbench,.fwPetVariableWorkspace,.fwCreatorGrid{grid-template-columns:1fr}.fwTheoryChapters.variable{display:flex}.fwTheoryChapters.variable button{min-width:142px}.fwPetScene{grid-template-columns:105px 1fr}}
@media(max-width:520px){.fwVariableDemo,.fwVariableMission,.fwPetVariables,.fwVariableCreator{padding:11px;border-radius:17px}.fwVariableCards,.fwDataBlocks{grid-template-columns:1fr 1fr}.fwVariableCard{min-height:86px;padding:9px}.fwVariableCard>b{font-size:15px}.fwDemoPredictions{grid-template-columns:1fr}.fwDataBox{min-height:165px}.fwDataBox>span{font-size:48px}.fwPetVariableWorkspace{grid-template-columns:1fr}.fwPetScene{grid-template-columns:82px 1fr;padding:10px}.fwPetBig{font-size:58px}.fwPetActions>button{min-height:84px}.fwHeroPreviewStats{grid-template-columns:1fr}.fwCreatorTests{grid-template-columns:1fr 1fr 1fr}.fwCreatorTests button{font-size:9px}}

/* Day 2 creativity: guided game idea fields and a ready-to-copy DeepSeek prompt. */
.fwCreatorStep{display:flex;align-items:center;gap:10px;margin:18px 0 10px;padding:10px 12px;border-radius:15px;background:linear-gradient(90deg,rgba(93,76,183,.55),rgba(28,83,108,.42))}.fwCreatorStep>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:#fff078;color:#352800;font-size:19px;font-weight:1000;box-shadow:0 4px 0 #9c7420}.fwCreatorStep b,.fwCreatorStep small{display:block}.fwCreatorStep b{font-size:15px}.fwCreatorStep small{margin-top:3px;color:#bed9e5;font-size:10px}.fwGameIdeaPick{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.fwGameIdeaPick button{min-height:112px;display:grid;place-content:center;gap:4px;padding:10px;border:2px solid rgba(143,219,247,.18);border-radius:17px;background:linear-gradient(145deg,#173e5b,#272b63);color:#fff;text-align:center;cursor:pointer;transition:.18s}.fwGameIdeaPick button:hover{transform:translateY(-2px);border-color:#8be8ff}.fwGameIdeaPick button.active{border-color:#fff078;background:linear-gradient(145deg,#644da0,#226d76);box-shadow:0 0 26px rgba(255,235,99,.18)}.fwGameIdeaPick span{font-size:32px}.fwGameIdeaPick b{font-size:12px}.fwGameIdeaPick small{color:#b9d5e2;font-size:9px}.fwGameIdeaForm{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding:14px;border:1px solid rgba(136,220,250,.18);border-radius:19px;background:rgba(4,20,34,.72)}.fwGameIdeaForm label{color:#9ceaff;font-size:9px;font-weight:1000;letter-spacing:.05em}.fwGameIdeaForm input{width:100%;height:49px;margin-top:6px;padding:0 12px;border:2px solid rgba(135,220,250,.27);border-radius:12px;background:#0d2c45;color:#fff;font-size:14px;font-weight:850;user-select:text;-webkit-user-select:text}.fwGameIdeaForm input:focus{outline:0;border-color:#fff078;box-shadow:0 0 0 3px rgba(255,240,120,.12)}.fwIdeaHint{margin-top:9px;padding:10px 12px;border-radius:12px;background:rgba(61,126,151,.28);color:#cbe9f2;font-size:10px;font-weight:800}.fwPromptBuild{width:100%;min-height:56px;border:0;border-radius:15px;background:linear-gradient(180deg,#83edff,#42aee2);box-shadow:0 5px 0 #216c9b;color:#062a40;font-size:13px;font-weight:1000;cursor:pointer}.fwPromptBuild:disabled{opacity:.38;box-shadow:none;cursor:default}.fwPromptReady{margin-top:12px;padding:14px;border:2px solid #75e3a4;border-radius:19px;background:linear-gradient(145deg,rgba(19,81,58,.76),rgba(9,39,53,.9))}.fwPromptReadyHead{display:flex;align-items:center;gap:9px}.fwPromptReadyHead>span{font-size:28px}.fwPromptReadyHead b,.fwPromptReadyHead small{display:block}.fwPromptReadyHead small{margin-top:2px;color:#bde7ce;font-size:10px}.fwPromptReady textarea{width:100%;min-height:230px;margin-top:11px;padding:13px;border:1px solid rgba(155,235,183,.35);border-radius:13px;resize:vertical;background:#071b25;color:#d9f7e5;font:700 11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;user-select:text;-webkit-user-select:text}.fwPromptActions{display:grid;grid-template-columns:.7fr 1.3fr;gap:8px;margin-top:9px}.fwPromptActions button{min-height:51px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:#214c64;color:#fff;font-size:10px;font-weight:1000;cursor:pointer}.fwPromptActions button.primary{border:0;background:linear-gradient(180deg,#fff07c,#efb62f);box-shadow:0 4px 0 #8a6215;color:#352700}
@media(max-width:900px){.fwGameIdeaPick{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.fwGameIdeaPick{gap:7px}.fwGameIdeaPick button{min-height:98px;padding:7px}.fwGameIdeaPick span{font-size:27px}.fwGameIdeaForm{grid-template-columns:1fr;padding:10px}.fwPromptActions{grid-template-columns:1fr}.fwPromptReady textarea{min-height:260px}.fwCreatorStep{align-items:flex-start}.fwCreatorStep small{line-height:1.4}}

/* Day 2 creativity v2: eight sequential game-building missions. */
.fwCreatorWorkshop{background:radial-gradient(circle at 85% 0,rgba(113,83,214,.22),transparent 30%),linear-gradient(145deg,rgba(7,35,57,.97),rgba(31,27,78,.96))}.fwCreatorJourney{position:relative;display:grid;grid-template-columns:repeat(8,1fr);gap:7px;margin-top:15px;padding:11px 8px 8px;border:1px solid rgba(144,219,246,.15);border-radius:19px;background:rgba(3,18,31,.62)}.fwCreatorTrack{position:absolute;top:29px;left:6%;right:6%;height:5px;overflow:hidden;border-radius:5px;background:#18354a}.fwCreatorTrack i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#71e7ff,#fff176,#77e7a4);transition:width .35s ease}.fwCreatorJourney>button{position:relative;z-index:1;min-width:0;min-height:91px;display:grid;place-items:center;align-content:start;gap:2px;padding:4px;border:2px solid transparent;border-radius:14px;background:transparent;color:#96adba;cursor:pointer}.fwCreatorJourney>button>em{width:28px;height:28px;display:grid;place-items:center;border:3px solid #294d64;border-radius:50%;background:#0c273a;color:#9cb3c0;font-size:10px;font-style:normal;font-weight:1000}.fwCreatorJourney>button>span{margin-top:4px;font-size:20px;filter:grayscale(.65);opacity:.72}.fwCreatorJourney>button>b{font-size:9px}.fwCreatorJourney>button>small{max-width:82px;font-size:7px;line-height:1.2;text-align:center}.fwCreatorJourney>button.active{border-color:#8979ff;background:linear-gradient(180deg,rgba(101,80,190,.46),rgba(24,56,76,.34));color:#fff}.fwCreatorJourney>button.active>em{border-color:#fff178;background:#fff178;color:#382b00;box-shadow:0 0 17px rgba(255,239,103,.35)}.fwCreatorJourney>button.active>span{filter:none;opacity:1;transform:scale(1.12)}.fwCreatorJourney>button.done{color:#c8f5d7}.fwCreatorJourney>button.done>em{border-color:#76e6a1;background:#2e9b61;color:#fff}.fwCreatorJourney>button.done>span{filter:none;opacity:1}.fwCreatorJourney>button:disabled{opacity:.38;cursor:default}.fwCreatorMission{margin-top:13px;padding:16px;border:1px solid rgba(141,219,249,.16);border-radius:20px;background:linear-gradient(145deg,rgba(8,30,48,.87),rgba(29,31,74,.78));box-shadow:0 14px 30px rgba(0,0,0,.16)}.fwCreatorMissionHead{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:11px;padding-bottom:12px;border-bottom:1px solid rgba(142,219,248,.14)}.fwCreatorMissionHead>span{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,#6b56be,#287899);font-size:28px;box-shadow:inset 0 -5px 0 rgba(0,0,0,.16)}.fwCreatorMissionHead small{color:#8eeaff;font-size:8px;font-weight:1000;letter-spacing:.08em}.fwCreatorMissionHead h5{margin:3px 0 0;font-size:21px}.fwCreatorMissionHead p{margin:4px 0 0;color:#b7ceda;font-size:11px;line-height:1.4}.fwCreatorMissionHead>b{padding:8px 10px;border-radius:12px;background:#172f4c;color:#fff18a;font-size:9px;white-space:nowrap}.fwCreatorAdvance{width:100%;min-height:55px;margin-top:11px;border:0;border-radius:15px;background:linear-gradient(180deg,#fff181,#f0b833);box-shadow:0 5px 0 #916718;color:#382900;font-size:12px;font-weight:1000;cursor:pointer}.fwCreatorAdvance:disabled{opacity:.36;box-shadow:none;cursor:default}.fwIdeaPassport{display:flex;align-items:center;gap:13px;margin:13px 0;padding:14px;border:2px solid rgba(135,226,255,.24);border-radius:18px;background:radial-gradient(circle at 8% 50%,rgba(114,224,255,.2),transparent 22%),#102d47}.fwIdeaPassport>span{font-size:47px}.fwIdeaPassport small,.fwIdeaPassport b{display:block}.fwIdeaPassport small{color:#8fe9ff;font-size:8px;font-weight:1000}.fwIdeaPassport b{margin-top:3px;font-size:19px}.fwIdeaPassport p{margin:5px 0 0;color:#c2d7e1;font-size:10px}.fwCreatorHow{display:grid;grid-template-columns:34px 1fr 34px 1fr 34px 1.3fr;align-items:center;gap:7px;margin-top:10px;padding:10px;border-radius:14px;background:rgba(75,75,143,.24)}.fwCreatorHow b{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#7868dd;color:#fff;font-size:12px}.fwCreatorHow span{color:#cbd9e2;font-size:9px;font-weight:850;line-height:1.35}.fwUpgradeForm{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:13px}.fwUpgradeField,.fwFinalFeature{padding:13px;border:1px solid rgba(142,220,249,.17);border-radius:17px;background:rgba(4,20,34,.66)}.fwUpgradeField>label,.fwFinalFeature label{display:block;color:#92e9ff;font-size:9px;font-weight:1000;letter-spacing:.06em}.fwUpgradeChips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.fwUpgradeChips button{min-height:36px;padding:6px 9px;border:2px solid transparent;border-radius:11px;background:#193f5b;color:#d9e9f0;font-size:9px;font-weight:900;cursor:pointer}.fwUpgradeChips button.active{border-color:#fff178;background:#6251a5;color:#fff;box-shadow:0 0 18px rgba(255,235,99,.15)}.fwUpgradeField input,.fwFinalFeature input{width:100%;height:47px;margin-top:9px;padding:0 11px;border:2px solid rgba(134,220,250,.24);border-radius:11px;background:#0c2b43;color:#fff;font-size:13px;font-weight:850;user-select:text;-webkit-user-select:text}.fwUpgradeField input:focus,.fwFinalFeature input:focus{outline:0;border-color:#fff178}.fwCreatorPrompt{margin-top:12px}.fwFinalFeature{margin-top:13px}.fwFinalChecks{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.fwFinalChecks>small{grid-column:1/-1;color:#92eaff;font-size:9px;font-weight:1000}.fwFinalChecks button{min-height:92px;padding:9px;border:2px solid rgba(255,255,255,.11);border-radius:14px;background:#173d58;color:#fff;cursor:pointer}.fwFinalChecks span,.fwFinalChecks b,.fwFinalChecks small{display:block}.fwFinalChecks span{font-size:25px}.fwFinalChecks b{margin-top:5px;font-size:10px}.fwFinalChecks small{margin-top:4px;color:#a9c7d4;font-size:7px;font-weight:900}.fwFinalChecks button.done{border-color:#74e5a0;background:#226643}.fwCreatorMission.final{background:radial-gradient(circle at 90% 10%,rgba(255,224,92,.15),transparent 30%),linear-gradient(145deg,rgba(11,40,54,.9),rgba(50,35,88,.84))}
@media(max-width:900px){.fwCreatorJourney{display:flex;overflow-x:auto;scrollbar-width:none}.fwCreatorJourney::-webkit-scrollbar{display:none}.fwCreatorJourney>button{min-width:104px}.fwCreatorTrack{display:none}.fwUpgradeForm{grid-template-columns:1fr}.fwCreatorHow{grid-template-columns:30px 1fr}.fwFinalChecks{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.fwCreatorWorkshop{padding:10px}.fwCreatorJourney{margin-inline:-2px;padding:8px 6px}.fwCreatorJourney>button{min-width:92px;min-height:85px}.fwCreatorMission{padding:11px}.fwCreatorMissionHead{grid-template-columns:45px 1fr}.fwCreatorMissionHead>span{width:45px;height:45px;font-size:24px}.fwCreatorMissionHead>b{grid-column:1/-1;justify-self:start}.fwCreatorMissionHead h5{font-size:18px}.fwCreatorMissionHead p{font-size:10px}.fwCreatorHow{grid-template-columns:30px 1fr}.fwCreatorHow b:nth-of-type(n+2){margin-top:4px}.fwUpgradeChips button{min-height:40px;flex:1 1 130px}.fwFinalChecks{grid-template-columns:1fr 1fr}.fwFinalChecks button{min-height:88px}.fwIdeaPassport{align-items:flex-start}.fwIdeaPassport>span{font-size:38px}}
.fwCreatorReset{display:block;margin:7px 0 0 auto;padding:5px 8px;border:0;background:transparent;color:#7794a6;font-size:7px;font-weight:900;cursor:pointer}.fwCreatorReset:hover{color:#c8e9f5}

/* Koderia v59.43.0 · Day 3 IF / ELSE · controllable adventures */
.fwIfTheory,.fwIfDemo,.fwIfDetective,.fwIfCheck,.fwIfGate,.fwIfArena,.fwIfCreator{margin-top:14px}
.fwDay3TheoryStage .fwIfChapters,.fwDay3TheoryStage [data-fw-day3-theory-next]{display:none!important}
.fwIfChapters{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}.fwIfChapters button{min-height:70px;padding:8px;border:2px solid rgba(132,215,246,.12);border-radius:14px;background:#102f49;color:#a9c4d4;cursor:pointer;text-align:left}.fwIfChapters button span,.fwIfChapters button b{display:block}.fwIfChapters button span{font-size:21px}.fwIfChapters button b{margin-top:4px;font-size:9px;line-height:1.25}.fwIfChapters button.active{border-color:#fff075;background:linear-gradient(145deg,#314968,#5e4f9f);color:#fff}.fwIfChapters button.done{border-color:#68e39b;background:#174c3a;color:#d6ffe5}
.fwIfTheoryMain{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;margin-top:12px}.fwIfStory,.fwIfExperiment{padding:16px;border:1px solid rgba(140,220,250,.17);border-radius:20px;background:linear-gradient(145deg,rgba(8,34,54,.9),rgba(25,29,70,.78))}.fwIfStory>small,.fwIfExperiment>small{color:#86eaff;font-size:9px;font-weight:1000;letter-spacing:.09em}.fwIfStory h4{margin:6px 0 0;font-size:22px}.fwIfStory p{color:#c1d5df;font-size:13px;font-weight:700;line-height:1.55}.fwIfCode{margin-top:12px;padding:11px;border-radius:15px;background:#071a29;box-shadow:inset 0 0 0 1px rgba(101,229,255,.15)}.fwIfCode small{display:block;color:#73e8ff;font-size:8px;font-weight:1000}.fwIfCode pre{margin:7px 0 0;white-space:pre-wrap;color:#fff39a;font:900 13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.fwIfExperiment{display:flex;flex-direction:column;justify-content:center}.fwIfExperiment>span{font-size:49px}.fwIfExperiment h5{margin:8px 0;font-size:17px;line-height:1.35}
.fwIfMachine{display:grid;place-items:center;gap:8px;margin-top:13px;padding:16px;border:1px solid rgba(135,225,255,.17);border-radius:20px;background:radial-gradient(circle at 50% 10%,rgba(118,91,235,.22),transparent 38%),#081f33}.fwIfState{min-width:min(460px,100%);padding:12px 16px;border:2px solid rgba(112,232,255,.28);border-radius:14px;background:#123b57;text-align:center}.fwIfState small,.fwIfState strong{display:block}.fwIfState small{color:#88eaff;font-size:8px;font-weight:1000}.fwIfState strong{margin-top:4px;font:1000 15px ui-monospace,SFMono-Regular,Menlo,monospace}.fwIfArrow{font-size:25px;color:#fff17b}.fwIfMachine pre{width:min(650px,100%);margin:0;padding:14px;border-radius:14px;background:#04131f;color:#d9f8ff;white-space:pre-wrap;font:900 13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.fwIfSplit{display:flex;align-items:center;gap:10px}.fwIfSplit span{padding:8px 18px;border-radius:12px;background:#684fbd;color:#fff;font-weight:1000}.fwIfSplit span:last-child{background:#316785}.fwIfSplit i{color:#8ca8b9;font-size:9px;font-style:normal;font-weight:1000}.fwIfQuestion{margin-top:12px;padding:14px;border:1px solid rgba(137,220,249,.15);border-radius:18px;background:rgba(8,28,46,.72)}.fwIfQuestion h5{margin:0 0 10px;font-size:18px}
.fwIfClue{display:flex;align-items:center;gap:15px;margin-top:13px;padding:15px;border:2px solid rgba(255,226,98,.2);border-radius:18px;background:linear-gradient(135deg,rgba(84,61,17,.34),rgba(49,39,93,.38))}.fwIfClue span{flex:0 0 auto;padding:10px 14px;border-radius:12px;background:#071e30;color:#fff49a;font:1000 14px ui-monospace,SFMono-Regular,Menlo,monospace}.fwIfClue h5{margin:0;font-size:18px;line-height:1.35}.fwIfDetective .fwDataBlocks code{font:900 11px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace}
.fwIfCheck .fwLabHeading h4{font:1000 21px ui-monospace,SFMono-Regular,Menlo,monospace;color:#fff18a}
.fwIfGateGrid{display:grid;grid-template-columns:1.25fr .75fr;gap:11px;margin-top:13px}.fwIfDashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.fwIfDashboard>div{min-height:85px;display:grid;place-items:center;align-content:center;padding:8px;border:1px solid rgba(139,219,248,.16);border-radius:15px;background:#0b2d46}.fwIfDashboard span,.fwIfDashboard b,.fwIfDashboard small{display:block}.fwIfDashboard span{font-size:22px}.fwIfDashboard b{margin-top:3px;color:#fff386;font-size:16px}.fwIfDashboard small{margin-top:3px;color:#87adbf;font-size:8px;font-weight:1000}.fwIfGateCondition{display:grid;place-items:center;align-content:center;padding:14px;border:2px solid rgba(131,222,253,.22);border-radius:17px;background:#071e30;text-align:center}.fwIfGateCondition small{color:#89eaff;font-size:8px;font-weight:1000}.fwIfGateCondition code{display:block;margin-top:8px;color:#fff4a0;font:1000 12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace}.fwIfGateCondition>div{width:78px;height:42px;display:grid;place-items:center;margin-top:12px;border-radius:12px;background:#1b3a4d;color:#8da8b8;font-size:11px;font-weight:1000}.fwIfGateCondition>div.true{background:#1c8050;color:#e3ffed;box-shadow:0 0 22px rgba(82,233,151,.25)}.fwIfGateCondition>div.false{background:#803843;color:#ffe4e8}.fwIfGateActions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:11px}.fwIfGateActions button{min-height:70px;padding:8px;border:1px solid rgba(135,221,251,.17);border-radius:14px;background:#133d58;color:#fff;cursor:pointer}.fwIfGateActions button span,.fwIfGateActions button b{display:block}.fwIfGateActions button span{font-size:23px}.fwIfGateActions button b{margin-top:5px;font-size:8px}.fwIfGateActions button:disabled{opacity:.35}
.fwArenaTop{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid rgba(136,221,250,.16);border-radius:18px;background:linear-gradient(135deg,#0b304a,#342d70)}.fwArenaTop small{color:#8ae9ff;font-size:8px;font-weight:1000}.fwArenaTop h4{margin:4px 0 0;font-size:21px}.fwArenaTop>div:last-child{min-width:95px;padding:8px 12px;border-radius:13px;background:#071c2c;text-align:center}.fwArenaTop>div:last-child span,.fwArenaTop>div:last-child b,.fwArenaTop>div:last-child small{display:block}.fwArenaTop>div:last-child b{color:#fff071;font-size:25px}.fwArenaScene{display:grid;place-items:center;gap:8px;margin-top:12px;padding:18px;border:2px solid rgba(255,234,101,.16);border-radius:20px;background:radial-gradient(circle at center,rgba(106,85,215,.23),transparent 50%),#071d30}.fwArenaScene>span{font-size:52px}.fwArenaScene strong{font:1000 15px ui-monospace,SFMono-Regular,Menlo,monospace}.fwArenaScene code{padding:9px 14px;border-radius:11px;background:#030e18;color:#84edff;font:1000 13px ui-monospace,SFMono-Regular,Menlo,monospace}.fwArenaBranches{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:11px}.fwArenaBranches button{min-height:120px;padding:14px;border:2px solid rgba(255,255,255,.1);border-radius:18px;background:linear-gradient(145deg,#245a43,#153c53);color:#fff;cursor:pointer}.fwArenaBranches button:last-child{background:linear-gradient(145deg,#563d85,#2b4668)}.fwArenaBranches small,.fwArenaBranches span,.fwArenaBranches b{display:block}.fwArenaBranches small{color:#a8f1c4;font-size:8px;font-weight:1000}.fwArenaBranches button:last-child small{color:#d6c5ff}.fwArenaBranches span{margin-top:8px;font-size:15px;font-weight:900}.fwArenaBranches b{margin-top:8px;color:#fff28b;font-size:22px}.fwArenaBranches button:disabled{opacity:.52}
.fwIfRuleBuilder{margin-top:14px;padding:14px;border:1px solid rgba(139,220,250,.16);border-radius:20px;background:#091f34}.fwIfRule{display:grid;grid-template-columns:36px 1fr 1fr 1fr;align-items:end;gap:8px;margin-top:9px}.fwIfRule>b{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#fff17d;color:#3b2d00}.fwIfRule label{color:#82e9ff;font-size:8px;font-weight:1000}.fwIfRule input{width:100%;height:43px;margin-top:5px;padding:0 9px;border:1px solid rgba(135,220,250,.24);border-radius:10px;background:#0d3049;color:#fff;font-size:11px;font-weight:800;user-select:text;-webkit-user-select:text}.fwIfPromptRoad{display:grid;gap:11px;margin-top:13px}.fwIfPromptCard{padding:14px;border:1px solid rgba(137,219,249,.15);border-radius:18px;background:linear-gradient(145deg,#0a293f,#242654)}.fwIfPromptCard>div:first-child{display:grid;grid-template-columns:42px auto 1fr;align-items:center;gap:7px}.fwIfPromptCard>div:first-child span{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#5e4e9e;font-size:22px}.fwIfPromptCard>div:first-child small{color:#89eaff;font-size:8px;font-weight:1000}.fwIfPromptCard>div:first-child h5{margin:0;font-size:16px}.fwIfPromptCard>button{min-height:43px;margin-top:10px;padding:0 13px;border:0;border-radius:12px;background:linear-gradient(#fff183,#efb93b);box-shadow:0 4px 0 #8b651c;color:#382a00;font-size:10px;font-weight:1000;cursor:pointer}.fwIfPromptCard>button:disabled{opacity:.35;box-shadow:none}.fwIfPromptCard textarea{width:100%;min-height:180px;margin-top:10px;padding:11px;border:1px solid rgba(130,218,250,.2);border-radius:12px;background:#041522;color:#d8edf6;resize:vertical;font:700 10px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;user-select:text;-webkit-user-select:text}.fwIfPromptCard>p{margin:8px 0 0;color:#7694a6;font-size:9px}.fwIfPromptCard.done{border-color:rgba(106,230,158,.35)}
@media(max-width:900px){.fwIfChapters{grid-template-columns:repeat(2,1fr)}.fwIfTheoryMain,.fwIfGateGrid{grid-template-columns:1fr}.fwIfGateActions{grid-template-columns:repeat(2,1fr)}.fwIfRule{grid-template-columns:34px 1fr}.fwIfRule label{grid-column:2}.fwIfRule>b{grid-row:1/4;align-self:start;margin-top:18px}}
@media(max-width:560px){.fwIfChapters{display:flex;overflow-x:auto;scrollbar-width:none}.fwIfChapters button{min-width:145px}.fwIfTheoryMain{gap:8px}.fwIfStory,.fwIfExperiment{padding:11px}.fwIfStory h4{font-size:18px}.fwIfMachine{padding:10px}.fwIfMachine pre{font-size:10px}.fwIfClue{align-items:flex-start;flex-direction:column}.fwIfDashboard{grid-template-columns:repeat(2,1fr)}.fwIfGateActions{grid-template-columns:1fr 1fr}.fwArenaBranches{grid-template-columns:1fr}.fwArenaBranches button{min-height:95px}.fwIfRule{grid-template-columns:30px 1fr}.fwIfRule>b{width:30px;height:30px}.fwIfPromptCard textarea{min-height:220px}.fwFinalChecks{grid-template-columns:1fr 1fr}}

/* Day 3 playable IF / ELSE labs. */
.fwIfCatcher,.fwIfSorter,.fwIfRunner{margin-top:14px}.fwCatchRule{margin-top:11px;padding:12px 15px;border:1px solid rgba(128,229,255,.2);border-radius:17px;background:linear-gradient(135deg,#0a2d47,#2a285f)}.fwCatchRule small{display:block;color:#8cecff;font-size:8px;font-weight:1000}.fwCatchRule code{display:block;margin-top:5px;color:#fff27e;font:1000 15px ui-monospace,SFMono-Regular,Menlo,monospace}.fwCatchRule p{margin:6px 0 0;color:#bcd5df;font-size:10px;font-weight:750}.fwCatchField{position:relative;height:330px;margin-top:11px;overflow:hidden;border:2px solid rgba(116,228,255,.2);border-radius:22px;background:radial-gradient(circle at 50% 110%,rgba(100,239,180,.3),transparent 33%),radial-gradient(circle at 20% 10%,rgba(123,91,231,.3),transparent 30%),#061c2d}.fwCatchField:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.28) 1px,transparent 1px);background-size:31px 31px;opacity:.45}.fwCatchField>button{position:absolute;z-index:2;left:var(--x);top:var(--y);min-width:74px;min-height:62px;padding:6px;border:2px solid rgba(255,255,255,.2);border-radius:17px;background:linear-gradient(145deg,#224d6a,#4e3b88);color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.25);cursor:pointer;animation:fwCatchFloat var(--speed) ease-in-out infinite alternate;transform:translate(-50%,-50%)}.fwCatchField>button:hover{border-color:#fff27a;filter:brightness(1.16)}.fwCatchField>button span,.fwCatchField>button b{display:block}.fwCatchField>button span{font-size:25px}.fwCatchField>button b{margin-top:3px;font-size:8px;white-space:nowrap}.fwCatchBasket{position:absolute;z-index:1;left:50%;bottom:8px;display:grid;place-items:center;transform:translateX(-50%);font-size:35px}.fwCatchBasket small{display:block;color:#8cecff;font-size:7px;font-weight:1000}@keyframes fwCatchFloat{from{translate:-9px -7px;rotate:-3deg}to{translate:10px 9px;rotate:4deg}}
.fwConveyor{position:relative;height:190px;margin-top:12px;overflow:hidden;border:2px solid rgba(136,222,251,.17);border-radius:20px;background:#071b2a}.fwConveyor:after{content:"";position:absolute;left:0;right:0;bottom:24px;height:22px;background:repeating-linear-gradient(90deg,#315168 0 25px,#182f40 25px 50px);animation:fwBelt 1.1s linear infinite}.fwConveyor>i{position:absolute;left:0;right:0;bottom:15px;height:10px;border-radius:10px;background:#08121a}.fwParcel{position:absolute;z-index:2;top:22px;left:50%;width:min(390px,80%);min-height:125px;display:grid;place-items:center;align-content:center;gap:5px;padding:12px;border:3px solid #d49c45;border-radius:16px;background:linear-gradient(145deg,#5b3f29,#8d6036);box-shadow:0 12px 25px rgba(0,0,0,.3);transform:translateX(-50%);animation:fwParcelBob 1.4s ease-in-out infinite alternate}.fwParcel span{font-size:32px}.fwParcel strong{font:1000 12px ui-monospace,SFMono-Regular,Menlo,monospace}.fwParcel code{padding:6px 8px;border-radius:8px;background:#211810;color:#fff18a;font:900 10px ui-monospace,SFMono-Regular,Menlo,monospace}.fwSortBins{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.fwSortBins button{min-height:108px;padding:12px;border:2px solid rgba(255,255,255,.14);border-radius:18px;background:linear-gradient(145deg,#1d704b,#16405a);color:#fff;cursor:pointer}.fwSortBins button:last-child{background:linear-gradient(145deg,#693f86,#2d4568)}.fwSortBins span,.fwSortBins b,.fwSortBins small{display:block}.fwSortBins span{font-size:27px}.fwSortBins b{margin-top:5px;font-size:12px}.fwSortBins small{margin-top:5px;color:#c7dbe5;font-size:9px}@keyframes fwBelt{to{background-position:50px 0}}@keyframes fwParcelBob{to{translate:0 5px;rotate:1deg}}
.fwRunnerRoad{margin-top:12px;padding:15px;border:2px solid rgba(136,222,251,.17);border-radius:22px;background:radial-gradient(circle at 50% 100%,rgba(83,226,162,.2),transparent 35%),linear-gradient(#071b2c,#142b4e)}.fwRunnerProgress{display:grid;grid-template-columns:repeat(12,1fr);gap:4px}.fwRunnerProgress i{height:25px;display:grid;place-items:center;border-radius:8px;background:#19374e;color:#7898aa;font-size:8px;font-style:normal;font-weight:1000}.fwRunnerProgress i.done{background:#27835a;color:#fff}.fwRunnerProgress i.active{background:#fff071;color:#352900;box-shadow:0 0 16px rgba(255,239,94,.4)}.fwRunnerHero{display:grid;place-items:center;gap:4px;margin:15px auto 8px;font-size:48px}.fwRunnerHero small{padding:5px 9px;border-radius:9px;background:#0a1824;color:#fff;font:900 10px ui-monospace,SFMono-Regular,Menlo,monospace}.fwRunnerRoad>code{display:block;width:max-content;max-width:100%;margin:auto;padding:8px 12px;border-radius:10px;background:#031019;color:#83edff;font:1000 12px ui-monospace,SFMono-Regular,Menlo,monospace}.fwRunnerGate{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:13px}.fwRunnerGate button{position:relative;min-height:110px;padding:12px;border:4px solid #67d89a;border-radius:18px;background:rgba(26,111,72,.42);color:#fff;cursor:pointer}.fwRunnerGate button:last-child{border-color:#a98cec;background:rgba(88,57,134,.45)}.fwRunnerGate b,.fwRunnerGate span{display:block}.fwRunnerGate b{color:#fff077;font-size:25px}.fwRunnerGate span{margin-top:7px;font-size:10px;font-weight:900}.fwIfRunner.fail{border-color:#f17883}
@media(max-width:620px){.fwCatchField{height:390px}.fwCatchField>button{min-width:68px}.fwSortBins,.fwRunnerGate{grid-template-columns:1fr;gap:8px}.fwRunnerGate button{min-height:86px}.fwRunnerProgress{grid-template-columns:repeat(6,1fr)}}

/* Controllable adventures inserted between Day 3 theory pairs. */
.fwIfAdventure{margin-top:14px}.fwAdventureBrief{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:10px;margin-top:11px;padding:11px 13px;border:1px solid rgba(130,224,255,.18);border-radius:17px;background:linear-gradient(135deg,#0c3049,#302b68)}.fwAdventureBrief p{margin:0;color:#d4e5ec;font-size:11px;font-weight:800;line-height:1.45}.fwAdventureBrief code{padding:9px 11px;border-radius:11px;background:#051722;color:#fff18a;font:900 10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.fwAdventureLayout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px;margin-top:11px}.fwAdventureGrid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:4px;padding:9px;border:3px solid #24516b;border-radius:20px;background:radial-gradient(circle at 50% 100%,rgba(55,195,132,.2),transparent 38%),#071b2c;box-shadow:inset 0 0 30px rgba(0,0,0,.35)}.fwAdventureCell{position:relative;aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(137,220,248,.08);border-radius:9px;background:rgba(26,65,86,.54);font-size:22px}.fwAdventureCell:nth-child(3n){background:rgba(31,73,92,.65)}.fwAdventureCell.wall{background:#273541;box-shadow:inset 0 -5px 0 #17232d}.fwAdventureCell.target{border:2px solid #fff074;background:rgba(100,77,160,.55);animation:fwAdventureTarget 1.2s ease-in-out infinite alternate}.fwAdventureCell.hazard{background:rgba(109,43,57,.55)}.fwAdventureCell i{position:absolute;z-index:2;display:grid;place-items:center;width:72%;height:72%;border-radius:50%;background:radial-gradient(circle,#7deaff,#246489);box-shadow:0 5px 11px rgba(0,0,0,.35);font-size:22px;font-style:normal;animation:fwAdventureHero .55s ease-in-out infinite alternate}.fwAdventureLegend{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.fwAdventureLegend span{padding:5px 7px;border-radius:8px;background:#102d42;color:#b7d0dc;font-size:7px;font-weight:900}.fwAdventureLayout aside{padding:12px;border:1px solid rgba(139,220,249,.16);border-radius:18px;background:#091f33}.fwAdventureLayout aside>small{color:#89eaff;font-size:8px;font-weight:1000}.fwAdventureLayout aside>strong{display:block;margin-top:6px;padding:9px;border-radius:11px;background:#07141e;color:#fff18b;font:900 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.fwAdventureCondition{margin-top:7px;padding:8px;border-radius:10px;background:#713b47;color:#ffe1e5;font-size:9px;font-weight:1000;text-align:center}.fwAdventureCondition.true{background:#247b50;color:#ddffea}.fwAdventureControls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:11px}.fwAdventureControls button{min-height:55px;padding:5px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#214b65;color:#fff;font-size:20px;font-weight:1000;cursor:pointer;touch-action:manipulation}.fwAdventureControls button:first-child{grid-column:2}.fwAdventureControls .interact{min-height:64px;background:linear-gradient(#7d67d8,#4c3d9a);font-size:23px}.fwAdventureControls .interact.ready{border-color:#fff06f;box-shadow:0 0 19px rgba(255,239,100,.3)}.fwAdventureControls button:last-child{grid-column:2}.fwAdventureControls small{display:block;margin-top:3px;color:#b9d1dc;font-size:6px;font-weight:900}.fwAdventureReset{width:100%;min-height:36px;margin-top:8px;border:0;border-radius:10px;background:#172f42;color:#94adba;font-size:8px;font-weight:900;cursor:pointer}@keyframes fwAdventureTarget{to{box-shadow:0 0 23px rgba(255,239,92,.34)}}@keyframes fwAdventureHero{to{translate:0 -3px}}
@media(max-width:760px){.fwAdventureBrief,.fwAdventureLayout{grid-template-columns:1fr}.fwAdventureLayout aside{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fwAdventureLayout aside>small,.fwAdventureLayout aside>strong,.fwAdventureCondition{grid-column:1/-1}.fwAdventureControls{margin-top:0}.fwAdventureReset{align-self:end}.fwAdventureCell{font-size:18px}.fwAdventureCell i{font-size:19px}}
@media(max-width:480px){.fwAdventureGrid{gap:2px;padding:5px;border-radius:15px}.fwAdventureCell{border-radius:6px;font-size:15px}.fwAdventureCell i{font-size:16px}.fwAdventureLayout aside{grid-template-columns:1fr}.fwAdventureControls,.fwAdventureReset{grid-column:1}.fwAdventureBrief{padding:9px}.fwAdventureBrief code{font-size:8px}}


/* day6-redstone.css */
/* Koderia v59.65.0 · Redstone lesson */
.rsLessonOverlay{position:fixed;inset:0;z-index:2147483638;display:none;background:radial-gradient(circle at 25% 10%,#2a1d12 0,#111827 40%,#070b12 100%);color:#f8fafc;font-family:Inter,system-ui,-apple-system,sans-serif}.rsLessonOverlay.open{display:block}.rsLessonShell{height:100%;display:flex;flex-direction:column}.rsLessonHead{height:82px;flex:0 0 82px;display:flex;align-items:center;gap:18px;padding:0 20px;border-bottom:1px solid #ffffff18;background:#090d14e8;backdrop-filter:blur(18px)}.rsBack,.rsClose{border:1px solid #ffffff1c;background:#ffffff0d;color:#fff;border-radius:14px;height:44px;padding:0 16px;font-weight:800;cursor:pointer}.rsClose{width:44px;padding:0;font-size:26px}.rsLessonBrand{display:flex;gap:12px;align-items:center;min-width:0;flex:1}.rsLessonBrand>span{font-size:32px;filter:drop-shadow(0 0 12px #f59e0b99)}.rsLessonBrand small,.rsStageHero small,.rsCard>small,.rsSandboxTop small{display:block;color:#fbbf24;font-size:11px;font-weight:900;letter-spacing:.12em}.rsLessonBrand h2{margin:2px 0 0;font-size:21px}.rsLessonProgress{width:180px}.rsLessonProgress small{font-size:10px;color:#94a3b8}.rsLessonProgress b{float:right}.rsLessonProgress i{display:block;clear:both;height:7px;background:#ffffff12;border-radius:20px;margin-top:7px;overflow:hidden}.rsLessonProgress u{display:block;height:100%;background:linear-gradient(90deg,#f59e0b,#fde047);border-radius:inherit}.rsLessonBody{min-height:0;flex:1;display:grid;grid-template-columns:270px 1fr}.rsRail{overflow:auto;padding:14px;background:#080c12c8;border-right:1px solid #ffffff12}.rsRailStep{width:100%;display:flex;align-items:center;gap:10px;text-align:left;margin:4px 0;padding:10px;border:1px solid transparent;background:transparent;color:#94a3b8;border-radius:12px}.rsRailStep.current{background:#f59e0b17;border-color:#f59e0b55;color:#fff}.rsRailStep.done{color:#86efac}.rsRailStep>span{width:28px;text-align:center;font-size:18px}.rsRailStep div{min-width:0}.rsRailStep small{display:block;font-size:9px;opacity:.7}.rsRailStep b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rsRailBreak{padding:10px 12px;margin:7px 0;color:#86efac;font-size:11px;border-top:1px dashed #ffffff22;border-bottom:1px dashed #ffffff22}.rsStage{position:relative;overflow:auto;padding:28px 30px 60px}.rsStageHero{display:flex;gap:18px;align-items:flex-start;max-width:980px;margin:0 auto 22px}.rsStageIcon{width:74px;height:74px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(145deg,#f59e0b24,#ef444424);border:1px solid #f59e0b55;font-size:38px;box-shadow:0 15px 45px #0006}.rsStageHero h3{font-size:32px;margin:3px 0 7px}.rsStageHero p{margin:0;color:#cbd5e1;line-height:1.6;max-width:780px;font-size:16px}.rsStageGrid{max-width:980px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.rsCard{background:linear-gradient(145deg,#111827e8,#0b1220e8);border:1px solid #ffffff16;border-radius:20px;padding:20px;box-shadow:0 14px 40px #0004}.rsCard h4{font-size:20px;margin:6px 0 14px}.rsAnswers{display:grid;gap:9px}.rsAnswers button,.rsPrimary,.rsPower,.rsBits button,.rsAdder button,.rsDebugLine button{min-height:46px;border:1px solid #ffffff1c;border-radius:13px;background:#ffffff0b;color:#fff;font-weight:800;cursor:pointer}.rsAnswers button:hover,.rsPrimary:hover{border-color:#f59e0b99;background:#f59e0b14}.rsAnswers button.correct,.rsDebugLine button.correct{background:#22c55e28;border-color:#22c55e}.rsAnswers button.wrong,.rsDebugLine button.wrong{background:#ef444424;border-color:#ef4444}.rsFeedback{min-height:44px;margin-top:12px;padding:10px 12px;border-radius:12px;background:#ffffff08}.rsFeedback b,.rsFeedback span{display:block}.rsFeedback span{color:#cbd5e1;font-size:13px;margin-top:3px}.rsSignalDemo{display:flex;align-items:center;justify-content:center;gap:12px;padding:28px 4px}.rsSignalDemo i{height:6px;flex:1;max-width:150px;border-radius:10px;background:#334155;box-shadow:0 0 0 1px #fff1}.rsPower{padding:0 14px;background:#f59e0b30;border-color:#f59e0b}.rsPower.off{background:#ffffff08;border-color:#475569}.rsLamp{font-size:40px;filter:grayscale(1) brightness(.5)}.rsLamp.on{filter:none;drop-shadow:0 0 18px #fde047}.rsBits{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.rsBits button{padding:12px 6px}.rsBits button.on{background:#f59e0b2b;border-color:#f59e0b}.rsBits button b{display:block;font-size:26px}.rsBits button small{color:#94a3b8}.rsBinaryValue{text-align:center;font-size:17px;margin:10px 0 15px}.rsTruth{display:grid;gap:7px;margin-top:14px}.rsTruth>div{display:flex;justify-content:center;align-items:center;gap:9px}.rsTruth span{width:42px;height:36px;display:grid;place-items:center;background:#ffffff0b;border-radius:10px;font-weight:900}.rsTruth span.out{background:#f59e0b20;color:#fde68a}.rsDesign,.rsCreator{grid-column:1/-1}.rsDesign label{display:grid;gap:5px;margin:10px 0;color:#cbd5e1}.rsDesign input,.rsDesign select,.rsCreator textarea{width:100%;box-sizing:border-box;border:1px solid #ffffff1c;border-radius:12px;background:#060a11;color:#fff;padding:12px;font:inherit}.rsCreator textarea{min-height:170px;resize:vertical;line-height:1.5}.rsPromptChecklist{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0}.rsPromptChecklist label{padding:8px 10px;border-radius:10px;background:#ffffff08}.rsPrimary{padding:0 18px;background:linear-gradient(135deg,#d97706,#f59e0b);border-color:#fbbf24;color:#111827}.rsAdder,.rsDebugLine,.rsFlowBlocks{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px 0}.rsAdder button{width:52px}.rsAdder div{padding:10px;border-radius:12px;background:#ffffff09}.rsFlowBlocks span{padding:12px 14px;border:1px solid #ffffff18;border-radius:12px;background:#ffffff08}.rsCompleteStamp{max-width:980px;margin:16px auto 0;padding:13px 16px;border:1px solid #22c55e55;background:#22c55e16;color:#86efac;border-radius:14px;font-weight:900}.rsBreak{height:70vh;display:grid;place-items:center;align-content:center;text-align:center}.rsBreak span{font-size:70px}.rsBreak h3{font-size:32px;margin:12px}.rsBreak p{max-width:520px;color:#cbd5e1;line-height:1.6}.rsParticle{position:absolute;top:44%;font-style:normal;animation:rsPop 1s ease-out forwards;pointer-events:none;font-size:20px}@keyframes rsPop{to{transform:translate(var(--dx),-180px) rotate(320deg);opacity:0}}.rsSandbox{max-width:1180px;margin:auto}.rsSandboxTop{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:14px}.rsSandboxTop h4{font-size:25px;margin:4px 0}.rsSandboxTop p{margin:0;color:#cbd5e1}.rsModeSwitch{display:flex;padding:4px;background:#ffffff0b;border:1px solid #ffffff16;border-radius:14px}.rsModeSwitch button{border:0;background:transparent;color:#94a3b8;padding:10px 12px;border-radius:10px;font-weight:800;cursor:pointer}.rsModeSwitch button.on{background:#f59e0b25;color:#fde68a}.rsSandboxMain{display:grid;grid-template-columns:170px 1fr;gap:12px}.rsPalette{display:grid;align-content:start;gap:6px;padding:10px;border-radius:16px;background:#080c12;border:1px solid #ffffff12;max-height:610px;overflow:auto}.rsPalette button{min-height:38px;text-align:left;padding:0 9px;border-radius:9px;border:1px solid #ffffff12;background:#ffffff08;color:#e2e8f0;cursor:pointer}.rsPalette button.on{border-color:#f59e0b;background:#f59e0b1d;color:#fde68a}.rsBoardWrap{min-width:0}.rsBoard{display:grid;grid-template-columns:repeat(12,minmax(38px,1fr));gap:3px;padding:9px;background:#06090e;border:1px solid #ffffff15;border-radius:16px;overflow:auto}.rsCell{aspect-ratio:1;border:1px solid #ffffff0e;border-radius:7px;background:linear-gradient(145deg,#16202c,#0c131c);color:#fff;font-size:20px;cursor:pointer}.rsCell:hover{border-color:#f59e0b66}.rsCell.filled{background:#2b1d0d;border-color:#f59e0b55}.rsSandboxActions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.rsSandboxActions>button:not(.rsPrimary){border:1px solid #ffffff16;border-radius:11px;background:#ffffff09;color:#fff;padding:0 14px}.rsSandboxFeedback{margin-top:9px;min-height:46px;padding:10px 12px;border-radius:12px;background:#ffffff08}.rsSandboxFeedback b,.rsSandboxFeedback span{display:block}.rsSandboxFeedback span{color:#cbd5e1;font-size:13px;margin-top:3px}body.rsLessonOpen> :not(#rsLessonOverlay):not(script):not(style){pointer-events:none}
@media(max-width:850px){.rsLessonHead{height:auto;min-height:72px;padding:9px 10px;gap:8px}.rsBack{font-size:0;width:44px;padding:0}.rsBack:after{content:'←';font-size:20px}.rsLessonBrand h2{font-size:16px}.rsLessonBrand small{font-size:9px}.rsLessonProgress{display:none}.rsLessonBody{grid-template-columns:1fr}.rsRail{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid #ffffff12;padding:7px}.rsRailStep{min-width:52px;width:52px;height:48px;padding:6px;justify-content:center}.rsRailStep div{display:none}.rsRailBreak{min-width:48px;font-size:0}.rsRailBreak:first-letter{font-size:18px}.rsStage{padding:18px 12px 45px}.rsStageHero{gap:11px}.rsStageIcon{width:54px;height:54px;font-size:28px;border-radius:16px}.rsStageHero h3{font-size:23px}.rsStageHero p{font-size:14px}.rsStageGrid{grid-template-columns:1fr}.rsSandboxTop{display:block}.rsModeSwitch{margin-top:12px;width:max-content}.rsSandboxMain{grid-template-columns:1fr}.rsPalette{display:flex;overflow-x:auto;max-height:none}.rsPalette button{min-width:max-content;padding:0 10px}.rsBoard{grid-template-columns:repeat(12,42px)}.rsCell{width:42px}.rsDesign,.rsCreator{grid-column:auto}}
/* REDSTONE_CLASSIC_UI_V1
   Restore Day 6 visual language to the normal Koderia lesson shell.
   This file is appended after the existing day6-redstone.css rules.
*/

.rsLessonOverlay,
.rsLessonOverlay *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}

.rsLessonOverlay{
  position:fixed;inset:0;z-index:2147483638;
  display:none;place-items:center;padding:10px;
  background:rgba(2,10,22,.76);
  backdrop-filter:blur(9px);
  color:#ecf8ff;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.rsLessonOverlay.open{display:grid}

.rsLessonShell{
  width:min(1320px,calc(100vw - 18px));
  height:min(850px,calc(100dvh - 18px));
  overflow:hidden;
  display:flex;flex-direction:column;
  border:1px solid rgba(129,225,255,.27);
  border-radius:28px;
  background:linear-gradient(150deg,#0a1d32,#101931 58%,#191a3b);
  box-shadow:0 30px 90px rgba(0,0,0,.55);
}

.rsLessonHead{
  height:78px;flex:0 0 78px;
  display:flex;align-items:center;gap:12px;
  padding:10px 14px;
  border-bottom:1px solid rgba(143,219,255,.18);
  background:rgba(4,20,36,.82);
  backdrop-filter:none;
}
.rsBack,.rsClose{
  height:46px;
  border:0;
  border-radius:15px;
  cursor:pointer;
  font-weight:1000;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
.rsBack{
  padding:0 14px;
  background:rgba(20,57,83,.82);
  color:#dff7ff;
  border:1px solid rgba(129,225,255,.20);
}
.rsClose{
  width:46px;padding:0;
  background:#ffd76b;
  color:#382b08;
  box-shadow:0 5px 0 #997228;
  font-size:25px;
}
.rsBack:active,.rsClose:active{transform:translateY(2px)}

.rsLessonBrand{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.rsLessonBrand>span{
  width:52px;height:52px;display:grid;place-items:center;
  border-radius:17px;
  background:linear-gradient(145deg,#59e5ff,#725eff);
  box-shadow:0 10px 25px rgba(62,155,255,.24);
  font-size:27px;filter:none;
}
.rsLessonBrand small,.rsStageHero small,.rsCard>small,.rsSandboxTop small{
  color:#8feaff;
  font-size:10px;font-weight:1000;letter-spacing:.12em;
}
.rsLessonBrand h2{margin:4px 0 0;font-size:24px;line-height:1.1}

.rsLessonProgress{
  width:205px;padding:7px 11px;
  border:1px solid rgba(255,220,103,.27);
  border-radius:13px;background:rgba(76,54,9,.32);
}
.rsLessonProgress small{font-size:9px;color:#e4c978;font-weight:1000;letter-spacing:.08em}
.rsLessonProgress b{float:right;font-size:13px}
.rsLessonProgress i{display:block;clear:both;height:7px;margin-top:7px;overflow:hidden;border-radius:20px;background:rgba(255,255,255,.08)}
.rsLessonProgress u{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#62e8ff,#9b86ff)}

.rsLessonBody{min-height:0;flex:1;display:grid;grid-template-columns:320px 1fr}
.rsRail{
  overflow:auto;padding:12px;
  background:rgba(4,17,30,.64);
  border-right:1px solid rgba(143,219,255,.18);
  scrollbar-width:thin;scrollbar-color:#3c6c8c #0b1b2c;
}
.rsRailStep{
  width:100%;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:9px;
  margin:0 0 6px;padding:8px;
  border:1px solid rgba(144,213,241,.12);
  border-radius:14px;
  background:rgba(15,43,66,.62);
  color:#9eb8ca;text-align:left;
}
.rsRailStep.current{
  color:#fff;
  border-color:rgba(101,229,255,.55);
  background:linear-gradient(135deg,rgba(27,93,121,.72),rgba(63,52,127,.72));
  box-shadow:0 8px 22px rgba(46,163,216,.10);
}
.rsRailStep.done{color:#bffbd4;border-color:rgba(94,232,153,.30);background:rgba(17,82,58,.38)}
.rsRailStep>span{
  width:35px;height:35px;display:grid;place-items:center;
  border-radius:11px;background:rgba(255,255,255,.09);
  font-size:18px;
}
.rsRailStep small{display:block;color:#7899ad;font-size:8px;font-weight:900}
.rsRailStep b{display:block;margin-top:2px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rsRailBreak{
  padding:10px 12px;margin:8px 0;
  color:#bffbd4;font-size:10px;font-weight:900;
  border:1px dashed rgba(110,231,164,.28);
  border-radius:12px;background:rgba(26,71,56,.46);
}

.rsStage{position:relative;overflow:auto;padding:18px 18px 48px;background:transparent}
.rsStageHero{display:flex;gap:13px;align-items:flex-start;max-width:980px;margin:0 auto 14px}
.rsStageIcon{
  width:58px;height:58px;flex:0 0 58px;
  display:grid;place-items:center;
  border:0;border-radius:18px;
  background:linear-gradient(145deg,#4bdff3,#7969ef);
  box-shadow:none;font-size:29px;
}
.rsStageHero h3{font-size:26px;line-height:1.12;margin:5px 0 0}
.rsStageHero p{max-width:760px;margin:7px 0 0;color:#b9cfde;font-size:14px;font-weight:700;line-height:1.5}

.rsStageGrid{max-width:980px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rsCard{
  padding:14px;
  border:1px solid rgba(143,219,255,.18);
  border-radius:19px;
  background:rgba(8,30,49,.72);
  box-shadow:none;
}
.rsCard h4{font-size:18px;margin:4px 0 12px}
.rsCard p{color:#bed2df;line-height:1.55}

.rsAnswers{display:grid;gap:8px}
.rsAnswers button,.rsPrimary,.rsPower,.rsBits button,.rsAdder button,.rsDebugLine button{
  min-height:46px;
  border:1px solid rgba(143,219,255,.19);
  border-radius:13px;
  background:#173f5d;
  color:#fff;font-weight:900;cursor:pointer;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease,border-color .16s ease;
}
@media(hover:hover){
  .rsAnswers button:hover,.rsPrimary:hover,.rsPower:hover,.rsBits button:hover,.rsAdder button:hover,.rsDebugLine button:hover{
    transform:translateY(-2px);filter:brightness(1.13);box-shadow:0 8px 20px rgba(62,208,255,.14);border-color:rgba(98,232,255,.55)
  }
}
.rsAnswers button.correct,.rsDebugLine button.correct{background:#236846;border-color:#6ee7a4}
.rsAnswers button.wrong,.rsDebugLine button.wrong{background:#743844;border-color:#ff806f}
.rsFeedback,.rsSandboxFeedback{
  min-height:44px;margin-top:10px;padding:10px 12px;
  border:1px solid rgba(143,219,255,.10);
  border-radius:13px;background:rgba(5,20,35,.58)
}
.rsFeedback span,.rsSandboxFeedback span{color:#b9cfde;font-size:12px}

.rsSignalDemo{display:flex;align-items:center;justify-content:center;gap:12px;padding:28px 4px}
.rsSignalDemo i{background:#294b61;border:0;box-shadow:none}
.rsPower{padding:0 14px;background:linear-gradient(145deg,#297895,#5c4eb1);border-color:rgba(98,232,255,.55)}
.rsPower.off{background:#17354d;border-color:rgba(143,219,255,.16)}
.rsLamp.on{filter:none;drop-shadow:0 0 18px #ffd761}

.rsBits button.on{background:#5b4aa1;border-color:#9b86ff}
.rsBits button small{color:#a9c2d6}
.rsTruth span{background:#123651}
.rsTruth span.out{background:#5a4a91;color:#fff4a7}

.rsDesign label{color:#b9cfde}
.rsDesign input,.rsDesign select,.rsCreator textarea{
  border:2px solid rgba(135,220,250,.22);
  border-radius:12px;background:#0d2c45;color:#fff;
}
.rsPromptChecklist label{background:#102f48}
.rsPrimary{
  padding:0 18px;
  border:0;
  background:linear-gradient(180deg,#fff18a,#f7bd37);
  box-shadow:0 5px 0 #946817;
  color:#382800;
}
.rsAdder div,.rsFlowBlocks span{background:#102f48;border-color:rgba(143,219,255,.15)}
.rsCompleteStamp{
  border-color:rgba(110,231,164,.38);
  background:rgba(17,82,58,.42);
  color:#bffbd4;
}

.rsBreak{height:65vh}
.rsBreak h3{font-size:28px}
.rsBreak p{color:#b9cfde}

.rsSandbox{max-width:1180px;margin:auto}
.rsSandboxTop p{color:#b9cfde}
.rsModeSwitch{background:rgba(5,20,35,.55);border-color:rgba(143,219,255,.16)}
.rsModeSwitch button{color:#91adbf}
.rsModeSwitch button.on{background:linear-gradient(145deg,rgba(26,120,149,.8),rgba(84,59,164,.76));color:#fff}
.rsSandboxMain{grid-template-columns:180px 1fr;gap:12px}
.rsPalette{
  padding:10px;border:1px solid rgba(143,219,255,.16);
  border-radius:16px;background:rgba(4,20,34,.72)
}
.rsPalette button{
  border:1px solid rgba(143,219,255,.13);
  background:#123650;color:#dff5ff;
}
.rsPalette button.on{border-color:#62e8ff;background:#205873;color:#fff}
.rsBoard{
  background:#061724;border-color:rgba(143,219,255,.18);
  border-radius:18px;
}
.rsCell{
  border-color:rgba(143,219,255,.08);
  background:linear-gradient(145deg,#183b55,#10283d);
}
.rsCell:hover{border-color:#62e8ff}
.rsCell.filled{background:linear-gradient(145deg,#334b86,#28627b);border-color:#9b86ff}
.rsSandboxActions>button:not(.rsPrimary){border-color:rgba(143,219,255,.16);background:#173f5d;color:#fff}

body.rsLessonOpen> :not(#rsLessonOverlay):not(script):not(style){pointer-events:none}

@media(max-width:900px){
  .rsLessonShell{width:calc(100vw - 10px);height:calc(100dvh - 10px);border-radius:20px}
  .rsLessonHead{height:auto;min-height:72px;flex:0 0 auto;padding:8px;gap:7px}
  .rsBack{width:44px;padding:0;font-size:0}
  .rsBack:after{content:'←';font-size:20px}
  .rsLessonBrand>span{width:44px;height:44px;border-radius:14px;font-size:23px}
  .rsLessonBrand h2{font-size:16px}.rsLessonBrand small{font-size:8px}
  .rsLessonProgress{display:none}
  .rsLessonBody{grid-template-columns:1fr}
  .rsRail{display:flex;gap:5px;overflow-x:auto;border-right:0;border-bottom:1px solid rgba(143,219,255,.18);padding:7px}
  .rsRailStep{min-width:54px;width:54px;height:50px;padding:6px;display:flex;justify-content:center;margin:0}
  .rsRailStep div{display:none}.rsRailStep>span{width:36px;height:36px}
  .rsRailBreak{min-width:48px;font-size:0;padding:8px}.rsRailBreak:first-letter{font-size:18px}
  .rsStage{padding:15px 10px 40px}.rsStageHero{gap:10px}.rsStageIcon{width:52px;height:52px;flex-basis:52px;font-size:26px}.rsStageHero h3{font-size:22px}.rsStageHero p{font-size:13px}
  .rsStageGrid{grid-template-columns:1fr}
  .rsSandboxTop{display:block}.rsModeSwitch{margin-top:10px;width:max-content}
  .rsSandboxMain{grid-template-columns:1fr}.rsPalette{display:flex;overflow-x:auto;max-height:none}.rsPalette button{min-width:max-content;padding:0 10px}.rsBoard{grid-template-columns:repeat(12,42px)}.rsCell{width:42px}
  .rsDesign,.rsCreator{grid-column:auto}
}

@media(max-width:520px){
  .rsLessonOverlay{padding:0}.rsLessonShell{width:100vw;height:100dvh;border:0;border-radius:0}
  .rsLessonBrand>span{display:none}.rsLessonHead{padding:7px}.rsClose{width:42px;height:42px}.rsBack{height:42px}
  .rsStageHero p{line-height:1.4}.rsBits{gap:5px}.rsBits button{min-height:42px}.rsCard{padding:12px}
}


/* pass.css */
/* ===== KodKlass v59.0.4 · PASS clarity + progression road ===== */
.profileTabPanel.megaPassPanel[data-profile-panel="pass"]{padding:0!important;overflow:auto!important;background:#eef5ff!important}
.kkpRoot{--ink:#13213b;--muted:#6d7d99;--line:#d9e5f5;--blue:#3b7cff;--cyan:#21c7e8;--gold:#ffbd3d;position:relative;min-height:100%;padding:16px 18px 26px;color:var(--ink);font-family:Inter,"Trebuchet MS",Arial,sans-serif;background:radial-gradient(circle at 10% -10%,rgba(92,207,255,.20),transparent 34%),radial-gradient(circle at 95% 8%,rgba(152,105,255,.15),transparent 32%),linear-gradient(180deg,#f7fbff 0,#eef5ff 55%,#f7fbff 100%);overflow:hidden}
.kkpRoot *{box-sizing:border-box}.kkpRoot button{font:inherit}
.kkpHero{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,.65fr);gap:18px;padding:22px;border-radius:28px;overflow:hidden;background:linear-gradient(125deg,#132f67 0%,#254f9d 44%,#633da0 100%);box-shadow:0 18px 45px rgba(36,70,131,.22);color:white}
.kkpHero::after{content:"";position:absolute;right:-55px;bottom:-115px;width:300px;height:300px;border:45px solid rgba(255,255,255,.07);border-radius:50%;pointer-events:none}.kkpHeroGlow{position:absolute;border-radius:50%;filter:blur(3px);opacity:.55;pointer-events:none;animation:kkpFloat 8s ease-in-out infinite}.kkpHeroGlow.g1{width:140px;height:140px;background:#14d9ff;left:-55px;top:-65px}.kkpHeroGlow.g2{width:120px;height:120px;background:#fd7cc9;right:28%;bottom:-65px;animation-delay:-4s}
.kkpHeroMain,.kkpHeroSide{position:relative;z-index:2}.kkpEyebrow{display:flex;align-items:center;gap:8px;margin-bottom:10px}.kkpEyebrow span,.kkpEyebrow b{display:inline-flex;align-items:center;height:27px;padding:0 10px;border-radius:999px;font-size:10px;font-weight:950;letter-spacing:.06em}.kkpEyebrow span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18)}.kkpEyebrow b{background:#ffcc56;color:#644300;box-shadow:0 5px 13px rgba(255,194,58,.25)}
.kkpHero h2{margin:0;max-width:760px;font-size:clamp(24px,3vw,42px);line-height:.98;letter-spacing:-.045em;font-weight:1000}.kkpHero h2 em{font-style:normal;color:#78edff;text-shadow:0 0 22px rgba(76,231,255,.34)}.kkpHeroMain>p{max-width:720px;margin:12px 0 16px;color:rgba(255,255,255,.82);font-size:13px;line-height:1.45;font-weight:700}
.kkpHow{display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr;gap:5px;align-items:center}.kkpHow>div{min-width:0;padding:10px;border-radius:15px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;column-gap:7px;transition:.2s}.kkpHow>div:hover{transform:translateY(-2px);background:rgba(255,255,255,.14)}.kkpHow>div>span{grid-row:1/3;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.13);font-size:18px}.kkpHow b{font-size:10px;line-height:1.1}.kkpHow small{margin-top:3px;color:rgba(255,255,255,.66);font-size:8px;font-weight:800}.kkpHow>i{text-align:center;font-style:normal;font-size:24px;color:rgba(255,255,255,.36)}
.kkpHeroSide{align-self:stretch;padding:16px;border-radius:21px;background:rgba(7,18,48,.28);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(12px);display:flex;flex-direction:column;justify-content:center}.kkpCurrentLevel{display:flex;align-items:center;gap:12px}.kkpLevelOrb{flex:none;width:58px;height:58px;border-radius:19px;display:grid;place-items:center;background:linear-gradient(145deg,#72e9ff,#4480ff);box-shadow:0 0 0 5px rgba(126,232,255,.12),0 10px 24px rgba(8,28,73,.28);font-size:24px;font-weight:1000}.kkpCurrentLevel>div{min-width:0}.kkpCurrentLevel small{display:block;color:#8eeeff;font-size:8px;font-weight:1000;letter-spacing:.09em}.kkpCurrentLevel strong{display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}.kkpCurrentLevel b{display:block;margin-top:3px;color:rgba(255,255,255,.72);font-size:9px}.kkpXpTrack{height:11px;margin-top:13px;padding:2px;border-radius:999px;background:rgba(0,0,0,.23);box-shadow:inset 0 1px 2px rgba(0,0,0,.3)}.kkpXpTrack i{display:block;width:0;height:100%;border-radius:999px;background:linear-gradient(90deg,#31d7ff,#75f4bf,#ffe26a);box-shadow:0 0 15px rgba(80,232,255,.55);transition:width .55s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}.kkpXpTrack i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);transform:translateX(-100%);animation:kkpShine 2.7s linear infinite}.kkpXpBottom{display:flex;justify-content:space-between;gap:10px;margin-top:7px;font-size:8px;font-weight:900;color:rgba(255,255,255,.72)}.kkpXpBottom span:last-child{color:#ffe07a}.kkpHelpButton{margin-top:12px;height:35px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.10);color:white;font-size:9px;font-weight:1000;cursor:pointer;transition:.2s}.kkpHelpButton:hover,.kkpHelpButton.active{background:white;color:#254d91;transform:translateY(-1px)}
.kkpHelp{margin-top:12px;padding:15px;border-radius:22px;background:white;border:1px solid #dce8f7;box-shadow:0 13px 32px rgba(64,93,145,.10);animation:kkpDrop .25s ease}.kkpHelp[hidden]{display:none}.kkpHelpHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.kkpHelpHead>div{display:flex;align-items:center;gap:10px}.kkpHelpHead>div>span{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#eaf7ff;font-size:22px}.kkpHelpHead strong{display:block;font-size:14px}.kkpHelpHead small{display:block;margin-top:2px;color:var(--muted);font-size:9px;font-weight:700}.kkpHelpHead button{width:31px;height:31px;border:0;border-radius:10px;background:#edf3fa;color:#61728c;cursor:pointer;font-weight:1000}.kkpHelpGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}.kkpHelpGrid article{padding:12px;border-radius:16px;background:#f7faff;border:1px solid #e3ebf7;transition:.2s}.kkpHelpGrid article:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(66,92,137,.08)}.kkpHelpGrid article>span{display:block;font-size:22px}.kkpHelpGrid b{display:block;margin-top:6px;font-size:10px}.kkpHelpGrid small{display:block;margin-top:4px;color:var(--muted);font-size:8px;line-height:1.35;font-weight:700}.kkpPremiumExplain{margin-top:10px;padding:10px 12px;border-radius:15px;display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,#fff8dc,#fff2bc);border:1px solid #f1d98e}.kkpPremiumExplain>span{font-size:24px}.kkpPremiumExplain b{display:block;color:#72500b;font-size:10px}.kkpPremiumExplain small{display:block;margin-top:2px;color:#967733;font-size:8px;font-weight:800}
.kkpDashboard{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(190px,.68fr) minmax(230px,.87fr);gap:11px;margin-top:12px}.kkpDashboard>article{min-height:126px;border-radius:21px;background:white;border:1px solid #dce7f5;box-shadow:0 11px 27px rgba(57,88,137,.08)}
.kkpNextCard{position:relative;padding:13px 14px;display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:13px;overflow:hidden}.kkpNextCard::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 3% 50%,rgba(63,192,255,.15),transparent 34%);pointer-events:none}.kkpNextCard.premium::before{background:radial-gradient(circle at 3% 50%,rgba(255,194,56,.18),transparent 38%)}.kkpNextCard.claimable{border-color:#70d7ff;box-shadow:0 0 0 3px rgba(73,204,255,.10),0 12px 30px rgba(53,113,164,.12)}.kkpNextVisual{position:relative;width:86px;height:86px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,#edf8ff,#e8efff);border:1px solid #d5e4f5;overflow:hidden}.kkpNextCard.premium .kkpNextVisual{background:linear-gradient(145deg,#fff9df,#fff0b8);border-color:#f0d38b}.kkpNextLvl{position:absolute;top:5px;left:5px;padding:4px 6px;border-radius:7px;background:rgba(22,48,87,.86);color:white;font-size:7px;font-weight:1000}.kkpNextCopy{position:relative;z-index:1;min-width:0}.kkpNextCopy>small{color:#3580d7;font-size:8px;font-weight:1000;letter-spacing:.07em}.kkpNextCopy>strong{display:block;margin-top:4px;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kkpNextCopy>p{margin:4px 0;color:var(--muted);font-size:9px;line-height:1.35;font-weight:700}.kkpNextCopy>span{display:inline-flex;margin-top:3px;padding:5px 8px;border-radius:8px;background:#edf5ff;color:#4b75a5;font-size:7px;font-weight:950}.kkpNextClaim,.kkpNextJump{position:relative;z-index:2;min-width:130px;height:40px;border:0;border-radius:13px;padding:0 12px;font-size:8px;font-weight:1000;letter-spacing:.04em;cursor:pointer;transition:.2s}.kkpNextClaim{background:linear-gradient(135deg,#2fcaf2,#416df0);color:white;box-shadow:0 8px 19px rgba(53,113,220,.22);animation:kkpPulse 1.9s ease-in-out infinite}.kkpNextClaim:hover{transform:translateY(-2px) scale(1.02)}.kkpNextJump{background:#edf4ff;color:#3466ae;border:1px solid #d8e5f6}.kkpNextDone{display:flex;gap:12px;align-items:center}.kkpNextDone>span{font-size:44px}.kkpNextDone small,.kkpNextDone strong{display:block}.kkpNextDone strong{font-size:16px}.kkpNextDone p{margin:4px 0 0;color:var(--muted);font-size:9px}
.kkpStatusCard{padding:14px}.kkpStatusTop{display:flex;align-items:center;gap:9px}.kkpStatusTop>span{width:39px;height:39px;border-radius:13px;display:grid;place-items:center;background:#ecf6ff;font-size:21px}.kkpStatusTop small,.kkpStatusTop strong{display:block}.kkpStatusTop small{color:#7f91aa;font-size:7px;font-weight:1000;letter-spacing:.08em}.kkpStatusTop strong{margin-top:2px;font-size:13px}.kkpStatusBars{margin-top:10px}.kkpStatusBars>div:first-child{display:flex;justify-content:space-between;color:#71819a;font-size:8px;font-weight:900}.kkpMiniTrack{height:7px;margin-top:5px;border-radius:99px;background:#e9f0f8;overflow:hidden}.kkpMiniTrack i{display:block;height:100%;width:0;background:linear-gradient(90deg,#52d5ff,#6f7bff);border-radius:inherit;transition:width .4s}.kkpWaiting{margin-top:10px;padding:7px 8px;border-radius:12px;display:flex;align-items:center;gap:7px;background:#f2f5fa;color:#8290a5}.kkpWaiting>span{font-size:18px}.kkpWaiting small,.kkpWaiting strong{display:block}.kkpWaiting small{font-size:6px;font-weight:1000}.kkpWaiting strong{font-size:13px}.kkpWaiting.hot{background:#e8fff2;color:#158151;box-shadow:0 0 0 2px rgba(48,201,119,.10)}.kkpWaiting.hot>span{animation:kkpBounce 1s ease-in-out infinite}
.kkpPremiumCard{position:relative;padding:14px 48px 14px 14px;display:flex;align-items:center;gap:11px;background:linear-gradient(145deg,#fffefb,#fff8e8)!important;border-color:#f0dfb2!important}.kkpPremiumCard.on{background:linear-gradient(145deg,#fff9dc,#fff2b9)!important;box-shadow:0 11px 28px rgba(186,132,28,.13)}.kkpPremiumIcon{flex:none;width:47px;height:47px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#ffdc6e,#f3ad27);font-size:26px;box-shadow:0 8px 16px rgba(202,145,33,.18)}.kkpPremiumCard small,.kkpPremiumCard strong{display:block}.kkpPremiumCard small{color:#9d7b37;font-size:7px;font-weight:1000;letter-spacing:.07em}.kkpPremiumCard strong{margin-top:3px;color:#62440d;font-size:13px}.kkpPremiumCard p{margin:4px 0 0;color:#9b824e;font-size:8px;line-height:1.3;font-weight:700}.kkpPremiumState{position:absolute;right:12px;top:12px;width:29px;height:29px;border-radius:10px;display:grid;place-items:center;background:#fff5d5;border:1px solid #efd797;color:#8a681f;font-size:13px;font-weight:1000}.kkpPremiumCard.on .kkpPremiumState{background:#40c978;color:white;border-color:#40c978}
.kkpTrackSection{margin-top:12px;padding:14px;border-radius:24px;background:white;border:1px solid #dce7f4;box-shadow:0 13px 32px rgba(54,84,129,.09)}.kkpTrackHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.kkpTrackHead>div:first-child{display:flex;align-items:center;gap:9px}.kkpSectionIcon{width:39px;height:39px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#e9f7ff,#eeeaff);font-size:22px}.kkpTrackHead small,.kkpTrackHead strong{display:block}.kkpTrackHead small{color:#7c8ca4;font-size:7px;font-weight:1000;letter-spacing:.09em}.kkpTrackHead strong{margin-top:2px;font-size:15px}.kkpTrackLegend{display:flex;gap:10px;align-items:center;color:#7e8fa6;font-size:8px;font-weight:900}.kkpTrackLegend span{display:flex;align-items:center;gap:5px}.kkpTrackLegend i{width:10px;height:10px;border-radius:4px}.kkpTrackLegend i.free{background:#4dc8f4}.kkpTrackLegend i.premium{background:#ffc64b}
.kkpPager{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:7px;align-items:center;margin-top:10px}.kkpPager>button{height:34px;border:1px solid #dce6f3;border-radius:11px;background:#f3f7fc;color:#416b9f;font-size:20px;font-weight:1000;cursor:pointer}.kkpPager>button:disabled{opacity:.3;cursor:default}.kkpPageChips{display:flex;gap:5px;overflow:auto;scrollbar-width:none}.kkpPageChips::-webkit-scrollbar{display:none}.kkpPageChips button{position:relative;flex:1;min-width:62px;height:34px;border:1px solid #e0e8f3;border-radius:10px;background:#f8faff;color:#7a8ba4;font-size:8px;font-weight:1000;cursor:pointer;transition:.2s}.kkpPageChips button:hover{border-color:#9fd2ff;color:#3972ba}.kkpPageChips button.active{background:linear-gradient(135deg,#3fc9ef,#4e6cf0);color:white;border-color:transparent;box-shadow:0 7px 15px rgba(60,112,215,.17)}.kkpPageChips button.currentRange:not(.active){box-shadow:inset 0 0 0 2px #86dfff}.kkpPageChips button i{display:block;font-style:normal;font-size:5px;line-height:.8;opacity:.78}
.kkpRoadWrap{position:relative;margin-top:10px;overflow:hidden}.kkpRoad{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding-top:2px}.kkpRoad::before{content:"";position:absolute;left:7.5%;right:7.5%;top:22px;height:4px;border-radius:99px;background:linear-gradient(90deg,#4ec7ef,#7784f7 54%,#e4ebf5 54%);opacity:.55}.kkpRoad.swap{animation:kkpRoadSwap .25s ease}.kkpLevelColumn{position:relative;min-width:0;padding-top:0}.kkpNodeRow{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;min-height:54px}.kkpNode{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:#eff4fb;border:3px solid white;box-shadow:0 0 0 2px #dae5f3,0 7px 14px rgba(64,92,135,.10);color:#7e8da2}.kkpNode b{font-size:12px}.kkpNode i{display:none}.kkpLevelColumn.done .kkpNode{background:linear-gradient(145deg,#63dbbf,#39bd8a);color:white;box-shadow:0 0 0 2px #8ae7ce,0 7px 14px rgba(56,173,132,.14)}.kkpLevelColumn.current .kkpNode{background:linear-gradient(145deg,#52d8ff,#506cf3);color:white;box-shadow:0 0 0 4px rgba(78,206,255,.16),0 8px 18px rgba(61,109,211,.23);animation:kkpCurrentNode 1.7s ease-in-out infinite}.kkpNodeName{margin-top:4px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#74859d;font-size:6px;font-weight:900;text-align:center}.kkpLevelColumn.current .kkpNodeName{color:#3b6ab0}
.kkpLaneTag{margin:4px 0 4px;padding-left:3px;color:#8a9ab0;font-size:6px;font-weight:1000;letter-spacing:.06em}.kkpLaneTag.free span{color:#2dbfe8}.kkpLaneTag.premium{margin-top:7px;color:#ae8b3e}
.kkpRewardCard{position:relative;width:100%;min-height:118px;padding:9px 6px 8px;border:1px solid #dfe8f3;border-radius:16px;background:linear-gradient(180deg,#fff,#f7faff);display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--ink);cursor:pointer;transition:.2s;overflow:hidden}.kkpRewardCard:hover{transform:translateY(-3px);box-shadow:0 9px 20px rgba(55,87,136,.12);border-color:#b9d7f4}.kkpRewardCard.premium{background:linear-gradient(180deg,#fffdf8,#fff9e8);border-color:#eee0bb}.kkpRewardCard.future{filter:saturate(.55);opacity:.72}.kkpRewardCard.premiumLocked{opacity:.58}.kkpRewardCard.got{background:linear-gradient(180deg,#f6fffa,#effbf5);border-color:#ccebdc}.kkpRewardCard.ready{border-color:#62cfff;box-shadow:0 0 0 3px rgba(77,201,246,.10);animation:kkpReady 2s ease-in-out infinite}.kkpRewardCard.premium.ready{border-color:#e8b23f;box-shadow:0 0 0 3px rgba(246,193,75,.10)}.kkpRewardCard.justClaimed{animation:kkpJustClaimed .7s ease}.kkpRewardState{position:absolute;right:6px;top:6px;width:20px;height:20px;border-radius:7px;display:grid;place-items:center;font-size:8px;font-weight:1000}.kkpRewardState.got{background:#38c77d;color:white}.kkpRewardState.ready{background:#3c8eff;color:white;box-shadow:0 0 0 3px rgba(65,150,255,.11)}.kkpRewardState.locked{background:#edf2f7;color:#8090a5}.kkpRewardArt{height:51px;width:70px;display:grid;place-items:center;margin-top:2px}.kkpRewardCard b{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px}.kkpRewardCard small{width:100%;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#8a99ad;font-size:6px;font-weight:800}.kkpRewardCta{margin-top:auto;padding:5px 7px;border-radius:8px;background:#edf4fc;color:#647e9f;font-size:6px;font-weight:1000}.kkpRewardCard.ready .kkpRewardCta{background:#387ff1;color:white}.kkpRewardCard.premium.ready .kkpRewardCta{background:#efb634;color:#604300}.kkpRewardCta.got{background:#daf6e7!important;color:#178257!important}.kkpRewardImg{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 5px 7px rgba(42,70,103,.14))}.kkpRewardImg.large{max-width:75px;max-height:75px}.kkpRewardEmoji{font-size:34px;line-height:1}.kkpRewardEmoji.large{font-size:54px}.kkpTrackHint{margin-top:9px;text-align:center;color:#8292a7;font-size:7px;font-weight:800}
.kkpRewardCard.rarity-epic,.kkpNextCard.rarity-epic{--rar:#8b6be9}.kkpRewardCard.rarity-legendary,.kkpNextCard.rarity-legendary{--rar:#f0aa2c}.kkpRewardCard.rarity-mythic,.kkpNextCard.rarity-mythic{--rar:#d252d8}.kkpRewardCard.rarity-rare,.kkpNextCard.rarity-rare{--rar:#379cdf}.kkpRewardCard[class*="rarity-"]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--rar,#b5c4d5);opacity:.75}.kkpRewardCard.rarity-mythic::before{content:"";position:absolute;inset:-60% -70%;background:linear-gradient(110deg,transparent 43%,rgba(255,255,255,.55) 50%,transparent 57%);animation:kkpMythic 3.4s linear infinite;pointer-events:none}
.kkpDetail{position:fixed;z-index:2147483400;inset:0;display:grid;place-items:center;padding:18px;opacity:0;transition:.18s}.kkpDetail[hidden]{display:none}.kkpDetail.show{opacity:1}.kkpDetailBackdrop{position:absolute;inset:0;border:0;background:rgba(10,19,40,.55);backdrop-filter:blur(6px);cursor:pointer}.kkpDetailCard{position:relative;z-index:2;width:min(570px,95vw);min-height:260px;padding:20px;border-radius:28px;background:linear-gradient(145deg,#fff,#f4f9ff);border:1px solid #d8e5f3;box-shadow:0 30px 80px rgba(9,27,61,.32);display:grid;grid-template-columns:170px minmax(0,1fr);gap:20px;transform:translateY(15px) scale(.96);transition:.2s}.kkpDetail.show .kkpDetailCard{transform:none}.kkpDetailCard.premium{background:linear-gradient(145deg,#fffdf6,#fff3cc);border-color:#efd28b}.kkpDetailClose{position:absolute;right:12px;top:12px;width:34px;height:34px;border:0;border-radius:11px;background:#edf3f9;color:#60738e;font-weight:1000;cursor:pointer}.kkpDetailVisual{position:relative;min-height:190px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,#eaf7ff,#edf0ff);border:1px solid #d5e5f4}.kkpDetailCard.premium .kkpDetailVisual{background:linear-gradient(145deg,#fff8d8,#ffeeb5);border-color:#efd18a}.kkpDetailVisual>span:last-child{position:absolute;left:9px;top:9px;padding:5px 8px;border-radius:8px;background:#193b70;color:white;font-size:8px;font-weight:1000}.kkpDetailInfo{align-self:center;padding-right:24px}.kkpDetailInfo>small{color:#4f84be;font-size:8px;font-weight:1000;text-transform:uppercase;letter-spacing:.07em}.kkpDetailInfo h3{margin:5px 0 6px;font-size:24px;line-height:1}.kkpDetailInfo p{margin:0;color:#6e8099;font-size:11px;line-height:1.45;font-weight:700}.kkpDetailBonus{display:inline-flex;margin-top:10px;padding:7px 9px;border-radius:10px;background:#fff1ba;color:#7e5b11;font-size:8px;font-weight:1000}.kkpDetailStatus{display:flex;width:max-content;margin-top:10px;padding:7px 9px;border-radius:10px;font-size:8px;font-weight:1000}.kkpDetailStatus.got{background:#ddf8e9;color:#168257}.kkpDetailStatus.ready{background:#ddf4ff;color:#1976b8}.kkpDetailStatus.locked{background:#edf2f7;color:#718399}.kkpDetailClaim{margin-top:12px;height:42px;padding:0 14px;border:0;border-radius:13px;background:linear-gradient(135deg,#2dc9ef,#4c6bf1);color:white;font-size:9px;font-weight:1000;letter-spacing:.04em;cursor:pointer;box-shadow:0 9px 20px rgba(58,105,210,.2)}.kkpDetailTip{margin-top:11px;padding:8px 10px;border-radius:11px;background:#f0f5fb;color:#667b96;font-size:8px;font-weight:800}
.kkpClaiming{pointer-events:none;filter:brightness(1.16)}.kkpBurst{position:fixed;z-index:2147483646;pointer-events:none;font-size:17px;animation:kkpBurst 1s cubic-bezier(.1,.8,.25,1) forwards}
.kkpTabWord{font-size:.78em;opacity:.72}
@keyframes kkpFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(16px,12px)}}@keyframes kkpShine{to{transform:translateX(100%)}}@keyframes kkpDrop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes kkpPulse{50%{box-shadow:0 10px 26px rgba(53,113,220,.32);filter:brightness(1.07)}}@keyframes kkpBounce{50%{transform:translateY(-3px) rotate(-4deg)}}@keyframes kkpRoadSwap{0%{opacity:.35;transform:translateX(12px)}100%{opacity:1;transform:none}}@keyframes kkpCurrentNode{50%{transform:translateY(-2px);box-shadow:0 0 0 7px rgba(78,206,255,.08),0 9px 23px rgba(61,109,211,.27)}}@keyframes kkpReady{50%{transform:translateY(-2px);box-shadow:0 0 0 5px rgba(77,201,246,.07),0 8px 17px rgba(55,109,164,.12)}}@keyframes kkpJustClaimed{0%{transform:scale(.88) rotate(-3deg)}50%{transform:scale(1.05) rotate(2deg)}100%{transform:none}}@keyframes kkpMythic{to{transform:translateX(65%)}}@keyframes kkpBurst{0%{opacity:0;transform:translate(0,0) scale(.45)}15%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(1.25) rotate(180deg)}}
@media(max-width:1180px){.kkpHero{grid-template-columns:1fr 300px}.kkpHow small{display:none}.kkpHow>div{grid-template-rows:auto}.kkpDashboard{grid-template-columns:1.3fr .7fr}.kkpPremiumCard{grid-column:1/-1;min-height:92px}.kkpRoad{gap:5px}.kkpRewardCard{min-height:110px;padding-left:4px;padding-right:4px}}
@media(max-width:900px){.kkpRoot{padding:10px}.kkpHero{grid-template-columns:1fr;padding:17px}.kkpHeroSide{min-height:130px}.kkpDashboard{grid-template-columns:1fr}.kkpDashboard>article{min-height:auto}.kkpNextCard{grid-template-columns:78px minmax(0,1fr)}.kkpNextVisual{width:72px;height:72px}.kkpNextClaim,.kkpNextJump{grid-column:1/-1;width:100%}.kkpPremiumCard{grid-column:auto}.kkpTrackLegend{display:none}.kkpRoad{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:13px}.kkpRoad::before{display:none}.kkpLevelColumn:nth-child(n+4){margin-top:4px}.kkpHelpGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.kkpHero h2{font-size:27px}.kkpHow{grid-template-columns:1fr}.kkpHow>i{display:none}.kkpHow>div{grid-template-columns:32px 1fr}.kkpCurrentLevel strong{font-size:13px}.kkpHelpGrid{grid-template-columns:1fr}.kkpNextCard{grid-template-columns:68px minmax(0,1fr);padding:10px}.kkpNextVisual{width:64px;height:64px}.kkpNextCopy>strong{font-size:13px}.kkpRoad{grid-template-columns:repeat(2,minmax(0,1fr))}.kkpRewardCard{min-height:112px}.kkpPageChips button{min-width:58px}.kkpDetailCard{grid-template-columns:1fr;width:min(390px,94vw);max-height:88vh;overflow:auto}.kkpDetailVisual{min-height:145px}.kkpDetailInfo{padding-right:0}.kkpDetailInfo h3{font-size:20px}}

/* v59.27.1 · One quiet PASS surface: level first, reward second, everything else optional. */
.profileTabPanel.megaPassPanel[data-profile-panel="pass"]{background:#eef4fc!important}
.kkpRoot{--kkp-ink:#14284a;--kkp-muted:#687d9b;--kkp-blue:#4a7cff;--kkp-cyan:#48d8ee;--kkp-gold:#ffc957;padding:clamp(10px,2vw,22px);background:linear-gradient(180deg,#f5f9ff 0%,#edf4fd 100%)}
.kkpHero{min-height:230px;grid-template-columns:minmax(0,1fr) minmax(295px,.54fr);gap:22px;padding:clamp(20px,3vw,34px);background:radial-gradient(circle at 80% 5%,rgba(108,221,255,.24),transparent 25%),radial-gradient(circle at 8% 112%,rgba(137,107,255,.21),transparent 34%),linear-gradient(125deg,#152e68,#2455a3 58%,#463779);box-shadow:0 18px 44px rgba(24,62,124,.18)}
.kkpHero::after{width:230px;height:230px;right:-75px;bottom:-125px;border-width:32px;opacity:.7}
.kkpHeroGlow{opacity:.3;filter:blur(10px)}
.kkpHeroGlow.g2{display:none}
.kkpEyebrow{margin-bottom:13px}.kkpEyebrow span,.kkpEyebrow b{height:25px;font-size:8px;letter-spacing:.11em}
.kkpHero h2{font-size:clamp(30px,4vw,48px);line-height:1;letter-spacing:-.05em}.kkpHeroMain>p{max-width:560px;margin:11px 0 15px;color:rgba(238,247,255,.81);font-size:12px}
.kkpHow{display:none}
.kkpRankLine{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kkpRankBadge,.kkpRankLine>b{min-height:30px;padding:0 10px;border-radius:10px;display:inline-flex;align-items:center;font-size:8px;font-weight:1000;letter-spacing:.04em}.kkpRankBadge{color:#e8fbff;background:rgba(14,30,75,.34);border:1px solid rgba(165,239,255,.22)}.kkpRankLine>b{color:rgba(236,244,255,.75);background:rgba(255,255,255,.08)}.kkpRankBadge.tone-explorer{color:#d7f7ff;border-color:rgba(105,220,255,.46)}.kkpRankBadge.tone-architect{color:#e8ddff;border-color:rgba(170,132,255,.48)}.kkpRankBadge.tone-master,.kkpRankBadge.tone-legend{color:#fff0b0;border-color:rgba(255,208,82,.52)}
.kkpHeroSide{padding:17px 18px;background:rgba(5,18,52,.25);border-color:rgba(186,235,255,.19)}.kkpLevelOrb{width:67px;height:67px;border-radius:22px;font-size:28px;background:linear-gradient(145deg,#65e4f3,#596af2);animation:kkpLevelBreath 3.6s ease-in-out infinite}.kkpCurrentLevel strong{font-size:17px}.kkpXpTrack{height:13px;margin-top:16px}.kkpXpBottom{font-size:9px}.kkpHelpButton{height:34px;margin-top:13px;background:transparent;color:#dff7ff;border-color:rgba(201,241,255,.22)}.kkpHelpButton:hover,.kkpHelpButton.active{background:rgba(255,255,255,.12);color:#fff}
.kkpDashboard{grid-template-columns:minmax(0,1.35fr) minmax(210px,.65fr);gap:12px;margin-top:14px}.kkpDashboard>article{border-radius:20px;box-shadow:0 9px 24px rgba(36,75,126,.07)}.kkpPremiumCard{grid-column:1/-1;min-height:76px;padding-top:11px;padding-bottom:11px;box-shadow:none!important}.kkpPremiumCard p{display:none}.kkpPremiumIcon{width:42px;height:42px;border-radius:14px;font-size:22px}.kkpPremiumState{top:50%;transform:translateY(-50%)}
.kkpNextCard{min-height:132px;padding:15px 16px;grid-template-columns:96px minmax(0,1fr) auto}.kkpNextVisual{width:90px;height:90px;border-radius:22px}.kkpNextCard.claimable{border-color:#69cfee;box-shadow:0 0 0 3px rgba(76,202,239,.10),0 13px 30px rgba(48,100,153,.10)}.kkpNextCopy>small{font-size:8px}.kkpNextCopy>strong{font-size:18px}.kkpNextClaim,.kkpNextJump{height:42px;border-radius:12px}.kkpNextClaim{animation:kkpClaimCall 2.4s ease-in-out infinite}
.kkpStatusCard{padding:16px}.kkpWaiting{margin-top:12px}.kkpWaiting.hot{animation:kkpGiftHint 2.4s ease-in-out infinite}
.kkpTrackSection{margin-top:14px;padding:clamp(13px,2vw,20px);border-radius:24px;border-color:#d9e7f5}.kkpTrackHead strong{font-size:17px}.kkpTrackHint{margin-top:12px;font-size:8px}.kkpRoad{gap:10px}.kkpRoad::before{background:linear-gradient(90deg,#5bd8ee 0%,#7793ef 54%,#dfe8f4 54%)}.kkpNode{width:45px;height:45px;border-radius:16px}.kkpLevelColumn.milestone .kkpNode{box-shadow:0 0 0 2px #f7cf70,0 8px 17px rgba(195,141,34,.14)}.kkpLevelColumn.current .kkpNode{animation:kkpCurrentNode 2.4s ease-in-out infinite}.kkpRewardCard{min-height:126px;border-radius:17px}.kkpRewardCard:hover{transform:translateY(-2px)}.kkpRewardCard.ready{animation:kkpReady 2.8s ease-in-out infinite}.kkpLaneTag{margin-top:7px;font-size:7px}.kkpRewardArt{height:54px}.kkpRewardEmoji{font-size:37px}.kkpRewardCard b{font-size:9px}.kkpRewardCard small{font-size:7px}.kkpRewardCta{font-size:7px}
.kkpDetailCard{border-radius:26px}.kkpDetailVisual{background:radial-gradient(circle at 50% 32%,#d5f6ff,#edf1ff)}
@keyframes kkpLevelBreath{0%,100%{transform:translateY(0);box-shadow:0 0 0 5px rgba(126,232,255,.12),0 10px 24px rgba(8,28,73,.28)}50%{transform:translateY(-2px);box-shadow:0 0 0 8px rgba(126,232,255,.08),0 13px 28px rgba(8,28,73,.32)}}
@keyframes kkpClaimCall{0%,100%{transform:translateY(0);filter:brightness(1)}50%{transform:translateY(-2px);filter:brightness(1.06)}}
@keyframes kkpGiftHint{0%,100%{box-shadow:0 0 0 2px rgba(48,201,119,.10)}50%{box-shadow:0 0 0 5px rgba(48,201,119,.04)}}
@media(max-width:900px){.kkpHero{grid-template-columns:1fr;min-height:0}.kkpDashboard{grid-template-columns:1fr}.kkpPremiumCard{grid-column:auto}.kkpNextCard{grid-template-columns:82px minmax(0,1fr)}.kkpNextVisual{width:76px;height:76px}}
@media(max-width:620px){.kkpRoot{padding:8px}.kkpHero{padding:19px 16px;border-radius:22px}.kkpHero h2{font-size:31px}.kkpHeroMain>p{font-size:11px}.kkpRankLine{gap:6px}.kkpRankBadge,.kkpRankLine>b{font-size:7px}.kkpHeroSide{padding:14px}.kkpDashboard{margin-top:10px}.kkpNextCard{grid-template-columns:68px minmax(0,1fr);padding:12px}.kkpNextVisual{width:66px;height:66px}.kkpNextCopy>strong{font-size:15px}.kkpTrackSection{margin-top:10px}.kkpTrackHead{align-items:flex-start}.kkpTrackLegend{display:none}.kkpRewardCard{min-height:118px}.kkpRoad{gap:7px}}
@media(prefers-reduced-motion:reduce){.kkpRoot *{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}


/* smart-hud.css */
/* ===== Koderia v59.7.1 · SMART HUD CLEANUP ===== */
#cityStageCanvasWrap{position:relative}
/* The old large PASS widget is replaced by the compact smart rail. */
#kspHud{display:none!important}
.koderiaLoopDock.smartManaged{top:66px;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-12px) scale(.97);transition:opacity .18s ease,transform .18s ease,visibility .18s;max-height:min(62vh,520px);overflow:auto}
.koderiaLoopDock.smartManaged.smartExpanded{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1)}
.koderiaLoopDock.smartManaged .loopTargetMini{display:none!important}
.koderiaLoopDock.smartManaged .loopMissionActions{position:static;margin-top:10px;display:flex;justify-content:flex-end}
.kshRail{position:absolute;z-index:286;right:12px;top:82px;display:flex;flex-direction:column;gap:8px;pointer-events:auto;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.kshRail[hidden]{display:none!important}.kshOrb{position:relative;width:52px;height:52px;border:1px solid rgba(154,224,247,.22);border-radius:17px;background:linear-gradient(145deg,rgba(6,25,43,.94),rgba(12,38,59,.94));color:#eefdff;box-shadow:0 9px 25px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.05);backdrop-filter:blur(9px);cursor:pointer;display:grid;place-items:center;transition:.18s}.kshOrb>span{font-size:24px;line-height:1}.kshOrb>small{position:absolute;right:58px;top:50%;transform:translate(6px,-50%);padding:5px 8px;border-radius:9px;background:rgba(3,17,30,.92);border:1px solid rgba(137,218,244,.18);color:#a9d3e2;font-size:7px;font-weight:1000;letter-spacing:.06em;opacity:0;pointer-events:none;white-space:nowrap;transition:.16s}.kshOrb:hover>small,.kshOrb.selected>small{opacity:1;transform:translate(0,-50%)}.kshOrb>b{position:absolute;right:-5px;top:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;display:grid;place-items:center;background:#ffcf52;color:#2b2000;border:2px solid #13293b;font-size:10px;font-weight:1000;box-shadow:0 4px 11px rgba(0,0,0,.35)}.kshOrb>b:empty{display:none}.kshOrb.attention{border-color:rgba(255,216,76,.7);animation:kshOrbPulse 1.35s ease-in-out infinite}.kshOrb.attention::after{content:'';position:absolute;inset:-5px;border:2px solid rgba(255,216,76,.35);border-radius:21px;animation:kshRing 1.35s ease-out infinite}.kshOrb.reward{background:linear-gradient(145deg,rgba(71,48,8,.96),rgba(52,30,5,.96))}.kshOrb.shop.attention{border-color:rgba(255,130,226,.66);box-shadow:0 0 25px rgba(234,96,218,.18),0 9px 25px rgba(0,0,0,.25)}.kshOrb.pass.attention{border-color:rgba(118,222,255,.72);box-shadow:0 0 25px rgba(79,204,255,.2),0 9px 25px rgba(0,0,0,.25)}
.kshPrimary{position:absolute;z-index:284;left:50%;bottom:18px;transform:translateX(-50%);min-width:190px;max-width:min(390px,calc(100% - 150px));height:49px;padding:0 18px;border:1px solid rgba(116,233,255,.42);border-radius:17px;background:linear-gradient(135deg,#23cce9,#586eff);color:#fff;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 13px 33px rgba(0,0,0,.34),0 0 24px rgba(74,214,255,.15);font:1000 11px Inter,system-ui,sans-serif;letter-spacing:.03em;cursor:pointer;transition:.18s;white-space:nowrap}.kshPrimary[hidden]{display:none!important}.kshPrimary:hover{transform:translateX(-50%) translateY(-2px);filter:brightness(1.07)}.kshPrimary>span{font-size:22px}.kshPrimary.reward{background:linear-gradient(135deg,#ffd951,#ff9f3f);border-color:#ffe698;color:#2b1d00;animation:kshPrimaryReward 1.15s ease-in-out infinite}.kshPrimary.shop{background:linear-gradient(135deg,#ca62ff,#ff69c7);border-color:#f0a5ff}
.kshNudge{position:absolute;z-index:287;right:74px;top:82px;max-width:260px;padding:9px 12px;border:1px solid rgba(130,230,255,.28);border-radius:14px;background:rgba(4,23,39,.95);color:#edfaff;display:flex;align-items:center;gap:8px;box-shadow:0 12px 28px rgba(0,0,0,.3);font:900 9px Inter,system-ui,sans-serif;opacity:0;transform:translateX(12px) scale(.96);pointer-events:none;transition:.2s}.kshNudge>span{font-size:20px}.kshNudge.show{opacity:1;transform:none}
body.kshProfileOpen .koderiaLoopDock.smartManaged,body.kshProfileOpen .kshRail,body.kshProfileOpen .kshPrimary,body.kshProfileOpen .kshNudge{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
body.kshCelebrating .kshRail,body.kshCelebrating .kshPrimary,body.kshCelebrating .koderiaLoopDock.smartManaged{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
/* keep mission reward celebration, but remove auto-start mission takeover */
.koderiaMissionOverlay:not(.rewarding):not(.show){display:none!important}
@keyframes kshOrbPulse{50%{transform:scale(1.06);filter:brightness(1.12)}}@keyframes kshRing{0%{transform:scale(.9);opacity:.8}100%{transform:scale(1.22);opacity:0}}@keyframes kshPrimaryReward{50%{transform:translateX(-50%) scale(1.035);filter:brightness(1.08)}}
@media(max-width:760px){.kshRail{right:7px;top:70px;gap:6px}.kshOrb{width:47px;height:47px;border-radius:15px}.kshOrb>span{font-size:22px}.kshOrb>small{display:none}.kshPrimary{bottom:11px;min-width:164px;max-width:calc(100% - 125px);height:46px;padding:0 13px;font-size:10px}.kshPrimary>span{font-size:20px}.kshNudge{right:60px;top:70px;max-width:210px}.koderiaLoopDock.smartManaged{top:61px;width:calc(100% - 70px);left:8px;transform:translateY(-10px) scale(.97);max-height:60vh}.koderiaLoopDock.smartManaged.smartExpanded{transform:none}.koderiaLoopDock.smartManaged .loopMissionMain{grid-template-columns:44px 1fr}.koderiaLoopDock.smartManaged .loopMissionRewards{grid-column:1/-1}.koderiaLoopDock.smartManaged .loopMissionActions{position:static}}
body.koderia-child-mode .kshOrb{width:57px;height:57px;border-radius:19px}body.koderia-child-mode .kshOrb>span{font-size:27px}body.koderia-child-mode .kshPrimary{height:54px;min-width:210px;font-size:12px;border-radius:19px}body.koderia-child-mode .kshPrimary>span{font-size:25px}

/* v59.18.1: hud-layout owns placement. Smart HUD stays compact inside the secondary drawer. */
#khlUtilityPanel .kshRail{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
#khlUtilityPanel .kshOrb{animation:none!important}
body.koderia-child-mode #khlUtilityPanel .kshOrb{width:46px!important;height:46px!important;border-radius:14px!important}body.koderia-child-mode #khlUtilityPanel .kshOrb>span{font-size:22px!important}
body.koderia-child-mode .kshPrimary{height:46px!important;min-width:0!important;font-size:10px!important;border-radius:16px!important}body.koderia-child-mode .kshPrimary>span{font-size:21px!important}

/* v59.19.9: available actions are intentionally discoverable inside the menu. */
#khlUtilityPanel .kshOrb.attention{animation:kshOrbPulse 1.35s ease-in-out infinite!important}


/* reward-loop.css */
/* ===== Koderia v59.10.0 · Reward / Collection / World Events ===== */
.krlGoal{position:absolute;z-index:282;left:50%;bottom:76px;transform:translateX(-50%);width:min(390px,calc(100% - 155px));height:52px;display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:7px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;pointer-events:auto}.krlGoal[hidden]{display:none!important}.krlGoalMain,.krlAlbumMini{border:1px solid rgba(255,221,91,.28);border-radius:16px;background:linear-gradient(145deg,rgba(18,28,45,.96),rgba(43,31,21,.96));box-shadow:0 10px 28px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.06);color:#fff;cursor:pointer}.krlGoalMain{min-width:0;padding:6px 10px;display:flex;align-items:center;gap:8px;text-align:left}.krlGoalIcon{flex:0 0 38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(255,218,72,.1);font-size:24px}.krlGoalCopy{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:1px}.krlGoalCopy small{font-size:7px;font-weight:1000;letter-spacing:.1em;color:#ffdc69}.krlGoalCopy b{font-size:10px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.krlGoalCopy>i{height:5px;margin:2px 0;border-radius:99px;background:rgba(255,255,255,.09);overflow:hidden}.krlGoalCopy>i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffd34d,#ff8e46);box-shadow:0 0 10px rgba(255,197,63,.42);transition:width .55s cubic-bezier(.2,.8,.2,1)}.krlGoalCopy>span{font-size:7px;font-weight:900;color:#cbd7df;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.krlAlbumMini{display:grid;place-items:center;padding:4px}.krlAlbumMini>span{font-size:21px;line-height:1}.krlAlbumMini>b{font-size:8px;color:#ffe590}.krlGoal.progressPop .krlGoalMain{animation:krlGoalPop .7s ease}.krlGoal.selectedPop{animation:krlSelected .7s ease}.krlReward{position:fixed;z-index:520;left:50%;top:43%;transform:translate(-50%,-50%);pointer-events:none;opacity:0}.krlReward.show{animation:krlRewardShow 1.05s both}.krlRewardCard{min-width:300px;padding:18px 25px;border-radius:24px;text-align:center;color:#fff;background:radial-gradient(circle at 50% 15%,rgba(94,230,255,.28),transparent 45%),linear-gradient(145deg,rgba(4,21,38,.96),rgba(6,41,55,.96));border:1px solid rgba(115,233,255,.45);box-shadow:0 24px 70px rgba(0,0,0,.55),0 0 45px rgba(73,218,255,.2)}.krlRewardCard.chest{background:radial-gradient(circle at 50% 15%,rgba(255,224,91,.35),transparent 45%),linear-gradient(145deg,rgba(48,32,5,.97),rgba(74,39,7,.97));border-color:rgba(255,220,74,.65);animation:krlChestShake .55s ease}.krlRewardKicker{display:block;font-size:10px;font-weight:1000;letter-spacing:.15em;color:#8aeaff}.krlRewardCard.chest .krlRewardKicker{color:#ffe46e}.krlRewardCard>strong{display:flex;justify-content:center;gap:14px;margin:7px 0 5px}.krlRewardCard>strong b{font-size:31px;line-height:1;color:#fff;text-shadow:0 0 25px rgba(106,231,255,.45)}.krlRewardCard>small{font-size:11px;font-weight:900;color:#d7e9ef}.krlFlyingCoin{position:fixed;z-index:540;width:28px;height:28px;display:grid;place-items:center;font-size:25px;pointer-events:none;filter:drop-shadow(0 4px 8px rgba(0,0,0,.45))}.krlStickerReveal{position:fixed;z-index:535;right:20px;top:50%;transform:translate(30px,-50%) scale(.88);opacity:0;pointer-events:none;transition:.24s}.krlStickerReveal.show{transform:translate(0,-50%) scale(1);opacity:1;pointer-events:auto}.krlRevealCard{width:210px;padding:17px;border-radius:24px;text-align:center;background:linear-gradient(150deg,#092238,#0c3344);border:2px solid #7ce9ff;box-shadow:0 22px 60px rgba(0,0,0,.48),0 0 28px rgba(93,221,255,.22);color:#fff}.krlRevealCard.rarity-rare{border-color:#8f9cff;box-shadow:0 22px 60px rgba(0,0,0,.48),0 0 32px rgba(108,123,255,.32)}.krlRevealCard.rarity-epic{border-color:#e181ff;box-shadow:0 22px 60px rgba(0,0,0,.48),0 0 36px rgba(210,96,255,.36)}.krlRevealCard.rarity-legendary{border-color:#ffd75f;box-shadow:0 22px 60px rgba(0,0,0,.48),0 0 42px rgba(255,203,62,.42);animation:krlLegend 1s ease-in-out infinite}.krlRevealCard>small{display:block;font:1000 8px Inter,sans-serif;letter-spacing:.14em;color:#8be9ff}.krlRevealCard>span{display:grid;place-items:center;width:94px;height:94px;margin:9px auto;border-radius:27px;background:radial-gradient(circle,rgba(255,255,255,.14),rgba(255,255,255,.03));font-size:56px}.krlRevealCard>strong{display:block;font-size:19px}.krlRevealCard>b{display:block;margin-top:4px;font-size:8px;letter-spacing:.12em;color:#ffe27a}.krlRevealCard>em{display:block;margin-top:8px;color:#a8c4d0;font-size:8px;font-style:normal}.krlRevealCard>button{width:100%;min-height:36px;margin-top:12px;border:0;border-radius:12px;background:linear-gradient(135deg,#67e8ff,#7587ff);color:#071c29;font:1000 9px Inter,sans-serif;cursor:pointer}.krlAlbum{position:fixed;z-index:560;inset:0;padding:24px;display:grid;place-items:center;background:rgba(1,8,15,.76);backdrop-filter:blur(10px);opacity:0;visibility:hidden;pointer-events:none;transition:.2s}.krlAlbum.show{opacity:1;visibility:visible;pointer-events:auto}.krlAlbumCard{width:min(980px,96vw);max-height:min(88vh,820px);overflow:auto;border:1px solid rgba(115,230,255,.26);border-radius:28px;background:linear-gradient(150deg,#06182a,#0a2637 58%,#151b2d);box-shadow:0 35px 100px rgba(0,0,0,.6);color:#effbff;font-family:Inter,system-ui,sans-serif}.krlAlbumCard>header{position:sticky;top:0;z-index:3;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;background:rgba(5,22,36,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(113,222,255,.12)}.krlAlbumCard>header small{color:#70e7ff;font-size:8px;font-weight:1000;letter-spacing:.15em}.krlAlbumCard>header h2{margin:2px 0 0;font-size:25px}.krlAlbumCard>header button{width:40px;height:40px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.06);color:#fff;font-size:24px;cursor:pointer}.krlAlbumSummary{margin:16px 18px 4px;padding:13px 15px;border-radius:16px;background:rgba(255,255,255,.04);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.krlAlbumSummary strong{font-size:22px}.krlAlbumSummary strong span{font-size:12px;color:#849ead}.krlAlbumSummary small{display:block;font-size:7px;color:#88a7b7;font-weight:1000}.krlAlbumSummary>i{height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.krlAlbumSummary>i em{display:block;height:100%;background:linear-gradient(90deg,#62eaff,#8b76ff,#ff7ed8);box-shadow:0 0 18px rgba(111,218,255,.35)}.krlAlbumSummary>b{font-size:11px;color:#ffe37b}.krlPages{padding:10px 18px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.krlPage{padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(255,255,255,.025)}.krlPageHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.krlPageHead>div{display:flex;align-items:center;gap:7px}.krlPageHead>div span{font-size:21px}.krlPageHead b{font-size:11px;letter-spacing:.08em}.krlPageHead small{font-size:7px;font-weight:900;color:#9eb8c4}.krlStickerGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.krlSticker{min-height:92px;padding:8px 5px;border:1px solid rgba(105,224,255,.16);border-radius:14px;background:linear-gradient(145deg,rgba(62,180,213,.08),rgba(255,255,255,.025));display:grid;place-items:center;text-align:center}.krlSticker>span{font-size:30px}.krlSticker>b{font-size:8px}.krlSticker>small{font-size:6px;font-weight:1000;color:#74dff5}.krlSticker.locked{filter:saturate(.2);opacity:.42}.krlSticker.locked>span{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06);font-size:17px}.krlSticker.rarity-rare.owned{border-color:rgba(126,142,255,.38)}.krlSticker.rarity-epic.owned{border-color:rgba(221,117,255,.45);box-shadow:inset 0 0 18px rgba(198,84,255,.08)}.krlSticker.rarity-legendary.owned{border-color:rgba(255,211,76,.58);box-shadow:inset 0 0 22px rgba(255,206,62,.1)}.krlLevelUp{position:fixed;z-index:570;left:50%;top:50%;transform:translate(-50%,-50%) scale(.5);opacity:0;text-align:center;color:#fff;pointer-events:none}.krlLevelUp.show{animation:krlLevelShow 1.45s both}.krlLevelUp small{display:block;font:1000 11px Inter,sans-serif;letter-spacing:.2em;color:#75eaff}.krlLevelUp strong{display:block;font:1000 110px/1 Inter,sans-serif;text-shadow:0 0 55px rgba(100,229,255,.65)}.krlLevelUp span{display:block;font:1000 22px Inter,sans-serif;color:#ffe06f}.shopSaveGoal{min-height:31px;padding:0 9px;border:1px solid rgba(255,215,76,.22);border-radius:10px;background:rgba(255,213,67,.07);color:#ffe284;font:1000 8px Inter,system-ui,sans-serif;cursor:pointer;white-space:nowrap}.shopSaveGoal.active{background:linear-gradient(135deg,#ffe25e,#ffb548);color:#352200;border-color:#ffea92}.shopCardBottom{gap:6px;flex-wrap:wrap}.shopCardBottom .shopSaveGoal{margin-left:auto}
@keyframes krlGoalPop{0%,100%{transform:scale(1)}45%{transform:scale(1.045);box-shadow:0 0 34px rgba(255,205,67,.32)}}@keyframes krlSelected{45%{filter:brightness(1.35);transform:translateX(-50%) scale(1.04)}}@keyframes krlRewardShow{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-62%) scale(.96)}}@keyframes krlChestShake{0%,100%{transform:rotate(0)}20%{transform:rotate(-2deg)}40%{transform:rotate(2deg)}60%{transform:rotate(-1deg)}80%{transform:rotate(1deg)}}@keyframes krlLegend{50%{filter:brightness(1.12);transform:scale(1.015)}}@keyframes krlLevelShow{0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-55%) scale(.95)}}
@media(max-width:760px){.krlGoal{bottom:63px;width:calc(100% - 128px);height:48px;grid-template-columns:minmax(0,1fr) 52px}.krlGoalMain{padding:5px 7px}.krlGoalIcon{flex-basis:34px;height:34px;font-size:21px}.krlGoalCopy b{font-size:9px}.krlGoalCopy>span{font-size:6.5px}.krlStickerReveal{right:8px;top:46%}.krlRevealCard{width:178px;padding:13px}.krlRevealCard>span{width:76px;height:76px;font-size:46px}.krlAlbum{padding:8px}.krlAlbumCard{width:100%;max-height:94vh;border-radius:20px}.krlPages{grid-template-columns:1fr;padding:8px 10px 14px}.krlStickerGrid{grid-template-columns:repeat(3,1fr)}.krlSticker{min-height:82px}.krlRewardCard{min-width:245px;padding:15px}.krlRewardCard>strong b{font-size:25px}.krlLevelUp strong{font-size:82px}}body.koderia-child-mode .krlGoal{height:57px;bottom:72px}body.koderia-child-mode .krlGoalCopy b{font-size:11px}body.koderia-child-mode .krlGoalCopy small{font-size:8px}@media(prefers-reduced-motion:reduce){.krlGoal,.krlReward,.krlStickerReveal,.krlRevealCard,.krlLevelUp,.krlSticker{animation:none!important;transition:none!important}.krlFlyingCoin{display:none!important}}
body.kshProfileOpen .krlGoal{opacity:0!important;visibility:hidden!important;pointer-events:none!important}body.kshCelebrating .krlGoal{opacity:.3;pointer-events:none}

/* ===== v59.9.1 Reward Juice ===== */
.krlReward{top:42%}
.krlRewardCard{min-width:390px;padding:23px 30px 21px;border-radius:30px;border-width:2px;box-shadow:0 28px 90px rgba(0,0,0,.62),0 0 72px rgba(73,218,255,.28);overflow:visible;position:relative}
.krlRewardCard::before{content:"";position:absolute;inset:-18px;border-radius:42px;border:1px solid rgba(124,237,255,.16);box-shadow:0 0 50px rgba(82,225,255,.15);pointer-events:none}
.krlRewardCard.chest{border-width:2px;box-shadow:0 28px 100px rgba(0,0,0,.64),0 0 90px rgba(255,202,42,.34)}
.krlRewardKicker{font-size:12px;letter-spacing:.17em;text-shadow:0 0 16px currentColor}
.krlRewardCard>strong{gap:20px;margin:10px 0 7px;align-items:stretch}
.krlRewardCard>strong>b{min-width:130px;padding:9px 12px 8px;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:center;justify-content:center;column-gap:5px;border-radius:18px;font-size:43px!important;line-height:.95!important;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10);text-shadow:0 0 28px rgba(106,231,255,.52);transform-origin:center}
.krlRewardCard>strong>b i{font-size:28px;font-style:normal;filter:drop-shadow(0 0 12px currentColor)}
.krlRewardCard>strong>b small{grid-column:1/-1;margin-top:5px;font-size:8px;letter-spacing:.16em;color:#b8dbe5}
.krlRewardCard>strong>b.coins{color:#ffe36e;text-shadow:0 0 30px rgba(255,202,54,.48);background:rgba(255,205,62,.07);border-color:rgba(255,218,88,.16)}
.krlRewardCard>strong>b.xp{color:#8fefff;background:rgba(75,223,255,.065)}
.krlRewardTitle{display:block;font-size:12px!important;color:#e8f8fc!important}
.krlRewardGoal{display:block;margin-top:9px;padding:7px 10px;border-radius:11px;background:rgba(255,209,68,.08);color:#ffe38b;font-size:9px;font-weight:1000}
.krlRewardStreak{position:absolute;right:-18px;top:-18px;padding:7px 10px;border-radius:999px;background:linear-gradient(135deg,#ff654d,#ffca47);color:#2b1300;font:1000 9px Inter,sans-serif;letter-spacing:.06em;box-shadow:0 8px 25px rgba(255,106,49,.38);animation:krlStreakPop .48s cubic-bezier(.2,1.4,.3,1)}
.krlReward.show .krlRewardCard>strong>b{animation:krlNumberPunch .64s cubic-bezier(.15,1.35,.25,1)}
.krlReward.mega .krlRewardCard{animation:krlMegaChest .78s cubic-bezier(.2,1.2,.25,1)}
.krlFlyingReward{position:fixed;z-index:548;display:grid;place-items:center;pointer-events:none;will-change:transform,opacity;filter:drop-shadow(0 7px 10px rgba(0,0,0,.5))}
.krlFlyingReward.coin{width:46px;height:46px;font-size:40px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.52)) drop-shadow(0 0 11px rgba(255,211,64,.46))}
.krlFlyingReward.xp{width:39px;height:39px;font-size:34px;filter:drop-shadow(0 7px 12px rgba(0,0,0,.46)) drop-shadow(0 0 13px rgba(80,227,255,.58))}
.krlFxLayer{position:fixed;z-index:515;inset:0;pointer-events:none;overflow:hidden}
.krlShockRing{position:absolute;left:50%;top:46%;width:340px;height:340px;border:4px solid rgba(112,235,255,.74);border-radius:50%;box-shadow:0 0 38px rgba(86,225,255,.35),inset 0 0 28px rgba(86,225,255,.18);will-change:transform,opacity}
.krlShockRing.chest,.krlShockRing.legendary{border-color:rgba(255,218,74,.88);box-shadow:0 0 48px rgba(255,203,51,.42),inset 0 0 34px rgba(255,211,61,.2)}
.krlShockRing.level{border-color:rgba(126,225,255,.92);box-shadow:0 0 60px rgba(112,202,255,.48),inset 0 0 42px rgba(117,216,255,.22)}
.krlRewardFlash{position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,rgba(102,231,255,.34),transparent 46%)}
.krlRewardFlash.chest,.krlRewardFlash.legendary{background:radial-gradient(circle at 50% 46%,rgba(255,222,92,.46),transparent 50%)}
.krlBurstParticle{position:absolute;left:50%;top:46%;font:900 27px/1 Inter,system-ui,sans-serif;color:#9cf1ff;text-shadow:0 0 15px currentColor;will-change:transform,opacity}
.krlBurstParticle.chest{font-size:31px;color:#ffe36d}.krlBurstParticle.xp{font-size:30px;color:#83ecff}
.krlGoal{overflow:visible}
.krlGoalMain{overflow:hidden;position:relative}
.krlGoal.progressPop .krlGoalMain{animation:krlGoalJuice .9s cubic-bezier(.2,1.1,.25,1)}
.krlGoal.progressPop .krlGoalCopy>i em{box-shadow:0 0 22px rgba(255,205,53,.8);filter:brightness(1.25)}
.krlGoalGain{position:absolute;left:10px;bottom:calc(100% + 8px);min-width:220px;max-width:330px;padding:10px 13px;border-radius:15px;background:linear-gradient(145deg,rgba(35,28,5,.97),rgba(64,43,8,.97));border:1px solid rgba(255,219,81,.48);box-shadow:0 13px 38px rgba(0,0,0,.45),0 0 26px rgba(255,200,49,.18);opacity:0;transform:translateY(12px) scale(.9);pointer-events:none;color:#fff;transition:.22s cubic-bezier(.2,1.2,.25,1)}
.krlGoalGain.show{opacity:1;transform:translateY(0) scale(1)}
.krlGoalGain strong{display:block;color:#ffe26d;font-size:19px;line-height:1}.krlGoalGain span{display:block;margin-top:4px;color:#e2edf0;font-size:8px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.krlHudImpact{position:relative;animation:krlHudImpact .52s cubic-bezier(.15,1.4,.25,1)!important;filter:brightness(1.25)!important}.krlHudImpact.coin{box-shadow:0 0 30px rgba(255,211,67,.58)!important}.krlHudImpact.xp{box-shadow:0 0 30px rgba(91,227,255,.58)!important}
.krlRevealCard{width:235px;padding:20px;border-width:2px}.krlRevealCard>span{width:112px;height:112px;font-size:67px}.krlRevealCard>strong{font-size:22px}.krlRevealCard.rarity-epic,.krlRevealCard.rarity-legendary{transform-origin:center;animation:krlRareFloat 1.25s ease-in-out infinite}
.krlLevelUp strong{font-size:128px;text-shadow:0 0 75px rgba(100,229,255,.75)}.krlLevelUp em{display:block;margin-top:7px;color:#d5eef5;font:900 9px Inter,sans-serif;font-style:normal;letter-spacing:.08em}
@keyframes krlNumberPunch{0%{transform:scale(.45);opacity:.2}48%{transform:scale(1.18)}72%{transform:scale(.96)}100%{transform:scale(1);opacity:1}}
@keyframes krlMegaChest{0%{transform:scale(.64) rotate(-2deg)}32%{transform:scale(1.12) rotate(1deg)}58%{transform:scale(.97) rotate(-.5deg)}100%{transform:scale(1) rotate(0)}}
@keyframes krlStreakPop{0%{transform:scale(.35) rotate(-12deg);opacity:0}70%{transform:scale(1.12) rotate(2deg)}100%{transform:scale(1);opacity:1}}
@keyframes krlGoalJuice{0%,100%{transform:scale(1)}32%{transform:scale(1.075);box-shadow:0 0 45px rgba(255,205,67,.5)}62%{transform:scale(.985)}}
@keyframes krlHudImpact{0%{transform:scale(1)}42%{transform:scale(1.18)}72%{transform:scale(.97)}100%{transform:scale(1)}}
@keyframes krlRareFloat{50%{transform:translateY(-3px) scale(1.025);filter:brightness(1.1)}}
@media(max-width:760px){.krlReward{top:40%}.krlRewardCard{min-width:min(310px,88vw);padding:19px 18px;border-radius:25px}.krlRewardCard>strong{gap:10px}.krlRewardCard>strong>b{min-width:105px;padding:8px;font-size:34px!important}.krlRewardCard>strong>b i{font-size:23px}.krlFlyingReward.coin{width:38px;height:38px;font-size:34px}.krlFlyingReward.xp{width:34px;height:34px;font-size:29px}.krlShockRing{width:270px;height:270px}.krlBurstParticle{font-size:23px}.krlGoalGain{left:4px;min-width:min(250px,72vw)}.krlRevealCard{width:205px}.krlRevealCard>span{width:92px;height:92px;font-size:57px}.krlLevelUp strong{font-size:94px}}
@media(prefers-reduced-motion:reduce){.krlFlyingReward,.krlFxLayer,.krlGoalGain{display:none!important}.krlHudImpact{animation:none!important}}

/* ===== v59.9.2 Reward Anticipation ===== */
body.krlChestReady #koderiaLoopDock.chestReady .loopChestHero{position:relative;overflow:visible;box-shadow:0 0 0 1px rgba(255,218,76,.28),0 0 48px rgba(255,196,36,.26)!important}
body.krlChestReady #koderiaLoopDock.chestReady .loopChestHero::before{content:"";position:absolute;left:8%;right:8%;top:-42px;height:78px;background:linear-gradient(180deg,rgba(255,224,91,0),rgba(255,224,91,.18),rgba(255,224,91,0));filter:blur(8px);transform:perspective(100px) rotateX(58deg);pointer-events:none;animation:krlChestBeamPulse 1.2s ease-in-out infinite}
body.krlChestReady #koderiaLoopDock.chestReady .loopChestIcon{display:inline-grid;place-items:center;transform-origin:50% 75%;filter:drop-shadow(0 0 20px rgba(255,209,62,.8));animation:krlChestReadyShake 1.05s ease-in-out infinite}
body.krlChestReady #koderiaLoopDock.chestReady [data-loop-chest]{animation:krlChestButtonPulse 1.05s ease-in-out infinite!important;box-shadow:0 0 30px rgba(255,204,50,.45)!important}
.krlSeriesAnticipation{position:fixed;z-index:575;left:50%;top:42%;width:min(330px,86vw);padding:20px 18px 18px;border-radius:30px;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.62);background:linear-gradient(155deg,rgba(6,18,31,.97),rgba(8,32,45,.98));border:2px solid rgba(99,229,255,.26);box-shadow:0 32px 100px rgba(0,0,0,.62),0 0 72px rgba(74,218,255,.22);overflow:hidden;transition:.32s cubic-bezier(.16,1.25,.25,1)}
.krlSeriesAnticipation.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.krlSeriesAnticipation.step-3{border-color:rgba(255,219,76,.58);box-shadow:0 32px 100px rgba(0,0,0,.62),0 0 95px rgba(255,197,45,.38);background:linear-gradient(155deg,rgba(29,22,4,.98),rgba(54,37,4,.98))}
.krlSeriesAnticipation .krlSeriesGlow{position:absolute;inset:-45%;background:conic-gradient(from 20deg,transparent,rgba(103,232,255,.16),transparent 30%,rgba(255,226,89,.11),transparent 62%);animation:krlSeriesSpin 2.8s linear infinite}.krlSeriesAnticipation.step-3 .krlSeriesGlow{background:conic-gradient(from 20deg,transparent,rgba(255,219,69,.22),transparent 30%,rgba(255,245,190,.14),transparent 62%)}
.krlSeriesChest{position:relative;font-size:52px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.45));animation:krlChestHop .7s cubic-bezier(.2,1.25,.25,1)}.step-3 .krlSeriesChest{font-size:66px;filter:drop-shadow(0 0 28px rgba(255,211,61,.72))}
.krlSeriesAnticipation small,.krlSeriesAnticipation b,.krlSeriesAnticipation strong{position:relative;display:block}.krlSeriesAnticipation small{margin-top:5px;color:#8cdff0;font:1000 9px/1.2 Inter,sans-serif;letter-spacing:.16em}.step-3 small{color:#ffe27b}.krlSeriesAnticipation strong{margin:6px 0 2px;color:#fff;font:1000 70px/.9 Inter,sans-serif;text-shadow:0 0 34px rgba(85,226,255,.48)}.step-3 strong{color:#fff5bf;text-shadow:0 0 42px rgba(255,209,60,.62)}.krlSeriesAnticipation strong i{font-size:.38em;font-style:normal;color:#8299a9}.krlSeriesAnticipation b{color:#e8f9fd;font:1000 11px/1.3 Inter,sans-serif;letter-spacing:.07em}.step-3 b{color:#ffe171}
.krlChestReadyBeam{position:fixed;z-index:578;left:50%;top:43%;width:min(330px,86vw);height:250px;display:grid;place-items:center;align-content:center;gap:4px;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.7);transition:.3s cubic-bezier(.18,1.3,.25,1)}.krlChestReadyBeam.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.krlChestReadyBeam>i{position:absolute;width:190px;height:300px;background:linear-gradient(180deg,rgba(255,232,108,0),rgba(255,217,72,.28),rgba(255,232,108,0));filter:blur(8px);clip-path:polygon(37% 0,63% 0,100% 100%,0 100%)}.krlChestReadyBeam span,.krlChestReadyBeam b,.krlChestReadyBeam small{position:relative}.krlChestReadyBeam span{font-size:78px;filter:drop-shadow(0 0 30px rgba(255,211,53,.85));animation:krlChestReadyShake .75s ease-in-out infinite}.krlChestReadyBeam b{color:#fff0a1;font:1000 18px Inter,sans-serif;text-shadow:0 0 24px rgba(255,214,77,.65)}.krlChestReadyBeam small{color:#fff;font:1000 8px Inter,sans-serif;letter-spacing:.18em}
body.krlChestOpeningActive #koderiaMissionOverlay[data-quest="chest"]{opacity:0!important;visibility:hidden!important}.krlChestOpening{position:fixed;z-index:620;inset:0;display:grid;place-items:center;align-content:center;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 47%,rgba(255,212,56,.10),rgba(0,0,0,.72) 45%,rgba(0,0,0,.88));transition:opacity .22s ease}.krlChestOpening.show{opacity:1}.krlChestOpening .krlChestBeam{position:absolute;left:50%;top:46%;width:300px;height:620px;transform:translate(-50%,-50%);background:linear-gradient(180deg,transparent,rgba(255,225,92,.20),rgba(255,225,92,.04),transparent);filter:blur(12px);clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);opacity:.55}.krlChestObject{position:relative;width:170px;height:145px;display:grid;place-items:center;transform-origin:50% 78%}.krlChestObject i{font-style:normal;font-size:118px;filter:drop-shadow(0 18px 24px rgba(0,0,0,.62)) drop-shadow(0 0 32px rgba(255,205,48,.44));transition:.2s}.krlChestObject em{position:absolute;inset:18% 5% 8%;border-radius:50%;box-shadow:0 0 70px rgba(255,207,48,.0);transition:.25s}.krlChestOpening>b{margin-top:4px;color:#ffe37b;font:1000 16px Inter,sans-serif;letter-spacing:.08em;text-shadow:0 0 24px rgba(255,210,65,.5)}.krlChestOpening>small{margin-top:5px;color:#d8e9ed;font:900 8px Inter,sans-serif;letter-spacing:.14em}.krlChestDots{display:flex;gap:7px;margin-top:14px}.krlChestDots i{width:7px;height:7px;border-radius:50%;background:#ffe477;box-shadow:0 0 12px rgba(255,218,75,.6);animation:krlDot 1s ease-in-out infinite}.krlChestDots i:nth-child(2){animation-delay:.15s}.krlChestDots i:nth-child(3){animation-delay:.3s}.krlChestOpening.shake .krlChestObject{animation:krlBigChestShake .095s linear infinite}.krlChestOpening.crack .krlChestObject i{transform:scale(1.08);filter:drop-shadow(0 18px 24px rgba(0,0,0,.62)) drop-shadow(0 0 55px rgba(255,230,120,.9))}.krlChestOpening.open .krlChestObject{animation:krlChestOpenPunch .48s cubic-bezier(.15,1.45,.25,1)}.krlChestOpening.open .krlChestObject em{box-shadow:0 0 150px 70px rgba(255,224,87,.58)}.krlChestOpening.open .krlChestBeam{opacity:1;filter:blur(8px)}
.krlStickerReveal.anticipating{filter:none}.krlRevealCard.mystery{position:relative;overflow:hidden;border-color:rgba(157,234,255,.38);background:linear-gradient(155deg,rgba(7,19,32,.98),rgba(14,33,47,.98));box-shadow:0 24px 75px rgba(0,0,0,.58),0 0 50px rgba(83,222,255,.22)}.krlRevealCard.mystery>span{color:#dffbff;background:radial-gradient(circle,rgba(92,225,255,.18),rgba(255,255,255,.03));text-shadow:0 0 30px rgba(106,233,255,.8);animation:krlMysteryPulse .7s ease-in-out infinite}.krlRevealCard.mystery>strong{color:#d9f8ff;letter-spacing:.14em}.krlRevealCard.mystery>b{color:#8ee9fa}.krlMysteryScan{height:5px;margin-top:12px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.07)}.krlMysteryScan i{display:block;width:36%;height:100%;border-radius:inherit;background:linear-gradient(90deg,transparent,#7cecff,#fff6a7,transparent);box-shadow:0 0 15px rgba(107,233,255,.7);animation:krlMysteryScan .72s linear infinite}.krlStickerReveal.revealed .krlRevealCard{animation:krlRevealPunch .48s cubic-bezier(.16,1.35,.25,1)}
@keyframes krlChestBeamPulse{50%{opacity:.45;transform:perspective(100px) rotateX(58deg) scaleX(1.12)}}@keyframes krlChestReadyShake{0%,100%{transform:rotate(0) translateY(0)}15%{transform:rotate(-7deg) translateY(-2px)}30%{transform:rotate(7deg) translateY(-3px)}45%{transform:rotate(-4deg)}60%{transform:rotate(4deg)}75%{transform:rotate(0) translateY(0)}}@keyframes krlChestButtonPulse{50%{transform:scale(1.045);filter:brightness(1.16)}}@keyframes krlSeriesSpin{to{transform:rotate(360deg)}}@keyframes krlChestHop{0%{transform:translateY(18px) scale(.55)}65%{transform:translateY(-6px) scale(1.12)}100%{transform:translateY(0) scale(1)}}@keyframes krlBigChestShake{0%{transform:translate(-2px,1px) rotate(-2deg)}50%{transform:translate(2px,-1px) rotate(2deg)}100%{transform:translate(-1px,1px) rotate(-1deg)}}@keyframes krlChestOpenPunch{0%{transform:scale(.86)}45%{transform:scale(1.24) translateY(-8px)}100%{transform:scale(1.05)}}@keyframes krlDot{50%{opacity:.22;transform:scale(.65)}}@keyframes krlMysteryPulse{50%{transform:scale(1.08);filter:brightness(1.25)}}@keyframes krlMysteryScan{from{transform:translateX(-130%)}to{transform:translateX(380%)}}@keyframes krlRevealPunch{0%{transform:scale(.65);filter:brightness(2)}60%{transform:scale(1.08)}100%{transform:scale(1)}}
@media(max-width:760px){.krlSeriesAnticipation{top:39%;width:min(300px,88vw);padding:16px}.krlSeriesAnticipation strong{font-size:58px}.krlSeriesChest{font-size:46px}.step-3 .krlSeriesChest{font-size:57px}.krlChestReadyBeam{top:40%}.krlChestReadyBeam span{font-size:66px}.krlChestObject{width:145px;height:125px}.krlChestObject i{font-size:100px}.krlChestOpening>b{font-size:14px}}
@media(prefers-reduced-motion:reduce){.krlSeriesAnticipation,.krlChestReadyBeam,.krlChestOpening{animation:none!important;transition:none!important}.krlChestOpening .krlChestBeam,.krlMysteryScan{display:none!important}}

/* ===== v59.9.3 Collection Milestones ===== */
.krlAlbumMini{grid-template-rows:auto auto auto}.krlAlbumMini>small{font:1000 6px/1 Inter,sans-serif;color:#8feaff;letter-spacing:.02em}.krlAlbumMini.near{border-color:rgba(255,214,71,.58);box-shadow:0 0 26px rgba(255,200,46,.2),inset 0 1px rgba(255,255,255,.08);animation:krlAlbumNearPulse 1.5s ease-in-out infinite}
.krlNextMilestone{margin:10px 18px 5px;padding:13px 15px;display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center;border-radius:18px;border:1px solid rgba(100,226,255,.18);background:linear-gradient(135deg,rgba(51,199,229,.08),rgba(114,89,255,.06))}.krlNextMilestone.last-one{border-color:rgba(255,212,70,.42);background:linear-gradient(135deg,rgba(255,204,54,.12),rgba(255,116,48,.06));box-shadow:inset 0 0 30px rgba(255,198,46,.06)}.krlMilestoneSilhouette{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:rgba(0,0,0,.24);font-size:38px;filter:grayscale(1) brightness(.18);text-shadow:0 0 15px rgba(255,255,255,.22)}.krlNextMilestone.complete .krlMilestoneSilhouette{filter:none}.krlNextMilestone>div:last-child{min-width:0}.krlNextMilestone small{display:block;color:#74eaff;font:1000 7px Inter,sans-serif;letter-spacing:.12em}.krlNextMilestone.last-one small{color:#ffe272}.krlNextMilestone strong{display:block;margin-top:2px;font:1000 13px Inter,sans-serif;color:#fff}.krlNextMilestone span{display:block;margin-top:3px;color:#c8dce5;font:800 8px/1.35 Inter,sans-serif}.krlNextMilestone em{display:block;margin-top:5px;color:#8eb2c2;font:800 7px/1.35 Inter,sans-serif;font-style:normal}
.krlPage{position:relative;overflow:hidden}.krlPage.near-complete{border-color:rgba(255,209,65,.34);box-shadow:inset 0 0 35px rgba(255,197,43,.055)}.krlPage.near-complete::before{content:"";position:absolute;inset:-60%;pointer-events:none;background:conic-gradient(transparent,rgba(255,211,75,.07),transparent 28%);animation:krlPageNearSpin 5s linear infinite}.krlPage.complete{border-color:rgba(114,236,199,.28);background:linear-gradient(145deg,rgba(81,216,177,.055),rgba(255,255,255,.025))}.krlPageHead,.krlPageTrophy,.krlStickerGrid,.krlPageHint{position:relative}.krlPageTrophy{margin:-2px 0 9px;padding:7px 9px;display:flex;align-items:center;gap:8px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.055)}.krlPageTrophy>span{font-size:20px}.krlPageTrophy>div{min-width:0}.krlPageTrophy small{display:block;color:#7892a0;font:1000 6px Inter,sans-serif;letter-spacing:.1em}.krlPageTrophy b{display:block;margin-top:1px;color:#bbcbd3;font:900 8px Inter,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.krlPageTrophy.unlocked{background:linear-gradient(135deg,rgba(255,215,71,.1),rgba(89,235,201,.07));border-color:rgba(255,220,82,.2)}.krlPageTrophy.unlocked small{color:#ffe276}.krlPageTrophy.unlocked b{color:#fff}.krlSticker.locked{filter:none;opacity:.62}.krlStickerSilhouette{filter:grayscale(1) brightness(.12);opacity:.92;text-shadow:0 0 10px rgba(255,255,255,.16)}.krlSticker.wanted{border-color:rgba(255,214,70,.34);background:linear-gradient(145deg,rgba(255,206,56,.08),rgba(255,255,255,.025));animation:krlWantedPulse 1.6s ease-in-out infinite}.krlSticker.wanted>small{color:#ffe172}.krlPageHint{margin-top:8px;padding:7px 9px;border-radius:10px;background:rgba(255,205,62,.055);color:#c2d4dc;font:800 7px/1.35 Inter,sans-serif}
.krlCollectionMilestone,.krlPageComplete,.krlAlbumComplete{position:fixed;z-index:650;left:50%;top:48%;width:min(360px,90vw);padding:22px;border-radius:30px;text-align:center;color:#fff;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.62);transition:.35s cubic-bezier(.16,1.35,.25,1);overflow:hidden}.krlCollectionMilestone.show,.krlPageComplete.show,.krlAlbumComplete.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.krlCollectionMilestone{background:linear-gradient(155deg,rgba(6,20,34,.985),rgba(13,41,52,.985));border:2px solid rgba(99,230,255,.34);box-shadow:0 35px 110px rgba(0,0,0,.7),0 0 75px rgba(72,225,255,.24)}.krlMilestoneAura{position:absolute;inset:-60%;background:conic-gradient(transparent,rgba(90,233,255,.12),transparent 25%,rgba(255,222,83,.10),transparent 55%);animation:krlPageNearSpin 3s linear infinite}.krlCollectionMilestone>*{position:relative}.krlCollectionMilestone>small,.krlPageComplete>small,.krlAlbumComplete>small{display:block;font:1000 8px Inter,sans-serif;letter-spacing:.18em;color:#86ebff}.krlCollectionMilestone>strong,.krlPageComplete>strong,.krlAlbumComplete>strong{display:block;margin:6px 0 2px;font:1000 58px/.9 Inter,sans-serif;text-shadow:0 0 35px rgba(92,228,255,.5)}.krlCollectionMilestone>strong i,.krlPageComplete>strong i,.krlAlbumComplete>strong i{font-size:.4em;font-style:normal;color:#8da7b4}.krlMilestoneBigSilhouette{display:grid!important;place-items:center;width:92px;height:92px;margin:10px auto 7px;border-radius:28px;background:rgba(255,255,255,.05);font-size:60px;filter:grayscale(1) brightness(.12);box-shadow:inset 0 0 30px rgba(255,255,255,.04)}.krlCollectionMilestone>b{display:block;color:#ffe476;font:1000 13px Inter,sans-serif}.krlCollectionMilestone>em{display:block;margin-top:3px;color:#fff;font:1000 10px Inter,sans-serif;font-style:normal}.krlCollectionMilestone>p{margin:9px 0;color:#a8c2cd;font:800 8px/1.4 Inter,sans-serif}.krlMilestonePrize{padding:9px 11px;display:flex;align-items:center;gap:9px;text-align:left;border-radius:14px;background:rgba(255,213,63,.075);border:1px solid rgba(255,218,74,.15)}.krlMilestonePrize>span{font-size:27px}.krlMilestonePrize small{display:block;color:#ffe278;font:1000 6px Inter,sans-serif;letter-spacing:.1em}.krlMilestonePrize b{display:block;color:#fff;font:900 8px Inter,sans-serif}
.krlPageComplete{background:radial-gradient(circle at 50% 35%,rgba(255,221,74,.17),transparent 45%),linear-gradient(155deg,rgba(27,24,5,.99),rgba(55,34,5,.99));border:2px solid rgba(255,222,82,.58);box-shadow:0 40px 120px rgba(0,0,0,.75),0 0 110px rgba(255,201,49,.36)}.krlCompleteRays{position:absolute;left:50%;top:45%;width:420px;height:420px;transform:translate(-50%,-50%);background:repeating-conic-gradient(from 0deg,rgba(255,229,111,.13) 0 5deg,transparent 5deg 15deg);mask:radial-gradient(circle,transparent 0 18%,#000 19% 65%,transparent 66%);animation:krlPageNearSpin 8s linear infinite}.krlPageComplete>*{position:relative}.krlPageComplete>small,.krlAlbumComplete>small{color:#ffe57e}.krlPageComplete>strong,.krlAlbumComplete>strong{color:#fff5be;text-shadow:0 0 42px rgba(255,210,65,.64)}.krlCompletePageIcon{display:block;font-size:52px;filter:drop-shadow(0 0 25px rgba(255,214,74,.48))}.krlPageComplete>b{display:block;margin:2px 0 11px;color:#fff;font:1000 17px Inter,sans-serif;letter-spacing:.07em}.krlTrophyUnlock{padding:11px 12px;display:flex;align-items:center;gap:11px;text-align:left;border-radius:16px;background:linear-gradient(135deg,rgba(255,229,115,.14),rgba(255,166,49,.08));border:1px solid rgba(255,225,100,.25)}.krlTrophyUnlock>span{font-size:40px}.krlTrophyUnlock small{display:block;color:#ffe57a;font:1000 6px Inter,sans-serif;letter-spacing:.11em}.krlTrophyUnlock strong{display:block;margin-top:2px;color:#fff;font:1000 11px Inter,sans-serif}.krlTrophyUnlock em{display:block;margin-top:2px;color:#ffd65a;font:1000 9px Inter,sans-serif;font-style:normal}
.krlAlbumComplete{width:min(390px,92vw);background:radial-gradient(circle at 50% 38%,rgba(255,225,84,.20),transparent 42%),linear-gradient(155deg,rgba(30,20,4,.995),rgba(7,24,31,.995));border:2px solid rgba(255,224,92,.68);box-shadow:0 45px 140px rgba(0,0,0,.8),0 0 140px rgba(255,207,55,.4)}.krlAlbumCompleteGlow{position:absolute;inset:-70%;background:conic-gradient(transparent,rgba(255,225,92,.18),transparent 18%,rgba(108,232,255,.14),transparent 40%);animation:krlPageNearSpin 4s linear infinite}.krlAlbumComplete>*{position:relative}.krlAlbumComplete>span{display:block;margin:7px 0;font-size:78px;filter:drop-shadow(0 0 34px rgba(255,215,67,.8));animation:krlTrophyFloat 1s ease-in-out infinite}.krlAlbumComplete>b{display:block;color:#fff4ad;font:1000 19px Inter,sans-serif}.krlAlbumComplete>em{display:block;margin-top:6px;color:#fff;font:900 9px/1.4 Inter,sans-serif;font-style:normal}
@keyframes krlAlbumNearPulse{50%{filter:brightness(1.18);transform:translateY(-1px)}}@keyframes krlPageNearSpin{to{transform:rotate(360deg)}}@keyframes krlWantedPulse{50%{filter:brightness(1.2);transform:translateY(-2px)}}@keyframes krlTrophyFloat{50%{transform:translateY(-6px) scale(1.04)}}
@media(max-width:760px){.krlNextMilestone{margin:9px 10px 4px;grid-template-columns:50px 1fr;padding:10px}.krlMilestoneSilhouette{width:50px;height:50px;font-size:32px}.krlPages{padding:8px 10px 16px;grid-template-columns:1fr}.krlPage{padding:11px}.krlSticker{min-height:82px}.krlCollectionMilestone,.krlPageComplete,.krlAlbumComplete{top:45%;padding:18px}.krlCollectionMilestone>strong,.krlPageComplete>strong,.krlAlbumComplete>strong{font-size:52px}.krlMilestoneBigSilhouette{width:82px;height:82px;font-size:52px}.krlAlbumComplete>span{font-size:68px}}
@media(prefers-reduced-motion:reduce){.krlAlbumMini.near,.krlPage.near-complete::before,.krlSticker.wanted,.krlMilestoneAura,.krlCompleteRays,.krlAlbumCompleteGlow,.krlAlbumComplete>span{animation:none!important}}

/* ===== v59.9.4 Visual Cleanup + Rare World Finds ===== */
.krlGoal,.krlGoal *,.krlReward,.krlReward *,.krlStickerReveal,.krlStickerReveal *,.krlAlbum,.krlAlbum *,.krlCollectionMilestone,.krlCollectionMilestone *,.krlPageComplete,.krlPageComplete *,.krlAlbumComplete,.krlAlbumComplete *,.krlRareFind,.krlRareFind *{box-sizing:border-box}
.krlAlbum{-webkit-backdrop-filter:blur(10px);padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}
.krlAlbumCard{max-height:min(88vh,88dvh,820px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.krlAlbumCard>header{-webkit-backdrop-filter:blur(12px)}
.krlCompleteRays{-webkit-mask:radial-gradient(circle,transparent 0 18%,#000 19% 65%,transparent 66%)}
.krlRewardCard{max-width:calc(100vw - 24px)}
.krlRewardCard>strong{flex-wrap:wrap}
.krlRewardStreak{max-width:calc(100% - 12px);white-space:nowrap}
.krlCollectionMilestone,.krlPageComplete,.krlAlbumComplete{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}
.krlGoal,.krlStickerReveal,.krlReward{transition:opacity .18s ease,filter .18s ease}
body.krlMajorMoment .krlGoal,body.krlMajorMoment .krlStickerReveal,body.krlMajorMoment .krlReward{opacity:.08!important;filter:blur(1px);pointer-events:none!important}
body.krlMajorMoment .krlRareFind{opacity:.18!important;pointer-events:none!important}
.shopSaveGoal{touch-action:manipulation;-webkit-tap-highlight-color:transparent}

.krlRareFind{position:absolute;z-index:279;width:68px;height:68px;padding:0;border:0;border-radius:50%;background:radial-gradient(circle,rgba(255,239,140,.28),rgba(255,206,59,.10) 45%,rgba(255,206,59,0) 72%);display:grid;place-items:center;transform:translate(-50%,-50%);cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 0 16px rgba(255,219,74,.72));animation:krlRareFloat 1.25s ease-in-out infinite}
.krlRareFind::before,.krlRareFind::after{content:"";position:absolute;border-radius:50%;pointer-events:none}.krlRareFind::before{inset:5px;border:2px solid rgba(255,231,120,.62);box-shadow:0 0 22px rgba(255,215,65,.38),inset 0 0 18px rgba(255,215,65,.18);animation:krlRareRing 1.35s ease-out infinite}.krlRareFind::after{inset:-12px;border:1px solid rgba(116,238,255,.22);animation:krlRareRing 1.35s .45s ease-out infinite}
.krlRareFind>i{position:relative;z-index:2;font-style:normal;font-size:37px;filter:drop-shadow(0 4px 7px rgba(0,0,0,.42)) drop-shadow(0 0 12px rgba(255,224,92,.72))}.krlRareFind>span{position:absolute;left:50%;top:calc(100% + 4px);min-width:126px;padding:6px 8px;border-radius:10px;transform:translateX(-50%);background:rgba(4,17,27,.94);border:1px solid rgba(255,220,82,.25);box-shadow:0 7px 18px rgba(0,0,0,.36);color:#fff;text-align:center;opacity:0;transition:.16s;pointer-events:none}.krlRareFind>span b{display:block;font:1000 7px Inter,system-ui,sans-serif;letter-spacing:.09em;color:#ffe67d}.krlRareFind>span small{display:block;margin-top:2px;font:900 6px Inter,system-ui,sans-serif;color:#c9e5ec;letter-spacing:.05em}.krlRareFind.edge>span,.krlRareFind.near>span{opacity:1}.krlRareFind.edge{width:58px;height:58px;background:radial-gradient(circle,rgba(255,225,98,.32),rgba(7,26,38,.84) 62%);animation:krlRareEdge 1s ease-in-out infinite}.krlRareFind.near{filter:drop-shadow(0 0 24px rgba(255,231,116,.9));animation:krlRareNear .7s ease-in-out infinite}.krlRareFind.near>span{border-color:rgba(255,229,105,.52);box-shadow:0 8px 22px rgba(0,0,0,.4),0 0 22px rgba(255,213,62,.22)}
.krlRareFindToast{position:fixed;z-index:590;left:50%;top:max(76px,calc(env(safe-area-inset-top) + 54px));width:min(330px,calc(100vw - 24px));padding:10px 12px;display:flex;align-items:center;gap:10px;border-radius:16px;background:linear-gradient(145deg,rgba(26,22,5,.97),rgba(7,29,39,.97));border:1px solid rgba(255,220,80,.34);box-shadow:0 16px 42px rgba(0,0,0,.46),0 0 28px rgba(255,207,53,.16);color:#fff;opacity:0;transform:translate(-50%,-16px) scale(.94);pointer-events:none;transition:.26s cubic-bezier(.2,1.2,.25,1)}.krlRareFindToast.show{opacity:1;transform:translate(-50%,0) scale(1)}.krlRareFindToast>span{font-size:31px;filter:drop-shadow(0 0 12px rgba(255,220,80,.68))}.krlRareFindToast>div{min-width:0}.krlRareFindToast small{display:block;font:1000 6px Inter,sans-serif;letter-spacing:.12em;color:#8cecff}.krlRareFindToast b{display:block;margin-top:1px;font:1000 11px Inter,sans-serif;color:#fff4b0}.krlRareFindToast em{display:block;margin-top:2px;font:800 7px Inter,sans-serif;color:#c4d9df;font-style:normal}
.krlRareFindCollect{position:fixed;z-index:655;left:50%;top:46%;width:min(320px,88vw);padding:18px;border-radius:28px;text-align:center;color:#fff;background:radial-gradient(circle at 50% 35%,rgba(255,225,89,.18),transparent 44%),linear-gradient(155deg,rgba(29,22,4,.99),rgba(10,32,39,.99));border:2px solid rgba(255,225,91,.52);box-shadow:0 35px 100px rgba(0,0,0,.68),0 0 85px rgba(255,210,58,.34);opacity:0;transform:translate(-50%,-50%) scale(.58);pointer-events:none;transition:.32s cubic-bezier(.16,1.35,.25,1)}.krlRareFindCollect.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.krlRareFindCollect small{display:block;font:1000 8px Inter,sans-serif;letter-spacing:.16em;color:#ffe57d}.krlRareFindCollect span{display:block;margin:6px 0;font-size:72px;filter:drop-shadow(0 0 26px rgba(255,219,73,.78))}.krlRareFindCollect b{display:block;font:1000 21px Inter,sans-serif;color:#fff4ad}.krlRareFindCollect em{display:block;margin-top:4px;font:900 8px Inter,sans-serif;color:#bde5ec;font-style:normal}
@keyframes krlRareRing{0%{transform:scale(.72);opacity:.85}100%{transform:scale(1.38);opacity:0}}@keyframes krlRareEdge{50%{transform:translate(-50%,-50%) scale(1.08);filter:brightness(1.2)}}@keyframes krlRareNear{50%{transform:translate(-50%,-50%) scale(1.09);filter:brightness(1.22) drop-shadow(0 0 26px rgba(255,225,90,.95))}}
@media(max-width:760px){
  .krlGoal{bottom:max(68px,calc(env(safe-area-inset-bottom) + 58px));width:min(360px,calc(100% - 118px))}
  body.koderia-child-mode .krlGoal{bottom:max(76px,calc(env(safe-area-inset-bottom) + 66px))}
  .krlStickerReveal{left:50%;right:auto;top:44%;transform:translate(-50%,-50%) scale(.88)}.krlStickerReveal.show{transform:translate(-50%,-50%) scale(1)}
  .krlRevealCard{width:min(218px,72vw)}
  .krlRewardCard{min-width:0!important;width:min(320px,calc(100vw - 20px));padding-left:14px;padding-right:14px}.krlRewardCard>strong>b{min-width:96px!important}.krlRewardStreak{right:6px;top:-15px}
  .krlAlbumSummary{margin-left:10px;margin-right:10px;gap:8px}.krlAlbumSummary strong{font-size:19px}
  .krlRareFind{width:62px;height:62px}.krlRareFind>i{font-size:34px}.krlRareFind>span{min-width:112px}.krlRareFindToast{top:max(68px,calc(env(safe-area-inset-top) + 48px))}
}
@media(max-width:420px){
  .krlGoal{width:calc(100% - 104px);grid-template-columns:minmax(0,1fr) 48px}.krlGoalCopy>span{font-size:6px}.krlGoalIcon{flex-basis:31px;width:31px;height:31px}
  .krlRewardCard>strong{gap:7px}.krlRewardCard>strong>b{min-width:90px!important;font-size:30px!important}.krlRewardGoal{font-size:8px}.krlCollectionMilestone,.krlPageComplete,.krlAlbumComplete{width:calc(100vw - 18px);padding:15px}
  .krlRareFindCollect{top:44%}
}
@media(prefers-reduced-motion:reduce){.krlRareFind,.krlRareFind::before,.krlRareFind::after{animation:none!important}.krlRareFindToast,.krlRareFindCollect{transition:none!important}}

.krlRareFind[data-vpos="bottom"]>span{top:auto;bottom:calc(100% + 4px)}.krlRareFind[data-hpos="left"]>span{left:0;transform:none}.krlRareFind[data-hpos="right"]>span{left:auto;right:0;transform:none}

/* ===== v59.9.5 Rarity Hunt ===== */
.krlHuntRadar{position:absolute;z-index:286;left:12px;top:max(68px,calc(env(safe-area-inset-top) + 52px));width:min(238px,calc(100% - 24px));min-height:58px;padding:7px 10px 7px 7px;border:1px solid rgba(117,231,255,.28);border-radius:18px;background:linear-gradient(145deg,rgba(5,24,34,.94),rgba(7,43,52,.92));box-shadow:0 13px 34px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.05);display:flex;align-items:center;gap:9px;color:#fff;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:opacity .18s ease,transform .18s ease,filter .18s ease,border-color .18s ease}.krlHuntRadar[hidden]{display:none!important}.krlHuntRadar:hover{filter:brightness(1.08)}.krlHuntRadar.near{border-color:rgba(255,231,110,.6);box-shadow:0 13px 36px rgba(0,0,0,.38),0 0 24px rgba(255,219,73,.16)}.krlHuntRadar.kind-gold{border-color:rgba(255,222,73,.68);background:linear-gradient(145deg,rgba(42,29,3,.97),rgba(10,39,42,.96));box-shadow:0 13px 36px rgba(0,0,0,.42),0 0 34px rgba(255,202,41,.22)}
.krlRadarDisk{position:relative;flex:0 0 44px;width:44px;height:44px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle,#173f49 0 18%,#0c2831 19% 42%,#061a22 43%);border:1px solid rgba(126,239,255,.25);box-shadow:inset 0 0 18px rgba(84,224,255,.09),0 0 14px rgba(84,224,255,.08)}.krlRadarDisk::before,.krlRadarDisk::after{content:"";position:absolute;inset:50% auto auto 50%;transform-origin:0 0;pointer-events:none}.krlRadarDisk::before{width:21px;height:1px;background:linear-gradient(90deg,rgba(126,239,255,.95),transparent);transform:rotate(var(--radar-angle,0rad));box-shadow:0 0 8px rgba(126,239,255,.7)}.krlRadarDisk::after{width:42px;height:42px;left:1px;top:1px;border-radius:50%;background:conic-gradient(from 0deg,rgba(126,239,255,.0),rgba(126,239,255,.13),rgba(126,239,255,0) 28%);animation:krlRadarSweep 2.1s linear infinite;transform-origin:50% 50%}.krlRadarDisk>i{position:absolute;inset:8px;border:1px solid rgba(126,239,255,.13);border-radius:50%}.krlRadarDisk>b{position:relative;z-index:2;font-size:19px;filter:drop-shadow(0 0 8px rgba(255,230,95,.5))}.kind-gold .krlRadarDisk{border-color:rgba(255,221,74,.42);background:radial-gradient(circle,#54420a 0 18%,#302704 19% 42%,#1a1603 43%)}.kind-gold .krlRadarDisk::before{background:linear-gradient(90deg,#ffe66e,transparent);box-shadow:0 0 10px #ffcf2f}.kind-gold .krlRadarDisk::after{background:conic-gradient(from 0deg,rgba(255,222,79,0),rgba(255,222,79,.19),rgba(255,222,79,0) 28%)}
.krlRadarCopy{min-width:0;display:grid;gap:1px}.krlRadarCopy small{font:1000 6px Inter,system-ui,sans-serif;letter-spacing:.12em;color:#76eaff}.krlRadarCopy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:1000 10px Inter,system-ui,sans-serif;color:#fff}.krlRadarCopy em{font:900 7px Inter,system-ui,sans-serif;color:#c8e3e9;font-style:normal}.kind-gold .krlRadarCopy small,.kind-gold .krlRadarCopy em{color:#ffe87b}
body.krlRareToastActive .krlHuntRadar,body.krlMajorMoment .krlHuntRadar{opacity:0!important;transform:translateY(-6px) scale(.96);pointer-events:none!important}

.krlRareFind.kind-shard{background:radial-gradient(circle,rgba(92,214,255,.3),rgba(81,147,255,.11) 45%,rgba(81,147,255,0) 72%);filter:drop-shadow(0 0 18px rgba(83,210,255,.78))}.krlRareFind.kind-shard::before{border-color:rgba(103,223,255,.72);box-shadow:0 0 24px rgba(90,215,255,.42),inset 0 0 18px rgba(87,205,255,.2)}.krlRareFind.kind-relic{background:radial-gradient(circle,rgba(204,123,255,.3),rgba(138,83,255,.11) 45%,rgba(138,83,255,0) 72%);filter:drop-shadow(0 0 18px rgba(181,105,255,.78))}.krlRareFind.kind-relic::before{border-color:rgba(205,145,255,.72);box-shadow:0 0 24px rgba(178,107,255,.42),inset 0 0 18px rgba(174,97,255,.2)}.krlRareFind.kind-gold{width:76px;height:76px;background:radial-gradient(circle,rgba(255,237,117,.42),rgba(255,190,27,.16) 48%,rgba(255,186,24,0) 74%);filter:drop-shadow(0 0 28px rgba(255,202,39,.94));animation:krlGoldFloat .72s ease-in-out infinite}.krlRareFind.kind-gold::before{border-color:rgba(255,232,111,.94);box-shadow:0 0 34px rgba(255,204,41,.62),inset 0 0 22px rgba(255,222,82,.32)}.krlRareFind.kind-gold::after{border-color:rgba(255,232,135,.4)}.krlRareFind.kind-gold>i{font-size:42px;filter:drop-shadow(0 4px 7px rgba(0,0,0,.42)) drop-shadow(0 0 18px rgba(255,220,71,.98))}.krlRareFind.kind-gold>span{border-color:rgba(255,223,87,.58);background:rgba(39,28,2,.96)}.krlRareFind.kind-gold>span b{color:#fff0a1}.krlRareFindToast.gold{border-color:rgba(255,219,68,.62);background:linear-gradient(145deg,rgba(50,32,2,.99),rgba(7,29,34,.98));box-shadow:0 16px 46px rgba(0,0,0,.5),0 0 44px rgba(255,197,31,.27)}
.krlRareFindCollect.kind-shard{border-color:rgba(100,218,255,.58);background:radial-gradient(circle at 50% 35%,rgba(88,207,255,.2),transparent 44%),linear-gradient(155deg,rgba(5,24,34,.99),rgba(10,28,53,.99))}.krlRareFindCollect.kind-relic{border-color:rgba(205,137,255,.58);background:radial-gradient(circle at 50% 35%,rgba(190,111,255,.2),transparent 44%),linear-gradient(155deg,rgba(28,8,43,.99),rgba(10,27,44,.99))}.krlRareFindCollect.kind-gold{border-color:rgba(255,224,88,.82);background:radial-gradient(circle at 50% 35%,rgba(255,219,64,.3),transparent 46%),linear-gradient(155deg,rgba(56,35,2,.995),rgba(11,29,34,.995));box-shadow:0 35px 105px rgba(0,0,0,.72),0 0 105px rgba(255,199,30,.46)}.krlRareFindCollect.kind-gold span{font-size:86px;filter:drop-shadow(0 0 32px rgba(255,218,70,.98))}

.krlSecretHunt{margin:12px 14px 2px;padding:13px;border:1px solid rgba(122,198,255,.18);border-radius:20px;background:radial-gradient(circle at 12% 15%,rgba(72,184,255,.09),transparent 34%),linear-gradient(145deg,rgba(7,25,42,.84),rgba(14,17,38,.86));box-shadow:inset 0 1px rgba(255,255,255,.025)}.krlSecretHunt.near{border-color:rgba(113,216,255,.36);box-shadow:inset 0 1px rgba(255,255,255,.04),0 0 25px rgba(74,193,255,.08)}.krlSecretHunt.unlocked{border-color:rgba(255,225,94,.36);background:radial-gradient(circle at 15% 10%,rgba(255,221,73,.11),transparent 36%),linear-gradient(145deg,rgba(22,25,38,.9),rgba(15,20,34,.9))}.krlSecretHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.krlSecretHead>div{min-width:0}.krlSecretHead small{display:block;font:1000 6px Inter,system-ui,sans-serif;letter-spacing:.13em;color:#82e8ff}.krlSecretHead strong{display:block;margin-top:2px;font:1000 13px Inter,system-ui,sans-serif;color:#fff}.krlSecretHead>b{padding:5px 7px;border-radius:999px;background:rgba(91,198,255,.09);border:1px solid rgba(104,215,255,.18);font:1000 7px Inter,system-ui,sans-serif;color:#9cecff}.krlSecretHunt.unlocked .krlSecretHead>b{color:#ffe98a;border-color:rgba(255,225,88,.26);background:rgba(255,213,57,.08)}.krlShardRow{margin-top:10px;display:grid;grid-template-columns:34px 34px 34px 18px minmax(0,1fr);align-items:center;gap:6px}.krlShardRow>i{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-style:normal;font-size:17px;filter:grayscale(1) brightness(.48);opacity:.45;background:rgba(255,255,255,.03);border:1px solid rgba(134,196,255,.08)}.krlShardRow>i.filled{filter:none;opacity:1;background:rgba(73,181,255,.09);border-color:rgba(112,218,255,.26);box-shadow:0 0 15px rgba(78,201,255,.11)}.krlShardRow>span{color:#6d93a8;text-align:center;font-weight:1000}.krlSecretSticker{min-width:0;min-height:48px;padding:6px 8px;border-radius:13px;display:flex;align-items:center;gap:7px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.07)}.krlSecretSticker>em{flex:0 0 35px;width:35px;height:35px;border-radius:10px;display:grid;place-items:center;font-size:21px;font-style:normal;background:rgba(255,255,255,.035)}.krlSecretSticker>div{min-width:0}.krlSecretSticker small{display:block;font:1000 5px Inter,system-ui,sans-serif;letter-spacing:.08em;color:#7697ad}.krlSecretSticker b{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:1000 9px Inter,system-ui,sans-serif;color:#8298a8}.krlSecretSticker.locked>em{filter:blur(1px) grayscale(1);color:#687a88}.krlSecretSticker.owned{border-color:rgba(255,224,83,.28);background:rgba(255,208,53,.06);box-shadow:0 0 17px rgba(255,206,45,.07)}.krlSecretSticker.owned small{color:#ffe77f}.krlSecretSticker.owned b{color:#fff4b7}.krlSecretHunt>p{margin:9px 0 0;color:#9db8c6;font:800 7px/1.45 Inter,system-ui,sans-serif}

.krlSecretUnlock{position:fixed;z-index:720;left:50%;top:48%;width:min(360px,calc(100vw - 22px));padding:22px 18px 20px;border-radius:30px;text-align:center;color:#fff;background:radial-gradient(circle at 50% 35%,rgba(74,187,255,.18),transparent 35%),radial-gradient(circle at 50% 45%,rgba(255,221,70,.13),transparent 55%),linear-gradient(160deg,rgba(7,19,39,.995),rgba(20,13,39,.995));border:2px solid rgba(126,219,255,.46);box-shadow:0 38px 115px rgba(0,0,0,.76),0 0 95px rgba(77,191,255,.25);opacity:0;transform:translate(-50%,-50%) scale(.62);pointer-events:none;overflow:hidden;transition:.36s cubic-bezier(.16,1.35,.25,1)}.krlSecretUnlock.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.krlSecretRays{position:absolute;inset:-90px;opacity:.28;background:repeating-conic-gradient(from 0deg,rgba(112,218,255,.42) 0 4deg,transparent 4deg 18deg);animation:krlSecretSpin 10s linear infinite;pointer-events:none}.krlSecretUnlock>*:not(.krlSecretRays){position:relative;z-index:2}.krlSecretUnlock>small{display:block;font:1000 7px Inter,system-ui,sans-serif;letter-spacing:.15em;color:#8ceaff}.krlSecretMerge{height:42px;margin:6px auto 0;display:flex;align-items:center;justify-content:center;gap:14px}.krlSecretMerge i{font-style:normal;font-size:22px;filter:drop-shadow(0 0 12px rgba(81,202,255,.75));animation:krlShardMerge 1.1s ease-in-out infinite alternate}.krlSecretMerge i:nth-child(2){animation-delay:.14s}.krlSecretMerge i:nth-child(3){animation-delay:.28s}.krlSecretUnlock>span{display:block;margin:0 auto;font-size:78px;filter:drop-shadow(0 0 30px rgba(100,209,255,.82)) drop-shadow(0 0 45px rgba(255,221,71,.38))}.krlSecretUnlock>b{display:block;margin-top:2px;font:1000 10px Inter,system-ui,sans-serif;letter-spacing:.13em;color:#8ceaff}.krlSecretUnlock>strong{display:block;margin-top:4px;font:1000 24px Inter,system-ui,sans-serif;color:#fff5b8}.krlSecretUnlock>em{display:block;margin-top:5px;font:900 8px Inter,system-ui,sans-serif;font-style:normal;color:#c6e2e9}
.krlSecretMini{color:#8fe8ff!important}.krlSecretMini.done{color:#ffe683!important}
@keyframes krlRadarSweep{to{transform:rotate(360deg)}}@keyframes krlGoldFloat{50%{transform:translate(-50%,-50%) translateY(-5px) scale(1.08);filter:brightness(1.16) drop-shadow(0 0 31px rgba(255,203,36,.98))}}@keyframes krlSecretSpin{to{transform:rotate(360deg)}}@keyframes krlShardMerge{to{transform:translateY(-4px) scale(1.12);filter:drop-shadow(0 0 19px rgba(82,210,255,.95))}}

@media(max-width:760px){.krlHuntRadar{top:max(64px,calc(env(safe-area-inset-top) + 48px));width:min(220px,calc(100% - 26px));min-height:54px}.krlRadarDisk{flex-basis:40px;width:40px;height:40px}.krlSecretHunt{margin-left:10px;margin-right:10px}.krlShardRow{grid-template-columns:31px 31px 31px 14px minmax(0,1fr);gap:5px}.krlShardRow>i{width:31px;height:31px}.krlSecretSticker>em{flex-basis:31px;width:31px;height:31px}.krlSecretUnlock{top:46%;padding:18px 14px}.krlSecretUnlock>span{font-size:68px}.krlRareFind.kind-gold{width:70px;height:70px}}
@media(max-width:380px){.krlHuntRadar{width:196px}.krlRadarCopy strong{font-size:9px}.krlRadarCopy em{font-size:6px}.krlSecretHead strong{font-size:11px}.krlShardRow{grid-template-columns:27px 27px 27px 12px minmax(0,1fr);gap:4px}.krlShardRow>i{width:27px;height:27px;font-size:15px;border-radius:9px}.krlSecretSticker{padding:5px}.krlSecretSticker small{font-size:4.5px}.krlSecretSticker b{font-size:8px}}
@media(prefers-reduced-motion:reduce){.krlRadarDisk::after,.krlRareFind.kind-gold,.krlSecretRays,.krlSecretMerge i{animation:none!important}.krlHuntRadar,.krlSecretUnlock{transition:none!important}}

/* ===== Koderia v59.10.0 · World Events ===== */
.krlWorldEvent{position:absolute;z-index:286;width:92px;min-height:92px;padding:7px;border:0;border-radius:50%;transform:translate(-50%,-50%);display:grid;place-items:center;cursor:pointer;color:#fff;background:radial-gradient(circle,rgba(94,226,255,.25),rgba(8,30,42,.92) 54%,rgba(4,16,27,.96));box-shadow:0 13px 35px rgba(0,0,0,.42),0 0 25px rgba(93,224,255,.22);font-family:Inter,system-ui,sans-serif;isolation:isolate;touch-action:manipulation}.krlWorldEvent::before,.krlWorldEvent::after{content:"";position:absolute;border-radius:50%;pointer-events:none}.krlWorldEvent::before{inset:-7px;border:2px solid rgba(114,232,255,.48);box-shadow:0 0 22px rgba(83,221,255,.25);animation:krlEventPulse 1.25s ease-in-out infinite}.krlWorldEvent::after{inset:-18px;border:1px dashed rgba(119,227,255,.28);animation:krlEventOrbit 8s linear infinite}.krlWorldEvent>i{position:relative;z-index:2;font-style:normal;font-size:38px;line-height:1;filter:drop-shadow(0 4px 7px rgba(0,0,0,.38)) drop-shadow(0 0 13px rgba(120,233,255,.34))}.krlWorldEvent>span{position:absolute;z-index:3;left:50%;top:calc(100% + 5px);width:148px;padding:6px 8px;border-radius:11px;transform:translateX(-50%);display:grid;gap:1px;text-align:center;background:rgba(4,17,28,.96);border:1px solid rgba(117,229,255,.2);box-shadow:0 8px 22px rgba(0,0,0,.35);pointer-events:none;overflow:hidden}.krlWorldEvent>span small{font:1000 5.5px Inter,system-ui,sans-serif;letter-spacing:.1em;color:#74eaff}.krlWorldEvent>span b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:1000 9px Inter,system-ui,sans-serif;color:#fff}.krlWorldEvent>span em{font:900 6.5px Inter,system-ui,sans-serif;font-style:normal;color:#c6dce5}.krlWorldEvent>span u{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.07);text-decoration:none}.krlWorldEvent>span u::after{content:"";display:block;width:var(--event-progress,100%);height:100%;background:linear-gradient(90deg,#70eaff,#ffd45c);box-shadow:0 0 8px rgba(102,231,255,.35);transition:width .22s ease}.krlWorldEvent.edge{width:72px;min-height:72px}.krlWorldEvent.edge>i{font-size:31px}.krlWorldEvent.near{filter:brightness(1.13);box-shadow:0 13px 35px rgba(0,0,0,.42),0 0 38px rgba(93,224,255,.34)}
.krlWorldEvent.kind-merchant{background:radial-gradient(circle,rgba(193,132,255,.28),rgba(35,17,57,.94) 57%,rgba(16,8,28,.97));box-shadow:0 13px 35px rgba(0,0,0,.42),0 0 30px rgba(183,112,255,.25)}.krlWorldEvent.kind-merchant::before{border-color:rgba(211,163,255,.55)}.krlWorldEvent.kind-outage{background:radial-gradient(circle,rgba(255,225,85,.32),rgba(61,47,8,.93) 57%,rgba(25,20,4,.97));box-shadow:0 13px 35px rgba(0,0,0,.42),0 0 30px rgba(255,216,65,.25)}.krlWorldEvent.kind-outage::before{border-color:rgba(255,231,113,.62)}.krlWorldEvent.kind-goldbug{background:radial-gradient(circle,rgba(255,201,73,.36),rgba(62,41,5,.94) 58%,rgba(25,16,2,.98));box-shadow:0 13px 35px rgba(0,0,0,.42),0 0 35px rgba(255,194,44,.31);animation:krlBugJitter .8s ease-in-out infinite}.krlWorldEvent.kind-goldbug::before{border-color:rgba(255,223,95,.68)}.krlWorldEvent.kind-meteor{background:radial-gradient(circle,rgba(255,126,83,.3),rgba(58,24,16,.94) 58%,rgba(24,9,7,.98));box-shadow:0 13px 35px rgba(0,0,0,.42),0 0 31px rgba(255,110,68,.26)}.krlWorldEvent.kind-meteor::before{border-color:rgba(255,143,103,.57)}.krlWorldEvent.kind-boss{width:106px;min-height:106px;background:radial-gradient(circle,rgba(255,80,128,.29),rgba(57,11,33,.95) 58%,rgba(24,4,14,.98));box-shadow:0 16px 42px rgba(0,0,0,.48),0 0 39px rgba(255,71,124,.3)}.krlWorldEvent.kind-boss::before{border-color:rgba(255,105,148,.66);animation-duration:.72s}.krlWorldEvent.kind-boss>i{font-size:46px}.krlWorldEvent.kind-portal{background:radial-gradient(circle,rgba(109,118,255,.35),rgba(25,21,71,.94) 58%,rgba(8,9,31,.98));box-shadow:0 13px 35px rgba(0,0,0,.42),0 0 34px rgba(108,103,255,.31)}.krlWorldEvent.kind-portal::before{border-color:rgba(151,145,255,.67);animation:krlPortalPulse .72s ease-in-out infinite}.krlWorldEvent.kind-portal>i{animation:krlPortalSpin 2.4s linear infinite}
body.krlMajorMoment .krlWorldEvent,body.krlRareToastActive .krlWorldEvent,body.krlEventToastActive .krlWorldEvent,body.krlEventToastActive .krlHuntRadar,body.krlEventToastActive .krlRareFind{opacity:0!important;pointer-events:none!important}.krlAlbum.show~.krlWorldEvent{pointer-events:none}
.krlWorldEventToast{position:fixed;z-index:675;left:50%;top:max(72px,calc(env(safe-area-inset-top) + 58px));width:min(420px,calc(100vw - 24px));min-height:74px;padding:11px 14px;border-radius:21px;transform:translate(-50%,-18px) scale(.96);opacity:0;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:10px;color:#fff;background:linear-gradient(145deg,rgba(5,24,39,.985),rgba(12,38,52,.985));border:1px solid rgba(116,231,255,.3);box-shadow:0 18px 48px rgba(0,0,0,.48),0 0 34px rgba(85,220,255,.14);font-family:Inter,system-ui,sans-serif;pointer-events:none;transition:.26s cubic-bezier(.2,.85,.2,1)}.krlWorldEventToast.show{opacity:1;transform:translate(-50%,0) scale(1)}.krlWorldEventToast>span{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.055);font-size:30px}.krlWorldEventToast>div{min-width:0}.krlWorldEventToast small{display:block;font:1000 6px Inter,system-ui,sans-serif;letter-spacing:.14em;color:#73e9ff}.krlWorldEventToast b{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:1000 15px Inter,system-ui,sans-serif}.krlWorldEventToast em{display:block;margin-top:3px;font:850 7px/1.35 Inter,system-ui,sans-serif;font-style:normal;color:#c8dce5}.krlWorldEventToast>i{padding:5px 7px;border-radius:999px;background:rgba(255,219,80,.07);border:1px solid rgba(255,220,82,.15);font:1000 5.5px Inter,system-ui,sans-serif;font-style:normal;color:#ffe178;white-space:nowrap}.krlWorldEventToast.kind-boss{border-color:rgba(255,102,149,.47);background:linear-gradient(145deg,rgba(49,7,28,.99),rgba(16,24,43,.99))}.krlWorldEventToast.kind-portal{border-color:rgba(142,135,255,.48);background:linear-gradient(145deg,rgba(20,17,67,.99),rgba(7,27,43,.99))}.krlWorldEventToast.kind-goldbug{border-color:rgba(255,217,83,.52);background:linear-gradient(145deg,rgba(55,35,3,.99),rgba(8,29,38,.99))}
.krlWorldEventChoice{position:fixed;z-index:735;inset:0;padding:18px;display:grid;place-items:center;background:rgba(1,7,14,.72);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);opacity:0;pointer-events:none;transition:opacity .2s ease}.krlWorldEventChoice.show{opacity:1;pointer-events:auto}.krlWorldEventChoice>section{width:min(520px,calc(100vw - 24px));padding:22px;border-radius:28px;color:#fff;background:radial-gradient(circle at 50% 0,rgba(123,225,255,.12),transparent 42%),linear-gradient(155deg,rgba(6,23,39,.995),rgba(12,31,48,.995));border:1px solid rgba(118,231,255,.28);box-shadow:0 34px 100px rgba(0,0,0,.68);font-family:Inter,system-ui,sans-serif;text-align:center}.krlWorldEventChoice small{font:1000 7px Inter,system-ui,sans-serif;letter-spacing:.14em;color:#78eaff}.krlWorldEventChoice h3{margin:5px 0 4px;font-size:24px}.krlWorldEventChoice p{margin:0 auto 15px;max-width:390px;color:#a9c1ce;font:800 9px/1.5 Inter,system-ui,sans-serif}.krlWorldEventChoice>section>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.krlWorldEventChoice button{min-height:92px;padding:12px;border:1px solid rgba(123,229,255,.19);border-radius:18px;background:rgba(255,255,255,.045);color:#fff;cursor:pointer;display:grid;place-items:center;gap:4px;transition:transform .16s ease,filter .16s ease,border-color .16s ease}.krlWorldEventChoice button:hover{transform:translateY(-2px);filter:brightness(1.09);border-color:rgba(124,232,255,.4)}.krlWorldEventChoice button b{font:1000 18px Inter,system-ui,sans-serif;color:#fff2a3}.krlWorldEventChoice button span{font:850 8px Inter,system-ui,sans-serif;color:#b7d0da}.krlWorldEventChoice>section>em{display:block;margin-top:12px;font:900 7px Inter,system-ui,sans-serif;font-style:normal;color:#91e9ff}.krlWorldEventChoice.portal>section{background:radial-gradient(circle at 50% 0,rgba(126,116,255,.18),transparent 43%),linear-gradient(155deg,rgba(15,11,52,.995),rgba(6,27,43,.995));border-color:rgba(139,131,255,.37)}.krlWorldEventChoice .doors{grid-template-columns:repeat(3,minmax(0,1fr))}.krlWorldEventChoice .doors button{min-height:126px;background:linear-gradient(180deg,rgba(127,109,255,.11),rgba(255,255,255,.025));border-color:rgba(145,135,255,.22)}.krlWorldEventChoice .doors button b{font-size:42px;color:#aeb0ff}.krlWorldEventChoice button:disabled{cursor:default;transform:none;filter:none}
.krlWorldEventComplete{position:fixed;z-index:720;left:50%;top:47%;width:min(350px,calc(100vw - 22px));padding:20px 17px;border-radius:29px;transform:translate(-50%,-50%) scale(.62);opacity:0;text-align:center;color:#fff;background:radial-gradient(circle at 50% 32%,rgba(101,230,255,.2),transparent 42%),linear-gradient(155deg,rgba(5,24,40,.995),rgba(9,38,49,.995));border:2px solid rgba(120,233,255,.45);box-shadow:0 35px 105px rgba(0,0,0,.72),0 0 70px rgba(79,221,255,.23);font-family:Inter,system-ui,sans-serif;pointer-events:none;transition:.34s cubic-bezier(.16,1.3,.25,1)}.krlWorldEventComplete.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.krlWorldEventComplete small{display:block;font:1000 7px Inter,system-ui,sans-serif;letter-spacing:.14em;color:#7deaff}.krlWorldEventComplete span{display:block;margin:4px auto;font-size:72px;filter:drop-shadow(0 0 23px rgba(105,230,255,.45))}.krlWorldEventComplete b{display:block;font:1000 20px Inter,system-ui,sans-serif;color:#fff}.krlWorldEventComplete em{display:block;margin-top:5px;font:900 8px Inter,system-ui,sans-serif;font-style:normal;color:#b7d1dc}.krlWorldEventComplete.kind-boss{border-color:rgba(255,102,149,.63);background:radial-gradient(circle at 50% 32%,rgba(255,85,136,.22),transparent 42%),linear-gradient(155deg,rgba(49,7,27,.995),rgba(12,26,44,.995));box-shadow:0 35px 105px rgba(0,0,0,.72),0 0 90px rgba(255,75,129,.31)}.krlWorldEventComplete.kind-goldbug{border-color:rgba(255,223,87,.65);background:radial-gradient(circle at 50% 32%,rgba(255,214,61,.24),transparent 42%),linear-gradient(155deg,rgba(54,34,2,.995),rgba(9,29,38,.995))}.krlWorldEventComplete.kind-portal{border-color:rgba(147,140,255,.61);background:radial-gradient(circle at 50% 32%,rgba(126,116,255,.23),transparent 42%),linear-gradient(155deg,rgba(23,15,66,.995),rgba(7,29,43,.995))}
@keyframes krlEventPulse{50%{transform:scale(1.08);opacity:.62}}@keyframes krlEventOrbit{to{transform:rotate(360deg)}}@keyframes krlBugJitter{25%{margin-left:-2px}75%{margin-left:2px}}@keyframes krlPortalPulse{50%{transform:scale(1.12);opacity:.7}}@keyframes krlPortalSpin{to{transform:rotate(360deg)}}
@media(max-width:760px){.krlWorldEvent{width:78px;min-height:78px}.krlWorldEvent>i{font-size:33px}.krlWorldEvent.kind-boss{width:88px;min-height:88px}.krlWorldEvent.kind-boss>i{font-size:39px}.krlWorldEvent>span{width:132px;padding:5px 6px}.krlWorldEventToast{top:max(64px,calc(env(safe-area-inset-top) + 48px));grid-template-columns:46px minmax(0,1fr);min-height:66px;padding:9px 10px}.krlWorldEventToast>span{width:43px;height:43px;font-size:26px}.krlWorldEventToast>i{display:none}.krlWorldEventToast b{font-size:13px}.krlWorldEventChoice{padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}.krlWorldEventChoice>section{padding:18px 13px;border-radius:24px}.krlWorldEventChoice h3{font-size:20px}.krlWorldEventChoice>section>div{gap:7px}.krlWorldEventChoice button{min-height:82px;padding:8px}.krlWorldEventChoice button b{font-size:15px}.krlWorldEventChoice .doors button{min-height:105px}.krlWorldEventChoice .doors button b{font-size:34px}.krlWorldEventComplete{top:45%;padding:17px 13px}.krlWorldEventComplete span{font-size:62px}}
@media(max-width:380px){.krlWorldEvent>span{width:118px}.krlWorldEvent>span b{font-size:8px}.krlWorldEvent>span em{font-size:5.8px}.krlWorldEventChoice .doors{gap:5px}.krlWorldEventChoice .doors button{min-height:94px;padding:6px}.krlWorldEventChoice .doors button b{font-size:30px}.krlWorldEventChoice .doors button span{font-size:6px}.krlWorldEventComplete b{font-size:17px}}
@media(prefers-reduced-motion:reduce){.krlWorldEvent,.krlWorldEvent::before,.krlWorldEvent::after,.krlWorldEvent.kind-goldbug,.krlWorldEvent.kind-portal>i{animation:none!important}.krlWorldEventToast,.krlWorldEventChoice,.krlWorldEventComplete{transition:none!important}}

/* v59.19.9: collection is self-explanatory and calls attention when something is new. */
.krlAlbumMiniCopy{min-width:0}.krlAlbumMini.attention{border-color:rgba(255,220,78,.68);box-shadow:0 0 25px rgba(255,208,57,.22),0 10px 28px rgba(0,0,0,.32)}
.krlStickerTextMark{display:inline-grid!important;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#286d92,#172b56);color:#f2fcff;font:1000 8px/1 Inter,system-ui,sans-serif!important;letter-spacing:.06em;text-shadow:none}.krlRevealCard>span .krlStickerTextMark{width:72px;height:72px;border-radius:22px;font-size:14px!important}.krlMilestoneSilhouette .krlStickerTextMark{width:42px;height:42px;font-size:8px!important}


/* enhancements.css */
/* ===== v57-11-0-live-album-admin-style ===== */
/* ----- richer album: page material, thematic spreads, bookmarks ----- */
.v57109Root{background:linear-gradient(180deg,#f9fdff,#eef8ff)!important}
.v57109Desk{overflow:hidden}
.v57109Desk::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;background:
 radial-gradient(circle at 12% 16%,rgba(91,218,255,.18),transparent 18%),
 radial-gradient(circle at 88% 13%,rgba(255,209,86,.18),transparent 17%),
 linear-gradient(90deg,rgba(70,115,153,.022) 1px,transparent 1px),
 linear-gradient(rgba(70,115,153,.018) 1px,transparent 1px);background-size:auto,auto,34px 34px,34px 34px}
.v57109Root.v57110Theme0 .v57109Desk{background:radial-gradient(circle at 50% -5%,rgba(206,247,255,.95),rgba(242,251,255,.76) 44%,rgba(225,247,255,.58))}
.v57109Root.v57110Theme1 .v57109Desk{background:radial-gradient(circle at 50% -5%,rgba(231,228,255,.9),rgba(244,249,255,.76) 46%,rgba(226,242,255,.58))}
.v57109Root.v57110Theme2 .v57109Desk{background:radial-gradient(circle at 50% -5%,rgba(211,237,255,.95),rgba(239,248,255,.78) 43%,rgba(220,238,255,.64))}
.v57109Root.v57110Theme3 .v57109Desk{background:radial-gradient(circle at 50% -5%,rgba(255,244,200,.96),rgba(255,251,235,.8) 45%,rgba(234,247,255,.58))}
.v57109Page{box-shadow:0 24px 46px rgba(70,104,130,.22)!important;border-color:rgba(157,178,195,.45)!important}
.v57109Page::before{opacity:.5!important;background:
 repeating-linear-gradient(0deg,rgba(70,88,105,.022) 0 1px,transparent 1px 5px),
 radial-gradient(circle at 18% 10%,rgba(255,255,255,.82),transparent 22%),
 linear-gradient(transparent 96%,rgba(48,82,116,.035) 96%)!important;background-size:auto,auto,100% 31px!important}
.v57109Page.free::after,.v57109Page.premium::after{content:"";position:absolute;inset:7px;pointer-events:none;border:1px solid rgba(85,113,137,.07);border-radius:24px 7px 7px 24px;box-shadow:inset 0 0 26px rgba(74,102,123,.025)}
.v57109Page.premium::after{border-radius:7px 24px 24px 7px;border-color:rgba(189,143,46,.10)}
.v57109Slot{transition:transform .18s ease,box-shadow .18s ease}
.v57109Slot:hover{transform:translateY(-3px)}
.v57109Slot.current{animation:v57110SlotNudge 1.8s ease-in-out infinite}
.v57109Slot.current .v57109Ghost{animation:v57110GhostBounce 1.55s ease-in-out infinite}
.v57109Sticker.epic::after,.v57109Sticker.legendary::after,.v57109Sticker.mythic::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.75) 47%,transparent 68%);transform:translateX(-120%);animation:v57110Holo 3.4s ease-in-out infinite}
.v57109Sticker.legendary,.v57109Sticker.mythic{animation:v57109Wobble 4s ease-in-out infinite,v57110RareGlow 2.3s ease-in-out infinite!important}
.v57109Page.free::before{box-shadow:inset -16px 0 24px rgba(95,119,139,.035)}
.v57109Page.premium::before{box-shadow:inset 16px 0 24px rgba(135,105,46,.035)}
.v57110Bookmark{position:absolute;z-index:10;top:92px;width:26px;height:82px;border-radius:8px 8px 12px 12px;display:grid;place-items:center;writing-mode:vertical-rl;font:1000 7px/1 Trebuchet MS,Arial;letter-spacing:.08em;color:#fff;box-shadow:0 8px 15px rgba(61,95,122,.13)}
.v57110Bookmark.free{left:54px;background:linear-gradient(180deg,#58d8ff,#3478ef)}
.v57110Bookmark.premium{right:54px;background:linear-gradient(180deg,#ffd65f,#eaa619);color:#624200}
.v57110SceneChip{position:absolute;z-index:11;left:50%;top:8px;transform:translateX(-50%);padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(154,180,200,.35);box-shadow:0 6px 14px rgba(61,99,129,.10);color:#59738d;font:1000 7px/1 Trebuchet MS,Arial;letter-spacing:.07em;backdrop-filter:blur(8px)}
/* Animated robot mascot built from DOM, no external asset. */
.v57110Bot{position:absolute;z-index:15;right:22px;bottom:16px;width:76px;height:96px;pointer-events:none;filter:drop-shadow(0 13px 12px rgba(50,83,111,.18));animation:v57110BotFloat 2.8s ease-in-out infinite}
.v57110BotHead{position:absolute;left:11px;top:3px;width:54px;height:46px;border-radius:20px 20px 16px 16px;background:linear-gradient(145deg,#f8fdff,#bcecff);border:2px solid #72cdea;box-shadow:inset 0 -8px 10px rgba(39,128,181,.08)}
.v57110BotFace{position:absolute;left:7px;right:7px;top:9px;height:25px;border-radius:12px;background:linear-gradient(180deg,#153b66,#0a2442);overflow:hidden}
.v57110Eye{position:absolute;top:8px;width:9px;height:7px;border-radius:8px;background:#64ebff;box-shadow:0 0 9px #61eaff}
.v57110Eye.l{left:8px}.v57110Eye.r{right:8px}.v57110BotFace::after{content:"";position:absolute;left:50%;bottom:3px;transform:translateX(-50%);width:12px;height:5px;border-bottom:2px solid #7ff5ff;border-radius:0 0 10px 10px}
.v57110Antenna{position:absolute;left:37px;top:-7px;width:2px;height:12px;background:#4ba9d2}.v57110Antenna::after{content:"";position:absolute;left:-4px;top:-6px;width:10px;height:10px;border-radius:50%;background:#ffd04d;box-shadow:0 0 10px rgba(255,200,58,.6)}
.v57110BotBody{position:absolute;left:18px;top:48px;width:41px;height:37px;border-radius:14px;background:linear-gradient(145deg,#4bc9ff,#3975ef);border:2px solid #72daf5}.v57110BotBody::after{content:"K";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:1000 15px/1 Arial;color:white}
.v57110Arm{position:absolute;top:53px;width:12px;height:31px;border-radius:10px;background:#62cceb;transform-origin:50% 4px}.v57110Arm.l{left:7px;transform:rotate(22deg)}.v57110Arm.r{right:6px;transform:rotate(-28deg);animation:v57110Wave 2.4s ease-in-out infinite}
.v57110Foot{position:absolute;top:82px;width:18px;height:9px;border-radius:10px;background:#245aa9}.v57110Foot.l{left:17px}.v57110Foot.r{right:17px}
.v57110Speech{position:absolute;right:70px;bottom:74px;min-width:72px;max-width:110px;padding:6px 8px;border-radius:12px 12px 3px 12px;background:#fff;border:1px solid #d8e7f1;box-shadow:0 8px 18px rgba(69,108,138,.13);color:#42637e;font:1000 7px/1.2 Trebuchet MS,Arial;text-align:center;opacity:.92}
.v57110Bot.celebrate{animation:v57110Celebrate .65s ease both}.v57110Bot.celebrate .v57110Arm.r{animation:v57110WaveFast .5s ease infinite}.v57110Bot.celebrate .v57110Antenna::after{background:#70ee9f;box-shadow:0 0 15px rgba(88,233,142,.8)}
@keyframes v57110BotFloat{50%{transform:translateY(-6px)}}@keyframes v57110Wave{0%,55%,100%{transform:rotate(-28deg)}68%{transform:rotate(-72deg)}80%{transform:rotate(-20deg)}}@keyframes v57110WaveFast{50%{transform:rotate(-85deg)}}@keyframes v57110Celebrate{30%{transform:translateY(-14px) scale(1.08) rotate(-3deg)}65%{transform:translateY(-4px) scale(1.04) rotate(3deg)}}
@keyframes v57110GhostBounce{50%{transform:translateY(-5px) scale(1.08);filter:brightness(1.1)}}@keyframes v57110SlotNudge{50%{box-shadow:0 0 0 7px rgba(82,211,255,.12),0 12px 22px rgba(63,118,161,.12)}}@keyframes v57110Holo{55%,100%{transform:translateX(130%)}}@keyframes v57110RareGlow{50%{filter:saturate(1.18) brightness(1.04);box-shadow:0 0 22px rgba(128,181,255,.22),0 13px 24px rgba(83,101,164,.18)}}
/* Better page turn with actual page-origin illusion. */
.v57109Album.turnNext .v57109Page.premium{transform-origin:left center;animation:v57110PageNext .42s cubic-bezier(.2,.75,.2,1)}
.v57109Album.turnPrev .v57109Page.free{transform-origin:right center;animation:v57110PagePrev .42s cubic-bezier(.2,.75,.2,1)}
@keyframes v57110PageNext{0%{transform:rotateY(-1.8deg)}50%{transform:rotateY(-24deg) translateX(-10px);filter:brightness(.94)}100%{transform:rotateY(-1.8deg)}}@keyframes v57110PagePrev{0%{transform:rotateY(1.8deg)}50%{transform:rotateY(24deg) translateX(10px);filter:brightness(.94)}100%{transform:rotateY(1.8deg)}}
/* ----- teacher console economy additions ----- */
.v57110EconomyCard{background:radial-gradient(circle at 92% 0,rgba(255,202,72,.08),transparent 31%),rgba(255,255,255,.035)!important}
.v57110QuickGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.v57110EconomyInputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
@media(max-width:820px){.v57110QuickGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.v57110EconomyInputs{grid-template-columns:1fr}.v57110Bot{right:5px;bottom:8px;transform:scale(.78);transform-origin:right bottom}.v57110Speech{display:none}.v57110Bookmark{display:none}}
/* Full-screen teacher event */
#v57110TeacherEvent{position:fixed;inset:0;z-index:2147483646;display:none;place-items:center;pointer-events:none;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(84,211,255,.22),rgba(6,18,34,.88) 62%,rgba(3,9,19,.96));backdrop-filter:blur(7px)}
#v57110TeacherEvent.show{display:grid;animation:v57110EventIn .22s ease both}
#v57110TeacherEvent.negative{background:radial-gradient(circle at 50% 45%,rgba(255,114,88,.25),rgba(38,15,22,.90) 62%,rgba(18,6,12,.97))}
#v57110TeacherEvent.premium{background:radial-gradient(circle at 50% 45%,rgba(255,210,74,.28),rgba(29,21,9,.91) 62%,rgba(15,10,3,.97))}
.v57110EventCard{position:relative;width:min(620px,calc(100% - 34px));padding:34px 26px 30px;border-radius:34px;text-align:center;color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.055));border:1px solid rgba(255,255,255,.17);box-shadow:0 32px 90px rgba(0,0,0,.45);overflow:hidden}
.v57110EventIcon{font-size:72px;line-height:1;animation:v57110EventIcon .7s ease both}.v57110EventEyebrow{display:block;margin-top:14px;color:#92eaff;font:1000 9px/1 Trebuchet MS,Arial;letter-spacing:.16em}.negative .v57110EventEyebrow{color:#ffb1a0}.premium .v57110EventEyebrow{color:#ffe17d}
.v57110EventAmount{margin-top:10px;font:1000 clamp(34px,7vw,68px)/.95 Trebuchet MS,Arial;text-shadow:0 10px 35px rgba(0,0,0,.28)}
.v57110EventNote{margin-top:12px;color:#d7e8f4;font:900 12px/1.35 Trebuchet MS,Arial}.v57110EventTeacher{margin-top:14px;color:#8fb0c5;font:900 8px/1 Trebuchet MS,Arial;letter-spacing:.08em}
.v57110EventParticle{position:fixed;z-index:2147483647;pointer-events:none;width:10px;height:15px;border-radius:3px;animation:v57110EventParticle 1.3s ease-out forwards}
@keyframes v57110EventIn{from{opacity:0}to{opacity:1}}@keyframes v57110EventIcon{0%{transform:scale(.35) rotate(-18deg);opacity:0}65%{transform:scale(1.17) rotate(5deg);opacity:1}100%{transform:scale(1)}}@keyframes v57110EventParticle{to{transform:translate(var(--dx),var(--dy)) rotate(540deg);opacity:0}}


/* house.css */
/* =========================================================
   KodKlass v59.3.4 - house controls + furniture mode
   Wide walkable room, camera follow, backpack + drag furniture.
   ========================================================= */

#onlineRoomModal .onlineRoomShell.kkHouseShell{
  width:min(1280px,94vw)!important;
  height:min(820px,92vh)!important;
  max-height:92vh!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:#f7fbff!important;
  box-shadow:0 30px 90px rgba(21,55,89,.34)!important;
}

#onlineRoomModal .kkHouseShell .onlineRoomHeader{
  min-height:72px!important;
  padding:10px 14px!important;
  background:rgba(255,255,255,.96)!important;
  color:#183653!important;
  border-bottom:1px solid #d8e6f0!important;
  position:relative;
  z-index:210;
}
#onlineRoomModal .kkHouseShell .onlineRoomOwnerAvatar{background:#e9f7ff!important}
#onlineRoomModal .kkHouseShell .onlineRoomOwner strong{color:#183653!important}
#onlineRoomModal .kkHouseShell .onlineRoomOwner small{color:#66819c!important}
#onlineRoomModal .kkHouseShell .onlineRoomOwner span{color:#24a767!important}
#onlineRoomModal .kkHouseShell .onlineRoomPeople{color:#356f9d!important;background:#edf7ff!important;border-color:#d7e8f4!important}
#onlineRoomModal .kkHouseShell .onlineRoomClose{color:#294a6a!important;background:#eef5fa!important;border-color:#d5e4ee!important}

#onlineRoomModal .onlineVisitScene.kkHouseV1{
  min-height:0!important;
  height:calc(100% - 136px)!important;
  border-radius:0!important;
  border:0!important;
  background:radial-gradient(circle at 50% 38%,#e7f7ff 0,#d6ecf8 46%,#b9d6e7 100%)!important;
  cursor:default!important;
  overflow:hidden!important;
  perspective:none!important;
  position:relative!important;
  isolation:isolate;
}

/* v59.2: every house scene is a finite image-backed location. JS fits the native
   artwork inside the scene and never enlarges it above its real resolution. */
#onlineRoomModal .kkHouseV1 .roomIsoWorld{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:min(100%,1672px);
  height:auto;
  aspect-ratio:1672/941;
  overflow:visible!important;
  isolation:isolate!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:50% 50%!important;
  transition:opacity .16s ease,filter .16s ease!important;
  background-color:#dff2ff!important;
  background-image:url("../assets/houses/starter/inside.png?v=59.2.1")!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:100% 100%!important;
  box-shadow:0 22px 70px rgba(38,78,105,.18);
  border-radius:20px;
}

#onlineRoomModal .kkHouseV1.kkHouseDragging .roomIsoWorld,
#onlineRoomModal .kkHouseV1.kkHousePlacing .roomIsoWorld{transition:none!important}
#onlineRoomModal .kkHouseV1.kkRoomTransitioning .roomIsoWorld{opacity:.18;filter:blur(5px) saturate(.8)}

/* The old room renderer is still used as a compatibility/data layer. Its visual architecture
   is hidden so it can never cover the generated house artwork. */
#onlineRoomModal .kkHouseV1 .roomAmbient,
#onlineRoomModal .kkHouseV1 .roomArchitectureBack,
#onlineRoomModal .kkHouseV1 .roomArchitectureLeft,
#onlineRoomModal .kkHouseV1 .roomArchitectureGrid,
#onlineRoomModal .kkHouseV1 .roomArchitectureFeature,
#onlineRoomModal .kkHouseV1 .roomIsoWindow,
#onlineRoomModal .kkHouseV1 .roomIsoFloor,
#onlineRoomModal .kkHouseV1 .roomIsoFloorGrid,
#onlineRoomModal .kkHouseV1 .roomFloorGlow,
#onlineRoomModal .kkHouseV1 .roomIsoRug,
#onlineRoomModal .kkHouseV1 .roomIsoWallPoster,
#onlineRoomModal .kkHouseV1 .roomIsoBackLight,
#onlineRoomModal .kkHouseV1 .roomIsoShelf,
#onlineRoomModal .kkHouseV1 .roomIsoWallLamp,
#onlineRoomModal .kkHouseV1 .roomIsoDesk,
#onlineRoomModal .kkHouseV1 .roomIsoChair,
#onlineRoomModal .kkHouseV1 .kkHouseStructure{
  display:none!important;
}

/* Character and remote players anchor to the floor with the item depth system. */
#onlineRoomModal .kkHouseV1 .roomCharacterZone{
  z-index:120!important;
  transition:left var(--walk-duration,220ms) linear,top var(--walk-duration,220ms) linear!important;
}
#onlineRoomModal .kkHouseV1 .roomCharacter{filter:drop-shadow(0 10px 7px rgba(50,66,74,.2))!important}
#onlineRoomModal .kkHouseV1 .roomCharacterShadow{opacity:.32!important}

/* Free-placed furniture. Bottom-center is the physical anchor. */
.kkHousePlaced{
  position:absolute;z-index:80;transform:translate(-50%,-100%);
  transform-origin:50% 100%;user-select:none;-webkit-user-select:none;
  pointer-events:auto;touch-action:none;cursor:grab;
}
.kkHousePlaced:active{cursor:grabbing}
.kkHousePlaced img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 10px 7px rgba(38,58,72,.19))}
.kkHousePlaced .kkItemEmoji{display:grid;place-items:center;width:100%;height:100%;font-size:clamp(38px,4vw,72px);filter:drop-shadow(0 9px 7px rgba(36,53,67,.17));pointer-events:none}
.kkHousePlaced.kkSelected:after{
  content:"";position:absolute;inset:-8px;border:3px solid #3ebdff;border-radius:18px;box-shadow:0 0 0 5px rgba(87,208,255,.17);animation:kkHouseSelect 1.3s ease-in-out infinite;pointer-events:none
}
@keyframes kkHouseSelect{50%{box-shadow:0 0 0 10px rgba(87,208,255,.06)}}
.kkHousePlaced.kkWallItem{transform:translate(-50%,-50%);z-index:30!important}
.kkHousePlaced.kkRugItem{transform:translate(-50%,-50%) scaleY(.52);z-index:20!important;opacity:.9}
.kkHousePlaced.kkDragging{opacity:.82;filter:saturate(1.2)}

.kkHouseGhost{
  position:absolute;z-index:190;transform:translate(-50%,-100%);transform-origin:50% 100%;
  border:2px dashed #29b4ff;border-radius:18px;background:rgba(119,220,255,.12);pointer-events:none;opacity:.82
}
.kkHouseGhost.invalid{border-color:#ff6c70;background:rgba(255,91,96,.13)}
.kkHouseGhost img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 6px rgba(30,53,69,.14))}
.kkHouseGhost .kkItemEmoji{display:grid;place-items:center;width:100%;height:100%;font-size:60px}
.kkHouseGhost.kkWallItem{transform:translate(-50%,-50%)}
.kkHouseGhost.kkRugItem{transform:translate(-50%,-50%) scaleY(.52)}

/* Editor controls - only visible in your own house. */
.kkHouseBackpackButton{
  position:absolute;right:18px;bottom:18px;z-index:205;min-width:132px;height:56px;padding:0 17px;border:0;border-radius:20px;
  display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,#258df2,#176cd3);color:#fff;font-weight:950;font-size:13px;
  box-shadow:0 14px 26px rgba(34,116,208,.33);cursor:pointer;transition:.18s
}
.kkHouseBackpackButton:hover{transform:translateY(-3px)}
.kkHouseBackpackButton>span:first-child{font-size:25px}
.kkHouseBackpackButton[hidden]{display:none!important}

.kkHouseBackpack{
  position:absolute;left:16px;right:16px;bottom:16px;z-index:230;max-height:56%;display:flex;flex-direction:column;
  border:1px solid #d4e4ef;border-radius:26px;background:rgba(255,255,255,.97);box-shadow:0 24px 60px rgba(34,66,91,.28);backdrop-filter:blur(18px);
  transform:translateY(calc(100% + 30px));opacity:0;pointer-events:none;transition:.24s cubic-bezier(.2,.8,.2,1)
}
.kkHouseBackpack.open{transform:translateY(0);opacity:1;pointer-events:auto}
.kkHouseBackpackHead{display:flex;align-items:center;gap:12px;padding:14px 16px 10px;border-bottom:1px solid #e2edf4}
.kkHouseBackpackHead>span{font-size:30px}.kkHouseBackpackHead div{display:flex;flex-direction:column}.kkHouseBackpackHead strong{font-size:18px}.kkHouseBackpackHead small{font-size:11px;color:#71869a}
.kkHouseBackpackHead button{margin-left:auto;width:42px;height:42px;border:0;border-radius:14px;background:#eef5fa;color:#31536e;font-size:20px;cursor:pointer}
.kkHouseFilters{display:flex;gap:7px;padding:9px 15px 0;overflow:auto}
.kkHouseFilters button{border:1px solid #dce8f1;background:#f7fbff;color:#54718c;padding:7px 11px;border-radius:999px;font-weight:900;font-size:11px;white-space:nowrap;cursor:pointer}
.kkHouseFilters button.active{background:#217ee6;color:#fff;border-color:#217ee6}
.kkHouseInventory{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;padding:12px 15px 16px;overflow:auto}
.kkHouseInvCard{min-height:128px;border:1px solid #dae7f0;border-radius:19px;background:linear-gradient(180deg,#fff,#f7fbff);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:9px;cursor:pointer;transition:.16s;position:relative}
.kkHouseInvCard:hover{transform:translateY(-3px);box-shadow:0 11px 20px rgba(66,106,136,.12)}
.kkHouseInvCard.placed{opacity:.55;cursor:default}.kkHouseInvCard img{width:66px;height:57px;object-fit:contain}.kkHouseInvCard .emo{font-size:44px;line-height:1.1}.kkHouseInvCard strong{font-size:12px;margin-top:5px}.kkHouseInvCard small{font-size:10px;color:#71869b;margin-top:2px}.kkHouseInvCard i{position:absolute;right:7px;top:7px;border-radius:9px;background:#eaf8ef;color:#239759;font-style:normal;font-size:9px;font-weight:900;padding:4px 6px}
.kkHouseInventoryEmpty{grid-column:1/-1;padding:28px;text-align:center;color:#71869a;font-weight:800}

.kkHouseEditToolbar{
  position:absolute;left:50%;top:16px;z-index:225;transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:7px;
  border:1px solid #d6e5ef;border-radius:18px;background:rgba(255,255,255,.95);box-shadow:0 12px 28px rgba(46,76,99,.2);backdrop-filter:blur(14px)
}
.kkHouseEditToolbar[hidden]{display:none!important}
.kkHouseEditToolbar span{font-size:11px;font-weight:900;color:#53708b;padding:0 5px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kkHouseEditToolbar button{width:39px;height:39px;border:1px solid #dce8f1;border-radius:12px;background:#f7fbff;color:#315776;font-size:17px;font-weight:900;cursor:pointer}
.kkHouseEditToolbar button.danger{color:#c94c52;background:#fff2f2;border-color:#f2d6d7}

.kkHousePlacementHint{
  position:absolute;left:50%;bottom:18px;z-index:218;transform:translateX(-50%);min-width:330px;max-width:70%;padding:11px 16px;border-radius:16px;
  background:rgba(21,54,82,.9);color:#fff;text-align:center;font-size:12px;font-weight:900;box-shadow:0 12px 25px rgba(26,55,79,.25);pointer-events:none
}
.kkHousePlacementHint[hidden]{display:none!important}

/* Legacy room overlays stay in the DOM for compatibility, but are invisible in the image-backed house. */
#onlineRoomModal .kkHouseV1 .onlineVisitBadge,
#onlineRoomModal .kkHouseV1 .roomMoveHint,
#onlineRoomModal .kkHouseV1 .roomPhysicsBadge,
#onlineRoomModal .kkHouseV1 .onlineRoomEmpty{display:none!important}
#onlineRoomModal .kkHouseV1 .cityRoomExitDoor{left:85.5%!important;right:auto!important;top:74%!important;bottom:auto!important;z-index:160!important;transform:translate(-50%,-50%) scale(.82)!important}
#onlineRoomModal .kkHouseV1 .cityRoomExitPrompt{bottom:16px!important}

/* Camera zoom. The whole logical room scales together: character, furniture and background. */
.kkHouseZoomControls{display:none!important}
.kkHouseZoomControls[hidden]{display:none!important}
.kkHouseZoomControls button{width:42px;height:42px;border:0;border-radius:13px;background:#edf6fc;color:#28597d;font-size:21px;font-weight:950;cursor:pointer}
.kkHouseZoomControls button:hover{background:#dff1fb}
.kkHouseZoomControls output{min-width:48px;text-align:center;font-size:11px;font-weight:950;color:#58758e}

.kkMyHouseButton{width:44px!important;height:44px!important;border-radius:14px!important;font-size:22px!important}

@media(max-width:760px){
  #onlineRoomModal .onlineRoomShell.kkHouseShell{width:100vw!important;height:100vh!important;max-height:100vh!important;border-radius:0!important}
  #onlineRoomModal .onlineVisitScene.kkHouseV1{height:calc(100vh - 150px)!important}
  .kkHouseBackpack{left:7px;right:7px;bottom:7px;max-height:62%;border-radius:22px}
  .kkHouseInventory{grid-template-columns:repeat(3,minmax(88px,1fr));gap:7px;padding:9px}
  .kkHouseInvCard{min-height:105px;padding:6px}.kkHouseInvCard img{width:54px;height:47px}.kkHouseInvCard .emo{font-size:37px}.kkHouseInvCard strong{font-size:10px}
  .kkHouseBackpackButton{right:10px;bottom:10px;min-width:60px;width:60px;padding:0}.kkHouseBackpackButton .label{display:none}
  .kkHouseZoomControls{right:78px;bottom:11px;height:52px;padding:4px}.kkHouseZoomControls button{width:38px;height:42px}.kkHouseZoomControls output{display:none}
  .kkHouseEditToolbar{top:9px;max-width:88vw;overflow:auto}.kkHouseEditToolbar span{display:none}
  .kkHousePlacementHint{bottom:76px;min-width:0;width:calc(100% - 30px);max-width:none}
  #onlineRoomModal .kkHouseV1 .roomMoveHint{display:none!important}
}


/* ===============================
   v59.2 house scene navigation runtime
   =============================== */
.kkRoomDoorLayer{position:absolute;inset:0;z-index:154;pointer-events:none}
.kkRoomDoorHotspot{position:absolute;width:38px;height:38px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.85);border-radius:14px;background:rgba(28,104,171,.82);box-shadow:0 8px 22px rgba(15,70,120,.28),inset 0 0 0 2px rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;pointer-events:auto;cursor:pointer;opacity:.78;transition:.15s}
.kkRoomDoorHotspot:hover{opacity:1;transform:translate(-50%,-50%) scale(1.08)}
.kkRoomDoorHotspot span{font-size:17px;font-weight:950;line-height:1}
.kkRoomRuntimePrompt{position:absolute;left:50%;bottom:18px;z-index:222;transform:translate(-50%,16px);opacity:0;pointer-events:none;border:0;border-radius:18px;background:rgba(15,36,56,.93);color:#fff;padding:9px 15px 9px 9px;display:flex;align-items:center;gap:10px;box-shadow:0 16px 34px rgba(19,45,66,.28);font-weight:900;transition:.16s}
.kkRoomRuntimePrompt.show{opacity:1;transform:translate(-50%,0);pointer-events:auto;cursor:pointer}
.kkRoomRuntimePrompt kbd{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#fff;color:#1a527a;font:950 14px/1 system-ui;box-shadow:inset 0 -2px 0 #c9dbe8}
.kkRoomRuntimePrompt span{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#onlineRoomModal .kkHouseV1.kkRoomEditorActive .kkRoomDoorLayer,
#onlineRoomModal .kkHouseV1.kkRoomEditorActive .kkRoomRuntimePrompt{display:none!important}
#onlineRoomModal .kkHouseV1.kkRoomEditorTest .kkRoomDoorLayer,
#onlineRoomModal .kkHouseV1.kkRoomEditorTest .kkRoomRuntimePrompt{display:block!important}
#onlineRoomModal .kkHouseV1.kkRoomEditorActive .kkHouseBackpackButton,
#onlineRoomModal .kkHouseV1.kkRoomEditorActive .kkHouseEditToolbar,
#onlineRoomModal .kkHouseV1.kkRoomEditorActive .kkHousePlacementHint{display:none!important}

@media(max-width:760px){
  #onlineRoomModal .onlineRoomShell.kkHouseShell{width:100vw!important;height:100vh!important;max-height:100vh!important;border-radius:0!important}
  #onlineRoomModal .onlineVisitScene.kkHouseV1{height:calc(100vh - 150px)!important}
  .kkRoomDoorHotspot{width:34px;height:34px;border-radius:12px}
  .kkRoomRuntimePrompt{bottom:76px;max-width:calc(100% - 24px)}
}


/* v59.2 - outside/inside house scene language */
#onlineRoomModal .kkHouseV1.room-theme-greenhouse .cityRoomExitDoor{
  left:8%!important;top:79%!important;
}
#onlineRoomModal .kkHouseV1.room-theme-starter .cityRoomExitDoor{display:none!important}
#onlineRoomModal .kkHouseV1.room-theme-greenhouse .kkHouseBackpackButton .label:after{content:" · УЧАСТОК";opacity:.68;font-size:9px}
#onlineRoomModal .kkHouseV1.room-theme-starter .kkHouseBackpackButton .label:after{content:" · ВНУТРИ";opacity:.68;font-size:9px}

/* =========================================================
   v59.3.4 - PLAY MODE vs FURNITURE MODE + smoother controls
   ========================================================= */
/* In normal play furniture never captures the mouse. A click through an item
   therefore remains a walk command. Dragging is enabled only after 🪑 mode. */
#onlineRoomModal .kkHouseV1:not(.kkHouseFurnitureEdit) .kkHousePlaced{
  pointer-events:none!important;
  cursor:default!important;
}
#onlineRoomModal .kkHouseV1.kkHouseFurnitureEdit .kkHousePlaced{
  pointer-events:auto!important;
  cursor:grab!important;
}
#onlineRoomModal .kkHouseV1.kkHouseFurnitureEdit .roomIsoWorld{
  cursor:default!important;
}
#onlineRoomModal .kkHouseV1.kkHouseFurnitureEdit:after{
  content:"РАССТАНОВКА МЕБЕЛИ";
  position:absolute;left:50%;top:12px;z-index:204;transform:translateX(-50%);
  padding:6px 10px;border:1px solid rgba(39,139,210,.18);border-radius:999px;
  background:rgba(255,255,255,.90);color:#26638c;font-size:9px;font-weight:950;
  letter-spacing:.04em;box-shadow:0 7px 18px rgba(42,87,119,.13);pointer-events:none;
}

.kkHouseFurnishButton{
  position:absolute;right:18px;bottom:18px;z-index:208;width:54px;height:54px;padding:0;border:1px solid rgba(29,101,158,.13);border-radius:17px;
  display:grid;place-items:center;background:rgba(255,255,255,.95);color:#315d7d;box-shadow:0 12px 26px rgba(34,77,111,.22);cursor:pointer;transition:.16s;
}
.kkHouseFurnishButton:hover{transform:translateY(-2px);background:#fff}
.kkHouseFurnishButton span{font-size:23px;line-height:1;transform:translateY(2px)}
.kkHouseFurnishButton small{font-size:6.5px;font-weight:1000;line-height:1;letter-spacing:.04em;transform:translateY(-4px)}
.kkHouseFurnishButton.active{background:linear-gradient(180deg,#328fee,#1d73d7);color:#fff;border-color:transparent;box-shadow:0 13px 28px rgba(34,116,208,.34)}
.kkHouseFurnishButton[hidden]{display:none!important}

/* Inventory is secondary and appears beside the small mode toggle. */
#onlineRoomModal .kkHouseV1 .kkHouseBackpackButton{right:82px!important;min-width:118px!important;height:54px!important;border-radius:17px!important;bottom:18px!important}
#onlineRoomModal .kkHouseV1:not(.kkHouseFurnitureEdit) .kkHouseBackpackButton{display:none!important}
#onlineRoomModal .kkHouseV1.kkRoomEditorActive .kkHouseFurnishButton{display:none!important}

/* Continuous keyboard movement updates many small targets. A shorter transition
   removes the old key-repeat stepping while keeping the sprite visually soft. */
#onlineRoomModal .kkHouseV1 .roomCharacterZone{
  will-change:left,top;
}

@media(max-width:760px){
  .kkHouseFurnishButton{right:10px;bottom:10px;width:52px;height:52px;border-radius:16px}
  .kkHouseFurnishButton small{display:none}.kkHouseFurnishButton span{transform:none}
  #onlineRoomModal .kkHouseV1 .kkHouseBackpackButton{right:70px!important;bottom:10px!important;width:52px!important;min-width:52px!important;height:52px!important;padding:0!important}
  #onlineRoomModal .kkHouseV1.kkHouseFurnitureEdit:after{top:8px;font-size:7px;padding:5px 8px}
}


/* room-editor.css */
/* =========================================================
   KodKlass v59.2.1 - House Editor
   Admin-only visual authoring UI.
   ========================================================= */

.kkRoomEditorButton{
  height:38px;padding:0 13px;border:1px solid rgba(80,214,255,.28);border-radius:13px;
  background:linear-gradient(180deg,rgba(20,45,69,.96),rgba(12,30,48,.96));
  color:#eafaff;display:flex;align-items:center;gap:7px;font:900 10px/1 system-ui,sans-serif;
  letter-spacing:.08em;cursor:pointer;box-shadow:0 8px 20px rgba(3,20,35,.2),inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease
}
.kkRoomEditorButton:hover{transform:translateY(-1px);border-color:rgba(91,224,255,.66);box-shadow:0 11px 24px rgba(3,20,35,.28),0 0 0 3px rgba(62,196,255,.08)}
.kkRoomEditorButton span{font-size:15px}.kkRoomEditorButton[hidden]{display:none!important}

.kkRoomEditor{
  --re-panel:rgba(12,23,36,.94);--re-panel-2:rgba(17,31,47,.94);--re-line:rgba(142,203,231,.16);
  --re-text:#eaf8ff;--re-muted:#8eaabd;--re-cyan:#64dbff;--re-blue:#5c8dff;--re-purple:#a477ff;
  position:absolute;inset:0;z-index:5200;pointer-events:none;color:var(--re-text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
.kkRoomEditor[hidden]{display:none!important}
.kkRoomEditor *{box-sizing:border-box}

.kkReTop{
  position:absolute;left:12px;right:12px;top:10px;height:58px;z-index:8;pointer-events:auto;
  display:flex;align-items:center;gap:10px;padding:7px 9px 7px 12px;
  border:1px solid var(--re-line);border-radius:18px;background:linear-gradient(180deg,rgba(17,34,51,.97),rgba(9,23,36,.97));
  box-shadow:0 18px 42px rgba(0,12,22,.34),inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(20px)
}
.kkReBrand{display:flex;align-items:center;gap:9px;min-width:158px;padding-right:12px;border-right:1px solid var(--re-line)}
.kkReBrand>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#4ad9ff,#8072ff);box-shadow:0 7px 18px rgba(67,175,255,.28);color:#061724;font-size:17px;font-weight:1000}
.kkReBrand div{display:flex;flex-direction:column;line-height:1}.kkReBrand small{font-size:8px;letter-spacing:.18em;color:#79a0b5;font-weight:900}.kkReBrand strong{margin-top:4px;font-size:13px;letter-spacing:.05em}
.kkReRoomPick{display:flex;align-items:center;gap:8px;height:40px;padding:0 10px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.055)}
.kkReRoomPick small{font-size:8px;color:#7898ac;font-weight:950;letter-spacing:.14em}.kkReRoomPick select{width:min(250px,21vw);border:0;outline:0;background:transparent;color:#ecf9ff;font-weight:850;font-size:12px;cursor:pointer}.kkReRoomPick option{background:#122337;color:#eefaff}
.kkReStatus{display:flex;align-items:center;gap:7px;margin-left:auto;padding:0 4px;font-size:9px;font-weight:950;letter-spacing:.09em;color:#8faabc;white-space:nowrap}
.kkReStatus i{width:7px;height:7px;border-radius:50%;background:#43dd9b;box-shadow:0 0 12px rgba(67,221,155,.7)}
.kkReStatus.dirty i{background:#ffc759;box-shadow:0 0 12px rgba(255,199,89,.65)}
.kkReStatus.saving i{background:#64dbff;animation:kkRePulse .7s ease-in-out infinite alternate}.kkReStatus.error i{background:#ff687a}
@keyframes kkRePulse{to{transform:scale(1.5);opacity:.5}}
.kkReTopActions{display:flex;align-items:center;gap:6px}.kkReTopActions button{height:38px;min-width:38px;padding:0 11px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.055);color:#d9eef9;font-weight:950;font-size:10px;cursor:pointer;transition:.14s}.kkReTopActions button:hover{background:rgba(100,219,255,.12);border-color:rgba(100,219,255,.25)}
.kkReTopActions button.test{color:#b9d6ff}.kkReTopActions button.test.active{background:rgba(92,141,255,.2);border-color:rgba(92,141,255,.42);color:#dfe9ff}
.kkReTopActions button.save{background:linear-gradient(180deg,#5ddcff,#3994ef);border-color:transparent;color:#062035;min-width:118px;box-shadow:0 8px 20px rgba(53,160,238,.23)}
.kkReTopActions button.save:hover{filter:brightness(1.06)}

.kkReTools{
  position:absolute;left:12px;top:78px;bottom:12px;width:162px;z-index:7;pointer-events:auto;padding:9px;
  border:1px solid var(--re-line);border-radius:19px;background:var(--re-panel);box-shadow:0 18px 42px rgba(0,12,22,.27);backdrop-filter:blur(18px);overflow:auto
}
.kkReToolGroup{display:flex;flex-direction:column;gap:5px}.kkReToolGroup>small{padding:5px 7px 8px;color:#718fa3;font-size:8px;letter-spacing:.16em;font-weight:950}
.kkReToolGroup button{min-height:42px;padding:6px 8px;border:1px solid transparent;border-radius:12px;background:transparent;color:#a9c1d0;display:flex;align-items:center;gap:9px;text-align:left;cursor:pointer;transition:.13s}
.kkReToolGroup button:hover{background:rgba(255,255,255,.045);color:#ecf9ff}.kkReToolGroup button.active{background:linear-gradient(90deg,rgba(78,195,255,.18),rgba(115,111,255,.11));border-color:rgba(90,212,255,.22);color:#fff;box-shadow:inset 3px 0 0 #64dbff}
.kkReToolGroup button span{width:27px;height:27px;border-radius:9px;background:rgba(255,255,255,.055);display:grid;place-items:center;font-size:14px;flex:none}.kkReToolGroup button b{font-size:10px;line-height:1.15;font-weight:850}

.kkReInspector{
  position:absolute;right:12px;top:78px;bottom:12px;width:286px;z-index:7;pointer-events:auto;
  border:1px solid var(--re-line);border-radius:19px;background:var(--re-panel);box-shadow:0 18px 42px rgba(0,12,22,.28);backdrop-filter:blur(18px);overflow:hidden;display:flex;flex-direction:column
}
.kkReInspectorHead{height:55px;padding:10px 13px;border-bottom:1px solid var(--re-line);background:linear-gradient(180deg,rgba(255,255,255,.035),transparent);display:flex;flex-direction:column;justify-content:center}.kkReInspectorHead small{font-size:8px;font-weight:950;letter-spacing:.17em;color:#6f91a5}.kkReInspectorHead strong{margin-top:3px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kkReInspectorScroll{overflow:auto;padding:9px 9px 18px;scrollbar-width:thin;scrollbar-color:#335369 transparent}
.kkReSection{padding:10px;border:1px solid rgba(255,255,255,.055);border-radius:14px;background:rgba(255,255,255,.025);margin-bottom:8px}.kkReSectionTitle{font-size:9px;color:#8eb0c4;font-weight:950;letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px}
.kkReSection label{display:flex;flex-direction:column;gap:4px;margin:0 0 8px}.kkReSection label>span{font-size:9px;color:#8ba8ba;font-weight:800}.kkReSection input,.kkReSection select{width:100%;height:34px;border:1px solid rgba(146,201,229,.13);border-radius:9px;background:#0b1b2a;color:#e9f8ff;padding:0 9px;outline:none;font:750 10px/1 system-ui}.kkReSection input:focus,.kkReSection select:focus{border-color:rgba(100,219,255,.48);box-shadow:0 0 0 3px rgba(100,219,255,.08)}.kkReSection option{background:#102338}
.kkReHelp{margin:7px 0 0;color:#7190a4;font-size:9px;line-height:1.45}.kkReHelp b{color:#a8c9da}
.kkReTwo{display:grid;grid-template-columns:1fr 1fr;gap:7px}.kkReMetric{height:38px;border-radius:10px;background:rgba(255,255,255,.035);display:flex;align-items:center;justify-content:space-between;padding:0 10px;margin-bottom:8px}.kkReMetric span{font-size:9px;color:#86a5b8}.kkReMetric b{font-size:12px;color:#dff6ff}
.kkReEmptyInspector{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 8px 10px;color:#7898ab}.kkReEmptyInspector>span{font-size:25px;opacity:.8}.kkReEmptyInspector strong{font-size:11px;color:#b7d0dd;margin-top:5px}.kkReEmptyInspector small{font-size:9px;line-height:1.4;margin-top:4px}
.kkReInspectorActions,.kkReToggleRow,.kkReDataGrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.kkReInspectorActions button,.kkReToggleRow button,.kkReDataGrid button{height:34px;border:1px solid rgba(255,255,255,.075);border-radius:9px;background:rgba(255,255,255,.045);color:#b9d1df;font-size:9px;font-weight:850;cursor:pointer}.kkReInspectorActions button:hover,.kkReToggleRow button:hover,.kkReDataGrid button:hover{border-color:rgba(100,219,255,.25);color:#effaff}.kkReToggleRow button.active{background:rgba(75,185,255,.15);color:#8fe6ff;border-color:rgba(100,219,255,.28)}.kkReInspectorActions .danger,.kkReDataGrid .danger{color:#ff9bab;border-color:rgba(255,100,122,.13);background:rgba(255,81,106,.055)}
.kkReLayers{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.kkReLayers button{height:27px;padding:0 7px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:rgba(255,255,255,.035);color:#9db7c7;font-size:8px;font-weight:850;cursor:pointer}.kkReLayers button.off{opacity:.42;text-decoration:line-through}.kkReLayers i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px}
.kkReDataGrid{margin-top:3px}

.kkRePolyHint{
  position:absolute;left:50%;bottom:18px;z-index:9;transform:translateX(-50%);pointer-events:auto;
  min-height:46px;padding:6px 7px 6px 14px;display:flex;align-items:center;gap:7px;border:1px solid rgba(100,219,255,.24);border-radius:15px;background:rgba(8,23,36,.94);box-shadow:0 14px 34px rgba(0,12,22,.3);backdrop-filter:blur(14px)
}.kkRePolyHint[hidden]{display:none!important}.kkRePolyHint span{font-size:10px;font-weight:850;color:#a9c5d4;margin-right:4px}.kkRePolyHint button{height:32px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.06);color:#dff6ff;font-size:8px;font-weight:950;padding:0 10px;cursor:pointer}.kkRePolyHint button:first-of-type{background:rgba(78,194,255,.18);border-color:rgba(100,219,255,.27);color:#93e8ff}

/* The authoring canvas lives exactly over the room artwork. */
.kkRoomEditorCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:480;pointer-events:auto;touch-action:none;overflow:visible;cursor:crosshair}
.kkRoomEditorCanvas.showGrid{background-image:linear-gradient(to right,rgba(113,203,242,.12) 1px,transparent 1px),linear-gradient(to bottom,rgba(113,203,242,.12) 1px,transparent 1px);background-size:5% 5%}
.kkRoomEditorCanvas.test{opacity:0;pointer-events:none}
.kkReShape{vector-effect:non-scaling-stroke;stroke-width:.35;cursor:move;transition:filter .1s,opacity .1s}.kkReShape:hover{filter:brightness(1.25);stroke-width:.5}.kkReShape.selected{stroke:#fff!important;stroke-width:.7!important;filter:drop-shadow(0 0 2px rgba(100,219,255,.8))}.kkReShapeLabel{fill:#fff;font-size:2.1px;font-weight:900;paint-order:stroke;stroke:rgba(7,17,27,.8);stroke-width:.42;pointer-events:none;letter-spacing:.02em}.kkRePoint{cursor:move}.kkRePoint circle{vector-effect:non-scaling-stroke;stroke:#fff;stroke-width:.45;fill:#1b6c98}.kkRePoint text{font-size:3.1px;text-anchor:middle;dominant-baseline:central;pointer-events:none}.kkRePoint .radius{fill:rgba(91,217,255,.08);stroke:#64dbff;stroke-width:.25;stroke-dasharray:1 1}.kkRePoint.selected circle:not(.radius){fill:#fff;stroke:#64dbff;stroke-width:.8}.kkRePoint.spawn circle{fill:#ffd84e}.kkRePoint.spawn text{fill:#4d3d00;font-size:2px}.kkReDraft{vector-effect:non-scaling-stroke;stroke-width:.6;stroke-dasharray:1.2 .7;animation:kkReDash .65s linear infinite}@keyframes kkReDash{to{stroke-dashoffset:-4}}

#onlineRoomModal .kkHouseV1.kkRoomEditorActive .roomIsoWorld{box-shadow:0 0 0 2px rgba(100,219,255,.3),0 25px 60px rgba(4,23,38,.32)!important}
#onlineRoomModal .kkHouseV1.kkRoomEditorActive .onlineEmoteBar,#onlineRoomModal .kkHouseV1.kkRoomEditorActive .roomTouchControls{opacity:.12;pointer-events:none}
.kkRoomEditor.testMode .kkReTools,.kkRoomEditor.testMode .kkReInspector{opacity:.09;transform:scale(.985);pointer-events:none}.kkRoomEditor.testMode .kkReTop{background:rgba(8,22,34,.84)}
.kkRoomEditor.testMode .kkReTop .kkReRoomPick,.kkRoomEditor.testMode .kkReTop .kkReStatus{opacity:.45}.kkRoomEditor.testMode .kkRePolyHint{display:none!important}

@media(max-width:980px){
  .kkReBrand{min-width:0}.kkReBrand div{display:none}.kkReRoomPick select{width:155px}.kkReStatus{display:none}.kkReTools{width:64px}.kkReToolGroup button{justify-content:center;padding:5px}.kkReToolGroup button b,.kkReToolGroup>small{display:none}.kkReInspector{width:250px}.kkReTopActions button{padding:0 8px}.kkReTopActions button.save{min-width:90px}
}
@media(max-width:720px){
  .kkReTop{left:5px;right:5px;top:5px;height:52px;border-radius:14px}.kkReBrand{display:none}.kkReRoomPick{height:36px;padding:0 7px}.kkReRoomPick small{display:none}.kkReRoomPick select{width:125px}.kkReTopActions{margin-left:auto}.kkReTopActions button:nth-child(1),.kkReTopActions button:nth-child(2){display:none}.kkReTopActions button.save{min-width:42px;font-size:0}.kkReTopActions button.save::after{content:'💾';font-size:15px}.kkReTools{left:5px;top:63px;bottom:5px;width:54px;padding:5px;border-radius:14px}.kkReToolGroup{gap:3px}.kkReToolGroup button{min-height:38px;border-radius:10px}.kkReToolGroup button span{width:25px;height:25px;font-size:13px}.kkReInspector{right:5px;top:63px;bottom:5px;width:218px;border-radius:14px}.kkReInspectorHead{height:48px}.kkReInspectorScroll{padding:6px}.kkReSection{padding:8px}.kkRePolyHint{bottom:72px;max-width:calc(100% - 290px);left:50%;padding-left:8px}.kkRePolyHint span{display:none}
}

/* =========================================================
   KodKlass v59.2.1 - docked House Editor UI
   The house canvas gets its own center workspace. Tool panels live in
   dedicated docks instead of covering the artwork.
   ========================================================= */
#onlineRoomModal .kkHouseShell.kkRoomEditorDocked{
  width:min(1640px,99vw)!important;
  height:min(920px,98vh)!important;
  max-height:98vh!important;
  transition:width .18s ease,height .18s ease!important;
}
#onlineRoomModal .kkHouseShell.kkRoomEditorDocked .onlineVisitScene.kkHouseV1{
  margin-top:66px!important;
  margin-left:238px!important;
  margin-right:332px!important;
  width:auto!important;
  height:calc(100% - 202px)!important;
  border-radius:18px!important;
  box-shadow:0 0 0 1px rgba(42,105,139,.15),0 15px 40px rgba(20,56,78,.12)!important;
  background:#d9edf7!important;
  transition:margin .18s ease,width .18s ease,height .18s ease!important;
}
#onlineRoomModal .kkHouseShell.kkRoomEditorDocked.kkReLeftClosed .onlineVisitScene.kkHouseV1{margin-left:18px!important}
#onlineRoomModal .kkHouseShell.kkRoomEditorDocked.kkReRightClosed .onlineVisitScene.kkHouseV1{margin-right:18px!important}
#onlineRoomModal .kkHouseShell.kkRoomEditorDocked .onlineEmoteBar,
#onlineRoomModal .kkHouseShell.kkRoomEditorDocked .roomTouchControls,
#onlineRoomModal .kkHouseShell.kkRoomEditorDocked .onlineVisitBadge,
#onlineRoomModal .kkHouseShell.kkRoomEditorDocked .roomMoveHint,
#onlineRoomModal .kkHouseShell.kkRoomEditorDocked .roomPhysicsBadge,
#onlineRoomModal .kkHouseShell.kkRoomEditorDocked .kkHouseBackpackButton,
#onlineRoomModal .kkHouseShell.kkRoomEditorDocked .kkHouseZoomControls{
  opacity:0!important;pointer-events:none!important
}

.kkRoomEditor{
  inset:72px 0 64px 0!important;
  overflow:visible;
}
.kkReTop{
  left:14px!important;right:14px!important;top:6px!important;height:54px!important;
  padding:6px 8px 6px 10px!important;border-radius:16px!important;
}
.kkReBrand{min-width:150px!important}.kkReBrand>span{width:31px!important;height:31px!important}.kkReBrand strong{font-size:12px!important}
.kkReQuickHelp{min-width:0;max-width:390px;display:flex;flex-direction:column;justify-content:center;line-height:1.1;overflow:hidden}
.kkReQuickHelp b{font-size:10px;color:#e9f9ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kkReQuickHelp span{margin-top:4px;font-size:8px;color:#7899ad;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kkReStatus{margin-left:auto!important}.kkReStatus span{font-size:8px}
.kkReTopActions button{height:36px!important;white-space:nowrap}
.kkReTopActions button.test{min-width:112px!important}
.kkReTopActions button.save{min-width:188px!important;padding:0 15px!important;background:linear-gradient(180deg,#63e4bd,#35bc8e)!important;color:#073526!important;box-shadow:0 8px 20px rgba(35,181,132,.22)!important}

.kkReTools{
  left:14px!important;top:70px!important;bottom:0!important;width:210px!important;
  padding:10px!important;border-radius:17px!important;background:rgba(11,24,37,.975)!important;
}
.kkReToolGroup{gap:5px!important;padding-bottom:9px;margin-bottom:8px;border-bottom:1px solid rgba(145,204,231,.08)}
.kkReToolGroup:last-child{border-bottom:0;margin-bottom:0}.kkReToolGroup>small{padding:3px 7px 6px!important;font-size:7px!important;color:#6e91a6!important}
.kkReToolGroup button{min-height:49px!important;padding:6px 8px!important;gap:8px!important;border-radius:11px!important}
.kkReToolGroup button span:first-child{width:31px!important;height:31px!important;font-size:16px!important}
.kkReToolText{min-width:0;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important;background:none!important;width:auto!important;height:auto!important;border-radius:0!important}
.kkReToolText b{font-size:9.5px!important;color:inherit!important;line-height:1.05!important}
.kkReToolText em{font-size:7px;font-style:normal;font-weight:650;line-height:1.18;color:#6f91a5;white-space:normal}
.kkReToolGroup button.active .kkReToolText em{color:#9ed8ea}

.kkReInspector{
  right:14px!important;top:70px!important;bottom:0!important;width:304px!important;
  border-radius:17px!important;background:rgba(11,24,37,.975)!important;
}
.kkReInspectorHead{height:49px!important}.kkReInspectorHead small{font-size:7px!important}.kkReInspectorHead strong{font-size:12px!important}
.kkReInspectorScroll{padding:8px 8px 15px!important}.kkReSection{padding:9px!important;margin-bottom:7px!important}
.kkReSectionTitle{font-size:8px!important}.kkReSection label>span{font-size:8.5px!important}.kkReSection input,.kkReSection select{height:32px!important;font-size:9.5px!important}
.kkReToggleRow button{height:36px!important;line-height:1.1;padding:0 5px!important}
.kkReLayers{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important}
.kkReLayers button{height:31px!important;text-align:left;padding:0 7px!important;display:flex;align-items:center;justify-content:space-between;gap:4px}
.kkReAdvanced{padding:0!important;overflow:hidden}.kkReAdvanced summary{cursor:pointer;padding:10px;color:#829fb0;font-size:8px;font-weight:950;letter-spacing:.1em;text-transform:uppercase;list-style:none}.kkReAdvanced summary::-webkit-details-marker{display:none}.kkReAdvanced summary:after{content:'▾';float:right}.kkReAdvanced[open] summary:after{content:'▴'}.kkReAdvanced .kkReDataGrid{padding:0 9px 10px}

.kkRoomEditor.leftClosed .kkReTools{transform:translateX(-230px);opacity:0;pointer-events:none}
.kkRoomEditor.rightClosed .kkReInspector{transform:translateX(324px);opacity:0;pointer-events:none}
.kkReTools,.kkReInspector{transition:transform .18s ease,opacity .18s ease}

.kkRePolyHint{bottom:10px!important;max-width:calc(100% - 600px);z-index:12!important}.kkRePolyHint span{font-size:9px!important}

/* Keep editing geometry visually above the image but below the dock UI. */
.kkRoomEditorCanvas{z-index:480!important}

@media(max-width:1280px){
  #onlineRoomModal .kkHouseShell.kkRoomEditorDocked .onlineVisitScene.kkHouseV1{margin-left:194px!important;margin-right:270px!important}
  #onlineRoomModal .kkHouseShell.kkRoomEditorDocked.kkReLeftClosed .onlineVisitScene.kkHouseV1{margin-left:12px!important}
  #onlineRoomModal .kkHouseShell.kkRoomEditorDocked.kkReRightClosed .onlineVisitScene.kkHouseV1{margin-right:12px!important}
  .kkReTools{width:176px!important}.kkReInspector{width:246px!important}
  .kkReToolText em{display:none}.kkReToolGroup button{min-height:42px!important}
  .kkReQuickHelp{display:none}.kkReTopActions button.save{min-width:142px!important;font-size:9px!important}
  .kkRoomEditor.leftClosed .kkReTools{transform:translateX(-195px)}.kkRoomEditor.rightClosed .kkReInspector{transform:translateX(265px)}
}
@media(max-width:900px){
  #onlineRoomModal .kkHouseShell.kkRoomEditorDocked .onlineVisitScene.kkHouseV1{margin-left:72px!important;margin-right:12px!important}
  .kkReTools{width:52px!important;padding:5px!important}.kkReToolGroup>small,.kkReToolText{display:none!important}.kkReToolGroup button{min-height:38px!important;justify-content:center!important;padding:3px!important}.kkReToolGroup button span:first-child{width:29px!important;height:29px!important}
  .kkReInspector{transform:translateX(265px);opacity:0;pointer-events:none}.kkRoomEditor:not(.rightClosed) .kkReInspector{transform:none;opacity:1;pointer-events:auto}
  #onlineRoomModal .kkHouseShell.kkRoomEditorDocked:not(.kkReRightClosed) .onlineVisitScene.kkHouseV1{margin-right:270px!important}
  .kkReBrand{display:none!important}.kkReRoomPick select{width:130px!important}.kkReStatus{display:none!important}.kkReTopActions button.save{min-width:42px!important;font-size:0!important}.kkReTopActions button.save:after{content:'🌍';font-size:15px}
}


/* =========================================================
   v59.2 House Editor - scene tabs + clearer quick controls
   ========================================================= */
.kkReSceneTabs{
  display:flex;align-items:center;gap:4px;height:42px;padding:4px;
  border:1px solid rgba(137,202,232,.16);border-radius:14px;background:rgba(4,16,28,.58);
  flex:0 0 auto
}
.kkReSceneTabs button{
  height:32px;min-width:112px;border:0;border-radius:10px;background:transparent;color:#7393a8;
  display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;font-weight:950;letter-spacing:.05em;cursor:pointer;transition:.15s
}
.kkReSceneTabs button span{font-size:15px}.kkReSceneTabs button:hover{background:rgba(87,196,239,.08);color:#cbefff}
.kkReSceneTabs button.active{background:linear-gradient(180deg,#eefbff,#cfefff);color:#0b5876;box-shadow:0 5px 14px rgba(19,142,191,.18)}
.kkReQuickSection{background:linear-gradient(180deg,rgba(44,128,166,.09),rgba(22,52,70,.05))!important}
.kkReQuickActions{display:grid;grid-template-columns:1fr;gap:5px}
.kkReQuickActions button{min-height:34px;border:1px solid rgba(142,202,227,.12);border-radius:9px;background:#10283a;color:#b9d7e8;font-size:8.5px;font-weight:900;text-align:left;padding:0 9px;cursor:pointer}
.kkReQuickActions button:hover{background:#17364c;color:#e8f8ff}.kkReQuickActions button.danger{color:#ffb3b3;background:rgba(110,35,42,.18)}
/* The editing docks reserve physical space around the artwork. They never overlap the editable house image. */
#onlineRoomModal .kkHouseShell.kkRoomEditorDocked .onlineVisitScene.kkHouseV1{
  margin-left:236px!important;margin-right:330px!important;margin-top:66px!important;
}
.kkRoomEditor.leftClosed + *{} /* keeps specificity stable in minifiers */
@media(max-width:1280px){
  .kkReSceneTabs button{min-width:88px}.kkReSceneTabs button b{font-size:8px}
}
@media(max-width:900px){
  .kkReSceneTabs{height:38px}.kkReSceneTabs button{min-width:52px;width:52px}.kkReSceneTabs button b{display:none}
}

/* =========================================================
   v59.2.1 - point-first multipurpose zones
   ========================================================= */
.kkReVertex{
  vector-effect:non-scaling-stroke;fill:#f7fdff;stroke:#123c55;stroke-width:.45;
  cursor:grab;filter:drop-shadow(0 0 1.4px rgba(70,210,255,.85));transition:r .1s,fill .1s,stroke .1s
}
.kkReVertex:hover,.kkReVertex.active{fill:#69e5ff;stroke:#fff;stroke-width:.7;cursor:grabbing}
.kkRePermissionIntro{padding:9px 10px;margin:4px 0 8px;border-radius:11px;background:linear-gradient(135deg,rgba(70,194,255,.10),rgba(153,103,255,.07));border:1px solid rgba(116,206,244,.13);display:flex;flex-direction:column;gap:4px}
.kkRePermissionIntro b{font-size:10px;color:#e9f9ff}.kkRePermissionIntro span{font-size:8px;line-height:1.4;color:#7e9eb1}.kkRePermissionIntro strong{color:#bcecff}
.kkRePermissionGrid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:9px}
.kkRePermissionGrid button{position:relative;min-height:72px;padding:8px 24px 7px 8px;border:1px solid rgba(146,201,229,.10);border-radius:11px;background:rgba(255,255,255,.026);color:#91adbd;text-align:left;cursor:pointer;display:grid;grid-template-columns:26px 1fr;grid-template-rows:auto auto;column-gap:6px;transition:.13s}
.kkRePermissionGrid button>span{grid-row:1/3;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.05);font-size:14px}
.kkRePermissionGrid button>b{font-size:8.5px;line-height:1.1;color:#b6ceda}.kkRePermissionGrid button>small{font-size:6.8px;line-height:1.25;color:#68889c;margin-top:3px}.kkRePermissionGrid button>i{position:absolute;right:7px;top:7px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.05);font-style:normal;font-size:9px;color:#66889c}
.kkRePermissionGrid button:hover{border-color:rgba(100,219,255,.25);background:rgba(100,219,255,.055)}
.kkRePermissionGrid button.active{background:linear-gradient(135deg,rgba(63,188,239,.16),rgba(95,126,255,.10));border-color:rgba(100,219,255,.32);box-shadow:inset 2px 0 0 #64dbff}.kkRePermissionGrid button.active>b{color:#ecfbff}.kkRePermissionGrid button.active>small{color:#8fb7cb}.kkRePermissionGrid button.active>i{background:#54d8a4;color:#07382a}
.kkRePointEditor{padding:9px;margin:8px 0;border:1px solid rgba(255,255,255,.06);border-radius:11px;background:rgba(255,255,255,.025)}
.kkRePointEditor>div:first-child{display:flex;flex-direction:column;gap:3px}.kkRePointEditor b{font-size:9px;color:#cde7f2}.kkRePointEditor span{font-size:7.5px;line-height:1.35;color:#718fa2}.kkRePointButtons{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}.kkRePointButtons button{height:31px;border:1px solid rgba(118,207,243,.12);border-radius:8px;background:#10283a;color:#a9cfdf;font-size:8px;font-weight:850;cursor:pointer}.kkRePointButtons button:hover{border-color:rgba(100,219,255,.28);color:#effcff}.kkRePointButtons button:disabled{opacity:.35;cursor:not-allowed}
.kkReShapeLabel{font-size:1.85px!important}
@media(max-width:1280px){.kkRePermissionGrid{grid-template-columns:1fr}.kkRePermissionGrid button{min-height:59px}.kkRePermissionGrid button>small{display:none}}


/* loop.css */
/* ===== Koderia v59.6.0 · mission-first gameplay loop ===== */
/* Mission panel always has an obvious way back to the world controls. */
.loopClose{position:absolute;z-index:4;right:8px;top:8px;width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:rgba(4,20,34,.88);color:#fff;display:grid;place-items:center;font-size:17px!important;font-weight:1000!important;cursor:pointer;box-shadow:0 7px 18px rgba(0,0,0,.25)}.loopClose:hover{background:rgba(50,108,135,.92);transform:translateY(-1px)}.koderiaLoopDock.smartManaged .loopMissionMain{padding-right:34px}
#cityStageCanvasWrap{position:relative}.koderiaLoopDock{position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:146;width:min(610px,calc(100% - 30px));color:#f4fcff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(150deg,rgba(4,18,31,.96),rgba(5,36,49,.94));border:1px solid rgba(108,235,255,.3);border-radius:19px;box-shadow:0 14px 42px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.05);backdrop-filter:blur(13px);padding:11px 12px}.koderiaLoopDock[hidden]{display:none!important}.koderiaLoopDock button{font:inherit}.loopMissionMain{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:10px}.loopMissionIcon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(145deg,rgba(91,230,255,.24),rgba(102,119,255,.16));border:1px solid rgba(122,235,255,.22);font-size:31px;box-shadow:inset 0 1px rgba(255,255,255,.08),0 5px 16px rgba(0,0,0,.2)}.loopMissionCopy{min-width:0}.loopMissionCopy small{display:block;color:#65e8ff;font-size:9px;font-weight:1000;letter-spacing:.12em}.loopMissionCopy h3{margin:1px 0 3px;font-size:18px;line-height:1.08}.loopMissionCopy p{margin:0;color:#c9dbe2;font-size:11px;line-height:1.25;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loopMissionRewards{display:flex;flex-direction:column;gap:5px;align-items:stretch}.loopRewardChip{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:92px;padding:5px 8px;border-radius:10px;font-size:10px;font-weight:900;white-space:nowrap}.loopRewardChip.xp{background:rgba(112,226,255,.12);border:1px solid rgba(112,226,255,.24);color:#baf4ff}.loopRewardChip.coins{background:rgba(255,205,70,.12);border:1px solid rgba(255,213,85,.26);color:#ffe897}.loopProgressLine{position:relative;height:7px;margin:9px 0 7px;border-radius:999px;background:rgba(255,255,255,.07);overflow:visible}.loopProgressLine>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#50d9f0,#6ff0a2);box-shadow:0 0 12px rgba(75,227,238,.32);transition:width .3s ease}.loopProgressLine>b{position:absolute;right:0;top:-18px;font-size:9px;color:#91b1be}.loopSeries{display:flex;align-items:center;gap:9px;color:#819ba7;font-size:8px;font-weight:900;letter-spacing:.04em}.loopSeries>span{white-space:nowrap}.loopSeries>div{display:flex;gap:4px}.loopSeries i{display:grid;place-items:center;width:19px;height:19px;border-radius:7px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-style:normal;color:#69808b;font-size:8px}.loopSeries i.next{color:#ffe67e;border-color:rgba(255,222,92,.42);background:rgba(255,211,61,.09);animation:missionPulse 1.1s ease-in-out infinite}.loopSeries i.done{color:#082517;background:#76efa5;border-color:#aaffc6}.loopSeries>b{margin-left:auto;color:#ffe58a}.loopMissionActions{position:absolute;right:12px;bottom:-38px}.loopGoBig,.loopClaimBig,.loopStartBig{border:0;border-radius:12px;padding:9px 14px;font-size:10px;font-weight:1000;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.25)}.loopGoBig{color:#061a28;background:linear-gradient(135deg,#79ecff,#6aa8ff)}.loopStartBig{color:#172000;background:linear-gradient(135deg,#fff078,#96ff7f)}.loopClaimBig{color:#251900;background:linear-gradient(135deg,#ffe46a,#ffb844);animation:missionReady .8s ease-in-out infinite}.questReady{border-color:rgba(255,218,75,.52);box-shadow:0 14px 42px rgba(0,0,0,.38),0 0 25px rgba(255,211,69,.13)}.loopTargetMini{width:100%;display:flex;align-items:center;gap:8px;margin-top:9px;padding:7px 9px;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:rgba(255,255,255,.035);color:#edfaff;text-align:left;cursor:pointer}.loopTargetMini>span{font-size:20px}.loopTargetMini>div{display:grid;grid-template-columns:1fr;flex:1;min-width:0}.loopTargetMini small{color:#b897ff;font-size:7px;font-weight:1000;letter-spacing:.1em}.loopTargetMini b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loopTargetMini i{height:4px;margin-top:4px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.loopTargetMini i em{display:block;height:100%;background:linear-gradient(90deg,#9e72ff,#e776ff)}.loopTargetMini>strong{font-size:9px;color:#d4c0ff}.loopChestHero{display:flex;align-items:center;gap:12px}.loopChestIcon{font-size:46px;animation:chestBounce .8s ease-in-out infinite}.loopChestHero>div{flex:1}.loopChestHero small{color:#ffe370;font-size:9px;font-weight:1000;letter-spacing:.12em}.loopChestHero h3{margin:1px 0 6px;font-size:20px}.loopRewardRow{display:flex;gap:6px}.loopChestHero>button{border:0;border-radius:13px;padding:13px 17px;background:linear-gradient(135deg,#ffe56b,#ffad42);color:#271900;font-size:11px;font-weight:1000;cursor:pointer;animation:missionReady .8s ease-in-out infinite}.chestReady{border-color:rgba(255,217,73,.46);background:linear-gradient(145deg,rgba(35,27,7,.96),rgba(48,25,8,.94))}
.koderiaMissionOverlay{position:absolute;inset:0;z-index:310;display:none;align-items:center;justify-content:center;background:rgba(1,11,20,.28);backdrop-filter:blur(1px);pointer-events:none}.koderiaMissionOverlay.show{display:flex}.koderiaMissionOverlay.show>*{pointer-events:auto}.missionIntroCard{width:min(410px,calc(100% - 34px));padding:20px;border-radius:24px;background:linear-gradient(155deg,rgba(5,27,43,.98),rgba(8,46,56,.98));border:2px solid rgba(255,225,86,.55);box-shadow:0 24px 70px rgba(0,0,0,.55),0 0 45px rgba(255,218,63,.13);text-align:center;animation:missionIn .22s ease-out}.missionIntroLabel{color:#ffe469;font-size:10px;font-weight:1000;letter-spacing:.14em}.missionIntroIcon{font-size:61px;filter:drop-shadow(0 8px 15px rgba(0,0,0,.35));animation:introIcon 1.2s ease-in-out infinite}.missionIntroCard h2{margin:3px 0 7px;font-size:27px}.missionIntroCard p{margin:0 auto 14px;max-width:330px;color:#d8e8ed;font-size:15px;line-height:1.35;font-weight:750}.missionIntroRewards{display:flex;justify-content:center;gap:7px;align-items:center;flex-wrap:wrap}.missionIntroRewards small{width:100%;color:#8da8b5;font-size:8px;font-weight:1000;letter-spacing:.12em}.missionIntroChest{margin-top:10px;color:#ffdf78;font-size:10px;font-weight:900}.missionIntroCard button{margin-top:14px;min-width:190px;border:0;border-radius:14px;padding:13px 18px;background:linear-gradient(135deg,#ffec72,#79f4a0);color:#142106;font-size:13px;font-weight:1000;cursor:pointer;box-shadow:0 10px 26px rgba(119,239,141,.18)}.koderiaMissionOverlay.closing .missionIntroCard{animation:missionOut .18s ease-in forwards}.missionRewardBurst{width:min(390px,calc(100% - 34px));padding:24px;border-radius:25px;background:linear-gradient(155deg,rgba(8,45,36,.98),rgba(4,29,42,.98));border:2px solid rgba(108,255,158,.58);box-shadow:0 25px 75px rgba(0,0,0,.58),0 0 45px rgba(93,255,150,.18);text-align:center;animation:rewardPop .28s cubic-bezier(.2,.9,.25,1.25)}.missionRewardBurst.chest{border-color:rgba(255,218,73,.64);background:linear-gradient(155deg,rgba(50,31,5,.98),rgba(35,23,7,.98))}.missionRewardCheck{font-size:58px}.missionRewardBurst small{display:block;color:#8effb6;font-size:10px;font-weight:1000;letter-spacing:.14em}.missionRewardBurst.chest small{color:#ffe477}.missionRewardBurst h2{margin:4px 0 13px;font-size:22px}.missionRewardBurst>div:not(.missionRewardCheck){display:flex;gap:8px;justify-content:center}.missionRewardNext{display:block;margin-top:10px;color:#9fb5bf;font-size:10px}.missionConfetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.missionConfetti i{--a:calc(var(--i)*21deg);position:absolute;left:50%;top:48%;width:8px;height:13px;border-radius:3px;background:hsl(calc(var(--i)*37deg) 85% 62%);animation:confettiFly .9s ease-out forwards;transform:rotate(var(--a)) translateY(-20px)}
/* World mission beacon */.v5951TargetBeacon{position:absolute;z-index:180;display:none;transform:translate(-50%,-64%);width:96px;height:96px;pointer-events:none}.v5951TargetBeacon.show{display:block}.v5951TargetBeacon i{position:absolute;inset:6px;border:5px solid #ffe66d;border-radius:50%;box-shadow:0 0 0 7px rgba(255,230,109,.15),0 0 30px rgba(255,222,82,.75);animation:missionBeacon 1s ease-out infinite}.v5951TargetBeacon b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:32px}.v5951WorldGuide{position:absolute;z-index:245;display:none;transform:translate(-50%,-50%);width:76px;height:76px;border:0;border-radius:50%;background:radial-gradient(circle,rgba(8,32,55,.96) 0 44%,rgba(59,219,255,.20) 45% 60%,transparent 61%);color:#fff;cursor:pointer;filter:drop-shadow(0 7px 18px rgba(0,0,0,.35));pointer-events:auto}.v5951WorldGuide.show{display:block}.v5951GuideArrow{position:absolute;left:50%;top:50%;width:106px;height:36px;margin:-18px 0 0 -53px;display:flex;align-items:center;justify-content:flex-end;color:#ffe56d;font-size:42px;font-weight:1000;text-shadow:0 0 13px rgba(255,224,79,.9);transform:rotate(var(--guide-angle,0deg));animation:guideBeat .8s ease-in-out infinite}.v5951GuideIcon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:rgba(5,25,43,.96);border:2px solid rgba(116,238,255,.75);font-size:23px;box-shadow:0 0 15px rgba(81,226,255,.35)}.v5951GuideDistance{position:absolute;left:50%;top:64px;transform:translateX(-50%);padding:2px 6px;border-radius:8px;background:rgba(4,20,35,.9);color:#b8f6ff;font-size:8px;font-weight:1000}.v5951WorldGuide.near .v5951GuideArrow{color:#75ff9c}.v5951WorldGuide.near .v5951GuideIcon{border-color:#7cffab}
@keyframes missionPulse{50%{transform:scale(1.08);filter:brightness(1.15)}}@keyframes missionReady{50%{transform:scale(1.04);filter:brightness(1.12)}}@keyframes chestBounce{50%{transform:translateY(-4px) rotate(-3deg)}}@keyframes missionIn{from{opacity:0;transform:scale(.86) translateY(10px)}to{opacity:1;transform:none}}@keyframes missionOut{to{opacity:0;transform:scale(.9)}}@keyframes introIcon{50%{transform:translateY(-4px) scale(1.04)}}@keyframes rewardPop{from{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes confettiFly{to{opacity:0;transform:rotate(var(--a)) translateY(-230px) translateX(calc((var(--i) - 9)*12px)) rotate(240deg)}}@keyframes missionBeacon{0%{transform:scale(.7);opacity:1}100%{transform:scale(1.3);opacity:.05}}@keyframes guideBeat{50%{opacity:.72}}
@media(max-width:760px){.koderiaLoopDock{top:7px;width:min(96%,560px);padding:9px}.loopMissionMain{grid-template-columns:48px 1fr}.loopMissionIcon{width:46px;height:46px;font-size:27px}.loopMissionRewards{grid-column:1/-1;flex-direction:row;margin-top:1px}.loopRewardChip{min-width:0;flex:1}.loopMissionCopy h3{font-size:16px}.loopMissionCopy p{font-size:10px}.loopMissionActions{position:static;margin-top:8px}.loopGoBig,.loopClaimBig,.loopStartBig{width:100%;min-height:40px}.loopTargetMini{display:none}.loopSeries>span{font-size:7px}.missionIntroCard{padding:17px}.missionIntroIcon{font-size:52px}.missionIntroCard h2{font-size:23px}.missionIntroCard p{font-size:13px}.loopChestHero{flex-wrap:wrap}.loopChestHero>button{width:100%}}


/* child-mode.css */
/* ===== Koderia v59.6.0 · junior / standard mission presentation ===== */
.koderia-child-mode .koderiaLoopDock{top:9px;width:min(660px,calc(100% - 24px));border:2px solid rgba(255,223,78,.5);background:linear-gradient(150deg,rgba(5,26,39,.97),rgba(7,43,49,.96));box-shadow:0 16px 48px rgba(0,0,0,.42),0 0 30px rgba(255,220,70,.1)}.koderia-child-mode .loopMissionIcon{width:61px;height:61px;font-size:36px;border-color:rgba(255,226,78,.34);background:linear-gradient(145deg,rgba(255,223,65,.22),rgba(84,224,255,.18))}.koderia-child-mode .loopMissionMain{grid-template-columns:64px minmax(0,1fr) auto}.koderia-child-mode .loopMissionCopy small{color:#ffe26a;font-size:10px}.koderia-child-mode .loopMissionCopy h3{font-size:21px}.koderia-child-mode .loopMissionCopy p{font-size:13px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.koderia-child-mode .loopRewardChip{font-size:11px;padding:7px 9px}.koderia-child-mode .loopSeries{font-size:9px;color:#b9cad0}.koderia-child-mode .loopSeries i{width:24px;height:24px;font-size:10px}.koderia-child-mode .v5951WorldGuide{width:100px;height:100px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.46))}.koderia-child-mode .v5951GuideArrow{width:140px;margin-left:-70px;font-size:54px;color:#ffe553;text-shadow:0 0 18px rgba(255,224,69,.98)}.koderia-child-mode .v5951GuideIcon{width:52px;height:52px;font-size:30px;border:3px solid #ffe35d;box-shadow:0 0 26px rgba(255,223,68,.62)}.koderia-child-mode .v5951GuideDistance{top:82px;font-size:10px;background:#172333;color:#fff29c}.koderia-child-mode .v5951TargetBeacon{width:145px;height:145px}.koderia-child-mode .v5951TargetBeacon i{inset:10px;border-width:8px;border-color:#ffe251;box-shadow:0 0 0 12px rgba(255,226,81,.18),0 0 55px rgba(255,220,58,.95)}.koderia-child-mode .v5951TargetBeacon b{font-size:46px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5))}.koderia-child-mode .v5951TargetBeacon:before{content:'!';position:absolute;left:50%;top:-36px;transform:translateX(-50%);display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#ffe252;color:#17202a;font:1000 29px/1 system-ui;box-shadow:0 0 28px rgba(255,225,67,.8);animation:missionPulse .72s ease-in-out infinite}.koderia-child-mode .v5951TargetBeacon:after{content:'ЗАДАНИЕ';position:absolute;left:50%;bottom:-9px;transform:translate(-50%,100%);padding:6px 11px;border-radius:10px;background:#ffe25a;color:#1c2118;font:1000 10px/1 system-ui;letter-spacing:.08em;box-shadow:0 6px 17px rgba(0,0,0,.3)}.koderia-child-mode .loopTargetMini{display:none}.koderia-standard-mode .koderiaLoopDock{width:min(580px,calc(100% - 30px))}.koderia-standard-mode .v5951WorldGuide{width:58px;height:58px}.koderia-standard-mode .v5951GuideArrow{width:84px;margin-left:-42px;font-size:30px}.koderia-standard-mode .v5951GuideIcon{width:34px;height:34px;font-size:19px}.koderia-standard-mode .v5951GuideDistance{top:50px}
@media(max-width:760px){.koderia-child-mode .koderiaLoopDock{width:calc(100% - 14px)}.koderia-child-mode .loopMissionMain{grid-template-columns:52px 1fr}.koderia-child-mode .loopMissionIcon{width:50px;height:50px;font-size:30px}.koderia-child-mode .loopMissionCopy h3{font-size:17px}.koderia-child-mode .loopMissionCopy p{font-size:11px}.koderia-child-mode .loopMissionRewards{grid-column:1/-1;flex-direction:row}.koderia-child-mode .v5951WorldGuide{width:84px;height:84px}.koderia-child-mode .v5951GuideArrow{width:118px;margin-left:-59px;font-size:46px}.koderia-child-mode .v5951GuideIcon{width:45px;height:45px;font-size:26px}.koderia-child-mode .v5951GuideDistance{top:70px}.koderia-child-mode .v5951TargetBeacon{width:122px;height:122px}}


/* world-progress.css */
/* Koderia v59.11.0 · city restoration */
#kwpCityProgress{position:absolute;z-index:282;right:max(12px,env(safe-area-inset-right));bottom:calc(max(14px,env(safe-area-inset-bottom)) + 92px);display:grid;grid-template-columns:30px auto auto;align-items:center;gap:7px;min-width:190px;padding:7px 9px;border:1px solid rgba(120,236,255,.25);border-radius:15px;background:linear-gradient(145deg,rgba(5,25,43,.94),rgba(17,42,55,.94));box-shadow:0 12px 30px rgba(0,0,0,.28);color:#effdff;text-align:left;cursor:pointer;backdrop-filter:blur(12px)}
#kwpCityProgress>span{font-size:22px;filter:drop-shadow(0 0 10px rgba(105,230,255,.55))}#kwpCityProgress div{min-width:0}#kwpCityProgress small{display:block;color:#76eaff;font:1000 6px/1.1 Inter,system-ui;letter-spacing:.1em}#kwpCityProgress b{display:block;margin-top:2px;font:1000 10px/1 Inter,system-ui}#kwpCityProgress>i{font:1000 8px/1 Inter,system-ui;color:#ffe179;font-style:normal}
#kwpRestorePanel{position:absolute;inset:0;z-index:420;display:none;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:rgba(1,10,20,.70);backdrop-filter:blur(10px)}#kwpRestorePanel.show{display:flex}
.kwpCard{position:relative;width:min(760px,100%);max-height:min(720px,calc(100dvh - 28px));overflow:auto;padding:18px;border:1px solid rgba(128,235,255,.28);border-radius:24px;background:linear-gradient(145deg,rgba(5,25,44,.98),rgba(18,32,53,.98));box-shadow:0 28px 80px rgba(0,0,0,.5);color:#effcff}.kwpClose{position:absolute;right:12px;top:12px;width:36px;height:36px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.07);color:#fff;font-size:22px;cursor:pointer}.kwpHead{display:flex;align-items:flex-start;gap:12px;padding-right:42px}.kwpHead>span{font-size:38px}.kwpHead small{color:#72e9ff;font:1000 8px/1 Inter,system-ui;letter-spacing:.14em}.kwpHead h2{margin:4px 0 4px;font:1000 24px/1.1 Inter,system-ui}.kwpHead p{margin:0;color:#a9c7d5;font:800 10px/1.4 Inter,system-ui}
.kwpDistricts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:15px}.kwpDistrict{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:11px;border:1px solid rgba(255,255,255,.10);border-radius:17px;background:rgba(255,255,255,.045)}.kwpDistrict.max{border-color:rgba(104,239,171,.3);background:rgba(86,220,145,.07)}.kwpDistrictIcon{font-size:29px}.kwpDistrict b{font:1000 12px/1 Inter,system-ui}.kwpDistrict small{display:block;margin-top:3px;color:#91bdcc;font:900 7px/1 Inter,system-ui}.kwpDistrict p{margin:5px 0 0;color:#bdd1d9;font:800 8px/1.3 Inter,system-ui}.kwpPips{display:flex;gap:3px;margin-top:5px}.kwpPips i{width:22px;height:4px;border-radius:99px;background:rgba(255,255,255,.11)}.kwpPips i.on{background:#6de9ff;box-shadow:0 0 8px rgba(91,228,255,.5)}.kwpDistrict button,.kwpDistrict>strong{min-width:65px;padding:8px;border:1px solid rgba(106,232,255,.26);border-radius:11px;background:rgba(78,211,235,.12);color:#eaffff;font:1000 9px/1 Inter,system-ui;cursor:pointer}.kwpDistrict button.need{opacity:.55}.kwpDistrict>strong{color:#7cf0ad;border-color:rgba(91,232,159,.22);background:rgba(79,208,139,.08);font-size:7px;text-align:center}
@media(max-width:620px){#kwpCityProgress{min-width:0;width:54px;height:54px;grid-template-columns:1fr;padding:0;place-items:center;border-radius:17px;bottom:calc(max(8px,env(safe-area-inset-bottom)) + 64px)}#kwpCityProgress>span{font-size:25px}#kwpCityProgress div,#kwpCityProgress>i{display:none}.kwpCard{padding:14px;border-radius:20px}.kwpHead h2{font-size:19px}.kwpDistricts{grid-template-columns:1fr}.kwpDistrict{grid-template-columns:38px 1fr auto;padding:9px}.kwpDistrictIcon{font-size:25px}}

/* v59.19.9: availability signal. hud-layout owns final placement. */
#kwpCityProgress.attention{border-color:rgba(105,235,255,.65);box-shadow:0 0 26px rgba(89,226,255,.22),0 12px 30px rgba(0,0,0,.28)}


/* hud-layout.css */
/* ===== Koderia v59.18.3 · HOTFIX HUD / PLAYER ARROW ===== */
#cityStageCanvasWrap{--khl-top:10px;--khl-side:10px;--khl-bottom:12px;--khl-top-stack-h:0px;isolation:isolate}
#cityQuestHud{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:none!important}

/* Important messages only. Secondary controls are removed from the permanent HUD. */
#khlTopRightStack{position:absolute;z-index:292;right:calc(max(var(--khl-side),env(safe-area-inset-right)) + 50px);top:max(var(--khl-top),env(safe-area-inset-top));display:flex;flex-direction:column;align-items:flex-end;gap:5px;width:min(365px,calc(100% - 220px));max-height:38vh;pointer-events:none}
#khlTopRightStack>*{pointer-events:auto;flex:0 0 auto}
#khlTopRightStack #lessonLiveBanner,#khlTopRightStack #lessonRewardDock,#khlTopRightStack .kshNudge{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;margin:0!important;width:100%!important;max-width:none!important}
#khlTopRightStack .kshNudge{width:auto!important;max-width:290px!important}#khlTopRightStack .kshNudge:not(.show){display:none!important}
#khlTopRightStack #lessonLiveBanner:not(.show),#khlTopRightStack #lessonRewardDock:not(.show){margin:0!important}

/* One explicit entry point for every secondary action. */
#khlMoreButton{position:absolute;z-index:300;right:max(var(--khl-side),env(safe-area-inset-right));top:max(var(--khl-top),env(safe-area-inset-top));width:42px;height:42px;border:1px solid rgba(124,225,247,.24);border-radius:14px;background:rgba(5,25,42,.90);color:#dff9ff;box-shadow:0 9px 24px rgba(0,0,0,.26);backdrop-filter:blur(10px);display:grid;place-items:center;cursor:pointer;font:1000 15px/1 Inter,system-ui,sans-serif}
#khlMoreButton>span{transform:translateY(-2px);letter-spacing:2px}#khlMoreButton>b{position:absolute;right:-4px;top:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:10px;display:grid;place-items:center;background:#ffd85c;color:#342300;border:2px solid #13293b;font-size:9px}#khlMoreButton>b:empty{display:none}
#khlMoreButton[aria-expanded="true"]{border-color:rgba(116,235,255,.62);background:rgba(9,42,62,.97)}
#khlUtilityPanel{position:absolute;z-index:299;right:max(var(--khl-side),env(safe-area-inset-right));top:calc(max(var(--khl-top),env(safe-area-inset-top)) + 50px);width:286px;max-height:calc(100% - 72px - max(var(--khl-bottom),env(safe-area-inset-bottom)));padding:9px;border:1px solid rgba(129,224,247,.18);border-radius:18px;background:rgba(4,20,35,.94);box-shadow:0 18px 42px rgba(0,0,0,.38);backdrop-filter:blur(14px);display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:7px;overflow:auto;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px) scale(.97);transform-origin:top right;transition:.16s ease}
#cityStageCanvasWrap.khlUtilitiesOpen #khlUtilityPanel{opacity:1;visibility:visible;pointer-events:auto;transform:none}
#khlUtilityPanel .kshRail{position:relative!important;inset:auto!important;display:flex!important;flex-direction:row!important;gap:6px!important;width:100%!important;justify-content:flex-end!important;height:auto!important;margin:0!important}
#khlUtilityPanel .kshOrb{width:46px!important;height:46px!important;border-radius:14px!important}#khlUtilityPanel .kshOrb>small{display:none!important}
#khlUtilityPanel #worldMapButton,#khlUtilityPanel #kkMyHouseButton,#khlUtilityPanel #studentTransportButton{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;margin:0!important;min-width:46px!important;width:46px!important;height:46px!important;min-height:46px!important;padding:0!important;border-radius:14px!important;font-size:0!important;display:grid!important;place-items:center!important}
#khlUtilityPanel #worldMapButton::before{content:'🗺️';font-size:22px}#khlUtilityPanel #kkMyHouseButton::before{content:'🏠';font-size:22px}#khlUtilityPanel #studentTransportButton::before{content:'🛹';font-size:22px}
#khlUtilityPanel .krlGoal{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:100%!important;max-width:none!important;margin:1px 0 0!important;z-index:auto!important}
#khlUtilityPanel #kwpCityProgress{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;margin:0!important;z-index:auto!important}

/* Bottom-center belongs to exactly one context action. */
.kshPrimary{bottom:max(var(--khl-bottom),env(safe-area-inset-bottom))!important;z-index:286!important}
#cityDoorPrompt,#citySocialPrompt,#v594PortalPrompt,#v594BuildHint{z-index:308!important}
#cityStageCanvasWrap.khlInteraction .kshPrimary{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

/* Fixed compass stays compact and never competes with world labels. */
#v5951WorldGuide{position:absolute!important;z-index:289!important;left:max(10px,env(safe-area-inset-left))!important;top:max(var(--khl-top),env(safe-area-inset-top))!important;width:118px!important;height:52px!important;min-width:118px!important;display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;grid-template-rows:13px 1fr 11px!important;align-items:center!important;padding:5px 7px!important;border-radius:15px!important;transform:none!important;background:rgba(5,25,43,.91)!important;border:1px solid rgba(119,232,255,.30)!important;box-shadow:0 10px 24px rgba(0,0,0,.26)!important;transition:opacity .15s ease,visibility .15s ease!important}
#v5951WorldGuide .v5951GuideArrow{grid-row:1/4;grid-column:1;display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:50%!important;background:rgba(101,230,255,.10)!important;font-size:17px!important;transform:rotate(var(--guide-angle,0deg))!important;transform-origin:center!important;transition:transform .12s linear!important}
#v5951WorldGuide .v5951GuideIcon{grid-row:1;grid-column:2;font-size:11px!important;line-height:1!important;text-align:left!important}
#v5951WorldGuide .v5911GuideName{grid-row:2;grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#effcff;font:1000 7px/1 Inter,system-ui,sans-serif;text-align:left}
#v5951WorldGuide .v5951GuideDistance{grid-row:3;grid-column:2;display:block!important;color:#9ec9d6!important;font:1000 6px/1 Inter,system-ui,sans-serif;text-align:left!important;white-space:nowrap!important}
#v5951WorldGuide::after{display:none!important}#v5951WorldGuide.near{border-color:rgba(255,224,91,.52)!important}#v5951WorldGuide.near .v5951GuideDistance{color:#ffe47a!important}
#v5951TargetBeacon{z-index:252!important;pointer-events:none!important}#v5951TargetBeacon.show::after{display:none!important}

/* Area name is a short entrance toast, never a persistent label. */
#cityLocationChip{position:absolute!important;z-index:296!important;left:50%!important;top:calc(max(8px,env(safe-area-inset-top)) + 4px)!important;transform:translate(-50%,-10px) scale(.96)!important;min-width:0!important;max-width:min(330px,calc(100% - 120px))!important;padding:8px 12px!important;border-radius:14px!important;background:rgba(4,22,39,.88)!important;border:1px solid rgba(135,232,255,.22)!important;box-shadow:0 10px 28px rgba(0,0,0,.22)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:.2s ease!important;text-align:center!important}
#cityLocationChip.show{opacity:1!important;visibility:visible!important;transform:translate(-50%,0) scale(1)!important}#cityLocationChip .locLabel,#cityLocationChip .locDesc{display:none!important}#cityLocationChip .locName{display:block!important;margin:0!important;font:1000 11px/1.15 Inter,system-ui,sans-serif!important;color:#f2fcff!important}

/* Full-screen/focus moments get the screen to themselves. */
#cityStageCanvasWrap.v594RealmWrap #khlTopRightStack,#cityStageCanvasWrap.v594RealmWrap #khlMoreButton,#cityStageCanvasWrap.v594RealmWrap #khlUtilityPanel,#cityStageCanvasWrap.v594RealmWrap .kshPrimary,#cityStageCanvasWrap.v594RealmWrap #v5951WorldGuide,#cityStageCanvasWrap.v594RealmWrap #v5951TargetBeacon,
#cityStageCanvasWrap.khlMissionOpen #khlTopRightStack,#cityStageCanvasWrap.khlMissionOpen #khlUtilityPanel,#cityStageCanvasWrap.khlMissionOpen .kshPrimary,#cityStageCanvasWrap.khlMissionOpen #v5951WorldGuide,
#cityStageCanvasWrap.khlMajor #khlTopRightStack,#cityStageCanvasWrap.khlMajor #khlMoreButton,#cityStageCanvasWrap.khlMajor #khlUtilityPanel,#cityStageCanvasWrap.khlMajor .kshPrimary,#cityStageCanvasWrap.khlMajor #v5951WorldGuide,
#cityStageCanvasWrap.kwpOpen #khlTopRightStack,#cityStageCanvasWrap.kwpOpen #khlMoreButton,#cityStageCanvasWrap.kwpOpen #khlUtilityPanel,#cityStageCanvasWrap.kwpOpen .kshPrimary,#cityStageCanvasWrap.kwpOpen #v5951WorldGuide{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

/* Existing TD synergy chip. */
.v59101Synergy{margin:8px 0 2px;padding:8px 10px;border:1px solid rgba(121,231,255,.24);border-radius:13px;background:linear-gradient(135deg,rgba(83,219,255,.08),rgba(255,221,93,.06));display:flex;align-items:center;gap:8px;color:#eefdff}.v59101Synergy>span{font-size:22px}.v59101Synergy>div{min-width:0}.v59101Synergy b{display:block;font:1000 9px Inter,system-ui,sans-serif;color:#ffe279}.v59101Synergy small{display:block;margin-top:2px;font:800 7px/1.3 Inter,system-ui,sans-serif;color:#a9c8d5}

@media(max-width:760px){
 #cityStageCanvasWrap{--khl-top:6px;--khl-side:6px;--khl-bottom:7px}
 #khlMoreButton{width:39px;height:39px;border-radius:13px}
 #khlTopRightStack{right:calc(max(6px,env(safe-area-inset-right)) + 46px);top:max(6px,env(safe-area-inset-top));width:min(280px,calc(100% - 112px));max-height:32vh;gap:4px}
 #khlTopRightStack #lessonLiveBanner{min-height:43px!important;padding:5px 6px!important}#khlTopRightStack #lessonLiveBanner .lessonLiveNote,#khlTopRightStack #lessonLiveBanner .lessonLiveCopy span{display:none!important}
 #khlUtilityPanel{right:max(6px,env(safe-area-inset-right));top:calc(max(6px,env(safe-area-inset-top)) + 46px);width:min(252px,calc(100% - 12px));max-height:55vh;padding:7px;border-radius:16px}
 #khlUtilityPanel .kshOrb{width:43px!important;height:43px!important}
 #khlUtilityPanel .krlGoal{height:52px!important;overflow:hidden!important}.krlGoal .krlGoalCopy>span{display:none!important}
 #v5951WorldGuide{left:max(6px,env(safe-area-inset-left))!important;top:max(6px,env(safe-area-inset-top))!important;width:86px!important;min-width:86px!important;height:39px!important;grid-template-columns:28px minmax(0,1fr)!important;grid-template-rows:10px 1fr 9px!important;padding:4px 5px!important;border-radius:12px!important}
 #v5951WorldGuide .v5951GuideArrow{width:25px!important;height:25px!important;font-size:14px!important}#v5951WorldGuide .v5951GuideIcon{display:none!important}#v5951WorldGuide .v5911GuideName{font-size:6px!important}#v5951WorldGuide .v5951GuideDistance{font-size:5.5px!important}
 .kshPrimary{bottom:max(122px,calc(env(safe-area-inset-bottom) + 112px))!important;min-width:0!important;max-width:calc(100% - 28px)!important;width:auto!important;height:44px!important;padding:0 13px!important;font-size:9px!important}
 .koderiaLoopDock.smartManaged.smartExpanded{left:7px!important;right:7px!important;width:auto!important;max-width:none!important;top:max(112px,calc(env(safe-area-inset-top) + 104px))!important;transform:none!important;max-height:calc(100dvh - max(126px,calc(env(safe-area-inset-top) + 118px)) - max(14px,env(safe-area-inset-bottom)))!important}
 #cityLocationChip{top:calc(max(6px,env(safe-area-inset-top)) + 45px)!important;max-width:calc(100% - 24px)!important;padding:7px 10px!important}#cityLocationChip .locName{font-size:9px!important}
}
@media(max-width:390px){#khlTopRightStack{width:calc(100% - 104px)}#khlUtilityPanel{width:min(238px,calc(100% - 10px))}.kshPrimary>span{font-size:18px!important}.kshPrimary>b{max-width:215px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:330px){#khlTopRightStack{display:none!important}#khlUtilityPanel{width:218px}.kshPrimary{max-width:calc(100% - 16px)!important}.kshPrimary>b{max-width:180px}#cityLocationChip{top:50px!important}}
@media(prefers-reduced-motion:reduce){#v5951WorldGuide .v5951GuideArrow,#khlUtilityPanel,#cityLocationChip{transition:none!important}}

/* Extra chrome cleanup: permanent help text is replaced by contextual prompts/tutorials. */
#cityStageCanvasWrap .cityStageSystemLegend,.cityStageCanvasWrap .cityStageHelp{display:none!important}
body.cityGameFullscreen .cityStageTopbar{min-height:46px!important;padding:5px 8px!important}
body.cityGameFullscreen .cityStageLocationIcon{width:32px!important;height:32px!important;border-radius:10px!important;font-size:18px!important}
body.cityGameFullscreen .cityStageLocation strong{font-size:12px!important}
@media(max-width:760px){.cityStageTopbar{min-height:44px!important;padding:5px 7px!important}.cityStageLocation{gap:5px!important}.cityStageLocationIcon{width:31px!important;height:31px!important;border-radius:10px!important;font-size:18px!important}.cityStageLocation strong{display:none!important}.cityStageStatus .cityStageQuickButtons .cityFullscreenButton{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important}}


/* ===== v59.18.2 hotfix overrides ===== */
/* The active route is drawn once in canvas under the player; keep superseded DOM guides out of the HUD. */
#v5951WorldGuide,#v5951TargetBeacon,#v559QuestNav{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}
/* Old class/account counters are diagnostics, not gameplay HUD. */
.cityStageHouseCount,.cityRemoteLegend{display:none!important}
/* Online state + emotions belong inside the ••• drawer, never beside the menu button. */
.cityOnlineDock{display:none!important}
#khlUtilityPanel #cityOnlinePeople{position:relative!important;inset:auto!important;min-height:38px!important;width:100%!important;padding:0 9px!important;border-radius:12px!important;justify-content:flex-start!important;box-shadow:none!important;background:rgba(255,255,255,.055)!important}
#khlUtilityPanel #cityOnlinePeople span{display:block!important;font-size:7px!important}
#khlUtilityPanel #cityOnlineEmotes{position:relative!important;inset:auto!important;width:100%!important;min-height:42px!important;padding:4px!important;display:grid!important;grid-template-columns:repeat(6,1fr)!important;gap:4px!important;border-radius:12px!important;box-shadow:none!important;background:rgba(255,255,255,.055)!important}
#khlUtilityPanel #cityOnlineEmotes button{width:100%!important;height:34px!important;border-radius:9px!important;font-size:17px!important}
/* Interaction owns the bottom-center lane. Keep it compact and stable. */
#cityDoorPrompt.show,#citySocialPrompt.show,#v594PortalPrompt.show,#v594BuildHint.show{left:50%!important;right:auto!important;bottom:calc(max(14px,env(safe-area-inset-bottom)) + 4px)!important;transform:translateX(-50%)!important;width:max-content!important;min-width:min(300px,calc(100% - 26px))!important;max-width:min(390px,calc(100% - 26px))!important}
/* Rewards use a completely different lane: top-center below the compact topbar. */
body.cityGameFullscreen .rewardToast{left:50%!important;right:auto!important;top:calc(max(8px,env(safe-area-inset-top)) + 54px)!important;bottom:auto!important;z-index:2147483300!important;transform:translate(-50%,-10px) scale(.96)!important}
body.cityGameFullscreen .rewardToast.show{transform:translate(-50%,0) scale(1)!important}
/* Lesson reward is also kept away from interaction. */
body.cityGameFullscreen .lessonRewardDock{top:calc(max(8px,env(safe-area-inset-top)) + 58px)!important;bottom:auto!important}
@media(max-width:760px){
 #khlUtilityPanel #cityOnlineEmotes{grid-template-columns:repeat(3,1fr)!important}
 #khlUtilityPanel #cityOnlineEmotes button{height:36px!important}
 body.cityGameFullscreen .rewardToast{top:calc(max(6px,env(safe-area-inset-top)) + 48px)!important;width:min(330px,calc(100% - 20px))!important}
 body.cityGameFullscreen .lessonRewardDock{top:calc(max(6px,env(safe-area-inset-top)) + 50px)!important}
}
@media(max-width:390px){#khlUtilityPanel #cityOnlinePeople span{display:none!important}}


/* ===== v59.18.3 · PILOT READY STABILITY ===== */
/* Hide only superseded diagnostic chrome. Active navigation and lesson prompts stay available. */
#cityQuestHud,.cityStageSystemLegend,.cityStageHelp,.cityRemoteLegend,.cityStageHouseCount{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
/* More menu owns the top-right corner; nothing may sit beneath it. */
#khlMoreButton{right:max(10px,env(safe-area-inset-right))!important;top:max(10px,env(safe-area-inset-top))!important}
#khlTopRightStack{right:calc(max(10px,env(safe-area-inset-right)) + 52px)!important;top:max(10px,env(safe-area-inset-top))!important;max-width:min(350px,calc(100% - 210px))!important}
/* Context action and reward are two physically separate lanes. */
body.cityGameFullscreen .rewardToast{top:calc(max(10px,env(safe-area-inset-top)) + 58px)!important;bottom:auto!important}
/* Do not allow stale non-show toasts to reserve or intercept space. */
body.cityGameFullscreen .rewardToast:not(.show){pointer-events:none!important}
/* Desktop is the primary classroom/home PC surface for the pilot. */
@media(min-width:900px){
  #khlMoreButton{width:44px!important;height:44px!important}
  #khlUtilityPanel{top:62px!important;right:10px!important}
  .kshPrimary{bottom:14px!important}
}
@media(max-height:650px) and (min-width:760px){#khlTopRightStack{max-height:24vh!important}.kshPrimary{height:42px!important}}
@media(max-width:760px){#cityDoorPrompt.show,#citySocialPrompt.show,#v594PortalPrompt.show,#v594BuildHint.show{bottom:max(122px,calc(env(safe-area-inset-bottom) + 112px))!important}}
@media(max-height:500px) and (orientation:landscape){#cityDoorPrompt.show,#citySocialPrompt.show,#v594PortalPrompt.show,#v594BuildHint.show{bottom:max(94px,calc(env(safe-area-inset-bottom) + 88px))!important;width:min(390px,calc(100% - 136px))!important;max-width:calc(100% - 136px)!important}}
@media(max-height:500px) and (orientation:landscape){.kshPrimary{bottom:max(94px,calc(env(safe-area-inset-bottom) + 88px))!important}}

/* ===== Koderia v59.19.9 · DISCOVERABLE HUD ===== */
#khlMoreButton{width:66px!important;height:48px!important;grid-template-columns:20px 1fr!important;gap:4px!important;padding:0 8px!important;border-radius:16px!important}
#khlMoreButton>span{transform:none!important;font-size:21px!important;letter-spacing:0!important}
#khlMoreButton>em{display:block;font:1000 7px/1 Inter,system-ui,sans-serif;font-style:normal;letter-spacing:.08em;color:#dff9ff}
#khlMoreButton.hasAttention{border-color:rgba(255,216,76,.68)!important;box-shadow:0 0 0 3px rgba(255,216,76,.09),0 10px 26px rgba(0,0,0,.3)!important}
#khlMoreButton.hasAttention:not([aria-expanded="true"]),#khlMoreButton.discover{animation:khlMenuPulse 1.35s ease-in-out infinite}
#khlMenuHint{position:absolute;z-index:301;right:84px;top:max(10px,env(safe-area-inset-top));display:flex;align-items:center;gap:7px;max-width:220px;padding:8px 10px;border-radius:14px;background:rgba(5,25,42,.96);border:1px solid rgba(255,220,83,.4);box-shadow:0 12px 32px rgba(0,0,0,.34);color:#fff;opacity:0;visibility:hidden;transform:translateX(7px);pointer-events:none;transition:.18s}
#khlMenuHint.show{opacity:1;visibility:visible;transform:none}#khlMenuHint>span{font-size:22px}#khlMenuHint b{display:block;font:1000 8px Inter,system-ui;color:#ffe26d}#khlMenuHint small{display:block;margin-top:2px;font:800 7px/1.3 Inter,system-ui;color:#c7dbe4}
#khlUtilityPanel{width:330px!important;justify-content:stretch!important;align-content:flex-start!important;gap:8px!important;padding:10px!important}
#khlUtilityPanel .kshRail{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;justify-content:stretch!important}
#khlUtilityPanel .kshOrb{width:100%!important;height:58px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;border-radius:15px!important}
#khlUtilityPanel .kshOrb>span{font-size:23px!important}#khlUtilityPanel .kshOrb>small{display:block!important;position:static!important;transform:none!important;opacity:1!important;padding:0!important;border:0!important;background:none!important;color:#b9d4df!important;font:1000 6px/1 Inter,system-ui!important;letter-spacing:.05em!important}
#khlUtilityPanel .kshOrb.attention{animation:khlUtilityPulse 1.25s ease-in-out infinite!important;box-shadow:0 0 0 2px rgba(255,218,80,.12),0 0 22px rgba(255,210,64,.15)!important}
#khlUtilityPanel #worldMapButton,#khlUtilityPanel #kkMyHouseButton,#khlUtilityPanel #studentTransportButton{width:calc(33.333% - 6px)!important;height:58px!important;display:inline-flex!important;flex-direction:column!important;gap:3px!important;font-size:0!important;vertical-align:top!important}
#khlUtilityPanel #worldMapButton::before,#khlUtilityPanel #kkMyHouseButton::before,#khlUtilityPanel #studentTransportButton::before{font-size:22px!important}
#khlUtilityPanel [data-khl-label]::after{content:attr(data-khl-label);font:1000 6px/1 Inter,system-ui;color:#b9d4df;letter-spacing:.05em}
#khlUtilityPanel .krlGoal{height:66px!important;grid-template-columns:minmax(0,1fr) 92px!important}
#khlUtilityPanel .krlAlbumMini{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:5px 7px!important}
#khlUtilityPanel .krlAlbumMini>span:first-child{font-size:24px!important}.krlAlbumMiniCopy{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.krlAlbumMiniCopy small{font:1000 6px/1 Inter,system-ui;color:#76eaff}.krlAlbumMiniCopy b{font:1000 10px/1 Inter,system-ui;color:#ffe590}.krlAlbumMiniCopy em{font:900 5.5px/1 Inter,system-ui;color:#d5c8ff;font-style:normal}
#khlUtilityPanel .krlAlbumMini.attention{animation:khlUtilityPulse 1.25s ease-in-out infinite;border-color:rgba(255,219,78,.65)!important;box-shadow:0 0 24px rgba(255,205,55,.18)!important}
#khlUtilityPanel #kwpCityProgress{width:100%!important;min-width:100%!important;height:58px!important;grid-template-columns:34px 1fr auto!important;padding:7px 10px!important;place-items:initial!important}
#khlUtilityPanel #kwpCityProgress>div,#khlUtilityPanel #kwpCityProgress>i{display:block!important}#khlUtilityPanel #kwpCityProgress.attention{animation:khlUtilityPulse 1.25s ease-in-out infinite;border-color:rgba(109,235,255,.65)!important;box-shadow:0 0 25px rgba(83,224,255,.18)!important}
@keyframes khlMenuPulse{50%{transform:scale(1.08);filter:brightness(1.14)}}@keyframes khlUtilityPulse{50%{transform:scale(1.045);filter:brightness(1.12)}}
@media(max-width:760px){#khlMoreButton{width:62px!important;height:46px!important;right:max(6px,env(safe-area-inset-right))!important;top:max(6px,env(safe-area-inset-top))!important}#khlMenuHint{right:76px;top:max(6px,env(safe-area-inset-top));max-width:195px}#khlUtilityPanel{top:58px!important;width:min(320px,calc(100% - 12px))!important}#khlUtilityPanel .kshOrb{height:57px!important}#khlUtilityPanel #worldMapButton,#khlUtilityPanel #kkMyHouseButton,#khlUtilityPanel #studentTransportButton{height:57px!important}.khlUtilitiesOpen #cityLocationChip{opacity:.25}}
@media(max-width:390px){#khlMenuHint{max-width:165px}#khlMenuHint small{font-size:6.3px}#khlUtilityPanel{width:min(306px,calc(100% - 10px))!important}}
@media(prefers-reduced-motion:reduce){#khlMoreButton,#khlUtilityPanel .kshOrb,#khlUtilityPanel .krlAlbumMini,#khlUtilityPanel #kwpCityProgress{animation:none!important}}


/* hud-cleanup.css */
/* ===== Koderia v59.75.1 · GAME RAIL HUD CLEANUP ===== */
#cityStageCanvasWrap{--kfc-safe-top:max(10px,env(safe-area-inset-top));--kfc-safe-left:max(10px,env(safe-area-inset-left));--kfc-safe-right:max(10px,env(safe-area-inset-right));--kfc-safe-bottom:max(12px,env(safe-area-inset-bottom))}
#khlUtilityPanel .kfcMenuOnly{display:none!important}#khlUtilityPanel .kshRail{order:1!important}#khlUtilityPanel #worldMapButton,#khlUtilityPanel #kkMyHouseButton,#khlUtilityPanel #studentTransportButton{order:2!important}#khlUtilityPanel #cityOnlinePeople,#khlUtilityPanel #cityOnlineEmotes{order:4!important}
.kshPrimary:not(.reward){display:none!important}.kshPrimary.reward{bottom:calc(var(--kfc-safe-bottom) + 4px)!important;min-width:185px!important;max-width:min(310px,calc(100% - 28px))!important;height:44px!important;z-index:303!important}
.kfcFocus{position:absolute;z-index:298;left:var(--kfc-safe-left);top:calc(var(--kfc-safe-top) + 6px);display:grid;grid-template-columns:42px minmax(150px,1fr) auto;align-items:center;gap:10px;width:min(535px,calc(100% - 190px));min-height:72px;padding:9px 11px;border:1px solid rgba(121,230,255,.3);border-radius:19px;background:linear-gradient(135deg,rgba(4,23,40,.96),rgba(10,39,58,.94));box-shadow:0 12px 36px rgba(0,0,0,.31),inset 0 1px rgba(255,255,255,.05);backdrop-filter:blur(13px);color:#f5fdff;text-align:left;cursor:pointer;transition:.18s}
.kfcFocus:hover{transform:translateY(-1px);border-color:rgba(120,234,255,.52)}.kfcFocus[hidden]{display:none!important}.kfcFocus .kfcIcon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(96,225,255,.11);font-size:25px}.kfcCopy{min-width:0}.kfcCopy>small{display:block;color:#79eaff;font:1000 6.5px/1 Inter,system-ui;letter-spacing:.13em}.kfcCopy>b{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font:1000 12px/1.15 Inter,system-ui}.kfcInstruction{display:block;margin-top:4px;color:#b9d7e2;font:750 8.5px/1.2 Inter,system-ui;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kfcCopy>i{display:block;height:4px;margin-top:7px;border-radius:3px;background:rgba(255,255,255,.10);overflow:hidden}.kfcCopy>i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#54eaff,#7e8dff)}
.kfcReward{align-self:stretch;min-width:115px;padding:8px 9px;border-radius:13px;background:rgba(255,255,255,.065);display:flex;flex-direction:column;justify-content:center}.kfcReward small{color:#8eaab5;font:950 5.8px/1 Inter,system-ui;letter-spacing:.11em}.kfcReward strong{display:block;margin-top:4px;color:#f7feff;font:1000 8.5px/1.05 Inter,system-ui;white-space:nowrap}.kfcReward em{display:block;margin-top:6px;color:#73e9ff;font:1000 6.4px/1 Inter,system-ui;font-style:normal;letter-spacing:.05em;white-space:nowrap}
.kfcFocus.new{border-color:rgba(255,218,83,.5);animation:kfcNudge .75s ease both}.kfcFocus.new .kfcIcon{background:rgba(255,215,73,.13)}.kfcFocus.new .kfcReward em{color:#ffe784}.kfcFocus.reward{border-color:rgba(255,213,73,.68);background:linear-gradient(135deg,rgba(58,39,5,.97),rgba(36,28,8,.95));box-shadow:0 12px 36px rgba(0,0,0,.3),0 0 27px rgba(255,201,50,.14)}.kfcFocus.reward .kfcCopy>small,.kfcFocus.reward .kfcReward strong,.kfcFocus.reward .kfcReward em{color:#ffe784}.kfcFocus.reward .kfcCopy>i em{background:linear-gradient(90deg,#ffd84e,#ff9f43)}
.kfcLearn{position:absolute;z-index:297;right:calc(var(--kfc-safe-right) + 76px);top:calc(var(--kfc-safe-top) + 5px);height:48px;padding:0 13px;border:1px solid rgba(144,124,255,.34);border-radius:16px;background:linear-gradient(145deg,rgba(25,20,58,.94),rgba(15,37,65,.94));box-shadow:0 10px 28px rgba(0,0,0,.25);color:#fff;display:flex;align-items:center;gap:7px;cursor:pointer}.kfcLearn[hidden]{display:none!important}.kfcLearn span{font-size:20px}.kfcLearn b{font:1000 8px/1 Inter,system-ui;letter-spacing:.08em}
.kfcNextToast{position:absolute;z-index:307;left:50%;top:92px;transform:translate(-50%,-12px) scale(.96);opacity:0;pointer-events:none;display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:9px;align-items:center;min-width:260px;max-width:min(430px,calc(100% - 28px));padding:10px 13px;border:1px solid rgba(109,235,255,.4);border-radius:17px;background:rgba(5,28,45,.96);box-shadow:0 15px 40px rgba(0,0,0,.35);transition:.22s}.kfcNextToast.show{opacity:1;transform:translate(-50%,0) scale(1)}.kfcNextToast>small{grid-column:1/-1;color:#70eaff;font:1000 6px/1 Inter,system-ui;letter-spacing:.13em}.kfcNextToast>span{font-size:24px}.kfcNextToast b{display:block;color:#fff;font:1000 10px/1.1 Inter,system-ui}.kfcNextToast em{display:block;margin-top:3px;color:#a8cbd7;font:700 8px/1.15 Inter,system-ui;font-style:normal}
#khlUtilityPanel{max-height:min(72vh,560px)!important;overflow:auto!important;grid-template-columns:1fr!important}#khlUtilityPanel .kshRail{grid-template-columns:repeat(3,minmax(0,1fr))!important}#khlUtilityPanel .kshOrb{height:54px!important}#khlMenuHint small{max-width:150px}
#cityStageCanvasWrap.kfcInteraction .kshPrimary{display:none!important}#cityStageCanvasWrap.kfcMajor .kfcFocus,#cityStageCanvasWrap.kfcMajor .kfcLearn{opacity:0!important;visibility:hidden!important;pointer-events:none!important}body.kshProfileOpen .kfcFocus,body.kshProfileOpen .kfcLearn,body.learningCenterOpen .kfcFocus,body.learningCenterOpen .kfcLearn{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
#cityQuestHud,.cityStageSystemLegend,.cityStageHelp,.cityStageCollisionBadge,.cityStageMiniMapLabel{display:none!important}
@keyframes kfcNudge{0%{transform:scale(.98)}55%{transform:scale(1.018)}100%{transform:scale(1)}}
@media(max-width:760px){.kfcFocus{left:var(--kfc-safe-left);top:calc(var(--kfc-safe-top) + 4px);width:min(330px,calc(100% - 82px));grid-template-columns:35px minmax(0,1fr) auto;min-height:61px;padding:7px 8px;gap:7px;border-radius:16px}.kfcFocus .kfcIcon{width:35px;height:35px;font-size:20px}.kfcCopy>b{font-size:10px}.kfcInstruction{font-size:7.3px}.kfcReward{min-width:83px;padding:6px}.kfcReward strong{font-size:7px}.kfcReward em{font-size:5.5px}.kfcLearn{right:calc(var(--kfc-safe-right) + 66px);top:auto;bottom:calc(var(--kfc-safe-bottom) + 66px);height:43px;padding:0 10px;border-radius:14px}.kfcLearn b{font-size:7px}.kfcLearn span{font-size:18px}#khlMoreButton{z-index:304!important}.kshPrimary.reward{bottom:calc(var(--kfc-safe-bottom) + 64px)!important}.kfcNextToast{top:76px}}
@media(max-width:430px){.kfcFocus{width:calc(100% - 82px);grid-template-columns:32px minmax(0,1fr)}.kfcFocus .kfcIcon{width:32px;height:32px}.kfcReward{grid-column:2;display:grid;grid-template-columns:1fr auto;gap:4px;padding:0;background:none;min-width:0}.kfcReward small{display:none}.kfcReward strong{margin:0;color:#cdeaf3}.kfcReward em{margin:0}.kfcLearn{width:44px;padding:0;justify-content:center}.kfcLearn b{display:none}}
@media(max-height:500px) and (orientation:landscape){.kfcFocus{max-width:420px;min-height:54px}.kfcLearn{top:var(--kfc-safe-top);bottom:auto}.kshPrimary.reward{bottom:var(--kfc-safe-bottom)!important}.kfcNextToast{top:64px}}
@media(prefers-reduced-motion:reduce){.kfcFocus,.kfcLearn,.kfcNextToast{transition:none!important;animation:none!important}}

.kfcInstruction mark{display:inline-block;margin-left:5px;padding:2px 6px;border-radius:999px;background:rgba(109,232,255,.10);border:1px solid rgba(109,232,255,.18);color:#bff8ff;font:900 8px/1.2 Inter,system-ui;white-space:nowrap}


/* ===== v59.75.0 · VARIANT 2 / GAME RAIL ===== */
#cityStageCanvasWrap{--kfc-rail-w:82px}
.kfcGameRail{position:absolute;z-index:302;left:var(--kfc-safe-left);top:var(--kfc-safe-top);bottom:var(--kfc-safe-bottom);width:var(--kfc-rail-w);padding:10px 8px;border:1px solid rgba(131,225,248,.18);border-radius:24px;background:linear-gradient(180deg,rgba(4,20,35,.94),rgba(6,18,32,.91));box-shadow:0 18px 46px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.055);backdrop-filter:blur(16px);display:flex;flex-direction:column;align-items:center;gap:7px;color:#effcff;transition:.18s}
.kfcGameRail[hidden]{display:none!important}.kfcGameRail>i{width:42px;height:1px;background:rgba(255,255,255,.09);margin:1px 0}.kfcGameRail>i.grow{flex:1;width:1px;background:transparent}
.kfcRailProfile,.kfcRailBtn{position:relative;border:0;color:#eefcff;cursor:pointer}.kfcRailProfile{width:56px;height:56px;border-radius:19px;background:linear-gradient(145deg,rgba(103,231,255,.22),rgba(117,103,255,.24));border:1px solid rgba(125,228,255,.28);box-shadow:0 8px 24px rgba(0,0,0,.22)}.kfcRailProfile>span{font-size:25px}.kfcRailProfile>b{position:absolute;right:-4px;bottom:-4px;min-width:20px;height:20px;padding:0 4px;border-radius:10px;display:grid;place-items:center;background:#7df1aa;color:#072016;border:2px solid #092033;font:1000 9px/1 Inter,system-ui}
.kfcRailBtn{width:58px;height:55px;border-radius:17px;background:rgba(255,255,255,.035);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:.15s;border:1px solid transparent}.kfcRailBtn>span{font-size:21px;line-height:1}.kfcRailBtn>small{color:#8faebe;font:900 6px/1 Inter,system-ui;letter-spacing:.06em}.kfcRailBtn:hover,.kfcRailBtn.active{background:linear-gradient(145deg,rgba(91,226,255,.14),rgba(130,108,255,.12));border-color:rgba(111,224,248,.18)}.kfcRailBtn.active small{color:#c8f8ff}.kfcRailBtn>b{position:absolute;right:1px;top:1px;min-width:17px;height:17px;padding:0 3px;border-radius:9px;display:grid;place-items:center;background:#ffd75b;color:#352400;border:2px solid #0b2132;font:1000 8px/1 Inter,system-ui}.kfcRailBtn>b:empty{display:none}.kfcRailBtn.attention{border-color:rgba(255,215,91,.44);box-shadow:0 0 20px rgba(255,200,60,.1)}
.kfcFocus{left:calc(var(--kfc-safe-left) + var(--kfc-rail-w) + 16px)!important;top:calc(var(--kfc-safe-top) + 2px)!important;width:min(355px,calc(100% - var(--kfc-rail-w) - 360px))!important;min-height:82px!important;grid-template-columns:42px minmax(0,1fr)!important;border-radius:21px!important}.kfcFocus .kfcReward{grid-column:2;display:grid;grid-template-columns:1fr auto;gap:6px;min-width:0;padding:7px 9px}.kfcFocus .kfcReward small{display:none}.kfcFocus .kfcReward strong,.kfcFocus .kfcReward em{margin:0}.kfcFocus .kfcCopy>b{font-size:12px}.kfcInstruction{font-size:8px}
.kfcWorldSummary{position:absolute;z-index:297;right:calc(var(--kfc-safe-right) + 58px);top:calc(var(--kfc-safe-top) + 2px);width:190px;padding:13px 14px;border:1px solid rgba(130,225,247,.16);border-radius:20px;background:rgba(5,21,36,.86);box-shadow:0 13px 34px rgba(0,0,0,.28);backdrop-filter:blur(14px);color:#eefcff}.kfcWorldSummary[hidden]{display:none!important}.kfcWorldSummary>small{display:block;color:#74e7ff;font:1000 6px/1 Inter,system-ui;letter-spacing:.13em}.kfcWorldSummary>strong{display:block;margin-top:5px;font:1000 22px/1 Inter,system-ui}.kfcWorldSummary>span{display:block;margin-top:3px;color:#8eabba;font:750 7px/1 Inter,system-ui}.kfcWorldSummary>i{display:block;height:1px;margin:10px 0;background:rgba(255,255,255,.09)}.kfcWorldSummary>div{display:flex;justify-content:space-between;gap:7px;align-items:center}.kfcWorldSummary b{color:#ffd76a;font:950 8px/1 Inter,system-ui}.kfcWorldSummary em{color:#89f3b3;font:950 8px/1 Inter,system-ui;font-style:normal}
.kfcLearn{display:none!important}#khlMoreButton{right:var(--kfc-safe-right)!important;top:calc(var(--kfc-safe-top) + 2px)!important;width:46px!important;height:46px!important;border-radius:15px!important}#khlMenuHint{display:none!important}
#khlUtilityPanel{left:calc(var(--kfc-safe-left) + var(--kfc-rail-w) + 10px)!important;right:auto!important;top:calc(var(--kfc-safe-top) + 6px)!important;transform-origin:top left!important}
#cityStageCanvasWrap.kfcMajor .kfcGameRail,#cityStageCanvasWrap.kfcMajor .kfcWorldSummary,body.kshProfileOpen .kfcGameRail,body.kshProfileOpen .kfcWorldSummary,body.learningCenterOpen .kfcGameRail,body.learningCenterOpen .kfcWorldSummary{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media(max-width:900px){.kfcWorldSummary{display:none!important}.kfcFocus{width:min(390px,calc(100% - var(--kfc-rail-w) - 100px))!important}}
@media(max-width:760px){#cityStageCanvasWrap{--kfc-rail-w:64px}.kfcGameRail{width:64px;padding:7px 5px;border-radius:19px;gap:4px}.kfcRailProfile{width:48px;height:48px;border-radius:16px}.kfcRailBtn{width:50px;height:47px;border-radius:14px}.kfcRailBtn>span{font-size:19px}.kfcRailBtn>small{font-size:5.2px}.kfcFocus{left:calc(var(--kfc-safe-left) + var(--kfc-rail-w) + 8px)!important;top:calc(var(--kfc-safe-top) + 2px)!important;width:calc(100% - var(--kfc-rail-w) - 82px)!important;min-height:64px!important}#khlMoreButton{width:44px!important;height:44px!important}#khlUtilityPanel{left:calc(var(--kfc-safe-left) + var(--kfc-rail-w) + 5px)!important;top:calc(var(--kfc-safe-top) + 2px)!important;width:min(306px,calc(100% - var(--kfc-rail-w) - 18px))!important}.kfcNextToast{left:calc(50% + 25px)}}
@media(max-width:480px){.kfcRailBtn>small{display:none}.kfcRailBtn{height:43px}.kfcGameRail{width:58px}.kfcFocus{left:calc(var(--kfc-safe-left) + 64px)!important;width:calc(100% - 126px)!important;grid-template-columns:31px minmax(0,1fr)!important}.kfcFocus .kfcIcon{width:31px;height:31px}.kfcFocus .kfcReward{display:none}.kfcInstruction mark{display:none}.kfcCopy>b{font-size:9px!important}.kfcInstruction{font-size:6.8px!important}}
@media(max-height:560px) and (orientation:landscape){.kfcGameRail{gap:2px;padding-top:5px;padding-bottom:5px}.kfcRailProfile{width:43px;height:43px}.kfcRailBtn{height:39px}.kfcRailBtn>small{display:none}.kfcFocus{min-height:58px!important}.kfcWorldSummary{display:none!important}}

/* ===== v59.75.1 · remove duplicate right menu + live lesson banner ===== */
#khlMoreButton{display:none!important}
#lessonLiveBanner{display:none!important}
#khlMenuHint{display:none!important}


/* profile-menu-cleanup.css */
/* Koderia v59.67.0 — Profile/Menu cleanup. Presentation only; legacy panels remain intact. */
.profileSectionNav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 8px;padding:6px;background:rgba(5,10,24,.72);border:1px solid rgba(126,178,255,.16);border-radius:18px;backdrop-filter:blur(14px)}
.profileSectionBtn{appearance:none;border:0;border-radius:13px;padding:11px 12px;background:transparent;color:#9fb0ce;font:800 13px/1.15 inherit;letter-spacing:.01em;cursor:pointer;transition:.16s ease;display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px}
.profileSectionBtn:hover{background:rgba(255,255,255,.06);color:#fff}.profileSectionBtn.active{color:#fff;background:linear-gradient(135deg,rgba(71,128,255,.26),rgba(152,80,255,.22));box-shadow:inset 0 0 0 1px rgba(137,174,255,.22),0 8px 22px rgba(0,0,0,.18)}
.profileSectionBtn small{display:none}.profileTabs.profileTabsGrouped{display:flex!important;gap:7px;overflow-x:auto;padding:5px 1px 10px;margin:0;scrollbar-width:none;min-height:46px}.profileTabs.profileTabsGrouped::-webkit-scrollbar{display:none}
.profileTabs.profileTabsGrouped .profileTab{display:none!important;flex:0 0 auto!important;min-width:0!important;padding:8px 11px!important;border-radius:11px!important;font-size:12px!important;line-height:1!important;opacity:.72;white-space:nowrap}
.profileTabs.profileTabsGrouped .profileTab[data-profile-group-visible="1"]{display:inline-flex!important}.profileTabs.profileTabsGrouped .profileTab.active{opacity:1;transform:none!important}.profileTabs.profileTabsGrouped .adminProfileTab:not([hidden]){display:inline-flex!important;margin-left:auto!important}
.profileMenuHint{display:flex;align-items:center;gap:7px;min-height:28px;color:#7485a4;font-size:11px;font-weight:700;margin:0 2px 6px}.profileMenuHint b{color:#b7c8e8;font-weight:800}
.profileHeroCard{margin-bottom:8px!important}.cityProfileObjectExtras{margin-bottom:8px!important}
@media(max-width:760px){.profileSectionNav{gap:5px;margin-top:9px;padding:5px;border-radius:15px}.profileSectionBtn{font-size:11px;padding:9px 4px;min-height:40px;gap:4px}.profileTabs.profileTabsGrouped{padding-bottom:7px}.profileTabs.profileTabsGrouped .profileTab{font-size:11px!important;padding:8px 9px!important}.profileMenuHint{display:none}}


/* heist.css */
/* ===== Koderia v59.53.0 · DATA HEIST ===== */
#koderiaHeist{position:fixed;inset:0;z-index:100000;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#f7fbff;overflow:auto;background:#071019}
#koderiaHeist[hidden]{display:none!important}.koderiaHeistOpen{overflow:hidden!important}
.khBackdrop{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 15%,rgba(55,255,128,.14),transparent 34%),radial-gradient(circle at 85% 70%,rgba(255,226,70,.09),transparent 32%),linear-gradient(180deg,#08121d,#050a10 70%)}
.khBackdrop:after{content:"";position:absolute;inset:0;opacity:.08;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent)}
.khShell{position:relative;min-height:100%;padding:18px 22px 34px;max-width:1600px;margin:auto}
.khTop{height:74px;display:flex;gap:14px;align-items:center;border:1px solid rgba(255,255,255,.1);background:rgba(8,18,28,.9);backdrop-filter:blur(18px);border-radius:22px;padding:10px 14px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.khBrand{display:flex;align-items:center;gap:11px;margin-right:auto}.khBrand>span{font-size:38px;filter:drop-shadow(0 0 15px #70ff8e)}.khBrand small,.khPanelHead small,.khRaidCard>small,.khUpgradeCard>small{display:block;font-size:10px;font-weight:950;letter-spacing:.16em;color:#77ff96}.khBrand b{font-size:23px;letter-spacing:.03em}
.khWallet,.khRate{height:50px;display:grid;grid-template-columns:auto auto;grid-template-rows:1fr 1fr;column-gap:8px;align-items:center;padding:5px 14px;border-radius:15px;background:#101e2a;border:1px solid rgba(255,255,255,.09)}
.khWallet span,.khRate span{grid-row:1/3;font-size:24px}.khWallet b,.khRate b{font-size:17px;line-height:1.1}.khWallet small,.khRate small{font-size:9px;font-weight:900;color:#8fa7b8;letter-spacing:.12em}.khExit{height:50px;border:0;border-radius:14px;padding:0 17px;background:#182734;color:#dfeaf2;font-weight:900;cursor:pointer}
.khMain{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(520px,1.4fr) 330px;gap:18px;margin-top:18px}
.khBasePanel,.khMarketPanel,.khRaidCard,.khUpgradeCard{position:relative;background:rgba(10,20,31,.91);border:1px solid rgba(255,255,255,.1);border-radius:24px;box-shadow:0 22px 70px rgba(0,0,0,.26);overflow:hidden}.khBasePanel,.khMarketPanel{padding:20px}
.khPanelHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.khPanelHead h2{font-size:25px;margin:2px 0 0}.khBaseLevel,.khRefresh{padding:8px 11px;border-radius:12px;background:rgba(113,255,141,.09);border:1px solid rgba(113,255,141,.22);font-size:11px;font-weight:950;color:#a8ffb9}.khRefresh b{color:#ffe66d}
.khVault{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:linear-gradient(135deg,rgba(255,230,109,.12),rgba(113,255,141,.06));border:1px solid rgba(255,230,109,.18);margin-bottom:14px}.khVaultIcon{font-size:34px}.khVault div:nth-child(2){margin-right:auto}.khVault small{display:block;color:#91a7b6;font-size:9px;font-weight:900;letter-spacing:.12em}.khVault b{font-size:27px;color:#ffe66d}.khVault button,.khRaidBtn,.khMarketCard button,.khRaidResult button{border:0;border-radius:13px;padding:12px 14px;background:linear-gradient(135deg,#73ff90,#42d974);color:#04220d;font-weight:1000;cursor:pointer;box-shadow:0 8px 26px rgba(83,255,128,.18)}
.khSlots{display:grid;gap:9px}.khSlot{min-height:88px;display:flex;align-items:center;gap:12px;border-radius:17px;padding:10px 11px;background:#101c27;border:1px solid rgba(255,255,255,.08);position:relative}.khUnitMeta{min-width:0}.khUnitMeta small{display:block;font-size:8px;font-weight:1000;letter-spacing:.13em;color:#95a8b6}.khUnitMeta b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.khUnitMeta span{font-size:12px;font-weight:900;color:#79ff98}.khSlot>button{margin-left:auto;width:28px;height:28px;border:0;border-radius:9px;background:#20303d;color:#8295a3;cursor:pointer}.khEmpty{width:100%;height:60px;border:1px dashed rgba(255,255,255,.14);border-radius:13px;display:flex;align-items:center;justify-content:center;gap:8px;color:#516473;font-size:22px}.khEmpty small{font-size:9px;font-weight:900;letter-spacing:.12em}
.r-common{--rar:#9fb1bd}.r-rare{--rar:#55aaff}.r-epic{--rar:#b874ff}.r-mythic{--rar:#ffbc47}.r-secret{--rar:#ff557f}.khSlot[class*=r-],.khMarketCard[class*=r-],.khRivals button[class*=r-]{border-color:color-mix(in srgb,var(--rar) 40%,transparent)}.khSlot[class*=r-]{box-shadow:inset 4px 0 0 var(--rar)}
.khPortrait{position:relative;width:108px;height:108px;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.15),rgba(15,27,38,.94) 65%);display:grid;place-items:center;flex:0 0 auto}
.khPortrait.compact{width:64px;height:64px;border-radius:16px}.khPortrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(0,0,0,.4))}.khPortrait span{position:absolute;right:8px;bottom:8px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(7,16,25,.84);border:1px solid rgba(255,255,255,.12);font-size:15px}.khPortrait.compact span{right:4px;bottom:4px;width:22px;height:22px;font-size:12px}
.khNextGoal{margin-top:14px;padding:12px 13px;border-radius:16px;background:#0c1822;border:1px solid rgba(255,255,255,.07)}.khNextGoal>div:first-child{display:grid;grid-template-columns:1fr auto;gap:2px 8px}.khNextGoal small{font-size:9px;font-weight:950;color:#8ca2b2}.khNextGoal b{grid-row:2;font-size:13px}.khNextGoal span{grid-row:2;grid-column:2;font-size:11px;font-weight:900;color:#ffe66d}.khGoalBar{height:7px;background:#172633;border-radius:99px;margin-top:9px;overflow:hidden}.khGoalBar i{display:block;height:100%;background:linear-gradient(90deg,#73ff90,#ffe66d);border-radius:99px;transition:width .35s}
.khConveyor{position:relative;min-height:520px;border-radius:22px;overflow:hidden;background:linear-gradient(180deg,#0a1722,#071019);border:1px solid rgba(255,255,255,.07);padding:21px}.khConveyorTrack{position:absolute;left:-5%;right:-5%;top:50%;height:140px;transform:translateY(-50%);background:repeating-linear-gradient(90deg,#152632 0 50px,#1b303d 50px 55px);border-top:8px solid #263c49;border-bottom:8px solid #263c49;box-shadow:inset 0 12px 22px rgba(0,0,0,.35),0 0 45px rgba(91,255,137,.07)}.khConveyorTrack:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 18px,transparent 18px 54px);animation:khTrack 2.8s linear infinite}@keyframes khTrack{to{transform:translateX(72px)}}
.khMarket{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.khMarketCard{min-height:276px;padding:15px;border-radius:20px;background:linear-gradient(145deg,rgba(17,31,43,.97),rgba(7,15,24,.97));border:1px solid color-mix(in srgb,var(--rar) 50%,transparent);box-shadow:0 15px 40px rgba(0,0,0,.25),inset 0 0 45px color-mix(in srgb,var(--rar) 8%,transparent);text-align:center;transition:transform .2s,border-color .2s}.khMarketCard:hover{transform:translateY(-4px);border-color:var(--rar)}.khCardTopLine{display:flex;justify-content:space-between;align-items:center;gap:8px}.khRarity,.khType{font-size:9px;font-weight:1000;letter-spacing:.16em}.khRarity{color:var(--rar)}.khType{color:#8ea3b2}.khMarketCard h3{font-size:15px;margin:8px 0 4px}.khMarketCard p{min-height:32px;margin:0;color:#8fa4b3;font-size:11px}.khMarketStats{display:flex;justify-content:center;gap:12px;margin:10px 0}.khMarketStats b{color:#76ff95}.khMarketStats span{color:#ffe66d;font-weight:900}.khMarketCard button{width:100%;padding:10px}.khMarketCard button.cant{background:#24333e;color:#718592;box-shadow:none}.khTip{margin-top:12px;color:#8da2b1;font-size:11px;text-align:center}
.khSide{display:flex;flex-direction:column;gap:18px}.khRaidCard,.khUpgradeCard{padding:18px}.khRaidCard{background:linear-gradient(145deg,rgba(55,20,35,.88),rgba(10,20,31,.95));border-color:rgba(255,85,127,.2)}.khRaidIcon{font-size:42px}.khRaidCard h3{margin:4px 0 8px;font-size:20px}.khRaidCard p{font-size:12px;line-height:1.5;color:#9db0bd}.khRaidBtn{width:100%;background:linear-gradient(135deg,#ff587f,#ffb34d);color:#290612}.khRaidBtn:disabled{filter:grayscale(.7);opacity:.6}.khRaidStats{display:flex;justify-content:center;gap:20px;margin-top:11px;color:#9db0bd}
.khUpgradeCard{display:flex;flex-direction:column;gap:9px}.khUpgradeCard>small{margin-bottom:3px}.khUpgradeCard>button{display:grid;grid-template-columns:38px 1fr auto;align-items:center;text-align:left;gap:8px;min-height:65px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:#101c27;color:#fff;padding:8px 10px;cursor:pointer}.khUpgradeCard>button:hover{border-color:rgba(113,255,141,.35);background:#132431}.khUpgradeCard>button>span{font-size:25px}.khUpgradeCard b{display:block;font-size:12px}.khUpgradeCard small{display:block;font-size:9px;color:#8499a7;margin-top:2px}.khUpgradeCard em{font-style:normal;color:#ffe66d;font-size:10px;font-weight:950}
.khToast{position:fixed;left:50%;top:92px;transform:translate(-50%,-20px) scale(.95);z-index:6;opacity:0;pointer-events:none;display:flex;flex-direction:column;align-items:center;padding:12px 20px;border-radius:16px;background:#11271b;border:1px solid rgba(113,255,141,.35);box-shadow:0 15px 50px rgba(0,0,0,.38);transition:.22s}.khToast.show{opacity:1;transform:translate(-50%,0) scale(1)}.khToast.bad{background:#32151d;border-color:#ff557f}.khToast.neutral{background:#142532;border-color:#506b7d}.khToast b{font-size:14px}.khToast span{font-size:10px;color:#9eb3bf;margin-top:2px}.khFlyingCoin{position:fixed;z-index:100010;font-style:normal;font-size:21px;pointer-events:none;animation:khCoin .8s ease-out forwards}@keyframes khCoin{to{transform:translate(var(--dx),var(--dy)) rotate(320deg) scale(.4);opacity:0}}
.khRaidOverlay{position:fixed;inset:0;z-index:5;display:grid;place-items:center;padding:20px;background:rgba(2,7,12,.8);backdrop-filter:blur(10px)}.khRaidOverlay[hidden]{display:none}.khRaidModal,.khHack,.khRaidResult{width:min(720px,94vw);border-radius:25px;padding:22px;background:#0c1823;border:1px solid rgba(255,255,255,.12);box-shadow:0 35px 100px rgba(0,0,0,.55);animation:khPop .28s cubic-bezier(.2,1.3,.4,1)}@keyframes khPop{from{transform:scale(.88);opacity:0}}
.khRaidTitle{display:flex;align-items:center;gap:12px}.khRaidTitle>span{font-size:38px}.khRaidTitle div{margin-right:auto}.khRaidTitle small{font-size:9px;color:#ff6f8f;font-weight:1000;letter-spacing:.15em}.khRaidTitle h2{margin:0}.khRaidTitle button{border:0;background:#182733;color:#9bb0bd;border-radius:10px;width:36px;height:36px;font-size:20px}.khRaidLead{color:#93a7b4;font-size:12px}
.khRivals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.khRivals button{min-height:220px;border-radius:20px;background:#111f2b;color:#fff;padding:15px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px}.khRivals small,.khRivals b,.khRivals span{display:block}.khRivals small{font-size:9px;color:#849aaa}.khRivals b{font-size:13px;text-align:center}.khRivals span{font-size:10px;color:#ffe66d;margin-top:6px;font-weight:900;text-align:center}
.khHack{text-align:center}.khAlarm{font-size:12px;font-weight:1000;color:#ff6b8c;letter-spacing:.12em}.khStolenPreview{display:flex;flex-direction:column;align-items:center}.khStolenPreview b{display:block;font-size:22px;margin-top:8px}.khStolenPreview small{display:block;color:#9aacb8;font-size:10px;margin-top:4px}.khHackBar{position:relative;height:54px;margin:28px 5% 18px;background:#182936;border:3px solid #2a3f4d;border-radius:16px}.khSafe{position:absolute;left:42%;width:20%;top:0;bottom:0;background:rgba(95,255,132,.2);border-left:2px solid #63ff83;border-right:2px solid #63ff83}.khHackBar b{position:absolute;top:-8px;bottom:-8px;width:8px;border-radius:5px;background:#fff;box-shadow:0 0 17px #fff;transform:translateX(-50%)}.khHack>button{min-width:180px;border:0;border-radius:15px;padding:14px 22px;background:#ff5d7f;color:#fff;font-weight:1000;font-size:16px}.khHack>button.good{background:#61ff86}.khHack>button.bad{animation:khBad .18s}@keyframes khBad{50%{transform:translateX(8px)}}.khHackTry{margin-top:9px;font-size:11px;color:#91a5b2}
.khRaidResult{text-align:center}.khRaidResult>span{display:block;font-size:70px}.khRaidResult small{font-size:10px;font-weight:1000;color:#8fa4b1;letter-spacing:.13em}.khRaidResult h2{font-size:38px;margin:4px}.khRaidResult strong,.khRaidResult b{display:block;margin:8px}.khRaidResult strong{font-size:22px}.khRaidResult.win h2,.khRaidResult.win b{color:#6dff90}.khRaidResult.lose h2,.khRaidResult.lose strong{color:#ff6486}.khRaidResult button{margin-top:12px}
@media(max-width:1150px){.khMain{grid-template-columns:1fr 1.2fr}.khSide{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.khConveyor{min-height:470px}}
@media(max-width:760px){.khShell{padding:10px}.khTop{height:auto;flex-wrap:wrap}.khBrand{width:100%}.khBrand b{font-size:20px}.khWallet,.khRate{flex:1}.khExit{flex:1}.khMain{display:block}.khBasePanel,.khMarketPanel,.khSide{margin-top:12px}.khSide{display:block}.khSide>*{margin-top:12px}.khMarket{grid-template-columns:1fr 1fr;gap:8px}.khMarketCard{min-height:250px;padding:10px}.khPortrait{width:84px;height:84px}.khPortrait.compact{width:56px;height:56px}.khConveyor{min-height:455px;padding:12px}.khRivals{grid-template-columns:1fr}.khRivals button{min-height:130px}.khPanelHead h2{font-size:19px}}
@media(prefers-reduced-motion:reduce){#koderiaHeist *{animation-duration:.001ms!important;transition-duration:.001ms!important}}


/* day4-survivor.css */
/* Koderia v59.55.0 · Day 4 Survivor Game Lab */
.d4Lesson{--d4:#63f3b1;--d4b:#5bd7ff;--d4bg:#07121c;color:#f5fbff;font-weight:600}.d4Lesson *{box-sizing:border-box}.d4Journey{display:grid;grid-template-columns:repeat(20,minmax(34px,1fr));gap:5px;padding:8px;margin-bottom:12px;background:rgba(4,10,18,.78);border:1px solid rgba(255,255,255,.1);border-radius:18px;position:sticky;top:0;z-index:5;backdrop-filter:blur(14px)}.d4Journey button{min-width:0;height:50px;border:1px solid rgba(255,255,255,.08);background:#101c28;color:#91a5b5;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:2px}.d4Journey button span{font-size:16px}.d4Journey button em{font-style:normal;font-size:10px}.d4Journey button small{font-size:8px}.d4Journey button.here{color:#fff;border-color:rgba(99,243,177,.22)}.d4Journey button.active{background:linear-gradient(135deg,#1b5547,#143a52);border-color:var(--d4);box-shadow:0 0 0 2px rgba(99,243,177,.12)}.d4Journey button.done{color:#baffdd}.d4Journey button.locked{opacity:.28}.d4PhaseBanner{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,rgba(99,243,177,.12),rgba(91,215,255,.08));border:1px solid rgba(99,243,177,.2);border-radius:18px;padding:12px 16px;margin:0 0 12px}.d4PhaseBanner>span{font-size:34px}.d4PhaseBanner div{display:flex;flex-direction:column}.d4PhaseBanner small{font-size:10px;letter-spacing:.12em;color:#8faabd}.d4PhaseBanner b{font-size:14px}.d4StageHead{display:grid;grid-template-columns:58px 1fr auto;gap:14px;align-items:center;padding:18px;background:#0b1722;border:1px solid rgba(255,255,255,.09);border-radius:22px;margin-bottom:12px}.d4StageIcon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#163a35,#15324b);font-size:30px}.d4StageHead small,.d4Card small,.d4PlayTop small,.d4FactPanel small,.d4Ship small{color:#75eec1;font-size:10px;letter-spacing:.1em}.d4StageHead h4,.d4Card h5,.d4Play h5,.d4FactPanel h5,.d4Ship h5{margin:4px 0;font-size:24px;line-height:1.05}.d4StageHead p,.d4Card p,.d4Play p,.d4FactPanel p{margin:4px 0;color:#bed0dd;line-height:1.45}.d4StageHead>b{padding:8px 11px;border-radius:12px;background:#152330;font-size:11px;color:#aac0cf}.d4StageHead>b.ok{background:#174a39;color:#9dffcf}.d4Split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.d4Card,.d4Play,.d4Rule,.d4Mechanic,.d4Task,.d4PromptIntro{background:#0b1722;border:1px solid rgba(255,255,255,.09);border-radius:22px;padding:18px}.d4Card.accent{background:linear-gradient(155deg,#102435,#10251f)}.d4LoopBig{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:15px 0}.d4LoopBig span{padding:9px 10px;border-radius:12px;background:#152432;border:1px solid rgba(255,255,255,.08);font-size:12px}.d4LoopBuilder{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0}.d4LoopBuilder button{min-height:85px;border:1px solid rgba(255,255,255,.1);background:#132231;color:#fff;border-radius:16px}.d4LoopBuilder button span{display:block;font-size:25px}.d4LoopBuilder button.used{opacity:.35}.d4LoopResult{display:flex;gap:7px;align-items:center;flex-wrap:wrap;min-height:52px;padding:10px;border-radius:14px;background:#07111a}.d4LoopResult span{font-size:12px;color:#b9ffdd}.d4Why{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.d4Why>div{padding:16px;border-radius:18px;background:#101d29}.d4Why code,.d4Mechanic code{display:block;margin-top:7px;padding:10px;border-radius:11px;background:#050b11;color:#85ffb8;white-space:normal}.d4Answers{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.d4Answers button,.d4BalanceCards button,.d4Synergy button,.d4CodeReview button{text-transform:uppercase;font-size:13px;font-weight:900;line-height:1.2;border:1px solid rgba(255,255,255,.1);background:#132231;color:#f5fbff;border-radius:14px;padding:12px;min-height:58px}.d4Answers button:active,.d4Answers button:hover{border-color:var(--d4);background:#17382f}.d4Feedback{margin-top:10px;padding:11px 13px;border-radius:13px;background:#121d28;color:#c7d4dd;font-size:12px}.d4Feedback.ok{background:#11392c;color:#b8ffdb}.d4NextRow{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px;border-radius:18px;background:rgba(7,14,22,.8)}.d4NextRow button{min-height:46px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:#173126;color:#dfffea;font-weight:900;padding:0 16px}.d4NextRow button.primary{margin-left:auto;background:linear-gradient(135deg,#31d58c,#2db7df);color:#03130d}.d4NextRow button:disabled{opacity:.35}.d4NextRow span{font-size:11px;color:#91a7b6}.d4FactTabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.d4FactTabs button{min-height:70px;border:1px solid rgba(255,255,255,.09);background:#101d29;color:#dce9f1;border-radius:16px}.d4FactTabs button span{display:block;font-size:23px}.d4FactTabs button.active{border-color:#66efb5;background:#143529}.d4FactPanel{display:grid;grid-template-columns:100px 1fr;gap:18px;align-items:center;padding:20px;margin-top:10px;border-radius:22px;background:linear-gradient(135deg,#0b1722,#0e2531);border:1px solid rgba(255,255,255,.09)}.d4FactHero{display:grid;place-items:center;width:100px;height:100px;border-radius:28px;background:#142738;font-size:50px}.d4FactPanel strong{display:block;margin-top:10px;color:#87efbd}.d4Task{margin-top:10px}.d4Visit{margin-top:8px;color:#7ef2bc}.d4Play{padding:12px}.d4PlayTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:4px 6px 10px}.d4PlayTop h5{font-size:20px}.d4PlayTop>b{background:#143626;color:#9dffd0;border-radius:10px;padding:7px 10px;font-size:11px;white-space:nowrap}.d4Play canvas{display:block;width:100%;aspect-ratio:2/1;max-height:420px;background:#07131e;border-radius:17px;border:1px solid rgba(255,255,255,.1);touch-action:none}.d4Touch{display:none;justify-content:center;flex-direction:column;align-items:center;gap:4px;margin-top:8px}.d4Touch button{width:58px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#152938;color:#fff;font-size:18px}.d4Touch>div{display:flex;gap:4px}.d4Controls{display:block;text-align:center;margin-top:7px;color:#8199a9}.d4Inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 4px}.d4Inline button,.d4Reset{border:1px solid rgba(255,255,255,.1);background:#132635;color:#e9f7ff;border-radius:12px;padding:10px 13px;font-weight:800}.d4Inline button.active{border-color:#63f3b1;background:#174b36}.d4Mechanic{margin-top:10px}.d4Slider{display:block;margin:13px 0;color:#aec0cd;font-size:11px}.d4Slider b{float:right;color:#7ff0ba}.d4Slider input{width:100%;margin-top:8px;accent-color:#50df9e}.d4BigBtn{width:100%;min-height:50px;border:0;border-radius:14px;background:linear-gradient(135deg,#3be19b,#46c6f0);font-weight:1000;color:#062017}.d4SpawnMini{position:relative;height:150px;margin-top:10px;border-radius:15px;background:#07121d;overflow:hidden}.d4SpawnMini i{position:absolute;font-style:normal;font-size:25px;animation:d4Pop .25s ease}.d4SpawnMini strong{position:absolute;left:8px;bottom:8px;font-size:10px;color:#9affcf}.d4Build{display:grid;grid-template-columns:.8fr 1.2fr;gap:12px}.d4Stats{display:grid;gap:7px}.d4Stats span{padding:14px;border-radius:14px;background:#10202d;color:#a8bac7}.d4Stats b{float:right;color:#fff}.d4LevelUp{padding:22px;border-radius:22px;background:radial-gradient(circle at 50% 0,#1f5947,#0d1923 70%);border:1px solid rgba(99,243,177,.22);text-align:center}.d4LevelUp h5{font-size:25px;margin:5px}.d4LevelUp>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.d4LevelUp button{min-height:85px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:#132938;color:#fff;font-weight:900}.d4Dps{font-size:22px;text-align:center;padding:14px;background:#07111a;border-radius:14px}.d4Dps strong{color:#72f5b6}.d4BalanceCards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.d4BalanceCards button span{display:block;font-size:32px}.d4BalanceCards button small{display:block;margin-top:8px;color:#8da4b3;font-weight:600}.d4Rule{margin-top:10px;border-color:rgba(99,243,177,.2)}.d4GameLegend{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.d4GameLegend span{padding:7px 9px;background:#12212e;border-radius:10px;font-size:10px}.d4Synergy{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.d4Synergy button span,.d4Synergy button small{display:block}.d4Synergy button small{margin-top:5px;color:#8ea4b3}.d4Synergy button.active{border-color:#62efae;background:#17392d}.d4SynergyResult{padding:14px;margin-top:10px;border-radius:15px;background:#0f202b}.d4CodeReview{display:grid;grid-template-columns:.8fr 1.2fr;gap:12px}.d4CodeReview pre{margin:0;padding:18px;border-radius:18px;background:#050b10;color:#77f5ae;font-size:14px;white-space:pre-wrap}.d4CodeReview>div{display:grid;gap:7px}.d4CodeReview button.active{border-color:#ffbd68;background:#3c2a18}.d4Preset{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.d4Preset button{padding:12px;border-radius:15px;border:1px solid rgba(255,255,255,.1);background:#10202c;color:#fff}.d4Preset span,.d4Preset b,.d4Preset small{display:block}.d4Preset span{font-size:25px}.d4Preset small{color:#8ba2b1;margin-top:4px}.d4IdeaGrid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.d4IdeaGrid label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#75eec1}.d4IdeaGrid input{width:100%;min-height:44px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:#0b1721;color:#fff;padding:0 12px;font-size:13px}.d4PromptIntro{margin-bottom:10px}.d4Prompts{display:grid;gap:10px}.d4PromptCard{padding:14px;border-radius:18px;background:#0b1722;border:1px solid rgba(255,255,255,.09)}.d4PromptCard>div:first-child{display:flex;align-items:center;gap:10px}.d4PromptCard em{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#143b30;color:#8affc7;font-style:normal;font-size:17px}.d4PromptCard span b,.d4PromptCard span small{display:block}.d4PromptCard span small{color:#839dac;font-size:9px}.d4PromptCard>button{float:right;margin-top:-34px;min-height:36px;border:0;border-radius:11px;background:#1b4737;color:#d9ffeb;font-weight:900;padding:0 12px}.d4PromptCard textarea{float:none;width:100%;min-height:145px;margin-top:12px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:#061019;color:#d8e8f1;padding:12px;resize:vertical;font-size:12px;line-height:1.4}.d4PromptCard button.copy{float:none;margin:8px 0 0;background:#123249}.d4AiSteps{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;padding:12px}.d4AiSteps span{font-size:10px;padding:7px 9px;background:#11212d;border-radius:9px}.d4Ship{padding:18px;border-radius:20px;background:#0b1722;margin-top:10px}.d4Ship>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.d4Ship button{min-height:43px;text-align:left;border-radius:11px;border:1px solid rgba(255,255,255,.09);background:#111f2b;color:#d8e7ef;font-size:11px;font-weight:800}.d4Ship button.done{background:#153b2e;border-color:#4ee8a1}.d4FinalPassport{display:flex;align-items:center;gap:12px;margin-top:10px;padding:15px;border-radius:18px;background:linear-gradient(135deg,#153529,#12263a)}.d4FinalPassport>span{font-size:38px}.d4FinalPassport b,.d4FinalPassport small{display:block}.d4FinalPassport p{margin:4px 0;color:#adc1cf;font-size:12px}@keyframes d4Pop{from{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}
@media(max-width:900px){.d4Journey{grid-template-columns:repeat(10,1fr);position:relative}.d4Journey button{height:42px}.d4Journey button span{font-size:13px}.d4Journey button small{display:none}.d4StageHead{grid-template-columns:48px 1fr;padding:13px;gap:10px}.d4StageIcon{width:48px;height:48px;font-size:25px}.d4StageHead>b{display:none}.d4StageHead h4,.d4Card h5,.d4FactPanel h5{font-size:20px}.d4Split,.d4Build,.d4CodeReview{grid-template-columns:1fr}.d4FactTabs{grid-template-columns:1fr 1fr}.d4FactPanel{grid-template-columns:65px 1fr;padding:14px}.d4FactHero{width:65px;height:65px;font-size:34px;border-radius:20px}.d4LoopBuilder{grid-template-columns:1fr 1fr}.d4LoopBuilder button:last-child{grid-column:1/-1}.d4Why{grid-template-columns:1fr}.d4Answers,.d4IdeaGrid,.d4Ship>div{grid-template-columns:1fr}.d4BalanceCards,.d4Synergy,.d4Preset{grid-template-columns:1fr 1fr}.d4Play{padding:7px}.d4PlayTop{display:block}.d4PlayTop>b{display:inline-block;margin-top:5px}.d4Play canvas{aspect-ratio:1.55/1;max-height:none}.d4Touch{display:flex}.d4Controls{font-size:9px}.d4NextRow{position:sticky;bottom:4px;z-index:6;backdrop-filter:blur(12px);flex-wrap:wrap}.d4NextRow button{flex:1;min-width:135px}.d4NextRow button.primary{margin-left:0}.d4NextRow span{width:100%}.d4LevelUp>div{grid-template-columns:1fr}.d4PromptCard>button{float:none;margin:8px 0 0}.d4AiSteps b{display:none}.d4PhaseBanner b{font-size:11px}}
@media(max-width:520px){.d4Journey{grid-template-columns:repeat(5,1fr);gap:4px;padding:6px}.d4PhaseBanner{padding:9px 11px}.d4PhaseBanner>span{font-size:27px}.d4StageHead p{font-size:12px}.d4Card,.d4Rule,.d4Mechanic,.d4Task,.d4PromptIntro{padding:13px}.d4BalanceCards,.d4Synergy,.d4Preset{grid-template-columns:1fr}.d4FactTabs button{min-height:60px;font-size:10px}.d4Answers button{font-size:11px}.d4Touch button{width:64px;height:46px}.d4Play canvas{border-radius:12px}.d4PromptCard textarea{min-height:180px;font-size:11px}}


/* day4-standalone.css */
/* Koderia v59.55.1 · isolated Day 4 shell */
#d4StandaloneLaunch{position:fixed;right:14px;bottom:84px;z-index:1250;min-height:48px;padding:0 17px;border:1px solid rgba(99,243,177,.6);border-radius:15px;background:linear-gradient(135deg,#163c32,#11304a);color:#effff7;font:900 13px/1 system-ui,sans-serif;box-shadow:0 12px 34px rgba(0,0,0,.3);cursor:pointer}
#d4StandaloneLaunch b{letter-spacing:.04em}#d4StandaloneOverlay{display:none;position:fixed;inset:0;z-index:2147483645;background:rgba(2,7,12,.86);backdrop-filter:blur(10px);padding:12px}.d4StandaloneOpen{overflow:hidden!important}#d4StandaloneOverlay.show{display:grid;place-items:center}.d4StandaloneShell{width:min(1180px,100%);height:min(94vh,920px);display:grid;grid-template-rows:auto auto 1fr;background:#07111a;border:1px solid rgba(255,255,255,.12);border-radius:24px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.55);color:#f3fbff;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.d4StandaloneShell>header{display:flex;align-items:center;gap:14px;padding:14px 18px;background:#0a1722;border-bottom:1px solid rgba(255,255,255,.08)}.d4StandaloneShell>header small{display:block;color:#65efb2;font-size:10px;letter-spacing:.12em;font-weight:900}.d4StandaloneShell>header h2{margin:3px 0 0;font-size:22px}.d4StandaloneMeta{margin-left:auto;display:flex;gap:7px}.d4StandaloneMeta>*{padding:7px 9px;border-radius:10px;background:#122433;font-size:10px}.d4StandaloneShell>header>button{width:42px;height:42px;border:0;border-radius:12px;background:#182631;color:#fff;font-size:27px}#d4StandalonePhases{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;padding:8px;background:#08131d;border-bottom:1px solid rgba(255,255,255,.07)}#d4StandalonePhases button{min-width:0;min-height:48px;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:#101e2a;color:#9db0bd;font-weight:900;font-size:9px}#d4StandalonePhases button span{display:block;font-size:16px;margin-bottom:2px}#d4StandalonePhases button.active{background:#174535;color:#fff;border-color:#55e9a7}#d4StandalonePhases button.break{background:#1f2d24}#d4StandaloneBody{overflow:auto;padding:14px;overscroll-behavior:contain}.d4StandaloneBreak{height:100%;min-height:420px;display:grid;place-content:center;text-align:center;padding:20px}.d4StandaloneBreak>span{font-size:68px}.d4StandaloneBreak small{color:#75efb7;font-weight:900;letter-spacing:.12em}.d4StandaloneBreak h3{font-size:70px;margin:10px}.d4StandaloneBreak p{max-width:520px;color:#c1d0d9;font-weight:800}.d4StandaloneBreak button{margin:10px auto 0;min-height:48px;padding:0 18px;border:0;border-radius:13px;background:#51dfa3;color:#062017;font-weight:1000}.d4StandaloneError{padding:30px;border-radius:18px;background:#411a22;color:#ffdce2;font-weight:900}
@media(max-width:760px){#d4StandaloneLaunch{right:8px;bottom:76px;min-height:40px;padding:0 11px;font-size:10px}#d4StandaloneOverlay{padding:0}.d4StandaloneShell{width:100%;height:100dvh;max-height:none;border-radius:0;border:0}.d4StandaloneShell>header{padding:8px 10px}.d4StandaloneShell>header h2{font-size:16px}.d4StandaloneMeta{display:none}.d4StandaloneShell>header>button{margin-left:auto;width:38px;height:38px}#d4StandalonePhases{display:flex;overflow-x:auto;padding:6px}#d4StandalonePhases button{flex:0 0 76px;min-height:43px}#d4StandaloneBody{padding:8px}.d4StandaloneBreak h3{font-size:54px}}


/* day4-polish.css */
/* Koderia v59.56.3 · Day 4 visual polish layer */
:root{--d4p-green:#62f5b4;--d4p-blue:#55d8ff;--d4p-violet:#ad7cff;--d4p-gold:#ffd56a;--d4p-bg:#071019;--d4p-card:#0d1a26}
.d4Lesson{position:relative;isolation:isolate;padding-bottom:18px}.d4Lesson:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(800px 320px at 5% 0%,rgba(81,219,255,.10),transparent 65%),radial-gradient(700px 360px at 95% 25%,rgba(173,124,255,.10),transparent 68%);pointer-events:none}.d4Lesson:after{content:"";position:absolute;inset:0;z-index:-1;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,#000,transparent 70%);pointer-events:none}
.d4pHero{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;overflow:hidden;margin:0 0 12px;padding:24px 26px;border:1px solid rgba(105,239,190,.22);border-radius:26px;background:linear-gradient(125deg,#0d2130 0%,#10293a 42%,#16263b 100%);box-shadow:0 20px 50px rgba(0,0,0,.22)}.d4pHeroGlow{position:absolute;width:360px;height:360px;right:-110px;top:-150px;border-radius:50%;background:radial-gradient(circle,rgba(98,245,180,.28),rgba(85,216,255,.08) 45%,transparent 70%);filter:blur(4px);pointer-events:none}.d4pHeroCopy{position:relative;z-index:1}.d4pHeroCopy small{display:block;margin-bottom:7px;color:var(--d4p-green);font-size:10px;font-weight:1000;letter-spacing:.18em}.d4pHeroCopy h3{margin:0;color:#fff;font-size:clamp(25px,3.3vw,42px);line-height:.98;letter-spacing:-.04em}.d4pHeroCopy p{max-width:720px;margin:10px 0 0;color:#b7cad7;font-size:12px;font-weight:800;letter-spacing:.045em}.d4pProgress{position:relative;z-index:1;width:170px;padding:14px 15px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(4,12,19,.55);backdrop-filter:blur(10px)}.d4pProgress strong{display:block;color:#fff;font-size:30px;line-height:1}.d4pProgress strong span{color:#77909f;font-size:16px}.d4pProgress small{display:block;margin:5px 0 10px;color:#83a0b1;font-size:8px;font-weight:1000;letter-spacing:.12em}.d4pProgress>div{height:7px;overflow:hidden;border-radius:99px;background:#071018}.d4pProgress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--d4p-green),var(--d4p-blue));box-shadow:0 0 14px rgba(98,245,180,.5);transition:width .35s ease}.d4pProgress>b{display:block;margin-top:5px;color:#8ff5c6;font-size:10px;text-align:right}
.d4Journey{border:1px solid rgba(255,255,255,.07)!important;background:rgba(8,19,29,.78)!important;box-shadow:0 14px 38px rgba(0,0,0,.18)}.d4Journey button{transition:transform .2s ease,border-color .2s ease,background .2s ease}.d4Journey button.here:not(:disabled):hover{transform:translateY(-2px)}.d4Journey button.active{box-shadow:0 0 0 2px rgba(98,245,180,.18),0 8px 24px rgba(36,215,145,.12)}.d4Journey button.done em{background:linear-gradient(135deg,#65f2b6,#48ccef)!important;color:#052016!important}
.d4PhaseBanner{border:1px solid rgba(255,255,255,.08)!important;background:linear-gradient(100deg,rgba(17,34,48,.96),rgba(12,25,38,.86))!important}.d4StageHead{border:1px solid rgba(255,255,255,.08)!important;background:linear-gradient(135deg,#101f2d,#0c1722)!important;box-shadow:0 12px 32px rgba(0,0,0,.14)}.d4StageIcon{box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 10px 24px rgba(0,0,0,.2)}.d4StageHead h4{letter-spacing:-.025em}.d4Card,.d4Rule,.d4Mechanic,.d4Task,.d4PromptIntro{border:1px solid rgba(255,255,255,.075)!important;box-shadow:0 10px 28px rgba(0,0,0,.12)}.d4Answers button{font-size:14px!important;line-height:1.2!important;letter-spacing:.02em!important}.d4NextRow{border:1px solid rgba(98,245,180,.12);box-shadow:0 15px 35px rgba(0,0,0,.22)}
.d4pDeep{margin:13px 0 4px;border:1px solid rgba(120,181,218,.14);border-radius:24px;background:linear-gradient(145deg,rgba(9,20,31,.97),rgba(8,16,25,.97));overflow:hidden;box-shadow:0 18px 46px rgba(0,0,0,.2)}.d4pHook{padding:20px 22px 18px;border-bottom:1px solid rgba(255,255,255,.07);background:radial-gradient(460px 190px at 0 0,rgba(85,216,255,.09),transparent 70%)}.d4pHook>span{display:inline-flex;padding:6px 9px;border-radius:9px;background:#132e3d;color:#8be4ff;font-size:9px;font-weight:1000;letter-spacing:.12em}.d4pHook h5{max-width:900px;margin:10px 0 0;color:#f6fbff;font-size:20px;line-height:1.27;letter-spacing:-.018em}.d4pTabs{display:flex;gap:7px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.065);background:#08141f}.d4pTabs button{min-height:40px;padding:0 15px;border:1px solid rgba(255,255,255,.075);border-radius:12px;background:#101f2c;color:#91a8b8;font-size:10px;font-weight:1000;letter-spacing:.05em;cursor:pointer;transition:.18s}.d4pTabs button:hover{color:#eaf9ff;border-color:rgba(85,216,255,.28)}.d4pTabs button.active{color:#071912;border-color:transparent;background:linear-gradient(135deg,var(--d4p-green),#76ddff);box-shadow:0 8px 22px rgba(75,220,169,.18)}.d4pPanel{display:none;padding:18px}.d4pPanel.active{display:block;animation:d4pIn .24s ease}.d4pTheory{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.d4pTheory article{display:grid;grid-template-columns:36px 1fr;gap:10px;min-height:132px;padding:15px;border:1px solid rgba(255,255,255,.075);border-radius:17px;background:linear-gradient(145deg,#102131,#0c1824)}.d4pTheory em{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#16384a;color:#82e5ff;font-size:10px;font-style:normal;font-weight:1000}.d4pTheory b{display:block;color:#f1f8fd;font-size:13px}.d4pTheory p{margin:7px 0 0;color:#9eb3c1;font-size:11px;line-height:1.5}.d4pSecret{display:flex;align-items:flex-start;gap:12px;margin-top:10px;padding:15px;border:1px solid rgba(255,213,106,.18);border-radius:17px;background:linear-gradient(120deg,rgba(89,63,20,.25),rgba(40,31,18,.18))}.d4pSecret>span{font-size:28px}.d4pSecret small{color:#ffd978;font-size:9px;font-weight:1000;letter-spacing:.12em}.d4pSecret p{margin:5px 0 0;color:#ecdcb9;font-size:12px;line-height:1.45}.d4pGameExamples{display:grid;grid-template-columns:1fr 1fr;gap:10px}.d4pGameExamples article{position:relative;min-height:125px;padding:18px;border:1px solid rgba(173,124,255,.16);border-radius:18px;background:radial-gradient(260px 160px at 100% 0,rgba(173,124,255,.10),transparent 75%),#0d1a28}.d4pGameExamples article:before{content:"GAME CASE";display:block;margin-bottom:9px;color:#bb99ff;font-size:8px;font-weight:1000;letter-spacing:.15em}.d4pGameExamples b{color:#fff;font-size:16px}.d4pGameExamples p{margin:8px 0 0;color:#9fb2c2;font-size:12px;line-height:1.5}.d4pObserve{margin-top:10px;padding:14px 16px;border-radius:16px;background:#10283a;border:1px solid rgba(85,216,255,.16)}.d4pObserve b{color:#7ee0ff;font-size:10px;letter-spacing:.08em}.d4pObserve p{margin:6px 0 0;color:#c1d5e1;font-size:12px}.d4pObserve strong{color:#fff}.d4pChallenge{padding:2px}.d4pChallenge>small{color:#ffcf67;font-size:9px;font-weight:1000;letter-spacing:.13em}.d4pChallenge>h5{margin:8px 0 12px;color:#fff;font-size:21px;line-height:1.25}.d4pAnswers{display:grid;grid-template-columns:1fr 1fr;gap:8px}.d4pAnswers button{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px;min-height:64px;padding:11px 14px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:#101f2c;color:#f0f8fd;text-align:left;font-size:12px;font-weight:1000;line-height:1.22;text-transform:uppercase;cursor:pointer;transition:.18s}.d4pAnswers button:hover{transform:translateY(-1px);border-color:rgba(85,216,255,.34);background:#12283a}.d4pAnswers button>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#172f40;color:#8edfff;font-size:11px}.d4pAnswers button.right{border-color:#55e9a7;background:#113b2c}.d4pAnswers button.right>span{background:#55e9a7;color:#082017}.d4pAnswers button.wrong{border-color:#ff7182;background:#3a1820}.d4pAnswers button.wrong>span{background:#ff7182;color:#2b080d}.d4pResult{margin-top:10px;padding:12px 14px;border-radius:13px;background:#0b1721;color:#8da5b5;font-size:11px;font-weight:900}.d4pResult.ok{background:#113a2b;color:#a9ffd5}.d4pResult.bad{background:#361820;color:#ffc1ca}
#d4StandaloneLaunch{display:grid!important;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;min-height:58px!important;padding:7px 15px 7px 11px!important;border-color:rgba(98,245,180,.5)!important;background:linear-gradient(135deg,#123a31,#11344b 58%,#272653)!important;box-shadow:0 14px 42px rgba(0,0,0,.38),0 0 0 1px rgba(255,255,255,.04) inset!important}#d4StandaloneLaunch>span{grid-row:1/3;font-size:24px}#d4StandaloneLaunch>b{align-self:end;text-align:left;font-size:12px}#d4StandaloneLaunch>small{align-self:start;color:#8ec4d8;text-align:left;font-size:8px;font-weight:900;letter-spacing:.08em}.d4StandaloneShell{background:linear-gradient(145deg,#07121c,#091724)!important}.d4StandaloneShell>header{position:relative;background:radial-gradient(500px 130px at 40% 0,rgba(85,216,255,.09),transparent 75%),#091722!important}.d4pHeaderTag{display:flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid rgba(98,245,180,.16);border-radius:10px;background:#0e2a25;color:#8ff7c8;font-size:8px;font-weight:1000;letter-spacing:.11em;white-space:nowrap}.d4pHeaderTag i{color:#5ff2ad;font-style:normal;font-size:10px;text-shadow:0 0 8px #5ff2ad}#d4StandalonePhases button{transition:.18s}#d4StandalonePhases button:hover{transform:translateY(-1px);color:#e8f8ff}.d4Play canvas{box-shadow:inset 0 0 30px rgba(44,168,211,.08),0 14px 36px rgba(0,0,0,.18)}
@keyframes d4pIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:900px){.d4pHero{grid-template-columns:1fr;padding:18px}.d4pProgress{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.d4pProgress strong{font-size:22px}.d4pProgress small{margin:0}.d4pProgress>div{grid-column:1/3}.d4pProgress>b{margin:0}.d4pTheory{grid-template-columns:1fr}.d4pTheory article{min-height:0}.d4pGameExamples{grid-template-columns:1fr}.d4pAnswers{grid-template-columns:1fr}.d4pHook h5{font-size:18px}}
@media(max-width:600px){.d4pHero{margin-bottom:8px;padding:15px;border-radius:18px}.d4pHeroCopy small{font-size:8px}.d4pHeroCopy h3{font-size:25px}.d4pHeroCopy p{font-size:10px;line-height:1.4}.d4pHook{padding:15px}.d4pHook h5{font-size:16px}.d4pTabs{overflow-x:auto;padding:7px}.d4pTabs button{flex:0 0 auto;min-height:38px;padding:0 11px;font-size:9px}.d4pPanel{padding:11px}.d4pTheory article{padding:12px}.d4pTheory p,.d4pGameExamples p{font-size:11px}.d4pChallenge>h5{font-size:17px}.d4pAnswers button{min-height:58px;font-size:11px;padding:9px}.d4pSecret{padding:12px}.d4pObserve{padding:12px}#d4StandaloneLaunch{right:7px!important;bottom:70px!important;min-height:48px!important;padding:5px 10px!important}#d4StandaloneLaunch>small{display:block!important}.d4pHeaderTag{display:none}.d4Answers button{font-size:12px!important;min-height:62px!important}}


/* learning-center.css */
/* Koderia v59.64.0 · One lesson list */
#fwLauncher,#fwLiveOpen,#tdLessonLaunch,#gameLessonLaunch,#gameLessonLiveOpen,#ksvOpen,#d4StandaloneLaunch{display:none!important}
#tdLessonLiveOpen{display:inline-flex!important;align-items:center;justify-content:center;min-width:92px!important;background:linear-gradient(180deg,#d9fbff,#75e8ff)!important;color:#082c3f!important;box-shadow:0 5px 0 #2a91ad!important}
#tdLessonLiveOpen.hot{animation:none!important}
body.learningCenterOpen #lessonLiveBanner,body.learningCenterOpen #lessonRewardDock,body.learningCenterOpen #cityQuestHud,body.learningCenterOpen #cityLocationChip,body.learningCenterOpen #citySocialPrompt,body.learningCenterOpen #v578AdminButton,body.learningCenterOpen #v57101AdminButton{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.learningCenterModal{z-index:2147483644!important}.learningCenterCard{width:min(930px,96vw)!important;max-height:min(94dvh,930px)!important;padding:0!important;overflow:hidden!important;border-radius:28px!important;background:linear-gradient(155deg,#071b30,#0c2740 55%,#142444)!important;border:1px solid rgba(126,229,255,.24)!important;box-shadow:0 34px 100px rgba(0,0,0,.58),0 0 50px rgba(82,205,255,.08)!important}.learningCenterCard>.v55Close{z-index:8;top:14px;right:14px}
.learningCenterHead{margin:0!important;padding:20px 66px 16px 20px!important;border-bottom:1px solid rgba(142,231,255,.13);background:linear-gradient(120deg,rgba(55,198,232,.12),rgba(112,86,232,.09))}.learningCenterHead .v55HeadIcon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#4bd9ed,#6b75ed);box-shadow:0 10px 26px rgba(26,143,192,.28);font-size:28px}.learningCenterHead small,.learningCenterHead strong,.learningCenterHead span{display:block}.learningCenterHead small{color:#82eaf7;font:1000 9px/1.1 Inter,system-ui;letter-spacing:.13em}.learningCenterHead strong{margin-top:5px;font:1000 24px/1 Inter,system-ui}.learningCenterHead span{margin-top:6px;color:#b9d5e6;font:800 11px/1.35 Inter,system-ui}
.learningCenterHome{padding:15px 18px 20px;overflow:auto;max-height:calc(min(94dvh,930px) - 92px);overscroll-behavior:contain}.learningCenterLive{display:grid;grid-template-columns:48px minmax(0,1fr);gap:11px;align-items:center;padding:11px 14px;border:1px solid rgba(119,228,255,.22);border-radius:18px;background:linear-gradient(135deg,rgba(21,72,96,.66),rgba(39,46,93,.58));box-shadow:inset 0 1px rgba(255,255,255,.04)}.learningCenterLive>span{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:rgba(96,222,255,.12);font-size:25px}.learningCenterLive small,.learningCenterLive strong,.learningCenterLive em{display:block}.learningCenterLive small{color:#7feaff;font:1000 8px/1 Inter,system-ui;letter-spacing:.12em}.learningCenterLive strong{margin-top:4px;font:1000 14px/1.2 Inter,system-ui}.learningCenterLive em{margin-top:4px;color:#bfd8e6;font:800 10px/1.3 Inter,system-ui;font-style:normal}.learningCenterLive.active{border-color:rgba(150,244,177,.42);background:linear-gradient(135deg,rgba(24,91,72,.72),rgba(33,53,91,.64))}
.learningCenterSectionTitle{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:17px 3px 10px}.learningCenterSectionTitle small,.learningCenterSectionTitle strong{display:block}.learningCenterSectionTitle small{color:#78e8fa;font:1000 8px/1 Inter,system-ui;letter-spacing:.13em}.learningCenterSectionTitle strong{margin-top:5px;font:1000 17px/1.1 Inter,system-ui}.learningCenterSectionTitle>span{color:#7f9eb2;font:800 9px/1.25 Inter,system-ui;text-align:right}
.learningCenterLessonList{display:flex;flex-direction:column;gap:7px}.learningLessonRow{width:100%;min-height:82px;padding:11px 13px;border:1px solid rgba(132,225,255,.14);border-radius:17px;background:linear-gradient(145deg,rgba(13,45,70,.9),rgba(18,32,61,.9));color:#effbff;text-align:left;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:11px;align-items:center;box-shadow:0 8px 20px rgba(0,0,0,.14);cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease}.learningLessonRow:hover{transform:translateX(3px);border-color:rgba(123,230,255,.38);background:linear-gradient(145deg,rgba(17,57,84,.96),rgba(25,40,75,.96))}.learningCenterIcon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:rgba(105,224,255,.1);font-size:25px}.learningLessonRow small,.learningLessonRow strong,.learningLessonRow p{display:block;margin:0}.learningLessonRow small{color:#78e9fb;font:1000 7px/1.1 Inter,system-ui;letter-spacing:.1em}.learningLessonRow strong{margin-top:4px;font:1000 14px/1.1 Inter,system-ui}.learningLessonRow p{margin-top:5px;color:#a9c5d6;font:750 9px/1.35 Inter,system-ui}.learningLessonRow>em{min-width:76px;padding:8px 9px;border-radius:11px;background:rgba(114,224,255,.08);color:#d7f7ff;font:1000 8px/1 Inter,system-ui;font-style:normal;text-align:center;white-space:nowrap}.learningLessonRow.logic-featured{border-color:rgba(106,234,255,.32);background:linear-gradient(145deg,rgba(17,75,93,.95),rgba(35,42,98,.94))}.learningLessonRow.creator{border-color:rgba(202,155,255,.2);background:linear-gradient(145deg,rgba(44,32,77,.94),rgba(24,45,73,.94))}.learningLessonRow.creator small{color:#dab8ff}.learningLessonRow.forest{border-color:rgba(125,239,168,.28);background:linear-gradient(145deg,rgba(18,70,55,.94),rgba(18,47,62,.94))}.learningLessonRow.forest small{color:#8af0ad}.learningLessonRow.current{border-color:rgba(128,245,168,.65);box-shadow:0 0 0 1px rgba(128,245,168,.12),0 10px 24px rgba(16,86,62,.2)}.learningLessonRow.current>em{background:rgba(90,220,141,.16);color:#a7f6c1}.learningLessonRow.done>em{color:#a7f6c1}.learningLessonRow.waiting:not(.current){opacity:.82}
.learningCenterQuick{margin-top:15px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(3,17,31,.38)}.learningCenterQuick>div:first-child{margin-bottom:9px}.learningCenterQuick small,.learningCenterQuick strong{display:block}.learningCenterQuick small{color:#83e7f6;font:1000 7px/1 Inter,system-ui;letter-spacing:.12em}.learningCenterQuick strong{margin-top:4px;font:1000 14px/1 Inter,system-ui}.learningCenterTrainerGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.learningCenterTrainerGrid .v55AcademyGame{min-height:90px!important;border-radius:14px!important;padding:9px!important}.learningCenterTrainerGrid .v55AcademyGame>b{font-size:22px!important}.learningCenterTrainerGrid .v55AcademyGame>strong{font-size:10px!important}.learningCenterTrainerGrid .v55AcademyGame>span{font-size:8px!important}.learningCenterChallenge{padding:18px;min-height:240px}.learningCenterChallenge .v55Actions{margin-top:14px}
body.cityGameFullscreen .learningCenterModal{position:fixed!important;inset:0!important}
@media(max-width:760px){.learningCenterModal{padding:4px!important}.learningCenterCard{width:100%!important;max-height:calc(100dvh - 8px)!important;border-radius:20px!important}.learningCenterHead{padding:14px 56px 12px 14px!important}.learningCenterHead .v55HeadIcon{width:44px;height:44px;font-size:23px}.learningCenterHead strong{font-size:19px}.learningCenterHead span{font-size:9px}.learningCenterHome{padding:9px;max-height:calc(100dvh - 78px)}.learningCenterLive{padding:9px}.learningCenterSectionTitle>span{display:none}.learningLessonRow{min-height:78px;padding:9px;grid-template-columns:42px minmax(0,1fr) auto;gap:8px;border-radius:14px}.learningCenterIcon{width:40px;height:40px;font-size:22px;border-radius:12px}.learningLessonRow p{font-size:8px}.learningLessonRow strong{font-size:12px}.learningLessonRow>em{min-width:58px;padding:7px 6px;font-size:7px}.learningCenterTrainerGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}#tdLessonLiveOpen{min-width:74px!important;padding:0 8px!important;font-size:9px!important}}
@media(max-width:520px){.learningLessonRow{grid-template-columns:40px minmax(0,1fr)}.learningLessonRow>em{grid-column:2;justify-self:start;margin-top:2px}.learningLessonRow p{display:none}.learningCenterTrainerGrid .v55AcademyGame>span{display:none}}
@media(max-height:520px) and (orientation:landscape){.learningCenterHead{padding-block:9px!important}.learningCenterHead span{display:none}.learningCenterHome{padding:7px 10px;max-height:calc(100dvh - 62px)}.learningCenterLive{display:none}.lessonListTitle{margin-top:4px}.learningLessonRow{min-height:64px;padding:7px 10px}.learningLessonRow p{display:none}.learningCenterQuick{display:none}}

/* v59.71.0 · teacher library / student assigned lesson grid */
.learningCenterLessonGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}
.learningCenterLessonGrid .learningLessonRow{position:relative;min-height:154px!important;padding:15px!important;grid-template-columns:52px minmax(0,1fr)!important;grid-template-rows:auto 1fr auto;align-items:start!important;gap:10px 12px!important;border-radius:20px!important;overflow:hidden}
.learningCenterLessonGrid .learningLessonRow:hover{transform:translateY(-2px)!important}
.learningCenterLessonGrid .learningLessonRow>.learningCenterIcon{grid-row:1/span 2;width:50px;height:50px;font-size:27px;border-radius:16px}
.learningCenterLessonGrid .learningLessonRow>div{min-width:0}.learningCenterLessonGrid .learningLessonRow strong{font-size:15px!important;line-height:1.2!important}.learningCenterLessonGrid .learningLessonRow p{font-size:9px!important;line-height:1.45!important;display:block!important}
.learningCenterLessonGrid .learningLessonRow>em{grid-column:2;justify-self:start;min-width:0!important;margin-top:2px;padding:7px 10px!important}
.learningTeacherActions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.25fr;gap:7px;margin-top:auto}.learningTeacherActions button{min-height:34px;border:1px solid rgba(126,226,255,.2);border-radius:11px;background:rgba(87,204,235,.08);color:#dff9ff;font:950 9px/1 Inter,system-ui;cursor:pointer}.learningTeacherActions button.assign{border-color:rgba(127,244,169,.32);background:linear-gradient(180deg,rgba(67,201,131,.25),rgba(30,120,91,.22));color:#c8ffdc}.learningTeacherActions button:hover{filter:brightness(1.15)}
.learningCenterStudent .learningCenterLessonGrid{grid-template-columns:minmax(0,540px);justify-content:center}.learningCenterStudent .learningLessonRow{min-height:165px!important;border-color:rgba(120,241,168,.4)!important;box-shadow:0 14px 32px rgba(0,0,0,.22),0 0 0 1px rgba(100,234,158,.07)}.learningCenterStudent .learningLessonRow.historyLesson{min-height:110px!important;opacity:.62;filter:saturate(.7)}.learningCenterStudent .learningLessonRow.historyLesson p{display:none!important}
.learningStudentEmpty{max-width:540px;margin:12px auto 4px;padding:28px 20px;text-align:center;border:1px dashed rgba(135,218,241,.23);border-radius:20px;background:rgba(5,25,40,.36)}.learningStudentEmpty span{display:block;font-size:34px}.learningStudentEmpty strong{display:block;margin-top:9px;font:1000 16px/1.2 Inter,system-ui}.learningStudentEmpty p{max-width:380px;margin:7px auto 0;color:#9fbdce;font:800 10px/1.5 Inter,system-ui}
.learningCenterTeacher .learningCenterLive{border-color:rgba(174,151,255,.22);background:linear-gradient(135deg,rgba(54,44,104,.58),rgba(23,62,88,.58))}
@media(max-width:760px){.learningCenterLessonGrid{grid-template-columns:1fr!important}.learningCenterLessonGrid .learningLessonRow{min-height:132px!important}.learningTeacherActions{grid-column:1/-1}.learningCenterStudent .learningLessonRow{min-height:140px!important}}
@media(max-height:520px) and (orientation:landscape){.learningCenterLessonGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.learningCenterLessonGrid .learningLessonRow{min-height:112px!important}.learningTeacherActions button{min-height:29px}.learningCenterStudent .learningCenterLessonGrid{grid-template-columns:minmax(0,520px)!important}}


/* portal-shell.css */
/* Koderia v59.76.0 — Portal Shell
   Logged-out page remains intact. Once the world is open, the city owns the viewport. */
html.koderiaPortalRoot,
body.koderiaPortalActive{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  background:#02070d!important;
}

body.koderiaPortalActive{
  margin:0!important;
  padding:0!important;
}

body.koderiaPortalActive > .standaloneWorldHome,
body.koderiaPortalActive > .blob,
body.koderiaPortalActive > .confetti,
body.koderiaPortalActive main.page > .hero,
body.koderiaPortalActive .studentHub > .hubGlow,
body.koderiaPortalActive .hubHeading,
body.koderiaPortalActive .hubDashboard,
body.koderiaPortalActive .roomHud,
body.koderiaPortalActive .cityStageTopbar{
  display:none!important;
}

body.koderiaPortalActive main.page,
body.koderiaPortalActive .studentHub,
body.koderiaPortalActive .hubMain,
body.koderiaPortalActive .hubLogged{
  position:static!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.koderiaPortalActive main.page{
  position:fixed!important;
  inset:0!important;
  z-index:1!important;
}

body.koderiaPortalActive .studentHub{
  overflow:visible!important;
}

body.koderiaPortalActive .hubLogged[hidden]{display:none!important;}
body.koderiaPortalActive .hubLogged:not([hidden]){display:block!important;}

body.koderiaPortalActive .cityStageOne{
  position:fixed!important;
  inset:0!important;
  z-index:100!important;
  width:100vw!important;
  max-width:none!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:#02070d!important;
  box-shadow:none!important;
  transform:none!important;
  isolation:isolate!important;
}

body.koderiaPortalActive .cityStageCanvasWrap{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#02070d!important;
  box-shadow:
    inset 0 0 0 1px rgba(103,231,255,.16),
    inset 0 0 42px rgba(103,231,255,.075),
    inset 0 0 115px rgba(157,137,255,.035)!important;
}

body.koderiaPortalActive #cityStageCanvas{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
}

/* Remove remnants of the old site/game shell. */
body.koderiaPortalActive .cityStageSystemLegend,
body.koderiaPortalActive .cityStageHelp,
body.koderiaPortalActive .cityStageMiniMapLabel,
body.koderiaPortalActive .cityStageCollisionBadge,
body.koderiaPortalActive #cityStageFullscreenButton{
  display:none!important;
}

.koderiaPortalEdge{
  position:absolute;
  inset:0;
  z-index:214;
  pointer-events:none;
  border:1px solid rgba(103,231,255,.12);
  box-shadow:
    inset 0 0 28px rgba(91,229,255,.05),
    inset 0 0 95px rgba(132,103,255,.035);
}

.koderiaPortalMark{
  position:absolute;
  top:max(16px,env(safe-area-inset-top));
  right:max(18px,env(safe-area-inset-right));
  z-index:215;
  pointer-events:none;
  color:rgba(208,241,255,.38);
  font:900 9px/1.1 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.19em;
  text-transform:uppercase;
  text-shadow:0 0 18px rgba(103,231,255,.18);
  user-select:none;
}

@media(max-width:720px){
  .koderiaPortalMark{
    top:max(9px,env(safe-area-inset-top));
    right:max(10px,env(safe-area-inset-right));
    font-size:7px;
    letter-spacing:.14em;
    opacity:.75;
  }
}


/* coder-path.css */

/* Koderia v59.82.0 · approved vertical Path design */
body.kcpOpen{overflow:hidden!important}
[data-profile-tab="pass"],[data-profile-panel="pass"],#openPassButton,#openPassButtonSecondary,#cityStagePassButton,[data-ksh="pass"]{display:none!important}

.kcpOverlay{position:fixed;inset:0;z-index:2147482000;display:grid;place-items:center;padding:16px;opacity:0;pointer-events:none;transition:opacity .18s ease}
.kcpOverlay[hidden]{display:none!important}.kcpOverlay.show{opacity:1;pointer-events:auto}
.kcpBackdrop{position:absolute;inset:0;background:rgba(1,6,11,.78);backdrop-filter:blur(12px)}
.kcpWindow{position:relative;width:min(1140px,calc(100vw - 32px));height:min(900px,calc(100dvh - 28px));overflow:hidden;border-radius:29px;background:linear-gradient(180deg,#06121c,#03090f);border:1px solid rgba(255,255,255,.10);box-shadow:0 34px 100px rgba(0,0,0,.58)}
.kcpWindowBar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 17px 0 20px;background:rgba(6,17,27,.96);border-bottom:1px solid rgba(255,255,255,.07)}
.kcpTitle{display:flex;gap:11px;align-items:center}.kcpTitle>span{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;font-size:22px;background:linear-gradient(145deg,rgba(115,233,255,.16),rgba(157,134,255,.18));border:1px solid rgba(255,255,255,.09)}
.kcpTitle small,.kcpSideCard>small{display:block;font-size:8px;letter-spacing:.14em;font-weight:950;color:#7e9db1}.kcpTitle b{display:block;font-size:18px;color:#f4f9ff}
.kcpClose{width:42px;height:42px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.045);color:#c9d8e2;font-size:17px;cursor:pointer}
.kcpWindowBody{height:calc(100% - 68px);padding:12px}
.kcpRoot{height:100%;display:flex;flex-direction:column;gap:10px;min-height:0}
.kcpLayout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:12px;min-height:0;flex:1}
.kcpMapShell{display:flex;flex-direction:column;min-height:0;border-radius:25px;overflow:hidden;border:1px solid rgba(255,255,255,.075);background:radial-gradient(circle at 25% 5%,rgba(115,233,255,.07),transparent 21%),radial-gradient(circle at 76% 40%,rgba(157,134,255,.07),transparent 23%),linear-gradient(180deg,#091722,#06101a)}
.kcpMapHead{height:48px;flex:0 0 auto;padding:0 15px;display:flex;align-items:center;justify-content:space-between;background:rgba(5,14,22,.93);border-bottom:1px solid rgba(255,255,255,.055)}
.kcpMapHead b{font-size:10px;letter-spacing:.14em;color:#d8e7ef}.kcpMapHead span{font-size:9px;color:#718ea2}
.kcpMapScroll{position:relative;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;scroll-behavior:auto;padding:0 5px 55px}
.kcpMapScroll::-webkit-scrollbar{display:none}
.kcpWorld{position:relative;width:min(800px,100%);margin:0 auto}
.kcpRoadSvg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.kcpRoadShadow{fill:none;stroke:rgba(0,0,0,.28);stroke-width:18;stroke-linecap:round;stroke-linejoin:round}.kcpRoadMain{fill:none;stroke:url(#kcpRoadGrad);stroke-width:7;stroke-linecap:round;stroke-linejoin:round;opacity:.62;filter:drop-shadow(0 0 8px rgba(91,220,255,.16))}
.kcpChapter{position:absolute;left:50%;transform:translateX(-50%);z-index:3;width:min(540px,78%);padding:22px 24px;border-radius:23px;display:flex;align-items:center;justify-content:center;gap:14px;text-align:left;background:rgba(6,17,28,.94);border:1px solid rgba(255,255,255,.095);backdrop-filter:blur(13px);box-shadow:0 18px 42px rgba(0,0,0,.26)}
.kcpChapter>span{width:72px;height:72px;flex:0 0 auto;border-radius:22px;display:grid;place-items:center;font-size:36px;background:linear-gradient(145deg,rgba(115,233,255,.14),rgba(157,134,255,.16));border:1px solid rgba(255,255,255,.11);animation:kcpStageFloat 3s ease-in-out infinite}
.kcpChapter small{font-size:8px;letter-spacing:.14em;font-weight:950;color:#84a4b9}.kcpChapter b{display:block;margin-top:2px;font-size:18px;color:#f4faff}.kcpChapter em{display:block;margin-top:2px;font-size:9px;color:#7894a7;font-style:normal}.kcpChapter.active{border-color:rgba(115,233,255,.24);box-shadow:0 0 35px rgba(85,211,255,.07)}
.kcpNode{position:absolute;z-index:6;width:60px;height:60px;border-radius:19px;transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);background:#102336;color:white;box-shadow:0 12px 28px rgba(0,0,0,.27);cursor:pointer;transition:filter .2s,opacity .2s,box-shadow .2s}
.kcpRewardEmoji{font-size:23px;line-height:1}.kcpLevelNum{position:absolute;left:-8px;top:-8px;min-width:25px;height:25px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:#102536;border:2px solid #4b7186;color:#e8f5fb;font-size:9px;font-weight:1000}
.kcpNodeLabel{position:absolute;top:78px;left:50%;transform:translateX(-50%);width:168px;text-align:center;pointer-events:none}.kcpNodeLabel b{display:block;padding:5px 7px;border-radius:9px;background:rgba(4,13,22,.82);border:1px solid rgba(255,255,255,.055);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kcpNodeLabel small{display:block;margin-top:3px;color:#8199aa;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kcpNodeMark{position:absolute;right:-7px;top:-7px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#72eba3;color:#052012;font-size:11px;font-style:normal;font-weight:1000}
.kcpNode.done{background:linear-gradient(145deg,#17382f,#102a27);box-shadow:0 0 0 2px rgba(121,239,156,.16),0 12px 28px rgba(0,0,0,.24)}.kcpNode.done .kcpLevelNum{border-color:#51d992}.kcpNode.ready{background:linear-gradient(145deg,#3c321a,#242535);box-shadow:0 0 0 2px rgba(255,211,107,.22),0 0 30px rgba(255,211,107,.09)}.kcpNode.ready .kcpNodeMark{background:#ffd36b;color:#2d2105;animation:kcpBreathe 1.8s ease-in-out infinite}.kcpNode.future{opacity:.43;filter:saturate(.45)}.kcpNode.current{width:70px;height:70px;border-radius:23px;opacity:1;filter:none;background:linear-gradient(145deg,#154356,#202d55);box-shadow:0 0 0 3px rgba(115,233,255,.40),0 0 38px rgba(115,233,255,.18);animation:kcpPulse 1.8s ease-in-out infinite}.kcpNode.special:not(.current){width:64px;height:64px}.kcpNode.special .kcpRewardEmoji{font-size:29px;animation:kcpFloat 2.5s ease-in-out infinite}
.kcpHere{position:absolute;z-index:9;width:210px;padding:12px 13px;border-radius:17px;background:rgba(5,15,25,.95);border:1px solid rgba(115,233,255,.18);box-shadow:0 18px 40px rgba(0,0,0,.30)}.kcpHere small{display:block;font-size:8px;letter-spacing:.12em;font-weight:950;color:#9cecff}.kcpHere b{display:block;margin:4px 0 3px;font-size:11px}.kcpHere span{display:block;color:#819caf;font-size:9px;line-height:1.35}
.kcpSidebar{display:flex;flex-direction:column;gap:9px;min-height:0;overflow:auto;scrollbar-width:none}.kcpSidebar::-webkit-scrollbar{display:none}
.kcpSideCard{padding:14px;border-radius:19px;background:rgba(8,20,31,.88);border:1px solid rgba(255,255,255,.075);backdrop-filter:blur(14px)}.kcpCurrentCard strong{display:block;font-size:43px;line-height:1;margin:5px 0 1px}.kcpSideCard>b{display:block;font-size:12px}.kcpSideCard>span{display:block;margin-top:4px;color:#829daf;font-size:9px}.kcpStats{display:flex;gap:6px;margin-top:10px}.kcpStats i{flex:1;padding:7px;border-radius:10px;background:rgba(255,255,255,.04);font-size:8px;color:#bed0dd;text-align:center;font-style:normal}
.kcpRewardCard{text-align:center}.kcpBigEmoji{font-size:50px;margin:5px 0;animation:kcpBreathe 2.6s ease-in-out infinite}
.kcpClaimAll{width:100%;border:0;border-radius:17px;padding:12px 14px;display:flex;gap:10px;align-items:center;text-align:left;background:linear-gradient(135deg,#65e7ff,#9679ff);color:#06131e;cursor:pointer;box-shadow:0 12px 25px rgba(88,212,255,.12)}.kcpClaimAll>span{font-size:25px}.kcpClaimAll b{display:block;font-size:11px}.kcpClaimAll small{font-size:8px;opacity:.72}
.kcpAllTaken{padding:10px;border-radius:15px;background:rgba(66,218,151,.075);border:1px solid rgba(66,218,151,.13);color:#6ae6ac;text-align:center;font-size:9px;font-weight:850}
.kcpNext{display:flex;align-items:center;gap:10px;margin-top:8px}.kcpNext>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.05);font-size:25px}.kcpNext b{font-size:10px}.kcpNext p{margin:2px 0 0;color:#7894a7;font-size:8px}
.kcpManaTitle{display:flex;align-items:center;gap:7px;margin-top:6px;font-size:19px}.kcpManaBar{height:7px;margin-top:9px;border-radius:999px;background:#152533;overflow:hidden}.kcpManaBar i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#61b9ff,#9877ff);box-shadow:0 0 12px rgba(80,190,255,.45)}
.kcpFindCurrent{border:1px solid rgba(255,255,255,.075);border-radius:14px;padding:10px;background:rgba(255,255,255,.035);color:#a1b7c5;font-size:9px;font-weight:850;cursor:pointer}
.kcpDetail{min-height:64px;flex:0 0 auto;padding:10px 13px;border-radius:18px;display:flex;align-items:center;gap:11px;background:rgba(5,15,25,.95);border:1px solid rgba(115,233,255,.11)}.kcpDetail>span{font-size:28px}.kcpDetail>div{min-width:0;flex:1}.kcpDetail small{display:block;color:#7996a9;font-size:8px;font-weight:950}.kcpDetail b{display:block;font-size:11px}.kcpDetail p{margin:2px 0 0;color:#879faf;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kcpDetail>i{font-size:9px;color:#a2b8c6;font-style:normal}
@keyframes kcpPulse{50%{transform:translate(-50%,-50%) scale(1.07)}}@keyframes kcpFloat{50%{transform:translateY(-6px) scale(1.06)}}@keyframes kcpStageFloat{50%{transform:translateY(-8px) scale(1.07)}}@keyframes kcpBreathe{50%{transform:scale(1.1)}}
@media(max-width:760px){.kcpOverlay{padding:0}.kcpWindow{width:100vw;height:100dvh;border-radius:0;border:0}.kcpWindowBody{padding:7px}.kcpLayout{grid-template-columns:minmax(0,1fr) 165px;gap:7px}.kcpSidebar{gap:6px}.kcpSideCard{padding:10px}.kcpCurrentCard strong{font-size:34px}.kcpRewardCard .kcpBigEmoji{font-size:38px}.kcpMapHead span{display:none}.kcpChapter{width:72%;padding:14px}.kcpChapter>span{width:54px;height:54px;font-size:29px}.kcpNodeLabel{width:112px}.kcpNodeLabel small{display:none}.kcpHere{width:165px}.kcpDetail{min-height:57px}}
@media(max-width:520px){.kcpLayout{grid-template-columns:minmax(0,1fr) 126px;gap:5px}.kcpMapScroll{padding-left:0;padding-right:0}.kcpChapter{width:76%;gap:8px}.kcpChapter>span{width:46px;height:46px;font-size:25px}.kcpChapter b{font-size:13px}.kcpChapter em{display:none}.kcpNode{width:50px;height:50px;border-radius:16px}.kcpNode.current{width:61px;height:61px}.kcpNode.special:not(.current){width:56px;height:56px}.kcpRewardEmoji{font-size:19px}.kcpNode.special .kcpRewardEmoji{font-size:24px}.kcpNodeLabel{width:94px}.kcpNodeLabel b{font-size:8px}.kcpHere{display:none}.kcpStats{display:grid}.kcpNext p,.kcpRewardCard>span{display:none}.kcpClaimAll{padding:9px;display:grid}.kcpClaimAll>span{font-size:21px}.kcpSideCard>b{font-size:9px}.kcpDetail>i{display:none}}
@media(prefers-reduced-motion:reduce){.kcpOverlay *{animation:none!important;scroll-behavior:auto!important}}


/* wardrobe-system.css */
/* Koderia v59.83.6 · wardrobe/store Street UI in native Koderia theme */
body.kwdOpen{overflow:hidden!important}
.kwdOverlay{position:fixed;inset:0;z-index:2147482200;display:grid;place-items:center;padding:14px;opacity:0;pointer-events:none;transition:opacity .18s ease}
.kwdOverlay[hidden]{display:none!important}.kwdOverlay.show{opacity:1;pointer-events:auto}.kwdBackdrop{position:absolute;inset:0;background:rgba(1,6,11,.8);backdrop-filter:blur(12px)}
.kwdWindow{position:relative;width:min(1120px,calc(100vw - 28px));height:min(820px,calc(100dvh - 26px));display:grid;grid-template-columns:390px minmax(0,1fr);overflow:hidden;border-radius:28px;background:linear-gradient(180deg,#091725,#050c14);border:1px solid rgba(255,255,255,.1);box-shadow:0 34px 100px rgba(0,0,0,.6)}
.kwdPreviewPane{position:relative;padding:18px;display:flex;flex-direction:column;min-height:0;background:radial-gradient(circle at 50% 37%,rgba(99,228,255,.11),transparent 34%),linear-gradient(180deg,#0d2231,#07121c)}
.kwdPaneHead{display:flex;justify-content:space-between;align-items:center}.kwdPaneHead small{display:block;font-size:8px;letter-spacing:.14em;font-weight:950;color:#76dff1}.kwdPaneHead b{display:block;font-size:22px;color:#f4f9ff}.kwdClose{width:40px;height:40px;border-radius:13px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);color:#d7e4ec;font-size:17px;cursor:pointer}
.kwdCharacterStage{position:relative;flex:1;min-height:420px;display:grid;place-items:center}.kwdCharacterStage:after{content:'';position:absolute;bottom:50px;width:210px;height:34px;border-radius:50%;background:rgba(0,0,0,.27);filter:blur(5px)}
.kwdCharacter{--body:#67d7ff;--body2:#2b7ca1;position:relative;width:250px;height:390px;z-index:2;filter:drop-shadow(0 24px 24px rgba(0,0,0,.3));animation:kwdBob 2.8s ease-in-out infinite}
.kwdBody{position:absolute;z-index:3;left:61px;top:105px;width:128px;height:178px;border-radius:48% 48% 42% 42%/36% 36% 58% 58%;background:linear-gradient(145deg,color-mix(in srgb,var(--body),white 20%),var(--body) 54%,var(--body2));box-shadow:inset -12px -18px rgba(0,0,0,.08),inset 9px 10px rgba(255,255,255,.11)}
.kwdArm{position:absolute;z-index:2;top:171px;width:40px;height:100px;border-radius:23px;background:var(--body)}.kwdArm.l{left:33px;transform:rotate(11deg)}.kwdArm.r{right:33px;transform:rotate(-11deg)}
.kwdLeg{position:absolute;z-index:2;top:265px;width:51px;height:87px;border-radius:19px;background:var(--body2)}.kwdLeg.l{left:73px}.kwdLeg.r{right:73px}
.kwdShoe{position:absolute;z-index:5;top:334px;width:68px;height:38px;border-radius:22px 25px 17px;background:#edf8ff;box-shadow:inset 0 -8px rgba(0,0,0,.12)}.kwdShoe.l{left:51px}.kwdShoe.r{right:51px;transform:scaleX(-1)}
.kwdFace{position:absolute;z-index:7;left:86px;top:138px;width:78px;height:64px}.kwdEye{position:absolute;top:4px;width:17px;height:23px;border-radius:50%;background:#07111b}.kwdEye:after{content:'';position:absolute;left:4px;top:3px;width:5px;height:7px;border-radius:50%;background:#fff}.kwdEye.l{left:8px}.kwdEye.r{right:8px}.kwdMouth{position:absolute;left:27px;top:41px;width:25px;height:10px;border:4px solid #07111b;border-top:0;border-radius:0 0 18px 18px}
.kwdClothes{position:absolute;z-index:4;left:64px;top:193px;width:122px;height:106px;pointer-events:none}.kwdHat{position:absolute;z-index:9;left:49px;top:39px;width:152px;height:105px;pointer-events:none}.kwdAcc{position:absolute;z-index:10;left:70px;top:130px;width:110px;height:100px;pointer-events:none}.kwdBack{position:absolute;z-index:1;left:24px;top:160px;width:202px;height:145px;pointer-events:none}
/* clothes */
.kwdCharacter[data-clothes=none] .kwdClothes{display:none}.kwdCharacter[data-clothes=tee] .kwdClothes{background:#17334c;border-radius:25px 25px 40px 40px}.kwdCharacter[data-clothes=hoodie] .kwdClothes{background:linear-gradient(#302a4d,#171928);border-radius:27px 27px 38px 38px}.kwdCharacter[data-clothes=hoodie] .kwdClothes:before{content:'';position:absolute;left:33px;top:-10px;width:56px;height:34px;border:7px solid #3b355b;border-bottom:0;border-radius:32px 32px 0 0}.kwdCharacter[data-clothes=hoodie] .kwdClothes:after{content:'';position:absolute;left:56px;top:16px;width:3px;height:34px;background:#abb6cb;box-shadow:10px 0 #abb6cb}.kwdCharacter[data-clothes=lab] .kwdClothes{background:#edf8ff;border-radius:18px 18px 40px 40px;clip-path:polygon(8% 0,42% 0,50% 20%,58% 0,92% 0,100% 100%,0 100%)}.kwdCharacter[data-clothes=lab] .kwdClothes:after{content:'';position:absolute;left:59px;top:17px;width:4px;height:80px;background:#9bc9de}.kwdCharacter[data-clothes=armor] .kwdClothes{background:linear-gradient(145deg,#40586d,#172330);border-radius:17px;box-shadow:inset 0 0 0 6px #5fe6ff}.kwdCharacter[data-clothes=cape] .kwdClothes{background:#6846c6;border-radius:22px 22px 37px 37px}.kwdCharacter[data-clothes=cape] .kwdBack:before{content:'';position:absolute;left:27px;top:25px;width:150px;height:154px;background:#4b2e93;clip-path:polygon(16% 0,84% 0,100% 100%,50% 83%,0 100%)}.kwdCharacter[data-clothes=varsity] .kwdClothes{background:linear-gradient(90deg,#20334a 0 22%,#f4f7fb 22% 78%,#20334a 78%);border-radius:24px 24px 39px 39px}.kwdCharacter[data-clothes=varsity] .kwdClothes:after{content:'K';position:absolute;left:50px;top:23px;color:#20334a;font-weight:1000;font-size:27px}.kwdCharacter[data-clothes=ninja] .kwdClothes{background:#121820;border-radius:22px 22px 38px 38px;box-shadow:inset 0 0 0 5px #3a4450}.kwdCharacter[data-clothes=ninja] .kwdClothes:after{content:'';position:absolute;left:0;right:0;top:50px;height:12px;background:#c84646}.kwdCharacter[data-clothes=robot] .kwdClothes{background:linear-gradient(#647d92,#34485a);border-radius:15px;box-shadow:inset 0 0 0 6px #93b7ca}.kwdCharacter[data-clothes=robot] .kwdClothes:after{content:'◉';position:absolute;left:47px;top:23px;color:#6df5ff;font-size:28px}.kwdCharacter[data-clothes=raincoat] .kwdClothes{background:#ffd84c;border-radius:28px 28px 42px 42px}.kwdCharacter[data-clothes=raincoat] .kwdClothes:after{content:'•••';position:absolute;left:50px;top:36px;color:#b98312;letter-spacing:4px;writing-mode:vertical-rl}.kwdCharacter[data-clothes=space] .kwdClothes{background:#e9f3fb;border-radius:24px 24px 36px 36px;box-shadow:inset 0 0 0 6px #a4b6c5}.kwdCharacter[data-clothes=space] .kwdClothes:after{content:'◉';position:absolute;left:46px;top:24px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#233342;color:#6df5ff}.kwdCharacter[data-clothes=pixel] .kwdClothes{background:linear-gradient(135deg,#31d1a7 0 25%,#2b2f61 25% 50%,#f45b9c 50% 75%,#ffd35e 75%);border-radius:11px 11px 28px 28px}
/* hats, all anchored to same 152x105 head box */
.kwdCharacter[data-hat=none] .kwdHat{display:none}.kwdCharacter[data-hat=cap] .kwdHat:before{content:'';position:absolute;left:23px;top:35px;width:99px;height:46px;background:#ff5d6c;border-radius:53px 53px 20px 20px}.kwdCharacter[data-hat=cap] .kwdHat:after{content:'';position:absolute;left:88px;top:68px;width:57px;height:15px;background:#ca3047;border-radius:0 18px 18px 8px;transform:rotate(6deg)}.kwdCharacter[data-hat=crown] .kwdHat:before{content:'';position:absolute;left:26px;top:30px;width:100px;height:61px;background:#ffd65a;clip-path:polygon(0 100%,0 28%,20% 55%,35% 0,52% 54%,70% 8%,82% 56%,100% 25%,100% 100%)}.kwdCharacter[data-hat=wizard] .kwdHat:before{content:'';position:absolute;left:25px;top:5px;width:102px;height:84px;background:#6553d8;clip-path:polygon(50% 0,100% 88%,0 88%)}.kwdCharacter[data-hat=wizard] .kwdHat:after{content:'✦';position:absolute;left:58px;top:47px;color:#ffe28a;font-size:28px}.kwdCharacter[data-hat=hardhat] .kwdHat:before{content:'';position:absolute;left:23px;top:36px;width:106px;height:53px;border-radius:58px 58px 17px 17px;background:#ffca42}.kwdCharacter[data-hat=headphones] .kwdHat:before{content:'';position:absolute;left:30px;top:32px;width:91px;height:72px;border:9px solid #1d2534;border-bottom:0;border-radius:58px 58px 0 0}.kwdCharacter[data-hat=headphones] .kwdHat:after{content:'';position:absolute;left:20px;top:72px;width:25px;height:41px;border-radius:13px;background:#64e4ff;box-shadow:105px 0 #64e4ff}.kwdCharacter[data-hat=beanie] .kwdHat:before{content:'';position:absolute;left:27px;top:38px;width:99px;height:48px;background:#7a5cff;border-radius:54px 54px 21px 21px}.kwdCharacter[data-hat=beanie] .kwdHat:after{content:'';position:absolute;left:64px;top:20px;width:26px;height:26px;border-radius:50%;background:#a898ff}.kwdCharacter[data-hat=cowboy] .kwdHat:before{content:'';position:absolute;left:16px;top:58px;width:121px;height:24px;background:#8b5b2f;border-radius:50%}.kwdCharacter[data-hat=cowboy] .kwdHat:after{content:'';position:absolute;left:40px;top:29px;width:77px;height:51px;background:#9c6d3b;border-radius:38px 38px 13px 13px}.kwdCharacter[data-hat=halo] .kwdHat:before{content:'';position:absolute;left:21px;top:16px;width:96px;height:27px;border:7px solid #ffe887;border-radius:50%;box-shadow:0 0 18px #ffe887}.kwdCharacter[data-hat=antenna] .kwdHat:before{content:'';position:absolute;left:81px;top:9px;width:7px;height:61px;background:#5de7ff;border-radius:6px}.kwdCharacter[data-hat=antenna] .kwdHat:after{content:'';position:absolute;left:69px;top:0;width:31px;height:31px;border-radius:50%;background:#ff65dc;box-shadow:0 0 15px rgba(255,101,220,.8)}.kwdCharacter[data-hat=propeller] .kwdHat:before{content:'';position:absolute;left:29px;top:47px;width:96px;height:41px;background:linear-gradient(90deg,#ff665f 0 33%,#ffd65a 33% 66%,#548df4 66%);border-radius:48px 48px 17px 17px}.kwdCharacter[data-hat=propeller] .kwdHat:after{content:'↔';position:absolute;left:48px;top:2px;width:58px;text-align:center;color:#ffd65a;font-size:37px;font-weight:900;transform:rotate(-8deg)}
/* face */
.kwdCharacter[data-acc=none] .kwdAcc{display:none}.kwdCharacter[data-acc=glasses] .kwdAcc:before,.kwdCharacter[data-acc=glasses] .kwdAcc:after{content:'';position:absolute;top:13px;width:38px;height:29px;border:4px solid #0b1420;border-radius:13px;background:rgba(115,233,255,.12)}.kwdCharacter[data-acc=glasses] .kwdAcc:before{left:2px}.kwdCharacter[data-acc=glasses] .kwdAcc:after{right:2px}.kwdCharacter[data-acc=glasses]{background:linear-gradient(#0b1420,#0b1420) center 27px/28px 4px no-repeat}.kwdCharacter[data-acc=visor] .kwdAcc:before{content:'';position:absolute;left:4px;top:11px;width:101px;height:34px;border-radius:15px;background:linear-gradient(90deg,#33d7ff,#c34cff);box-shadow:0 0 22px rgba(89,225,255,.7);opacity:.85}.kwdCharacter[data-acc=mask] .kwdAcc:before{content:'';position:absolute;left:20px;top:47px;width:70px;height:34px;background:#131d29;border-radius:12px 12px 20px 20px;clip-path:polygon(0 0,100% 0,84% 100%,16% 100%)}.kwdCharacter[data-acc=star] .kwdAcc:before{content:'★';position:absolute;right:-7px;top:-7px;font-size:34px;color:#ffe47e;filter:drop-shadow(0 0 10px #ffe47e)}.kwdCharacter[data-acc=monocle] .kwdAcc:before{content:'';position:absolute;right:5px;top:4px;width:34px;height:34px;border:5px solid #d6bd68;border-radius:50%;background:rgba(255,255,255,.08)}.kwdCharacter[data-acc=monocle] .kwdAcc:after{content:'';position:absolute;right:8px;top:39px;width:3px;height:48px;background:#d6bd68;transform:rotate(-8deg)}.kwdCharacter[data-acc=mustache] .kwdAcc:before{content:'〰';position:absolute;left:31px;top:38px;font-size:40px;color:#2b1b16;font-weight:1000;transform:scaleX(1.25)}.kwdCharacter[data-acc=scarf] .kwdAcc{left:55px;top:177px;width:140px;height:135px;z-index:8}.kwdCharacter[data-acc=scarf] .kwdAcc:before{content:'';position:absolute;left:2px;top:10px;width:136px;height:28px;background:#ff5f6e;border-radius:15px}.kwdCharacter[data-acc=scarf] .kwdAcc:after{content:'';position:absolute;left:91px;top:31px;width:31px;height:86px;background:#d33f52;border-radius:0 0 12px 12px;transform:rotate(6deg)}
/* back */
.kwdCharacter[data-acc=wings] .kwdBack:before,.kwdCharacter[data-acc=wings] .kwdBack:after{content:'';position:absolute;top:26px;width:82px;height:91px;background:linear-gradient(145deg,#e7fbff,#81e8ff);opacity:.94}.kwdCharacter[data-acc=wings] .kwdBack:before{left:1px;clip-path:polygon(100% 45%,0 0,22% 48%,0 100%)}.kwdCharacter[data-acc=wings] .kwdBack:after{right:1px;clip-path:polygon(0 45%,100% 0,78% 48%,100% 100%)}.kwdCharacter[data-acc=backpack] .kwdBack:before{content:'';position:absolute;right:23px;top:31px;width:56px;height:81px;border-radius:18px;background:#34485c;box-shadow:inset 0 0 0 5px #536b80}.kwdCharacter[data-acc=backpack] .kwdBack:after{content:'';position:absolute;right:39px;top:53px;width:23px;height:25px;border-radius:6px;background:#66e7ff}
/* shoes */
.kwdCharacter[data-shoes=white] .kwdShoe{background:#eef8ff}.kwdCharacter[data-shoes=red] .kwdShoe{background:#ff5d6c}.kwdCharacter[data-shoes=neon] .kwdShoe{background:#6fffe6}.kwdCharacter[data-shoes=boots] .kwdShoe{height:51px;top:321px;border-radius:13px 13px 22px;background:#202a35;box-shadow:inset 0 -10px #64e4ff}.kwdCharacter[data-shoes=gold] .kwdShoe{background:#ffd34f}.kwdCharacter[data-shoes=purple] .kwdShoe{background:#9c78ff}.kwdCharacter[data-shoes=slippers] .kwdShoe{top:341px;height:29px;background:#ff8fc3}.kwdCharacter[data-shoes=jets] .kwdShoe{height:48px;top:324px;background:#303943;border-radius:14px 14px 24px;box-shadow:inset 0 -10px #ff8f3d}.kwdCharacter[data-shoes=jets] .kwdShoe:after{content:'';position:absolute;left:22px;bottom:-15px;width:19px;height:20px;background:linear-gradient(#ffdc55,#ff6b2d,transparent);clip-path:polygon(50% 100%,0 0,100% 0)}
.kwdEquipped{display:flex;gap:6px;flex-wrap:wrap;position:relative;z-index:3}.kwdEquipped span{padding:7px 8px;border-radius:10px;background:rgba(4,13,22,.74);border:1px solid rgba(255,255,255,.07);font-size:9px;color:#bcd0dd}.kwdWallet{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-radius:15px;background:rgba(4,13,22,.72);border:1px solid rgba(255,255,255,.07);font-size:11px}.kwdWallet b{font-size:15px;color:#ffe179}
.kwdCloset{display:flex;flex-direction:column;min-height:0;padding:18px}.kwdClosetHead{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-bottom:11px}.kwdClosetHead small{display:block;color:#7897aa;font-size:8px;font-weight:950;letter-spacing:.13em}.kwdClosetHead b{font-size:19px}.kwdTabs{display:flex;gap:7px;overflow:auto;padding-bottom:9px;scrollbar-width:none}.kwdTabs::-webkit-scrollbar{display:none}.kwdTab{flex:0 0 auto;border:1px solid rgba(255,255,255,.075);background:#0a1723;color:#a9bfce;padding:9px 11px;border-radius:12px;font-size:10px;font-weight:900;cursor:pointer}.kwdTab.active{background:rgba(103,232,255,.13);border-color:rgba(103,232,255,.38);color:#fff}
.kwdGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;overflow:auto;padding:2px 3px 16px;scrollbar-width:none}.kwdGrid::-webkit-scrollbar{display:none}.kwdItem{position:relative;min-height:119px;padding:10px;border-radius:17px;border:1px solid rgba(255,255,255,.075);background:#0a1621;color:white;text-align:left;cursor:pointer;transition:.16s transform,.16s border-color}.kwdItem:hover{transform:translateY(-2px);border-color:rgba(103,232,255,.3)}.kwdItem.active{border-color:#64e8ff;box-shadow:0 0 0 2px rgba(100,232,255,.08)}.kwdItem.locked{opacity:.72}.kwdItem .emo{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.055);font-size:25px}.kwdItem b{display:block;margin-top:7px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kwdItem small{display:block;margin-top:2px;color:#7792a5;font-size:8px}.kwdPrice{position:absolute;right:8px;top:8px;padding:5px 6px;border-radius:8px;background:rgba(255,210,92,.08);color:#ffdc78;font-size:8px;font-weight:950}.kwdStatus{display:block;margin-top:8px;font-size:8px;font-weight:950;color:#67e9ff}.kwdItem.active .kwdStatus{color:#77f1ad}.kwdColorDot{width:43px;height:43px;border-radius:50%;display:block;border:3px solid rgba(255,255,255,.13)}
.kwdHint{margin-top:auto;padding:10px 11px;border-radius:13px;background:rgba(94,228,255,.055);border:1px solid rgba(94,228,255,.1);font-size:9px;color:#829dad;line-height:1.45}
@keyframes kwdBob{50%{transform:translateY(-7px) scale(1.012)}}
@media(max-width:850px){.kwdWindow{grid-template-columns:330px minmax(0,1fr)}.kwdGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.kwdCharacter{transform:scale(.9)}}
@media(max-width:650px){.kwdOverlay{padding:0}.kwdWindow{width:100vw;height:100dvh;border:0;border-radius:0;grid-template-columns:1fr;grid-template-rows:330px minmax(0,1fr)}.kwdPreviewPane{padding:10px}.kwdCharacterStage{min-height:230px}.kwdCharacter{transform:scale(.66);margin-top:-50px}.kwdWallet,.kwdEquipped{display:none}.kwdCloset{padding:10px}.kwdGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.kwdItem{min-height:103px}.kwdPaneHead b{font-size:17px}}
@media(prefers-reduced-motion:reduce){.kwdCharacter{animation:none!important}}


/* v59.83.0 — profile/shop/wardrobe separation */
.avatarPickerBlock,[data-profile-tab="pass"],[data-profile-tab="shop"],[data-profile-tab="skins"],[data-profile-panel="pass"],[data-profile-panel="shop"],[data-profile-panel="skins"]{display:none!important}
#profileHeroAvatar,#hubProfileAvatar,#roomHudAvatar,#statsHeroAvatar,#playerVisitAvatar,#onlineRoomOwnerAvatar,#citySocialPlayerAvatar{font-size:0!important;line-height:0!important;color:transparent!important}
.kwdMiniAvatarHost{display:grid!important;place-items:center!important;overflow:visible!important}
.kwdMiniFace{--body:#67d7ff;--body2:#2b7ca1;position:relative;display:block;width:48px;height:48px;border-radius:48% 48% 44% 44%;background:linear-gradient(145deg,color-mix(in srgb,var(--body),white 18%),var(--body) 58%,var(--body2));box-shadow:inset -5px -7px rgba(0,0,0,.08),0 6px 14px rgba(0,0,0,.18)}
.kwdMiniFace:before{content:'';position:absolute;left:12px;top:15px;width:7px;height:10px;border-radius:50%;background:#07111b;box-shadow:17px 0 #07111b}
.kwdMiniFace:after{content:'';position:absolute;left:18px;top:31px;width:13px;height:6px;border:2px solid #07111b;border-top:0;border-radius:0 0 10px 10px}
.profileWardrobeLaunch{margin-left:auto;align-self:center;border:1px solid rgba(109,232,255,.2);background:rgba(82,210,245,.08);color:#dffaff;border-radius:14px;padding:10px 13px;font-weight:900;font-size:10px;cursor:pointer}.profileWardrobeLaunch:hover{background:rgba(82,210,245,.14)}
/* Wardrobe is inventory only now */
.kwdWindow{grid-template-columns:minmax(300px,380px) minmax(0,1fr)}
.kwdGoShop{border:1px solid rgba(255,216,105,.18);background:rgba(255,216,105,.07);color:#ffe394;border-radius:14px;padding:11px;font-weight:900;cursor:pointer}.kwdOwnedCount{font-size:9px;color:#7fe8ff;padding:7px 9px;border-radius:10px;background:rgba(96,228,255,.06)}
/* Standalone game store */
body.kstoreOpen{overflow:hidden!important}.kstoreOverlay{position:fixed;inset:0;z-index:2147482500;display:grid;place-items:center;padding:16px;opacity:0;pointer-events:none;transition:opacity .18s}.kstoreOverlay[hidden]{display:none!important}.kstoreOverlay.show{opacity:1;pointer-events:auto}.kstoreBackdrop{position:absolute;inset:0;background:rgba(1,6,11,.79);backdrop-filter:blur(13px)}
.kstoreWindow{position:relative;width:min(960px,calc(100vw - 32px));height:min(720px,calc(100dvh - 30px));border-radius:28px;overflow:hidden;background:linear-gradient(180deg,#081621,#050d14);border:1px solid rgba(255,255,255,.095);box-shadow:0 34px 100px rgba(0,0,0,.56);display:flex;flex-direction:column}.kstoreHeader{min-height:92px;padding:17px 19px;display:flex;align-items:center;gap:16px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(6,17,27,.96)}.kstoreHeader>div:first-child{flex:1}.kstoreHeader small{display:block;color:#73a7bd;font-size:8px;font-weight:950;letter-spacing:.13em}.kstoreHeader b{display:block;font-size:22px;color:#f4fbff;margin:3px 0}.kstoreHeader span{font-size:9px;color:#7d98a9}.kstoreWallet{padding:10px 13px;border-radius:15px;background:rgba(255,216,105,.06);border:1px solid rgba(255,216,105,.12);min-width:115px}.kstoreWallet strong{display:block;margin-top:3px;color:#ffe17d;font-size:15px}.kstoreClose{width:42px;height:42px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#d7e5ed;font-size:17px;cursor:pointer}.kstoreBody{display:flex;flex-direction:column;min-height:0;flex:1;padding:14px}.kstoreTabs{flex:0 0 auto}.kstoreGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow:auto;min-height:0;flex:1;padding:3px;scrollbar-width:none}.kstoreGrid::-webkit-scrollbar{display:none}.kstoreItem{min-height:112px;border-radius:18px;border:1px solid rgba(255,255,255,.07);background:#0b1823;padding:12px;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:10px}.kstoreItem>.emo,.kstoreItem>.kwdColorDot{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.05);font-size:27px}.kstoreItem b{display:block;font-size:11px}.kstoreItem small{display:block;color:#7892a4;font-size:8px;margin-top:3px}.kstoreItem button{border:0;border-radius:12px;padding:9px 10px;background:linear-gradient(135deg,#ffd85f,#ffb94e);color:#261b04;font-size:9px;font-weight:1000;cursor:pointer}.kstoreEmpty{grid-column:1/-1;align-self:center;justify-self:center;text-align:center;color:#8ba4b4}.kstoreEmpty>span{display:block;font-size:42px;color:#63e3a5}.kstoreEmpty b{display:block;color:#e7f4fb;font-size:14px}.kstoreEmpty small{display:block;margin-top:5px;font-size:9px}.kstoreBody footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.055)}.kstoreBody footer button{border:1px solid rgba(103,232,255,.18);background:rgba(103,232,255,.07);color:#cef7ff;border-radius:13px;padding:9px 12px;font-weight:900;cursor:pointer}.kstoreBody footer span{font-size:8px;color:#6e899c}
@media(max-width:720px){.profileWardrobeLaunch span{display:none}.kstoreOverlay{padding:0}.kstoreWindow{width:100vw;height:100dvh;border-radius:0;border:0}.kstoreHeader{min-height:76px;padding:11px}.kstoreHeader span{display:none}.kstoreGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.kstoreItem{grid-template-columns:42px minmax(0,1fr);min-height:105px;padding:9px}.kstoreItem button{grid-column:1/-1}.kstoreBody footer span{display:none}}

/* ==========================================================
   Koderia v59.83.3 · Wardrobe + Store UX refresh
   Visual/UI only. World/camera/player runtime are untouched.
   ========================================================== */
:root{--kwd-cyan:#68e8ff;--kwd-green:#72f2ad;--kwd-gold:#ffd96b;--kwd-panel:#081621;--kwd-panel2:#0b1c29;--kwd-line:rgba(153,222,247,.12);--kwd-muted:#8099aa}

/* Shared overlay polish */
.kwdOverlay,.kstoreOverlay{padding:22px}.kwdBackdrop,.kstoreBackdrop{background:radial-gradient(circle at 50% 12%,rgba(32,124,159,.13),transparent 34%),rgba(1,6,11,.84);backdrop-filter:blur(16px) saturate(120%)}
.kwdWindow,.kstoreWindow{border:1px solid rgba(139,219,247,.15);box-shadow:0 36px 120px rgba(0,0,0,.68),inset 0 1px rgba(255,255,255,.035)}

/* ---------------- wardrobe ---------------- */
.kwdWindow{width:min(1180px,calc(100vw - 44px));height:min(790px,calc(100dvh - 44px));grid-template-columns:390px minmax(0,1fr);border-radius:30px;background:#061019}
.kwdPreviewPane{padding:22px 22px 18px;background:radial-gradient(circle at 50% 34%,rgba(71,219,255,.15),transparent 30%),linear-gradient(180deg,#0b2130 0%,#081722 58%,#06111a 100%);border-right:1px solid rgba(126,217,248,.09)}
.kwdPreviewPane:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.028),transparent 32%),repeating-linear-gradient(90deg,transparent 0 56px,rgba(126,217,248,.018) 57px);mask-image:linear-gradient(#000,transparent 82%)}
.kwdPaneHead{position:relative;z-index:4;align-items:flex-start}.kwdPaneHead small{font-size:9px;color:#72e7fb;letter-spacing:.16em}.kwdPaneHead b{font-size:25px;letter-spacing:-.03em}.kwdPaneHead span{display:block;margin-top:5px;max-width:260px;color:#7897a9;font-size:10px;line-height:1.4}.kwdClose,.kstoreClose{width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.045);transition:.15s transform,.15s background,.15s border-color}.kwdClose:hover,.kstoreClose:hover{transform:scale(1.05);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}
.kwdCharacterStage{min-height:365px;margin:-4px 0 -5px}.kwdCharacterStage:after{bottom:29px;width:226px;height:35px;background:rgba(0,0,0,.34);filter:blur(7px)}.kwdStageGlow{position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(98,232,255,.14),rgba(98,232,255,.04) 46%,transparent 70%);border:1px solid rgba(109,231,255,.05);box-shadow:0 0 60px rgba(65,212,255,.05);z-index:0}
.kwdCharacterStage>.kwdCharacter{transform:scale(.88);animation:kwdBob 3.1s ease-in-out infinite}
.kwdLookSummary{position:relative;z-index:4;padding:12px;border-radius:18px;background:rgba(3,12,20,.66);border:1px solid rgba(128,213,241,.09)}.kwdSummaryHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.kwdSummaryHead>span{font-size:8px;font-weight:1000;letter-spacing:.13em;color:#7696a8}.kwdSummaryHead>b{font-size:8px;color:#6de8ff;background:rgba(94,225,255,.075);padding:5px 7px;border-radius:8px}.kwdEquipped{display:grid;grid-template-columns:1fr 1fr;gap:7px}.kwdEquipped span{display:grid;grid-template-columns:26px minmax(0,1fr);grid-template-rows:auto auto;column-gap:7px;padding:8px 9px;border-radius:12px;background:rgba(255,255,255,.028);border:1px solid rgba(255,255,255,.045)}.kwdEquipped span>i{grid-row:1/3;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:rgba(91,222,255,.07);font-style:normal;font-size:13px}.kwdEquipped span>small{font-size:7px;text-transform:uppercase;letter-spacing:.07em;color:#617f91}.kwdEquipped span>b{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px;color:#d9e8ef}
.kwdPreviewActions{position:relative;z-index:4;display:grid;grid-template-columns:1fr 1.08fr;gap:8px;margin-top:9px}.kwdWallet{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:10px 12px;border-radius:15px;background:rgba(255,218,107,.055);border-color:rgba(255,218,107,.12)}.kwdWallet span{font-size:7px;font-weight:900;letter-spacing:.08em;color:#887e59}.kwdWallet b{font-size:14px;color:#ffe17f}.kwdGoShop{position:relative;display:grid;grid-template-columns:31px minmax(0,1fr) 18px;grid-template-rows:auto auto;align-items:center;text-align:left;column-gap:8px;padding:9px 11px;border-radius:15px;background:linear-gradient(135deg,rgba(255,219,102,.16),rgba(255,187,77,.075));border:1px solid rgba(255,219,102,.23);color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.04);transition:.16s transform,.16s border-color,.16s background}.kwdGoShop:hover{transform:translateY(-1px);border-color:rgba(255,219,102,.38);background:linear-gradient(135deg,rgba(255,219,102,.2),rgba(255,187,77,.1))}.kwdGoShop>span{grid-row:1/3;width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:rgba(255,218,102,.11)}.kwdGoShop>b{font-size:10px;color:#ffe9a4}.kwdGoShop>small{font-size:7px;color:#a9986e}.kwdGoShop>i{grid-row:1/3;grid-column:3;font-style:normal;color:#ffe17a;font-size:15px}

.kwdCloset{padding:23px 23px 18px;background:radial-gradient(circle at 86% 7%,rgba(90,225,255,.04),transparent 23%),linear-gradient(180deg,#07141f,#050d15)}.kwdClosetHead{align-items:center;margin-bottom:14px}.kwdClosetHead small{font-size:8px;color:#6f8b9d}.kwdClosetHead b{display:block;margin-top:2px;font-size:23px;letter-spacing:-.03em}.kwdClosetHead p{margin:4px 0 0;color:#728d9d;font-size:9px}.kwdCollectionProgress{min-width:132px;padding:10px 11px;border-radius:15px;background:rgba(100,230,255,.055);border:1px solid rgba(100,230,255,.1)}.kwdCollectionProgress strong{font-size:13px;color:#e5fbff}.kwdCollectionProgress span{float:right;margin-top:3px;font-size:7px;text-transform:uppercase;color:#6d8c9f}.kwdCollectionProgress>i{display:block;clear:both;height:5px;margin-top:7px;border-radius:8px;background:rgba(255,255,255,.06);overflow:hidden}.kwdCollectionProgress>i>em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#45d6ff,#70f0ae);box-shadow:0 0 10px rgba(87,229,255,.28)}
.kwdTabs{gap:8px;padding-bottom:12px}.kwdTab{height:44px;display:grid;grid-template-columns:23px auto auto;align-items:center;gap:6px;padding:0 10px;border-radius:13px;background:rgba(11,27,39,.76);border-color:rgba(133,205,228,.085);color:#91a8b7}.kwdTab:hover{border-color:rgba(103,232,255,.2);background:rgba(13,34,48,.95)}.kwdTab.active{background:linear-gradient(180deg,rgba(70,219,255,.14),rgba(70,219,255,.07));border-color:rgba(91,228,255,.34);box-shadow:inset 0 0 0 1px rgba(101,229,255,.035),0 6px 18px rgba(0,0,0,.11)}.kwdTabIcon{width:23px;height:23px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.04);font-size:12px}.kwdTabName{font-size:9px}.kwdTabCount{padding:3px 5px;border-radius:7px;background:rgba(255,255,255,.045);font-size:7px;color:#6f8c9e}.kwdTab.active .kwdTabCount{background:rgba(101,232,255,.09);color:#78edff}
.kwdCategoryIntro,.kstoreCategoryHead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 1px 11px;padding:10px 12px;border-radius:15px;background:linear-gradient(90deg,rgba(93,223,255,.06),rgba(93,223,255,.018));border:1px solid rgba(93,223,255,.075)}.kwdCategoryIntro>div,.kstoreCategoryHead>div{display:flex;align-items:center;gap:9px}.kwdCategoryIntro>div>span,.kstoreCategoryHead>div>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:rgba(99,227,255,.075);font-size:16px}.kwdCategoryIntro b,.kstoreCategoryHead b{display:block;font-size:11px}.kwdCategoryIntro small,.kstoreCategoryHead small{display:block;margin-top:2px;font-size:8px;color:#718b9c}.kwdCategoryIntro>strong,.kstoreCategoryHead>strong{font-size:8px;color:#77e9ff;background:rgba(93,223,255,.07);padding:6px 8px;border-radius:9px}
.kwdGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:1px 3px 13px;align-content:start}.kwdItem{min-height:188px;padding:0;overflow:hidden;border-radius:19px;background:linear-gradient(180deg,#0c1d29,#091620);border-color:rgba(144,207,229,.085);display:grid;grid-template-rows:111px auto 34px;text-align:left;box-shadow:0 10px 24px rgba(0,0,0,.08)}.kwdItem:hover{transform:translateY(-3px);border-color:rgba(104,231,255,.3);box-shadow:0 14px 30px rgba(0,0,0,.16)}.kwdItem.active{border-color:rgba(91,235,255,.65);box-shadow:0 0 0 2px rgba(91,235,255,.07),0 14px 34px rgba(0,0,0,.18)}.kwdItemCharacter{position:relative;display:grid;place-items:center;height:111px;overflow:hidden;background:radial-gradient(circle at 50% 54%,rgba(91,224,255,.1),transparent 46%),linear-gradient(180deg,rgba(255,255,255,.024),transparent)}.kwdItemCharacter:after{content:'';position:absolute;bottom:10px;width:58px;height:9px;border-radius:50%;background:rgba(0,0,0,.25);filter:blur(2px)}.kwdItemCharacter .kwdCharacter{position:absolute;top:5px;left:50%;margin-left:-125px;transform:scale(.26)!important;transform-origin:50% 0;animation:none!important;filter:drop-shadow(0 18px 20px rgba(0,0,0,.24))}.kwdItemCopy{display:block;padding:10px 11px 7px;min-width:0}.kwdItemCopy>b{display:block;margin:0!important;font-size:11px!important;color:#eef8fd}.kwdItemCopy>small{display:block;margin-top:3px!important;font-size:7px!important;color:#6f899a}.kwdStatus{height:34px;margin:0!important;display:flex;align-items:center;justify-content:center;border-top:1px solid rgba(255,255,255,.045);background:rgba(83,220,255,.045);font-size:8px;color:#6ce6ff;letter-spacing:.03em}.kwdStatus>i{font-style:normal;margin-right:5px}.kwdItem.active .kwdStatus{background:rgba(91,239,174,.065);color:#7bf1b0}

/* ---------------- store ---------------- */
body.kstoreOpen{overflow:hidden!important}.kstoreWindow{width:min(1160px,calc(100vw - 44px));height:min(790px,calc(100dvh - 44px));display:grid;grid-template-columns:330px minmax(0,1fr);border-radius:30px;background:#061019;overflow:hidden}.kstorePreviewPane{position:relative;min-height:0;padding:22px 20px 18px;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 33%,rgba(255,199,79,.115),transparent 28%),linear-gradient(180deg,#211c13,#131711 44%,#09131a 100%);border-right:1px solid rgba(255,216,108,.08)}.kstorePreviewPane:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(140deg,rgba(255,255,255,.028),transparent 30%),repeating-linear-gradient(0deg,transparent 0 54px,rgba(255,223,132,.016) 55px);mask-image:linear-gradient(#000,transparent 80%)}.kstoreBrand{position:relative;z-index:3;display:flex;gap:11px}.kstoreBag{flex:0 0 auto;width:43px;height:43px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,rgba(255,221,112,.18),rgba(255,171,59,.08));border:1px solid rgba(255,218,112,.18);font-size:20px}.kstoreBrand small{display:block;font-size:8px;font-weight:1000;letter-spacing:.14em;color:#d1b75f}.kstoreBrand b{display:block;margin-top:2px;font-size:20px;color:#fff2c0}.kstoreBrand p{margin:4px 0 0;max-width:220px;font-size:9px;line-height:1.45;color:#918b73}.kstoreCharacterStage{position:relative;z-index:2;flex:1;min-height:315px;display:grid;place-items:center}.kstoreCharacterStage:after{content:'';position:absolute;bottom:26px;width:170px;height:28px;border-radius:50%;background:rgba(0,0,0,.32);filter:blur(6px)}.kstoreCharacterStage>.kwdCharacter{transform:scale(.73);animation:kwdBob 3.1s ease-in-out infinite}.kstoreTryOn{position:relative;z-index:4;padding:11px 12px;border-radius:15px;background:rgba(3,12,16,.58);border:1px solid rgba(255,220,111,.09)}.kstoreTryOn small{display:block;font-size:7px;letter-spacing:.13em;font-weight:1000;color:#9d8b50}.kstoreTryOn b{display:block;margin-top:2px;font-size:11px;color:#f1ead3}.kstoreTryOn span{display:block;margin-top:3px;font-size:8px;line-height:1.35;color:#7f8175}.kstoreWallet{position:relative;z-index:4;margin-top:8px;display:flex;justify-content:space-between;align-items:center;gap:9px;padding:10px 12px;border-radius:15px;background:linear-gradient(135deg,rgba(255,218,104,.095),rgba(255,187,67,.035));border:1px solid rgba(255,218,104,.12)}.kstoreWallet>span small{display:block;font-size:7px;letter-spacing:.09em;color:#9b8b5f}.kstoreWallet strong{display:block;margin-top:2px;font-size:15px;color:#ffe17a}.kstoreWallet>i{max-width:112px;font-style:normal;text-align:right;font-size:7px;line-height:1.35;color:#817b69}.kstoreWardrobeBtn{position:relative;z-index:4;margin-top:8px;display:grid;grid-template-columns:30px 1fr 20px;align-items:center;gap:8px;padding:9px 11px;border-radius:14px;border:1px solid rgba(103,232,255,.14);background:rgba(74,216,255,.055);color:#d8f7ff;text-align:left;cursor:pointer}.kstoreWardrobeBtn:hover{background:rgba(74,216,255,.09);border-color:rgba(103,232,255,.25)}.kstoreWardrobeBtn>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:rgba(103,232,255,.07)}.kstoreWardrobeBtn>b{font-size:9px}.kstoreWardrobeBtn>i{font-style:normal;color:#74e9ff}
.kstoreCatalog{min-height:0;display:flex;flex-direction:column;padding:22px 22px 17px;background:radial-gradient(circle at 87% 7%,rgba(255,212,93,.035),transparent 20%),linear-gradient(180deg,#07141e,#050d14)}.kstoreHeader{min-height:0;padding:0 0 14px;background:none;border:0;align-items:flex-start}.kstoreHeader small{font-size:8px;color:#927f4f}.kstoreHeader b{font-size:23px;margin:2px 0 3px;letter-spacing:-.03em}.kstoreHeader span{font-size:9px;color:#708998}.kstoreTabs{margin-bottom:0}.kstoreGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:1px 3px 12px;align-content:start}.kstoreItem{position:relative;min-height:215px;padding:0;display:grid;grid-template-columns:1fr;grid-template-rows:116px auto 45px;gap:0;align-items:stretch;border-radius:19px;overflow:hidden;background:linear-gradient(180deg,#0d1d28,#09151f);border-color:rgba(147,206,226,.08);cursor:pointer;transition:.16s transform,.16s border-color,.16s box-shadow}.kstoreItem:hover{transform:translateY(-2px);border-color:rgba(255,216,102,.22);box-shadow:0 14px 30px rgba(0,0,0,.16)}.kstoreItem.selected{border-color:rgba(255,216,102,.52);box-shadow:0 0 0 2px rgba(255,216,102,.055)}.kstoreItem.owned{border-color:rgba(105,237,174,.13)}.kstoreItem.equipped{border-color:rgba(101,235,255,.42)}.kstoreItem>.kwdItemCharacter{height:116px}.kstoreItem>.kwdItemCharacter .kwdCharacter{transform:scale(.27)!important}.kstoreItemCopy{padding:10px 11px 8px;min-width:0}.kstoreItemTop{display:flex;align-items:center;justify-content:space-between;gap:6px}.kstoreItemTop>b{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.kstoreItemTop>span{flex:0 0 auto;padding:4px 6px;border-radius:7px;background:rgba(102,239,174,.07);color:#70e9aa;font-size:6px;font-weight:1000;letter-spacing:.05em}.kstoreItemTop>span.price{background:rgba(255,215,100,.075);color:#ffdc78;font-size:7px}.kstoreItemCopy>small{display:block;margin-top:4px;color:#6f8898;font-size:7px}.kstoreAction{margin:0!important;width:100%;height:45px;border-radius:0!important;border:0!important;border-top:1px solid rgba(255,255,255,.045)!important;padding:0 10px!important;font-size:8px!important;font-weight:1000!important;cursor:pointer}.kstoreAction.buy{background:linear-gradient(135deg,#ffe071,#ffbd4c)!important;color:#312407!important}.kstoreAction.owned{background:rgba(89,225,255,.075)!important;color:#78e9ff!important}.kstoreAction.equipped{background:rgba(100,241,174,.065)!important;color:#76efad!important}.kstoreAction.short{display:flex;align-items:center;justify-content:center;gap:7px;background:rgba(255,199,94,.04)!important;color:#ceb873!important}.kstoreAction.short small{font-size:6px;color:#8d8060}.kstoreItem.equipped .kstoreAction{cursor:default}.kstoreEmpty{grid-column:1/-1;min-height:260px;align-self:stretch;justify-self:stretch;display:grid;place-items:center;align-content:center;border:1px dashed rgba(129,197,220,.12);border-radius:18px;background:rgba(255,255,255,.015)}.kstoreEmpty>span{font-size:34px}.kstoreFootNote{flex:0 0 auto;display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:13px;background:rgba(85,210,255,.035);border:1px solid rgba(85,210,255,.06)}.kstoreFootNote>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(85,210,255,.055)}.kstoreFootNote p{margin:0}.kstoreFootNote b{display:block;font-size:8px;color:#a4bac7}.kstoreFootNote small{display:block;margin-top:2px;font-size:7px;color:#687f8e}

/* Shared mini character cards override old emoji sizing rules */
.kwdItem .emo,.kstoreItem>.emo{display:none!important}.kwdColorDot{border-radius:50%}

/* Tablet */
@media(max-width:980px){
  .kwdWindow{grid-template-columns:340px minmax(0,1fr)}.kwdPreviewPane{padding:18px}.kwdGrid,.kstoreGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.kwdCharacterStage>.kwdCharacter{transform:scale(.78)}
  .kstoreWindow{grid-template-columns:290px minmax(0,1fr)}.kstorePreviewPane{padding:18px 15px}.kstoreCharacterStage>.kwdCharacter{transform:scale(.64)}
}
/* Mobile */
@media(max-width:680px){
  .kwdOverlay,.kstoreOverlay{padding:0}.kwdWindow,.kstoreWindow{width:100vw;height:100dvh;border:0;border-radius:0}
  .kwdWindow{grid-template-columns:1fr;grid-template-rows:285px minmax(0,1fr)}.kwdPreviewPane{padding:12px 13px;background:linear-gradient(180deg,#0b2130,#07151f)}.kwdPaneHead span{display:none}.kwdPaneHead b{font-size:20px}.kwdCharacterStage{position:absolute;left:0;top:41px;width:44%;height:235px;min-height:0;margin:0}.kwdCharacterStage>.kwdCharacter{transform:scale(.48)!important;margin-top:-52px}.kwdCharacterStage:after{bottom:20px;width:115px;height:18px}.kwdLookSummary{margin-left:44%;margin-top:8px;padding:9px}.kwdSummaryHead{margin-bottom:6px}.kwdSummaryHead>b{display:none}.kwdEquipped{grid-template-columns:1fr}.kwdEquipped span{padding:6px 7px;grid-template-columns:24px minmax(0,1fr)}.kwdEquipped span:nth-child(n+4){display:none}.kwdPreviewActions{margin-left:44%;grid-template-columns:1fr}.kwdWallet{display:none}.kwdGoShop{padding:7px 9px}.kwdCloset{padding:12px}.kwdClosetHead{margin-bottom:9px}.kwdClosetHead b{font-size:18px}.kwdClosetHead p{display:none}.kwdCollectionProgress{min-width:102px;padding:8px}.kwdTabs{padding-bottom:8px}.kwdTab{height:39px;grid-template-columns:21px auto;padding:0 8px}.kwdTabCount{display:none}.kwdCategoryIntro{padding:8px 9px;margin-bottom:8px}.kwdGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.kwdItem{min-height:157px;grid-template-rows:88px auto 31px}.kwdItemCharacter{height:88px}.kwdItemCharacter .kwdCharacter{top:-3px;transform:scale(.21)!important}.kwdItemCopy{padding:7px 8px 5px}.kwdStatus{height:31px}
  .kstoreWindow{display:grid;grid-template-columns:1fr;grid-template-rows:190px minmax(0,1fr)}.kstorePreviewPane{padding:11px 12px}.kstoreBrand p,.kstoreWallet>i,.kstoreTryOn span{display:none}.kstoreBrand b{font-size:17px}.kstoreBag{width:36px;height:36px}.kstoreCharacterStage{position:absolute;right:2px;top:28px;width:43%;height:160px;min-height:0}.kstoreCharacterStage>.kwdCharacter{transform:scale(.38)!important;margin-top:-72px}.kstoreCharacterStage:after{bottom:8px;width:100px;height:16px}.kstoreTryOn{margin-top:9px;width:54%;padding:8px 9px}.kstoreWallet{width:54%;margin-top:6px;padding:7px 9px}.kstoreWallet strong{font-size:12px}.kstoreWardrobeBtn{position:absolute;left:12px;bottom:10px;width:52%;padding:6px 8px}.kstoreCatalog{padding:12px}.kstoreHeader{padding-bottom:9px}.kstoreHeader b{font-size:18px}.kstoreHeader span{display:none}.kstoreGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.kstoreItem{min-height:180px;grid-template-rows:92px auto 39px}.kstoreItem>.kwdItemCharacter{height:92px}.kstoreItem>.kwdItemCharacter .kwdCharacter{top:-2px;transform:scale(.22)!important}.kstoreAction{height:39px}.kstoreFootNote{display:none}
}
@media(max-width:390px){.kwdGrid,.kstoreGrid{grid-template-columns:1fr 1fr}.kwdTabName{font-size:8px}.kwdTabIcon{display:none}.kwdTab{grid-template-columns:auto;padding:0 8px}.kwdItemCopy>b,.kstoreItemTop>b{font-size:9px!important}}
@keyframes kwdWardrobeFloat{0%,100%{transform:translateY(0) scale(.88)}50%{transform:translateY(-6px) scale(.89)}}
@keyframes kwdStoreFloat{0%,100%{transform:translateY(0) scale(.73)}50%{transform:translateY(-5px) scale(.74)}}
.kwdCharacterStage>.kwdCharacter{animation:kwdWardrobeFloat 3.1s ease-in-out infinite}
.kstoreCharacterStage>.kwdCharacter{animation:kwdStoreFloat 3.1s ease-in-out infinite}
@media(max-width:980px){.kwdCharacterStage>.kwdCharacter{animation:none;transform:scale(.78)}.kstoreCharacterStage>.kwdCharacter{animation:none;transform:scale(.64)}}


/* ===== v59.83.4 avatar expansion ===== */
/* New face slots */
.kwdCharacter[data-eyes=big] .kwdEye{width:21px;height:27px;top:1px}.kwdCharacter[data-eyes=big] .kwdEye.l{left:5px}.kwdCharacter[data-eyes=big] .kwdEye.r{right:5px}
.kwdCharacter[data-eyes=sleepy] .kwdEye{height:8px;top:14px;border-radius:9px 9px 3px 3px}.kwdCharacter[data-eyes=sleepy] .kwdEye:after{display:none}
.kwdCharacter[data-eyes=happy] .kwdEye{height:12px;top:11px;background:transparent;border:4px solid #07111b;border-bottom:0;border-left-color:transparent;border-right-color:transparent}.kwdCharacter[data-eyes=happy] .kwdEye:after{display:none}
.kwdCharacter[data-eyes=serious] .kwdEye{height:13px;top:10px;border-radius:8px}.kwdCharacter[data-eyes=serious] .kwdEye.l{transform:rotate(8deg)}.kwdCharacter[data-eyes=serious] .kwdEye.r{transform:rotate(-8deg)}
.kwdCharacter[data-eyes=pixel] .kwdEye{width:16px;height:16px;top:9px;border-radius:3px}.kwdCharacter[data-eyes=pixel] .kwdEye:after{width:4px;height:4px;border-radius:1px}
.kwdCharacter[data-eyes=sparkle] .kwdEye,.kwdCharacter[data-eyes=heart] .kwdEye,.kwdCharacter[data-eyes=cyber] .kwdEye{background:transparent}.kwdCharacter[data-eyes=sparkle] .kwdEye:after{content:'✦';display:block;left:-2px;top:-9px;width:auto;height:auto;background:none;color:#ffe46e;font-size:28px;text-shadow:0 0 8px rgba(255,228,110,.7)}
.kwdCharacter[data-eyes=heart] .kwdEye:after{content:'♥';display:block;left:-2px;top:-7px;width:auto;height:auto;background:none;color:#ff598d;font-size:24px;text-shadow:0 0 8px rgba(255,89,141,.55)}
.kwdCharacter[data-eyes=cyber] .kwdEye{top:8px;width:21px;height:12px;border-radius:4px;background:#5ff4ff;box-shadow:0 0 11px #46eaff}.kwdCharacter[data-eyes=cyber] .kwdEye:after{display:none}.kwdCharacter[data-eyes=cyber] .kwdEye.l{left:4px}.kwdCharacter[data-eyes=cyber] .kwdEye.r{right:4px}
.kwdCharacter[data-eyes=wink] .kwdEye.l{height:7px;top:15px;border-radius:8px}.kwdCharacter[data-eyes=wink] .kwdEye.l:after{display:none}
/* mouth/emotions */
.kwdCharacter[data-emotion=grin] .kwdMouth{left:22px;top:38px;width:35px;height:18px;background:#fff;border:4px solid #07111b;border-radius:5px 5px 20px 20px}
.kwdCharacter[data-emotion=surprised] .kwdMouth{left:31px;top:40px;width:16px;height:19px;background:#07111b;border:0;border-radius:50%}
.kwdCharacter[data-emotion=calm] .kwdMouth{left:27px;top:47px;width:25px;height:0;border:0;border-top:4px solid #07111b;border-radius:50%}
.kwdCharacter[data-emotion=determined] .kwdMouth{left:27px;top:46px;width:25px;height:7px;border:4px solid #07111b;border-bottom:0;border-radius:18px 18px 0 0}
.kwdCharacter[data-emotion=laugh] .kwdMouth{left:25px;top:38px;width:29px;height:23px;background:#551d2a;border:4px solid #07111b;border-radius:5px 5px 22px 22px;box-shadow:inset 0 -7px #ff7190}
.kwdCharacter[data-emotion=sad] .kwdMouth{left:27px;top:48px;width:25px;height:9px;border:4px solid #07111b;border-bottom:0;border-radius:18px 18px 0 0}
.kwdCharacter[data-emotion=tongue] .kwdMouth{left:25px;top:40px;width:29px;height:18px;background:#07111b;border:0;border-radius:5px 5px 18px 18px}.kwdCharacter[data-emotion=tongue] .kwdMouth:after{content:'';position:absolute;left:8px;top:9px;width:13px;height:12px;border-radius:7px;background:#ff7899}
.kwdCharacter[data-emotion=tiny] .kwdMouth{left:32px;top:45px;width:15px;height:6px;border-width:3px}
.kwdCharacter[data-emotion=neutral] .kwdMouth{left:29px;top:47px;width:21px;height:0;border:0;border-top:4px solid #07111b;border-radius:0}
/* arm silhouettes */
.kwdCharacter[data-arms=chunky] .kwdArm{width:52px;height:96px;border-radius:28px}.kwdCharacter[data-arms=chunky] .kwdArm.l{left:25px}.kwdCharacter[data-arms=chunky] .kwdArm.r{right:25px}
.kwdCharacter[data-arms=slim] .kwdArm{width:27px;height:108px;border-radius:17px}.kwdCharacter[data-arms=slim] .kwdArm.l{left:43px}.kwdCharacter[data-arms=slim] .kwdArm.r{right:43px}
.kwdCharacter[data-arms=mitten] .kwdArm:after{content:'';position:absolute;left:-5px;bottom:-9px;width:50px;height:42px;border-radius:50% 50% 44% 44%;background:#edf3fa;box-shadow:inset 0 -7px rgba(0,0,0,.1)}
.kwdCharacter[data-arms=block] .kwdArm{width:39px;height:96px;border-radius:8px}.kwdCharacter[data-arms=block] .kwdArm.l{left:34px}.kwdCharacter[data-arms=block] .kwdArm.r{right:34px}
.kwdCharacter[data-arms=robot] .kwdArm{background:repeating-linear-gradient(180deg,#7c93a5 0 20px,#425666 20px 27px);border:3px solid #9deeff;border-radius:14px;box-sizing:border-box}
.kwdCharacter[data-arms=paws] .kwdArm:after{content:'• •';position:absolute;left:-8px;bottom:-14px;width:56px;height:47px;display:grid;place-items:center;padding-top:8px;box-sizing:border-box;border-radius:50%;background:var(--body);color:var(--body2);font-size:16px;font-weight:1000;letter-spacing:4px}
.kwdCharacter[data-arms=sleeves] .kwdArm{background:#202a42}.kwdCharacter[data-arms=sleeves] .kwdArm:after{content:'';position:absolute;left:5px;bottom:1px;width:30px;height:24px;border-radius:50%;background:var(--body)}
.kwdCharacter[data-arms=energy] .kwdArm{background:linear-gradient(#4fefff,#4e68ff);box-shadow:0 0 18px rgba(75,228,255,.72);border:2px solid #b9fbff}
/* extra clothes */
.kwdCharacter[data-clothes=bomber] .kwdClothes{background:linear-gradient(#326f78,#173640);border-radius:26px 26px 38px 38px;box-shadow:inset 0 0 0 5px #274f58}.kwdCharacter[data-clothes=bomber] .kwdClothes:after{content:'';position:absolute;left:57px;top:0;width:7px;height:106px;background:#bce5d7}
.kwdCharacter[data-clothes=sweater] .kwdClothes{background:repeating-linear-gradient(135deg,#d77d9a 0 12px,#c46586 12px 24px);border-radius:28px 28px 40px 40px}.kwdCharacter[data-clothes=glitch] .kwdClothes{background:linear-gradient(135deg,#101726 0 34%,#38e8ff 34% 43%,#17172d 43% 66%,#ff50c8 66% 75%,#101726 75%);border-radius:14px;box-shadow:inset 0 0 0 4px rgba(126,245,255,.5)}
/* extra hats */
.kwdCharacter[data-hat=hood] .kwdHat:before{content:'';position:absolute;left:22px;top:31px;width:108px;height:78px;border:15px solid #27334b;border-bottom-width:7px;border-radius:60px 60px 32px 32px;box-sizing:border-box}.kwdCharacter[data-hat=cat] .kwdHat:before,.kwdCharacter[data-hat=cat] .kwdHat:after{content:'';position:absolute;top:25px;width:48px;height:58px;background:#ff87bb;clip-path:polygon(50% 0,100% 100%,0 100%)}.kwdCharacter[data-hat=cat] .kwdHat:before{left:25px;transform:rotate(-13deg)}.kwdCharacter[data-hat=cat] .kwdHat:after{right:25px;transform:rotate(13deg)}.kwdCharacter[data-hat=cyberhood] .kwdHat:before{content:'';position:absolute;left:20px;top:28px;width:112px;height:79px;border:14px solid #21283d;border-radius:60px 60px 34px 34px;box-sizing:border-box;box-shadow:0 0 0 3px #55eaff inset,0 0 14px rgba(75,231,255,.35)}
/* extra shoes */
.kwdCharacter[data-shoes=purple] .kwdShoe{background:#9c78ff}.kwdCharacter[data-shoes=slippers] .kwdShoe{top:341px;height:29px;background:#ff8fc3}.kwdCharacter[data-shoes=high] .kwdShoe{top:326px;height:47px;background:#e8eef6;border-radius:17px;box-shadow:inset 0 -9px #34485e}.kwdCharacter[data-shoes=cyber] .kwdShoe{top:327px;height:46px;background:#263446;border:3px solid #63f1ff;box-sizing:border-box;box-shadow:0 0 13px rgba(76,231,255,.45),inset 0 -8px #111b28}
/* extra accessories */
.kwdCharacter[data-acc=badge] .kwdAcc:before{content:'K';position:absolute;left:57px;top:73px;width:24px;height:27px;display:grid;place-items:center;border-radius:7px;background:#ffdf70;color:#1b2730;font-size:13px;font-weight:1000}.kwdCharacter[data-acc=controller] .kwdAcc:before{content:'✚  •';position:absolute;left:35px;top:68px;width:72px;height:38px;display:grid;place-items:center;border-radius:18px;background:#263447;border:3px solid #6cecff;color:#e8fbff;font-size:14px;letter-spacing:8px}.kwdCharacter[data-acc=holo] .kwdAcc:before{content:'◇';position:absolute;left:37px;top:-15px;color:#67f4ff;font-size:72px;line-height:1;text-shadow:0 0 15px #58edff;animation:kwdHolo 1.8s ease-in-out infinite}.kwdCharacter[data-acc=orbit] .kwdAcc:before{content:'';position:absolute;left:-4px;top:16px;width:118px;height:55px;border:4px solid rgba(255,219,92,.8);border-radius:50%;transform:rotate(-12deg);box-shadow:0 0 12px rgba(255,220,100,.45)}.kwdCharacter[data-acc=orbit] .kwdAcc:after{content:'';position:absolute;left:12px;top:25px;width:13px;height:13px;border-radius:50%;background:#ff67b7;box-shadow:78px 15px #69efff}
@keyframes kwdHolo{50%{transform:translateY(-5px);opacity:.7}}
/* quick looks + saved looks */
.kwdQuickLooks{margin:0 0 11px;padding:10px;border:1px solid rgba(113,218,245,.08);border-radius:16px;background:rgba(255,255,255,.018)}.kwdQuickTitle{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.kwdQuickTitle span b{display:block;font-size:9px;color:#c9e5ef}.kwdQuickTitle span small{display:block;margin-top:2px;font-size:7px;color:#607d8e}.kwdQuickTitle>button{border:1px solid rgba(114,236,255,.16);border-radius:10px;background:rgba(87,222,255,.07);color:#a9f2ff;padding:7px 10px;font-size:8px;font-weight:950;cursor:pointer}.kwdPresets,.kwdSavedLooks{display:flex;gap:6px;overflow:auto;scrollbar-width:none}.kwdPresets::-webkit-scrollbar,.kwdSavedLooks::-webkit-scrollbar{display:none}.kwdPreset{flex:0 0 auto;min-width:95px;height:39px;display:grid;grid-template-columns:25px 1fr;grid-template-rows:1fr 1fr;column-gap:6px;align-items:center;padding:5px 8px;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:#0a1823;color:#d7eef5;text-align:left;cursor:pointer}.kwdPreset>span{grid-row:1/3;font-size:17px}.kwdPreset>b{align-self:end;font-size:8px}.kwdPreset>small{align-self:start;font-size:6px;color:#65dfa0}.kwdPreset.locked{opacity:.55}.kwdPreset.locked>small{color:#a18d66}.kwdSavedLooks{margin-top:6px}.kwdSaveSlot{position:relative;flex:1 0 92px;display:flex}.kwdSaveSlot>button:first-child{width:100%;height:34px;display:grid;grid-template-columns:22px 1fr;grid-template-rows:1fr 1fr;column-gap:5px;align-items:center;padding:4px 7px;border:1px dashed rgba(113,216,244,.12);border-radius:10px;background:rgba(75,203,238,.03);color:#87a7b6;text-align:left;cursor:pointer}.kwdSaveSlot i{grid-row:1/3;font-style:normal;font-size:13px}.kwdSaveSlot b{align-self:end;font-size:7px}.kwdSaveSlot small{align-self:start;font-size:6px;color:#5f7d8d}.kwdSaveSlot.filled>button:first-child{border-style:solid;border-color:rgba(99,237,183,.14);color:#b9ead5}.kwdSaveSlot .overwrite{position:absolute;right:2px;top:2px;width:24px;height:30px;border:0;border-radius:8px;background:transparent;color:#6c8794;cursor:pointer}.kwdSaveSlot.filled>button:first-child{padding-right:27px}
/* locked collection cards remain visible */
.kwdItem.locked{opacity:.52;filter:saturate(.5)}.kwdItem.locked:hover{opacity:.72;filter:saturate(.8)}.kwdItem.locked .kwdStatus{color:#bda873;background:rgba(255,208,98,.035)}
/* make 8 categories comfortable */
.kwdTabs{flex:0 0 auto}.kwdTab{min-width:max-content}.kwdEquipped{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:150px;overflow:auto}.kwdEquipped span{min-height:38px}
@media(max-width:680px){.kwdQuickLooks{margin-bottom:8px;padding:7px}.kwdQuickTitle span small{display:none}.kwdPreset{min-width:82px}.kwdSavedLooks{display:none}.kwdEquipped span:nth-child(n+4){display:none}.kwdClosetHead p{display:none}}


/* ================= v59.83.5 · hair + clearer handheld props + expanded styles ================= */
.kwdHairBack,.kwdHairFront,.kwdHeld{position:absolute;pointer-events:none}
.kwdHairBack{z-index:2;left:44px;top:74px;width:162px;height:235px}
.kwdHairFront{z-index:8;left:55px;top:77px;width:140px;height:122px}
.kwdHeld{display:none;z-index:12;left:183px;top:231px;width:70px;height:70px;place-items:center;font-size:47px;line-height:1;transform:rotate(-8deg);filter:drop-shadow(0 6px 6px rgba(0,0,0,.3))}
.kwdCharacter[data-acc-place=hand] .kwdHeld{display:grid}.kwdCharacter[data-acc-place=hand] .kwdAcc{display:none!important}
.kwdCharacter[data-acc=umbrella] .kwdHeld{top:172px;left:180px;font-size:68px}.kwdCharacter[data-acc=balloon] .kwdHeld{top:168px;left:184px;font-size:64px}.kwdCharacter[data-acc=bouquet] .kwdHeld{font-size:57px;top:220px}.kwdCharacter[data-acc=laptop] .kwdHeld{font-size:52px;left:174px;top:224px}.kwdCharacter[data-acc=heartPillow] .kwdHeld{font-size:56px}
.kwdPlacementBadge{position:absolute!important;z-index:30;right:7px;top:7px;padding:4px 6px;border-radius:8px;background:rgba(12,25,33,.86);border:1px solid rgba(255,255,255,.08);color:#dff8ff!important;font-size:6px!important;font-style:normal!important;font-weight:1000!important;letter-spacing:.03em;box-shadow:0 4px 10px rgba(0,0,0,.18)}
.kwdCharacter[data-acc-place=hand] .kwdArm.r{z-index:11}

/* hair colours */
.kwdCharacter[data-hair*=Dark],.kwdCharacter[data-hair*=Black]{--hair:#29232d}
.kwdCharacter[data-hair*=Brown]{--hair:#6d4737}
.kwdCharacter[data-hair*=Blonde]{--hair:#e6bd68}
.kwdCharacter[data-hair*=Pink],.kwdCharacter[data-hair*=Rose]{--hair:#df73b0}
.kwdCharacter[data-hair*=Lavender]{--hair:#a981d8}
.kwdCharacter[data-hair*=Auburn]{--hair:#a95737}
.kwdCharacter[data-hair*=Blue]{--hair:#477fc9}
.kwdCharacter[data-hair*=Mint]{--hair:#55b7a1}
.kwdCharacter[data-hair=none] .kwdHairBack,.kwdCharacter[data-hair=none] .kwdHairFront{display:none}
.kwdCharacter:not([data-hair=none]) .kwdHairFront:before{content:'';position:absolute;left:16px;top:10px;width:108px;height:72px;background:var(--hair,#4d352f);clip-path:polygon(0 55%,7% 26%,24% 9%,50% 0,76% 8%,94% 27%,100% 58%,88% 45%,80% 72%,67% 45%,53% 76%,39% 45%,25% 69%,13% 44%);border-radius:48px 48px 25px 25px}
.kwdCharacter[data-hair=shortDark] .kwdHairBack,.kwdCharacter[data-hair=pixieBlue] .kwdHairBack,.kwdCharacter[data-hair=shortMint] .kwdHairBack{display:none}
.kwdCharacter[data-hair^=bob] .kwdHairBack:before{content:'';position:absolute;left:18px;top:19px;width:126px;height:127px;border-radius:55px 55px 42px 42px;background:var(--hair)}
.kwdCharacter[data-hair^=long] .kwdHairBack:before,.kwdCharacter[data-hair=wavyBlonde] .kwdHairBack:before{content:'';position:absolute;left:8px;top:18px;width:146px;height:202px;border-radius:60px 60px 48px 48px;background:var(--hair)}
.kwdCharacter[data-hair=wavyBlonde] .kwdHairBack:after{content:'';position:absolute;left:12px;bottom:1px;width:32px;height:59px;border-radius:50%;background:var(--hair);box-shadow:34px 7px var(--hair),68px 1px var(--hair),102px 8px var(--hair)}
.kwdCharacter[data-hair=ponytailBlonde] .kwdHairBack:before,.kwdCharacter[data-hair=sidePonyBrown] .kwdHairBack:before{content:'';position:absolute;left:21px;top:20px;width:121px;height:97px;border-radius:51px;background:var(--hair)}
.kwdCharacter[data-hair=ponytailBlonde] .kwdHairBack:after,.kwdCharacter[data-hair=sidePonyBrown] .kwdHairBack:after{content:'';position:absolute;right:-3px;top:60px;width:47px;height:132px;border-radius:50% 42% 55% 48%;background:var(--hair);transform:rotate(10deg)}
.kwdCharacter[data-hair=twintailPink] .kwdHairBack:before,.kwdCharacter[data-hair=pigtailsBlack] .kwdHairBack:before{content:'';position:absolute;left:-2px;top:64px;width:45px;height:135px;border-radius:50%;background:var(--hair);transform:rotate(9deg);box-shadow:121px 0 var(--hair)}
.kwdCharacter[data-hair=twintailPink] .kwdHairBack:after,.kwdCharacter[data-hair=pigtailsBlack] .kwdHairBack:after{content:'';position:absolute;left:20px;top:20px;width:122px;height:96px;border-radius:52px;background:var(--hair)}
.kwdCharacter[data-hair=braidsBrown] .kwdHairBack:before,.kwdCharacter[data-hair=braidsBrown] .kwdHairBack:after{content:'';position:absolute;top:69px;width:24px;height:24px;border-radius:50%;background:var(--hair);box-shadow:0 24px var(--hair),0 48px var(--hair),0 72px var(--hair),0 96px var(--hair)}
.kwdCharacter[data-hair=braidsBrown] .kwdHairBack:before{left:4px}.kwdCharacter[data-hair=braidsBrown] .kwdHairBack:after{right:4px}
.kwdCharacter[data-hair=braidBlonde] .kwdHairBack:after{content:'';position:absolute;right:2px;top:67px;width:25px;height:25px;border-radius:50%;background:var(--hair);box-shadow:0 25px var(--hair),0 50px var(--hair),0 75px var(--hair),0 100px var(--hair),0 125px var(--hair)}
.kwdCharacter[data-hair=braidBlonde] .kwdHairBack:before{content:'';position:absolute;left:21px;top:19px;width:121px;height:98px;border-radius:50px;background:var(--hair)}
.kwdCharacter[data-hair=curlyAuburn] .kwdHairBack:before{content:'';position:absolute;left:4px;top:23px;width:45px;height:45px;border-radius:50%;background:var(--hair);box-shadow:36px -10px var(--hair),74px -11px var(--hair),110px 0 var(--hair),-4px 39px var(--hair),35px 35px var(--hair),75px 37px var(--hair),111px 43px var(--hair),0 84px var(--hair),38px 79px var(--hair),80px 83px var(--hair),112px 90px var(--hair)}
.kwdCharacter[data-hair=bunBlack] .kwdHairBack:before{content:'';position:absolute;left:24px;top:23px;width:114px;height:94px;border-radius:50px;background:var(--hair)}.kwdCharacter[data-hair=bunBlack] .kwdHairBack:after{content:'';position:absolute;left:57px;top:-13px;width:52px;height:48px;border-radius:50%;background:var(--hair)}
.kwdCharacter[data-hair=spaceBunsPink] .kwdHairBack:before{content:'';position:absolute;left:25px;top:22px;width:112px;height:94px;border-radius:50px;background:var(--hair)}.kwdCharacter[data-hair=spaceBunsPink] .kwdHairBack:after{content:'';position:absolute;left:1px;top:-2px;width:50px;height:50px;border-radius:50%;background:var(--hair);box-shadow:111px 0 var(--hair)}

/* new eyes */
.kwdCharacter[data-eyes=lashes] .kwdEye:before{content:'';position:absolute;left:-5px;top:-7px;width:25px;height:9px;border-top:3px solid #07111b;transform:rotate(-8deg)}
.kwdCharacter[data-eyes=cute] .kwdEye{width:20px;height:26px;background:#3c2632}.kwdCharacter[data-eyes=cute] .kwdEye:before{content:'';position:absolute;right:2px;bottom:3px;width:4px;height:4px;border-radius:50%;background:#ff9abc}
.kwdCharacter[data-eyes=shy] .kwdEye{top:16px;height:7px;border-radius:7px}.kwdCharacter[data-eyes=shy] .kwdEye:after{display:none}
.kwdCharacter[data-eyes=diamond] .kwdEye,.kwdCharacter[data-eyes=rainbow] .kwdEye{width:20px;height:20px;top:7px;border-radius:4px;transform:rotate(45deg)}.kwdCharacter[data-eyes=diamond] .kwdEye{background:#70e9ff;box-shadow:0 0 10px rgba(112,233,255,.7)}.kwdCharacter[data-eyes=rainbow] .kwdEye{background:linear-gradient(135deg,#ff6f9e,#ffe467,#67e8ff)}.kwdCharacter[data-eyes=diamond] .kwdEye:after,.kwdCharacter[data-eyes=rainbow] .kwdEye:after{display:none}
.kwdCharacter[data-eyes=catEye] .kwdEye{width:22px;height:12px;top:10px;border-radius:80% 20% 80% 20%}.kwdCharacter[data-eyes=catEye] .kwdEye.l{transform:rotate(8deg)}.kwdCharacter[data-eyes=catEye] .kwdEye.r{transform:rotate(-8deg)}
.kwdCharacter[data-eyes=closed] .kwdEye{height:10px;top:12px;background:transparent;border-top:4px solid #07111b;border-radius:50%}.kwdCharacter[data-eyes=closed] .kwdEye:after{display:none}

/* new emotions */
.kwdCharacter[data-emotion=kiss] .kwdMouth{left:33px;top:44px;width:13px;height:8px;background:#8a304c;border:0;border-radius:50%}
.kwdCharacter[data-emotion=cheeky] .kwdMouth{left:27px;top:41px;width:29px;height:11px;transform:rotate(-7deg)}
.kwdCharacter[data-emotion=joy] .kwdMouth{left:22px;top:38px;width:35px;height:20px;background:#fff;border:4px solid #07111b;border-radius:6px 6px 20px 20px}
.kwdCharacter[data-emotion=wow] .kwdMouth{left:28px;top:38px;width:23px;height:26px;background:#07111b;border:0;border-radius:50%}
.kwdCharacter[data-emotion=soft] .kwdMouth{left:29px;top:43px;width:21px;height:8px;border-width:3px}
.kwdCharacter[data-emotion=blush] .kwdFace:after{content:'';position:absolute;left:-8px;top:34px;width:18px;height:9px;border-radius:50%;background:rgba(255,112,151,.42);box-shadow:75px 0 rgba(255,112,151,.42)}

/* new arm variants */
.kwdCharacter[data-arms=pinkGloves] .kwdArm:after,.kwdCharacter[data-arms=whiteGloves] .kwdArm:after{content:'';position:absolute;left:-3px;bottom:-7px;width:46px;height:39px;border-radius:50%;box-shadow:inset 0 -6px rgba(0,0,0,.08)}
.kwdCharacter[data-arms=pinkGloves] .kwdArm:after{background:#ff8fc5}.kwdCharacter[data-arms=whiteGloves] .kwdArm:after{background:#f6fbff}
.kwdCharacter[data-arms=ruffle] .kwdArm{width:34px;height:103px}.kwdCharacter[data-arms=ruffle] .kwdArm:after{content:'';position:absolute;left:-9px;bottom:8px;width:52px;height:24px;border-radius:50%;background:#fff0f8;box-shadow:0 12px var(--body)}
.kwdCharacter[data-arms=cuffs] .kwdArm:after{content:'';position:absolute;left:0;bottom:8px;width:40px;height:21px;border-radius:8px;background:#f4f7fb;box-shadow:0 14px 0 -5px var(--body)}
.kwdCharacter[data-arms=bracelet] .kwdArm:after{content:'';position:absolute;left:1px;bottom:15px;width:38px;height:10px;border-radius:8px;background:#ffd66f;box-shadow:0 8px 0 -1px var(--body)}
.kwdCharacter[data-arms=softSleeves] .kwdArm{background:#d987ac}.kwdCharacter[data-arms=softSleeves] .kwdArm:after{content:'';position:absolute;left:5px;bottom:-2px;width:30px;height:24px;border-radius:50%;background:var(--body)}

/* bows, clips and extra headwear */
.kwdCharacter[data-hat=bowPink] .kwdHat:before,.kwdCharacter[data-hat=bowRed] .kwdHat:before{content:'🎀';position:absolute;left:47px;top:7px;font-size:62px;line-height:1}
.kwdCharacter[data-hat=doubleBow] .kwdHat:before{content:'🎀';position:absolute;left:13px;top:24px;font-size:43px;line-height:1}.kwdCharacter[data-hat=doubleBow] .kwdHat:after{content:'🎀';position:absolute;right:9px;top:24px;font-size:43px;line-height:1}
.kwdCharacter[data-hat=headbandPink] .kwdHat:before,.kwdCharacter[data-hat=headbandPearl] .kwdHat:before{content:'';position:absolute;left:30px;top:31px;width:91px;height:68px;border:9px solid #ff8fc3;border-bottom:0;border-radius:55px 55px 0 0}.kwdCharacter[data-hat=headbandPearl] .kwdHat:before{border-color:#fff0cf;border-width:7px;border-style:dotted}
.kwdCharacter[data-hat=tiara] .kwdHat:before{content:'👑';position:absolute;left:49px;top:14px;font-size:47px}
.kwdCharacter[data-hat=flowerClip] .kwdHat:before{content:'🌸';position:absolute;right:17px;top:39px;font-size:39px}
.kwdCharacter[data-hat=beretPink] .kwdHat:before,.kwdCharacter[data-hat=beretCream] .kwdHat:before{content:'';position:absolute;left:25px;top:27px;width:105px;height:48px;border-radius:50% 50% 42% 42%;transform:rotate(-7deg);background:#d56b9b}.kwdCharacter[data-hat=beretCream] .kwdHat:before{background:#e9cfad}
.kwdCharacter[data-hat=bunnyEars] .kwdHat:before,.kwdCharacter[data-hat=bunnyEars] .kwdHat:after{content:'';position:absolute;top:-11px;width:31px;height:78px;border-radius:60% 60% 45% 45%;background:#f6d8e8;box-shadow:inset 0 0 0 8px #f0aaca}.kwdCharacter[data-hat=bunnyEars] .kwdHat:before{left:36px;transform:rotate(-11deg)}.kwdCharacter[data-hat=bunnyEars] .kwdHat:after{right:36px;transform:rotate(11deg)}
.kwdCharacter[data-hat=ribbonBlue] .kwdHat:before{content:'🎀';position:absolute;right:15px;top:35px;font-size:49px;filter:hue-rotate(135deg)}
.kwdCharacter[data-hat=heartClips] .kwdHat:before{content:'♥  ♥';position:absolute;left:38px;top:45px;color:#ff739f;font-size:29px;letter-spacing:32px}
.kwdCharacter[data-hat=butterflyClip] .kwdHat:before{content:'🦋';position:absolute;right:12px;top:38px;font-size:39px}
.kwdCharacter[data-hat=capPink] .kwdHat:before{content:'';position:absolute;left:23px;top:35px;width:99px;height:46px;background:#ff89ba;border-radius:53px 53px 20px 20px}.kwdCharacter[data-hat=capPink] .kwdHat:after{content:'';position:absolute;left:88px;top:68px;width:57px;height:15px;background:#d76596;border-radius:0 18px 18px 8px;transform:rotate(6deg)}
.kwdCharacter[data-hat=starClips] .kwdHat:before{content:'★  ★';position:absolute;left:39px;top:42px;color:#ffe675;font-size:27px;letter-spacing:31px}

/* dresses and expanded clothes */
.kwdCharacter[data-clothes^=dress] .kwdClothes,.kwdCharacter[data-clothes=sundress] .kwdClothes,.kwdCharacter[data-clothes=floralDress] .kwdClothes,.kwdCharacter[data-clothes=schoolDress] .kwdClothes,.kwdCharacter[data-clothes=hoodieDress] .kwdClothes,.kwdCharacter[data-clothes=denimDress] .kwdClothes,.kwdCharacter[data-clothes=ballerina] .kwdClothes,.kwdCharacter[data-clothes=cottage] .kwdClothes,.kwdCharacter[data-clothes=winterDress] .kwdClothes{left:51px;top:193px;width:148px;height:132px;border-radius:25px 25px 40px 40px;clip-path:polygon(14% 0,86% 0,100% 100%,0 100%)}
.kwdCharacter[data-clothes=dressPink] .kwdClothes{background:#ff86bd}.kwdCharacter[data-clothes=dressBlue] .kwdClothes{background:#7ebdff}.kwdCharacter[data-clothes=dressLavender] .kwdClothes{background:#a98be8}.kwdCharacter[data-clothes=dressBlack] .kwdClothes{background:#252431}
.kwdCharacter[data-clothes=dressHeart] .kwdClothes{background:#f58aae}.kwdCharacter[data-clothes=dressHeart] .kwdClothes:after{content:'♥';position:absolute;left:57px;top:37px;color:#fff0f6;font-size:31px}
.kwdCharacter[data-clothes=dressStar] .kwdClothes{background:#5a58a8}.kwdCharacter[data-clothes=dressStar] .kwdClothes:after{content:'★';position:absolute;left:57px;top:35px;color:#ffe776;font-size:31px}
.kwdCharacter[data-clothes=dressGalaxy] .kwdClothes{background:radial-gradient(circle at 25% 25%,#7ef1ff 0 3px,transparent 4px),radial-gradient(circle at 70% 52%,#ff84da 0 4px,transparent 5px),linear-gradient(145deg,#25214c,#3a2a72)}
.kwdCharacter[data-clothes=dressFairy] .kwdClothes{background:linear-gradient(#a5ecd8,#65bba8);box-shadow:inset 0 0 0 4px rgba(255,255,255,.25)}
.kwdCharacter[data-clothes=dressPrincess] .kwdClothes{background:linear-gradient(#f2b0d0,#d884b3);box-shadow:inset 0 -13px #f8d4e4}.kwdCharacter[data-clothes=dressPrincess] .kwdClothes:after{content:'✦';position:absolute;left:61px;top:28px;color:#ffeab0;font-size:25px}
.kwdCharacter[data-clothes=sundress] .kwdClothes{background:#ffd58d}.kwdCharacter[data-clothes=floralDress] .kwdClothes{background:#f4a9b9}.kwdCharacter[data-clothes=floralDress] .kwdClothes:after{content:'✿  ✿';position:absolute;left:27px;top:38px;color:#fff2a4;font-size:22px;letter-spacing:24px}
.kwdCharacter[data-clothes=schoolDress] .kwdClothes{background:linear-gradient(#eef4fb 0 31%,#2d4668 31%)}.kwdCharacter[data-clothes=hoodieDress] .kwdClothes{background:#8f75c7}.kwdCharacter[data-clothes=denimDress] .kwdClothes{background:#5680a4}
.kwdCharacter[data-clothes=ballerina] .kwdClothes{background:linear-gradient(#f6a7cb 0 52%,#ffd6e8 52%);clip-path:polygon(16% 0,84% 0,85% 50%,100% 68%,72% 80%,50% 73%,28% 80%,0 68%,15% 50%)}
.kwdCharacter[data-clothes=cottage] .kwdClothes{background:linear-gradient(#e8c197,#c99170)}.kwdCharacter[data-clothes=winterDress] .kwdClothes{background:#8da9c8;box-shadow:inset 0 9px #f1f7fb,inset 0 -12px #6e89a9}
.kwdCharacter[data-clothes=cardiganSkirt] .kwdClothes,.kwdCharacter[data-clothes=blouseSkirt] .kwdClothes,.kwdCharacter[data-clothes=sweaterSkirt] .kwdClothes{left:57px;width:136px;height:126px;border-radius:25px 25px 33px 33px}.kwdCharacter[data-clothes=cardiganSkirt] .kwdClothes{background:linear-gradient(#e7b6c8 0 52%,#71465f 52%)}.kwdCharacter[data-clothes=blouseSkirt] .kwdClothes{background:linear-gradient(#f5f7fb 0 49%,#4b5578 49%)}.kwdCharacter[data-clothes=sweaterSkirt] .kwdClothes{background:linear-gradient(#c899c4 0 52%,#6e4f72 52%)}
.kwdCharacter[data-clothes=sailor] .kwdClothes{background:linear-gradient(#eff5fb 0 69%,#304a74 69%);border-radius:25px 25px 38px 38px}.kwdCharacter[data-clothes=sailor] .kwdClothes:after{content:'▼';position:absolute;left:50px;top:0;color:#304a74;font-size:31px}
.kwdCharacter[data-clothes=overalls] .kwdClothes{background:linear-gradient(#d7a46f 0 31%,#5c88b0 31%);border-radius:24px 24px 38px 38px}.kwdCharacter[data-clothes=pinkHoodie] .kwdClothes{background:linear-gradient(#e783b2,#c96f9b);border-radius:27px 27px 38px 38px}.kwdCharacter[data-clothes=pastelSweater] .kwdClothes{background:repeating-linear-gradient(0deg,#b9a6dc 0 18px,#e8d6f6 18px 27px);border-radius:27px}

/* expanded shoes */
.kwdCharacter[data-shoes=ballet] .kwdShoe{top:343px;height:27px;background:#f5b6d0}.kwdCharacter[data-shoes=maryJane] .kwdShoe{top:338px;height:33px;background:#3b3040;box-shadow:inset 0 7px #f2d4df}.kwdCharacter[data-shoes=pinkSneakers] .kwdShoe{background:#ff92bd}.kwdCharacter[data-shoes=bowShoes] .kwdShoe{background:#f0a2c3}.kwdCharacter[data-shoes=bowShoes] .kwdShoe:after{content:'🎀';position:absolute;left:21px;top:-12px;font-size:18px}.kwdCharacter[data-shoes=pastel] .kwdShoe{background:linear-gradient(135deg,#a8d7ef,#d6b4eb)}.kwdCharacter[data-shoes=pinkBoots] .kwdShoe,.kwdCharacter[data-shoes=rainPink] .kwdShoe,.kwdCharacter[data-shoes=ankleBoots] .kwdShoe{top:326px;height:47px}.kwdCharacter[data-shoes=pinkBoots] .kwdShoe{background:#d96f9f}.kwdCharacter[data-shoes=rainPink] .kwdShoe{background:#f284b2}.kwdCharacter[data-shoes=creamShoes] .kwdShoe{background:#f1d2ad}.kwdCharacter[data-shoes=heartShoes] .kwdShoe{background:#ff83a8}.kwdCharacter[data-shoes=heartShoes] .kwdShoe:after{content:'♥';position:absolute;left:25px;top:6px;color:#fff;font-size:16px}.kwdCharacter[data-shoes=glitter] .kwdShoe{background:linear-gradient(135deg,#f1d8ff,#cab7ef);box-shadow:inset 0 -8px rgba(104,74,139,.18),0 0 10px rgba(230,199,255,.5)}.kwdCharacter[data-shoes=lavenderShoes] .kwdShoe{background:#a489e5}.kwdCharacter[data-shoes=loafers] .kwdShoe{background:#6d4d3d}.kwdCharacter[data-shoes=ankleBoots] .kwdShoe{background:#443a48}

/* body accessories that intentionally are not handheld */
.kwdCharacter[data-acc=pearlNecklace] .kwdAcc:before{content:'•••••••';position:absolute;left:14px;top:56px;color:#fff3df;font-size:22px;letter-spacing:-1px;transform:rotate(2deg)}
.kwdCharacter[data-acc=heartNecklace] .kwdAcc:before{content:'♡';position:absolute;left:43px;top:51px;color:#ff6d9e;font-size:33px;text-shadow:0 -12px 0 #e7be86}

/* accessory category should visually communicate placement */
.kwdCharacter[data-acc-place=hand] .kwdBack:before,.kwdCharacter[data-acc-place=hand] .kwdBack:after{pointer-events:none}

/* ========================================================================== */
/* Koderia v59.83.6 · Street layout in native Koderia visual language         */
/* ========================================================================== */

.profileStyleLaunchers{margin-left:auto;align-self:center;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.profileStyleLaunch{min-height:38px;padding:9px 12px;border-radius:13px;border:1px solid rgba(107,226,255,.15);background:rgba(70,203,237,.055);color:#dff9ff;font-size:10px;font-weight:950;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.025);transition:.16s transform,.16s border-color,.16s background}
.profileStyleLaunch:hover{transform:translateY(-1px);border-color:rgba(107,226,255,.28);background:rgba(70,203,237,.09)}
.profileStyleLaunch.store{border-color:rgba(170,143,255,.16);background:rgba(132,102,232,.055);color:#ebe5ff}.profileStyleLaunch.store:hover{border-color:rgba(170,143,255,.3);background:rgba(132,102,232,.095)}
.profileWardrobeLaunch{display:none!important}

.kwdStreetWindow,.kstoreStreetWindow{width:min(1240px,calc(100vw - 34px));height:min(830px,calc(100dvh - 30px));display:block;overflow:hidden;border-radius:27px;border:1px solid rgba(132,214,239,.11);background:linear-gradient(180deg,#07131d,#050b12);box-shadow:0 34px 110px rgba(0,0,0,.62),inset 0 1px rgba(255,255,255,.025)}

.kwdStreetHeader,.kstoreStreetHeader{height:76px;display:flex;align-items:center;gap:16px;padding:12px 16px 12px 18px;background:linear-gradient(180deg,rgba(15,36,50,.98),rgba(9,24,35,.98));border-bottom:1px solid rgba(124,213,241,.1)}
.kwdStreetBrand,.kstoreStreetBrand{display:flex;align-items:center;gap:11px;min-width:0}
.kwdStreetIcon,.kstoreStreetIcon{flex:0 0 auto;width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,rgba(101,229,255,.13),rgba(116,100,232,.075));border:1px solid rgba(110,226,255,.14);font-size:20px;box-shadow:inset 0 1px rgba(255,255,255,.04)}
.kwdStreetBrand small,.kstoreStreetBrand small{display:block;font-size:7px;line-height:1.2;letter-spacing:.14em;font-weight:1000;color:#6fdff5}
.kwdStreetBrand b,.kstoreStreetBrand b{display:block;margin-top:2px;font-size:19px;line-height:1.05;color:#f2f9fd;letter-spacing:-.025em}
.kwdStreetBrand span:not(.kwdStreetIcon),.kstoreStreetBrand span:not(.kstoreStreetIcon){display:block;margin-top:3px;max-width:440px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px;color:#708998}
.kwdStreetHeaderStats,.kstoreStreetHeaderActions{margin-left:auto;display:flex;align-items:center;gap:8px}
.kwdStreetStat,.kstoreStreetWallet{min-width:88px;padding:7px 10px;border-radius:12px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.055)}
.kwdStreetStat small,.kstoreStreetWallet small{display:block;font-size:6px;letter-spacing:.09em;color:#6b8494;font-weight:900}.kwdStreetStat b,.kstoreStreetWallet b{display:block;margin-top:1px;font-size:10px;color:#e6f7fc}.kwdStreetStat.coins b,.kstoreStreetWallet b{color:#ffe080}
.kwdStreetSwitch,.kstoreWardrobeBtn{height:40px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border-radius:12px;border:1px solid rgba(112,225,255,.14);background:rgba(75,210,245,.06);color:#d9f8ff;font-size:9px;font-weight:950;cursor:pointer;transition:.15s background,.15s border-color}.kwdStreetSwitch:hover,.kstoreWardrobeBtn:hover{background:rgba(75,210,245,.1);border-color:rgba(112,225,255,.25)}
.kwdStreetHeader .kwdClose,.kstoreStreetHeader .kstoreClose{position:static;flex:0 0 40px;width:40px;height:40px;padding:0;border-radius:12px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.035);color:#b9ccd6;font-size:16px}

/* wardrobe 5 structure */
.kwdStreetBody{height:calc(100% - 76px);display:grid;grid-template-columns:305px 285px minmax(0,1fr);min-height:0}
.kwdStreetAvatarPane{min-height:0;padding:16px;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 39%,rgba(87,222,255,.105),transparent 34%),linear-gradient(180deg,#0b202e,#07131c);border-right:1px solid rgba(115,206,235,.08)}
.kwdStreetSectionLabel,.kstoreStreetPreviewLabel{font-size:7px;letter-spacing:.14em;font-weight:1000;color:#6fdff5}
.kwdStreetAvatarPane .kwdCharacterStage{flex:1;min-height:370px;border:1px solid rgba(113,210,240,.07);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.005));overflow:hidden}
.kwdStreetAvatarPane .kwdCharacterStage>.kwdCharacter{transform:scale(.82);animation:kwdBob 3s ease-in-out infinite}
.kwdStreetAvatarPane .kwdCharacterStage:after{bottom:31px;width:165px;height:26px}
.kwdRandomStreet{height:43px;margin-top:10px;border-radius:13px;border:1px solid rgba(104,231,255,.14);background:linear-gradient(135deg,rgba(83,221,255,.105),rgba(117,96,229,.075));color:#dcf8ff;font-size:9px;font-weight:950;cursor:pointer}.kwdRandomStreet:hover{border-color:rgba(104,231,255,.28);background:linear-gradient(135deg,rgba(83,221,255,.15),rgba(117,96,229,.1))}
.kwdCollectionMeter{margin-top:10px;padding:10px 11px;border-radius:13px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05)}.kwdCollectionMeter>span{display:block;font-size:7px;color:#708998}.kwdCollectionMeter>i{display:block;height:6px;margin-top:7px;border-radius:999px;background:#102532;overflow:hidden}.kwdCollectionMeter em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#54dcf5,#8375ee)}

.kwdStreetEquippedPane{min-height:0;overflow:auto;padding:16px;background:linear-gradient(180deg,#091925,#07121b);border-right:1px solid rgba(115,206,235,.07)}
.kwdStreetEquippedHead{display:flex;align-items:end;justify-content:space-between;margin:4px 0 9px}.kwdStreetEquippedHead>b{font-size:16px;color:#edf8fc}.kwdStreetEquippedHead>span{font-size:7px;color:#6d8798}
.kwdStreetEquippedPane .kwdEquipped{display:grid;grid-template-columns:1fr;gap:6px}.kwdStreetEquippedPane .kwdEquipped>span{min-height:43px;display:grid;grid-template-columns:31px 70px minmax(0,1fr);align-items:center;gap:7px;padding:6px 8px;border-radius:12px;border:1px solid rgba(126,200,223,.07);background:rgba(255,255,255,.018)}.kwdStreetEquippedPane .kwdEquipped>span>i{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:rgba(85,220,255,.055);font-style:normal;font-size:15px}.kwdStreetEquippedPane .kwdEquipped small{font-size:6px;color:#6d8796}.kwdStreetEquippedPane .kwdEquipped b{margin:0!important;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px!important;color:#c9dce5!important;text-align:right}
.kwdStreetSaveBox{margin-top:11px;padding:11px;border-radius:15px;background:linear-gradient(135deg,rgba(78,218,255,.065),rgba(105,91,218,.05));border:1px solid rgba(103,224,255,.1)}.kwdStreetSaveBox small{display:block;font-size:6px;letter-spacing:.1em;color:#67dff5;font-weight:1000}.kwdStreetSaveBox b{display:block;margin-top:2px;font-size:10px;color:#e4f4f9}.kwdStreetSaveBox p{margin:4px 0 9px;font-size:7px;line-height:1.4;color:#6f8796}.kwdStreetSaveBox button{width:100%;height:34px;border-radius:10px;border:1px solid rgba(106,230,255,.14);background:rgba(81,219,250,.07);color:#c9f7ff;font-size:8px;font-weight:950;cursor:pointer}
.kwdStreetSaved{margin-top:12px}.kwdStreetSavedHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.kwdStreetSavedHead b{font-size:10px;color:#dcebf1}.kwdStreetSavedHead small{font-size:7px;color:#668091}
.kwdStreetSaved .kwdSavedLooks{display:grid;grid-template-columns:1fr;gap:7px}.kwdStreetSaved .kwdSaveSlot{min-height:64px;display:grid;grid-template-columns:55px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px;border-radius:13px;background:rgba(255,255,255,.018);border:1px solid rgba(126,200,223,.07)}.kwdSavedPreview{width:55px;height:48px;display:grid;place-items:center;border-radius:10px;background:radial-gradient(circle,rgba(90,220,255,.08),rgba(255,255,255,.01));border:1px solid rgba(101,225,255,.075);font-size:15px;letter-spacing:1px}.kwdSavedPreview.empty{color:#5b7483;font-size:19px}.kwdSavedCopy{min-width:0}.kwdSavedCopy b{display:block;font-size:8px;color:#d7e9f0}.kwdSavedCopy small{display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:6px;color:#637c8c}.kwdSavedActions{display:flex;gap:4px}.kwdSavedMain,.kwdSavedRewrite{height:30px;border-radius:9px;border:1px solid rgba(105,230,255,.12);background:rgba(80,217,249,.06);color:#bfefff;font-size:7px;font-weight:950;cursor:pointer}.kwdSavedMain{padding:0 8px}.kwdSavedRewrite{width:30px;padding:0}.kwdSaveSlot:not(.filled) .kwdSavedMain{grid-column:auto}

.kwdStreetCatalog{min-height:0;padding:16px 16px 12px;background:radial-gradient(circle at 88% 2%,rgba(83,220,255,.035),transparent 22%),linear-gradient(180deg,#07141e,#050d14)}
.kwdStreetCatalog .kwdClosetHead{padding:0 0 10px;border:0;background:none}.kwdStreetCatalog .kwdClosetHead small{font-size:7px;color:#6edff4}.kwdStreetCatalog .kwdClosetHead b{font-size:20px}.kwdStreetCatalog .kwdClosetHead p{font-size:8px;color:#6c8595}
.kwdStreetCatalog .kwdQuickLooks{padding:9px 10px;margin:0 0 9px;border-radius:14px;background:rgba(255,255,255,.018);border:1px solid rgba(126,200,223,.055)}.kwdStreetCatalog .kwdQuickTitle{margin:0 0 7px}.kwdStreetCatalog .kwdQuickTitle b{font-size:8px}.kwdStreetCatalog .kwdQuickTitle small{font-size:6px}.kwdStreetCatalog .kwdPresets{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.kwdStreetCatalog .kwdPreset{min-height:49px;padding:6px}.kwdStreetCatalog .kwdPreset>span{font-size:14px}.kwdStreetCatalog .kwdPreset>b{font-size:6px}.kwdStreetCatalog .kwdPreset>small{font-size:5px}
.kwdStreetCatalog .kwdTabs{margin:0 0 8px;padding-bottom:2px}
.kwdStreetCatalog .kwdCategoryIntro{margin-bottom:8px}
.kwdStreetCatalog .kwdGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-bottom:8px}.kwdStreetCatalog .kwdItem{min-height:170px;grid-template-rows:96px auto 31px;border-radius:16px}.kwdStreetCatalog .kwdItemCharacter{height:96px}.kwdStreetCatalog .kwdItemCopy{padding:8px 9px 5px}.kwdStreetCatalog .kwdStatus{height:31px}

/* store 5 structure */
.kstoreStreetBody{height:calc(100% - 76px);display:grid;grid-template-columns:minmax(0,1fr) 325px;min-height:0}
.kstoreStreetCatalog{min-height:0;padding:15px 16px 12px;background:radial-gradient(circle at 10% 0%,rgba(100,228,255,.035),transparent 22%),linear-gradient(180deg,#07141e,#050d14)}
.kstoreMarketBanner{flex:0 0 auto;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:9px;padding:11px 13px;border-radius:15px;background:linear-gradient(120deg,rgba(72,213,247,.075),rgba(113,95,224,.045));border:1px solid rgba(108,225,255,.08)}.kstoreMarketBanner small{display:block;font-size:6px;letter-spacing:.12em;color:#67def4;font-weight:1000}.kstoreMarketBanner b{display:block;margin-top:2px;font-size:15px;color:#e9f8fc}.kstoreMarketBanner>div>span{display:block;margin-top:3px;font-size:7px;color:#6c8594}.kstoreMarketBadges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.kstoreMarketBadges span{padding:6px 8px;border-radius:9px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);font-size:7px;color:#a7c0cc}
.kstoreStreetCatalog .kstoreTabs{margin-bottom:7px}.kstoreStreetCatalog .kstoreCategoryHead{margin-bottom:8px}
.kstoreStreetCatalog .kstoreGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-bottom:9px}.kstoreStreetCatalog .kstoreItem{min-height:181px;grid-template-rows:92px auto 38px;border-radius:16px}.kstoreStreetCatalog .kstoreItem>.kwdItemCharacter{height:92px}.kstoreStreetCatalog .kstoreItemCopy{padding:8px 9px 5px}.kstoreStreetCatalog .kstoreAction{height:38px!important}.kstoreStreetCatalog .kstoreFootNote{padding:7px 9px}
.kstoreStreetPreview{min-height:0;padding:15px;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 34%,rgba(105,228,255,.1),transparent 32%),linear-gradient(180deg,#0b202e,#07131c);border-left:1px solid rgba(116,209,237,.08);border-right:0}
.kstoreStreetPreview .kstoreCharacterStage{flex:1;min-height:365px;border:1px solid rgba(113,210,240,.07);border-radius:20px;background:rgba(255,255,255,.012);overflow:hidden}.kstoreStreetPreview .kstoreCharacterStage>.kwdCharacter{transform:scale(.78)}.kstoreStreetPreview .kstoreCharacterStage:after{bottom:26px}
.kstoreStreetPreview .kstoreTryOn{margin-top:9px;padding:11px;border-radius:14px;background:rgba(255,255,255,.02);border:1px solid rgba(113,207,235,.07)}.kstoreStreetPreview .kstoreTryOn small{color:#69dff5}.kstoreStreetPreview .kstoreTryOn b{color:#e6f4f9}.kstoreStreetPreview .kstoreTryOn span{color:#6e8796}
.kstoreStreetTip{margin-top:8px;display:flex;gap:8px;padding:9px;border-radius:13px;background:rgba(98,229,255,.035);border:1px solid rgba(98,229,255,.06)}.kstoreStreetTip>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(86,218,248,.05)}.kstoreStreetTip p{margin:0}.kstoreStreetTip b{display:block;font-size:7px;color:#b4cbd5}.kstoreStreetTip small{display:block;margin-top:2px;font-size:6px;color:#657e8d;line-height:1.35}
.kstoreStreetPreview .kstoreWardrobeBtn.bottom{margin-top:8px;width:100%;display:grid;grid-template-columns:25px 1fr 16px;text-align:left}.kstoreStreetPreview .kstoreWardrobeBtn.bottom i{font-style:normal;color:#73e5f9}

/* states stay native to Koderia: cyan / violet / green; gold only for coin purchase */
.kstoreStreetCatalog .kstoreItem:hover{border-color:rgba(103,228,255,.24)}.kstoreStreetCatalog .kstoreItem.selected{border-color:rgba(117,102,232,.48);box-shadow:0 0 0 2px rgba(117,102,232,.055)}.kstoreStreetCatalog .kstoreItemTop>span.price{background:rgba(255,215,100,.07);color:#ffdb77}.kstoreStreetCatalog .kstoreAction.buy{background:linear-gradient(135deg,#ffe075,#ffc356)!important;color:#2d2409!important}

@media(max-width:1080px){
  .kwdStreetBody{grid-template-columns:275px 250px minmax(0,1fr)}
  .kwdStreetCatalog .kwdGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kwdStreetCatalog .kwdPresets{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kstoreStreetCatalog .kstoreGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kstoreStreetBody{grid-template-columns:minmax(0,1fr) 285px}
}
@media(max-width:860px){
  .kwdStreetHeaderStats .kwdStreetStat:first-child{display:none}.kwdStreetBrand span:not(.kwdStreetIcon),.kstoreStreetBrand span:not(.kstoreStreetIcon){display:none}
  .kwdStreetBody{grid-template-columns:255px minmax(0,1fr)}
  .kwdStreetEquippedPane{border-right:0}.kwdStreetCatalog{grid-column:1/-1;border-top:1px solid rgba(115,206,235,.08)}
  .kwdStreetWindow{overflow:auto}.kwdStreetBody{height:auto;min-height:calc(100% - 76px)}
  .kstoreStreetCatalog .kstoreGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kstoreStreetBody{grid-template-columns:minmax(0,1fr) 260px}
}
@media(max-width:680px){
  .kwdOverlay,.kstoreOverlay{padding:0}.kwdStreetWindow,.kstoreStreetWindow{width:100vw;height:100dvh;border-radius:0;border:0}
  .kwdStreetHeader,.kstoreStreetHeader{height:66px;padding:9px 10px}.kwdStreetIcon,.kstoreStreetIcon{width:37px;height:37px}.kwdStreetBrand b,.kstoreStreetBrand b{font-size:16px}.kwdStreetHeaderStats,.kstoreStreetHeaderActions{gap:5px}.kwdStreetStat{display:none}.kwdStreetSwitch span,.kstoreStreetHeader .kstoreWardrobeBtn span{display:none}.kwdStreetSwitch,.kstoreStreetHeader .kstoreWardrobeBtn{width:39px;padding:0}.kwdStreetHeader .kwdClose,.kstoreStreetHeader .kstoreClose{width:39px;height:39px;flex-basis:39px}.kstoreStreetWallet{min-width:73px;padding:6px 8px}
  .kwdStreetBody{height:calc(100% - 66px);display:block;overflow:auto}.kwdStreetAvatarPane,.kwdStreetEquippedPane,.kwdStreetCatalog{border:0;border-bottom:1px solid rgba(115,206,235,.08)}.kwdStreetAvatarPane{min-height:500px}.kwdStreetAvatarPane .kwdCharacterStage{min-height:370px}.kwdStreetEquippedPane{overflow:visible}.kwdStreetCatalog .kwdGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.kwdStreetCatalog .kwdPresets{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kstoreStreetBody{height:calc(100% - 66px);display:flex;flex-direction:column;overflow:auto}.kstoreStreetCatalog{order:2;overflow:visible}.kstoreStreetPreview{order:1;min-height:525px;border:0;border-bottom:1px solid rgba(116,209,237,.08)}.kstoreStreetCatalog .kstoreGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.kstoreMarketBadges{display:none}.kstoreMarketBanner{min-height:72px}
  .profileStyleLaunchers{width:100%;margin-left:0;justify-content:stretch}.profileStyleLaunch{flex:1}.profileStyleLaunch span{display:inline!important}
}
.profileHeroXp .profileStyleLaunchers{margin:8px 0 0;justify-content:flex-end}.profileHeroXp .profileStyleLaunch{min-height:32px;padding:6px 9px;font-size:8px}
@media(max-width:650px){.profileHeroXp .profileStyleLaunchers{justify-content:flex-start;max-width:360px}.profileHeroXp .profileStyleLaunch{flex:1}}
.profileStyleLaunch span{color:inherit!important;font-size:inherit!important;font-weight:inherit!important}


/* reward-fx.css */
.krfxLayer{position:fixed;inset:0;z-index:2147482300;pointer-events:none;overflow:hidden}.krfxFlash{position:absolute;inset:0;background:radial-gradient(circle,rgba(112,234,255,.27),rgba(142,99,255,.12) 33%,transparent 64%);animation:krfxFlash .7s ease-out forwards}.krfxParticle{position:absolute;left:50%;top:50%;font-size:20px;animation:krfxFly 1.25s cubic-bezier(.12,.7,.2,1) forwards;filter:drop-shadow(0 5px 8px rgba(0,0,0,.3))}.krfxCard{position:absolute;left:50%;top:50%;min-width:260px;max-width:min(440px,84vw);transform:translate(-50%,-50%) scale(.55);padding:22px;border-radius:25px;text-align:center;color:white;background:linear-gradient(160deg,rgba(13,34,49,.98),rgba(17,18,40,.98));border:1px solid rgba(112,234,255,.3);box-shadow:0 26px 80px rgba(0,0,0,.52),0 0 45px rgba(97,223,255,.13);animation:krfxCard .42s cubic-bezier(.2,1.25,.3,1) forwards}.krfxCard small{display:block;font-size:9px;letter-spacing:.18em;color:#7cecff;font-weight:950}.krfxCard strong{display:block;font-size:48px;margin:7px 0}.krfxCard b{display:block;font-size:19px}.krfxCard span{display:block;margin-top:5px;color:#9eb3c1;font-size:11px}.krfxMini{position:fixed;z-index:2147482350;left:50%;top:17%;transform:translateX(-50%) translateY(-12px);padding:11px 15px;border-radius:16px;background:rgba(6,18,28,.96);border:1px solid rgba(103,232,255,.2);color:white;box-shadow:0 18px 40px rgba(0,0,0,.35);animation:krfxMini 1.8s ease forwards;pointer-events:none}.krfxMini b{font-size:11px}.krfxMini span{font-size:10px;color:#9ab0bf;margin-left:7px}@keyframes krfxFlash{to{opacity:0}}@keyframes krfxFly{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}15%{opacity:1}100%{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--rot)) scale(1.25);opacity:0}}@keyframes krfxCard{to{transform:translate(-50%,-50%) scale(1)}}@keyframes krfxMini{0%{opacity:0;transform:translateX(-50%) translateY(-12px)}15%,75%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0;transform:translateX(-50%) translateY(-5px)}}

/* ui-order.css */
/* Koderia v59.84.0 — one owner for the in-world HUD layout. */
#cityStageCanvasWrap{
  --kui-edge:max(10px,env(safe-area-inset-left));
  --kui-top:max(10px,env(safe-area-inset-top));
  isolation:isolate;
  overflow:hidden;
}

/* Remove old diagnostic chrome which duplicated current controls. */
#cityStageCanvasWrap .cityStageHelp,
#cityStageCanvasWrap .cityStageSystemLegend,
#cityStageCanvasWrap .cityStageMiniMapLabel,
#cityStageCanvasWrap .cityStageCollisionBadge,
#cityStageCanvasWrap .cityStageHouseCount,
#cityStageCanvasWrap .cityRemoteLegend,
#cityStageCanvasWrap #cityQuestHud,
#cityStageCanvasWrap .cityOnlineDock{display:none!important}

/* HUD lanes: menu at top-right, messages beside it, actions at bottom-centre. */
#khlMoreButton{z-index:420!important;top:var(--kui-top)!important;right:max(10px,env(safe-area-inset-right))!important}
#khlTopRightStack{
  z-index:400!important;
  top:var(--kui-top)!important;
  right:calc(max(10px,env(safe-area-inset-right)) + 78px)!important;
  width:min(350px,calc(100% - 220px))!important;
  max-height:32%!important;
  overflow:hidden!important;
}
#khlUtilityPanel{
  z-index:410!important;
  top:calc(var(--kui-top) + 58px)!important;
  right:max(10px,env(safe-area-inset-right))!important;
  width:min(330px,calc(100% - 20px))!important;
  max-height:calc(100% - var(--kui-top) - 78px)!important;
  box-sizing:border-box!important;
  overscroll-behavior:contain;
}
#cityStageCanvasWrap.khlUtilitiesOpen #khlTopRightStack,
#cityStageCanvasWrap.khlUtilitiesOpen .kshPrimary,
#cityStageCanvasWrap.khlUtilitiesOpen #cityDoorPrompt,
#cityStageCanvasWrap.khlUtilitiesOpen #citySocialPrompt,
#cityStageCanvasWrap.khlUtilitiesOpen #v594PortalPrompt,
#cityStageCanvasWrap.khlUtilitiesOpen #v594BuildHint{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
}

/* Online controls are one compact block inside Menu. */
#khlUtilityPanel #cityOnlinePeople{
  order:-30!important;width:100%!important;min-height:44px!important;padding:0 11px!important;
  display:flex!important;box-sizing:border-box!important;border:1px solid rgba(91,226,159,.22)!important;
}
#khlUtilityPanel #cityOnlinePeople[data-online-state="joining"],
#khlUtilityPanel #cityOnlinePeople[data-online-state="connecting"],
#khlUtilityPanel #cityOnlinePeople[data-online-state="reconnecting"]{border-color:rgba(255,210,84,.34)!important}
#khlUtilityPanel #cityOnlinePeople[data-online-state="room-error"],
#khlUtilityPanel #cityOnlinePeople[data-online-state="error"]{border-color:rgba(255,112,112,.42)!important}
#khlUtilityPanel #cityOnlinePeople span{display:block!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#cityOnlineRendezvousButton{
  order:-29;width:100%;min-height:44px;padding:0 12px;border:1px solid rgba(111,226,255,.30);border-radius:12px;
  display:flex;align-items:center;justify-content:center;gap:8px;color:#eefcff;background:rgba(43,157,195,.18);
  font:1000 9px/1 Inter,system-ui,sans-serif;letter-spacing:.05em;cursor:pointer;
}
#cityOnlineRendezvousButton span{font-size:19px}#cityOnlineRendezvousButton:disabled{opacity:.42;pointer-events:none}
#khlUtilityPanel #cityOnlineEmotes{order:-28!important}

/* Modal and celebration layers are ordered without near-infinite z-index competition. */
body.cityGameFullscreen .profileModal,
body.cityGameFullscreen .gameModal,
body.cityGameFullscreen .koderiaMissionOverlay{z-index:9000!important}
body.cityGameFullscreen .rewardToast{z-index:9200!important}

@media(max-width:760px),(hover:none) and (pointer:coarse){
  #cityStageCanvasWrap{--kui-top:max(7px,env(safe-area-inset-top))}
  #khlMoreButton{width:58px!important;height:44px!important;right:max(7px,env(safe-area-inset-right))!important}
  #khlMoreButton em{font-size:6px!important}
  #khlTopRightStack{right:calc(max(7px,env(safe-area-inset-right)) + 66px)!important;width:calc(100% - 150px)!important;max-height:21%!important}
  #khlUtilityPanel{
    top:calc(var(--kui-top) + 51px)!important;right:max(7px,env(safe-area-inset-right))!important;
    width:min(286px,calc(100% - 14px))!important;
    max-height:calc(100% - var(--kui-top) - 174px)!important;
  }
  #khlUtilityPanel #cityOnlineEmotes{grid-template-columns:repeat(6,1fr)!important}
  #khlUtilityPanel #cityOnlineEmotes button{min-width:0!important;width:100%!important;height:34px!important;min-height:34px!important}
  .gameTouchControls{z-index:180!important}
  .gameTouchJoystick{width:104px!important;height:104px!important;left:max(9px,env(safe-area-inset-left))!important;bottom:max(9px,calc(env(safe-area-inset-bottom) + 6px))!important}
  .gameTouchThumb{width:46px!important;height:46px!important}
  .gameTouchAction{width:66px!important;height:66px!important;right:max(11px,env(safe-area-inset-right))!important;bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px))!important}
  .kshPrimary,#cityDoorPrompt.show,#citySocialPrompt.show,#v594PortalPrompt.show,#v594BuildHint.show{
    z-index:260!important;bottom:max(112px,calc(env(safe-area-inset-bottom) + 104px))!important;
    max-width:calc(100% - 24px)!important;
  }
}

@media(max-height:500px) and (orientation:landscape){
  #khlTopRightStack{display:none!important}
  #khlUtilityPanel{max-height:calc(100% - 68px)!important;width:270px!important}
  .gameTouchJoystick{width:84px!important;height:84px!important}.gameTouchThumb{width:40px!important;height:40px!important}
  .gameTouchAction{width:56px!important;height:56px!important}
  .kshPrimary,#cityDoorPrompt.show,#citySocialPrompt.show,#v594PortalPrompt.show,#v594BuildHint.show{bottom:max(88px,calc(env(safe-area-inset-bottom) + 82px))!important}
}

@media(max-width:390px){
  #khlTopRightStack{width:calc(100% - 136px)!important}
  #khlUtilityPanel{width:calc(100% - 14px)!important}
  #khlUtilityPanel #cityOnlinePeople span{display:block!important;font-size:6px!important}
}
 
/* ===== v66.4.0 individual lesson cockpit ===== */
.v57101Individual{display:grid;gap:16px}
.v57101IndividualHero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border:1px solid rgba(111,233,255,.18);border-radius:24px;background:linear-gradient(135deg,rgba(18,139,190,.17),rgba(84,73,218,.12))}
.v57101IndividualHero>div:first-child{display:grid;gap:6px}.v57101IndividualHero span{color:#82ecff;font-size:13px;font-weight:1000;letter-spacing:.08em}.v57101IndividualHero h3{margin:0;font-size:24px}.v57101IndividualHero p{margin:0;color:#a1bdcb;font-size:14px;line-height:1.45}
.v57101IndividualLive{min-width:240px;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:17px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}.v57101IndividualLive i{width:11px;height:11px;border-radius:50%;background:#607884}.v57101IndividualLive div{display:grid;gap:3px}.v57101IndividualLive small{color:#86a7b8;font-size:12px;font-weight:900}.v57101IndividualLive strong{font-size:14px}.v57101IndividualLive.on{border-color:rgba(65,230,153,.38);background:rgba(41,184,121,.11)}.v57101IndividualLive.on i{background:#54e69c;box-shadow:0 0 14px rgba(84,230,156,.7)}.v57101IndividualLive.warn{border-color:rgba(255,190,83,.32)}.v57101IndividualLive.warn i{background:#ffc35d}
.v57101IndividualLayout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;min-height:520px}.v57101IndividualRoster,.v57101IndividualSetup{border:1px solid rgba(255,255,255,.08);border-radius:22px;background:rgba(255,255,255,.035)}
.v57101IndividualRoster{padding:13px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:11px;min-height:0}.v57101IndividualRoster header{display:grid;gap:3px;padding:3px 4px}.v57101IndividualRoster header small{color:#7deaff;font-size:12px;font-weight:1000}.v57101IndividualRoster header strong{font-size:17px}.v57101IndividualRoster>div{display:grid;align-content:start;gap:8px;overflow:auto}
.v57101IndividualStudent{width:100%;display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.035);color:#eefbff;text-align:left;cursor:pointer}.v57101IndividualStudent>span{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.07);font-size:25px}.v57101IndividualStudent>div{display:grid;gap:4px;min-width:0}.v57101IndividualStudent strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v57101IndividualStudent small{color:#8aa8b8;font-size:12px}.v57101IndividualStudent.active{border-color:#78eaff;background:linear-gradient(135deg,rgba(44,181,224,.16),rgba(88,98,224,.10));box-shadow:0 0 0 1px rgba(120,234,255,.13)}
.v57101IndividualSetup{padding:18px;display:grid;align-content:start;gap:13px}.v57101IndividualPupil{display:flex;align-items:center;gap:13px;padding:13px;border-radius:18px;background:rgba(89,224,255,.07);border:1px solid rgba(103,229,255,.12)}.v57101IndividualPupil>span{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:rgba(255,255,255,.08);font-size:32px}.v57101IndividualPupil>div{display:grid;gap:3px}.v57101IndividualPupil small{color:#77e8ff;font-size:12px;font-weight:900}.v57101IndividualPupil strong{font-size:20px}.v57101IndividualPupil p{margin:0;color:#93afbe;font-size:13px}
.v57101IndividualField{display:grid;gap:7px}.v57101IndividualField>span{color:#9bb7c6;font-size:13px;font-weight:900}.v57101IndividualField :is(input,select,textarea){width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(4,17,29,.56);color:#fff;padding:11px 12px;font:800 15px/1.4 Trebuchet MS,Arial;outline:none}.v57101IndividualField textarea{min-height:78px;resize:vertical}.v57101IndividualField :is(input,select,textarea):focus{border-color:#78eaff;box-shadow:0 0 0 3px rgba(120,234,255,.1)}.v57101IndividualField option{background:#10263a}
.v57101IndividualChecks{display:flex;flex-wrap:wrap;gap:7px}.v57101IndividualChecks span{padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.05);color:#9cb5c2;font-size:12px;font-weight:900}.v57101IndividualChecks .ok{color:#77e9b1;background:rgba(57,202,135,.1)}.v57101IndividualChecks .warn{color:#ffd17a;background:rgba(255,190,72,.08)}.v57101IndividualChecks .live{color:#8af0ff;background:rgba(66,194,226,.12)}
.v57101IndividualActions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.v57101IndividualActions button{min-height:48px;padding:10px 12px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.06);color:#eefbff;font:1000 14px/1.2 Trebuchet MS,Arial;cursor:pointer}.v57101IndividualActions button.primary{border-color:transparent;background:linear-gradient(135deg,#25b9ea,#536eea)}.v57101IndividualActions button.danger{border-color:rgba(255,100,123,.25);background:rgba(210,51,82,.14);color:#ffb0bc}.v57101IndividualActions button:disabled{opacity:.48;cursor:wait}
.v57101IndividualTasks{display:grid;gap:13px;padding:18px;border:1px solid rgba(126,234,255,.14);border-radius:22px;background:linear-gradient(135deg,rgba(16,49,66,.82),rgba(25,29,67,.76))}.v57101IndividualTasks>header{display:flex;align-items:center;justify-content:space-between;gap:15px}.v57101IndividualTasks>header>div{display:grid;gap:4px}.v57101IndividualTasks>header small{color:#79eaff;font-size:12px;font-weight:1000;letter-spacing:.06em}.v57101IndividualTasks>header strong{font-size:20px}.v57101IndividualTasks>header p{margin:0;color:#94afbd;font-size:13px}.v57101IndividualTasks>header>span{padding:8px 11px;border-radius:999px;background:rgba(91,220,255,.1);color:#97edff;font-size:13px;font-weight:900}
.v57101IndividualTaskChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.v57101IndividualTaskChoices button{display:grid;gap:5px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.035);color:#eafaff;text-align:left;cursor:pointer}.v57101IndividualTaskChoices strong{font-size:14px}.v57101IndividualTaskChoices small{color:#91abba;font-size:12px;line-height:1.35}.v57101IndividualTaskChoices button.active{border-color:#6fe7ff;background:rgba(71,185,224,.12);box-shadow:0 0 0 1px rgba(111,231,255,.1)}
.v57101IndividualTaskEdit{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(260px,1.5fr) 150px 250px;gap:9px;align-items:end}.v57101IndividualTaskEdit>button{min-height:47px;padding:10px 12px;border:0;border-radius:14px;background:linear-gradient(135deg,#26bbdf,#576be7);color:#fff;font:1000 13px/1.2 Trebuchet MS,Arial;cursor:pointer}.v57101IndividualTaskEdit>button:disabled{opacity:.45;cursor:not-allowed}.v57101IndividualTaskWarning{margin:0;color:#ffd17a;font-size:13px;font-weight:800}
@media(max-width:1100px){.v57101IndividualTaskEdit{grid-template-columns:1fr 1fr}.v57101IndividualTaskEdit>button{min-height:48px}}
@media(max-width:850px){.v57101IndividualHero{align-items:flex-start;flex-direction:column}.v57101IndividualLive{width:100%;min-width:0}.v57101IndividualLayout{grid-template-columns:1fr;min-height:0}.v57101IndividualRoster{max-height:245px}.v57101IndividualActions,.v57101IndividualTaskChoices,.v57101IndividualTaskEdit{grid-template-columns:1fr}.v57101IndividualTasks>header{align-items:flex-start;flex-direction:column}.v57101Tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v57101Tab.tools{grid-column:auto!important}}
