:root{
    --base:#11121a;
    --mantle:#0a0b12;
    --surface0:#1c1e2c;
    --surface1:#262939;
    --surface2:#333648;
    --text:#cdd3f0;
    --subtext:#868ba8;
    --mauve:#c6a0f6;
    --spactive:#3a2;
    --teal:#8bd5ca;
    --green:#a6e3a1;
    --red:#f38ba8;
    --yellow:#eed49f;
    --peach:#f5a97f;
    --show:#0ad;
    --radius:10px;
  }
  *{box-sizing:border-box;}
  html,body{
    margin:0;padding:0;height:100%;
    background:var(--mantle);
    font-family:'Ubuntu',ui-sans-serif,Arial,sans-serif;
    overflow:hidden;
    -webkit-tap-highlight-color:transparent;
  }
  #stage{
    position:relative;
    z-index:0;
    overflow:hidden;
    height:100%;width:100%;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:14px;
    user-select:none;
  }
  #stage::before{
    content:"";
    position:absolute;
    inset:-20px;
    background:
      radial-gradient(circle at 15% 20%, #c6a0f640 0%, transparent 40%),
      radial-gradient(circle at 85% 12%, #f5a97f35 0%, transparent 38%),
      radial-gradient(circle at 82% 85%, #8bd5ca35 0%, transparent 42%),
      radial-gradient(circle at 15% 85%, #a6e3a130 0%, transparent 38%),
      linear-gradient(160deg, var(--mantle) 0%, var(--base) 55%, var(--mantle) 100%);
    z-index:-1;
  }
  #monitor{
    padding:14px 14px 22px 14px;
    background:linear-gradient(180deg,#23242f,#181923 70%);
    border-radius:18px;
    box-shadow:0 0 0 1px #000a, 0 30px 70px -20px #000c, inset 0 1px 0 #ffffff0d;
    position:relative;
  }
  #monitor::after{
    content:"";position:absolute;left:50%;bottom:6px;transform:translateX(-50%);
    width:46px;height:4px;border-radius:3px;background:#0f0f16;
    box-shadow:0 0 6px 1px #00000088;
  }
  #screen-wrap{
    position:relative;overflow:hidden;border-radius:6px;
    box-shadow:inset 0 0 0 1px #000, inset 0 0 40px #000a;
    background:var(--base);
  }
  #desktop{
    position:absolute;top:50%;left:50%;
    width:1440px;height:900px;
    transform-origin:center center;
    transform:translate(-50%,-50%);
  }
  #vignette{
    position:absolute;inset:0;pointer-events:none;z-index:9999;
    background:radial-gradient(ellipse at center, transparent 55%, #00000030 100%);
  }
  #wallpaper{
    position:absolute;inset:0;
    background:
      radial-gradient(circle at 18% 22%, #7c5fc733 0%, transparent 42%),
      radial-gradient(circle at 82% 78%, #4fb8ac2e 0%, transparent 45%),
      radial-gradient(circle at 70% 10%, #f5a97f22 0%, transparent 40%),
      linear-gradient(160deg,#12131d 0%, #191a28 55%, #14151f 100%);
    background-size:cover;
    transition:background 0.6s ease;
  }
  #wallpaper::before{
    content:"";position:absolute;inset:0;opacity:.06;
    background-image:
      linear-gradient(#8bd5ca 1px, transparent 1px),
      linear-gradient(90deg,#8bd5ca 1px, transparent 1px);
    background-size:48px 48px;
    transition:opacity .3s ease;
  }
  #wallpaper.no-grid::before{opacity:0;}

  /* ---------- TOPBAR ---------- */
  #topbar{
    position:absolute;top:0;left:0;right:0;height:34px;
    background:#12131cd9;backdrop-filter:blur(6px);
    display:flex;align-items:center;justify-content:space-between;
    padding:0 12px;font-size:12.5px;color:var(--text);
    border-bottom:1px solid #ffffff0f;z-index:50;
  }
  #workspaces{display:flex;gap:6px;}
  .ws{
    width:20px;height:20px;border-radius:5px;display:flex;align-items:center;justify-content:center;
    color:var(--subtext);cursor:pointer;font-size:11px;
  }
  .ws:hover{background:#ffffff10;color:var(--text);}
  .ws.active{background:var(--mauve);color:#181925;font-weight:700;}
  #clock{color:var(--show);letter-spacing:.5px;cursor:default;}
  #tray{display:flex;align-items:center;gap:14px;color:var(--subtext);}
  #tray span{display:flex;align-items:center;gap:4px;}
  #tray svg{width:14px;height:14px;stroke:var(--subtext);fill:none;}
  #lang-toggle{display:flex;align-items:center;gap:4px;}
  .lang-btn{
    background:none;border:none;color:var(--subtext);font-family:inherit;font-size:11px;
    font-weight:600;letter-spacing:.2px;cursor:pointer;padding:2px 3px;border-radius:4px;
    transition:color .12s ease, background .12s ease;
  }
  .lang-btn:hover{background:#ffffff10;color:var(--text);}
  .lang-btn.active{color:var(--mauve);}
  .lang-sep{color:var(--subtext);font-size:11px;}
  #powerbtn{cursor:pointer;color:var(--text);display:flex;align-items:center;}
  #powerbtn svg{width:15px;height:15px;stroke:var(--text);fill:none;}
  #powermenu{
    position:absolute;top:34px;right:10px;background:var(--surface0);
    border:1px solid #ffffff14;border-radius:8px;padding:6px;display:none;
    flex-direction:column;min-width:170px;box-shadow:0 10px 25px #0008;z-index:60;
  }
  #powermenu.show{display:flex;}
  #powermenu button{
    background:none;border:none;color:var(--text);font-family:inherit;font-size:12.5px;
    text-align:left;padding:8px 10px;border-radius:6px;cursor:pointer;
  }
  #powermenu button:hover{background:#ffffff12;}

  /* ---------- DESKTOP ICONS ---------- */
  #icons{position:absolute;top:50px;left:14px;display:flex;flex-direction:column;gap:6px;z-index:5;}
  .icon{
    width:78px;padding:8px 4px;border-radius:8px;text-align:center;cursor:pointer;
    color:var(--text);
  }
  .icon:hover,.icon:focus-visible{background:#ffffff12;outline:none;}
  .icon svg{width:30px;height:30px;margin:0 auto;display:block;stroke:var(--text);fill:none;}
  .icon span{display:block;margin-top:4px;font-size:11px;line-height:1.25;word-break:break-word;}

  /* ---------- DOCK ---------- */
  #dock{
    position:absolute;bottom:10px;left:50%;transform:translateX(-50%);
    display:flex;gap:8px;padding:7px 10px;border-radius:16px;
    background:#12131cd9;backdrop-filter:blur(6px);
    border:1px solid var(--show);z-index:50;
  }
  .dock-item{
    width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;
    background:#ffffff08;cursor:pointer;transition:transform .12s ease, background .12s ease;
    position:relative;
  }
  .dock-item:hover{background:var(--surface2);transform:translateY(-4px);}
  .dock-item svg{width:20px;height:20px;stroke:var(--text);fill:none;}
  .dock-item::after{
    content:"";position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);
    width:4px;height:4px;border-radius:50%;background:var(--spactive);opacity:0;
  }
  .dock-item.running::after{opacity:1;}

  /* ---------- WINDOWS ---------- */
  .window{
    position:absolute;
    background:var(--surface0);
    border-radius:9px;
    border:1px solid #ffffff14;
    box-shadow:0 25px 50px -12px #000000a0;
    display:flex;flex-direction:column;overflow:hidden;
    min-width:260px;min-height:160px;
    opacity:0;
    transform:scale(.94) translateY(10px);
    transform-origin:center center;
    transition:opacity .2s cubic-bezier(.4,0,.2,1), transform .2s cubic-bezier(.4,0,.2,1);
  }
  .window.win-open{
    opacity:1;
    transform:scale(1) translateY(0);
  }
  .window.win-closing{
    opacity:0;
    transform:scale(.96) translateY(6px);
  }
  .titlebar{
    height:32px;flex:0 0 auto;display:flex;align-items:center;gap:8px;
    padding:0 8px;background:var(--surface1);cursor:grab;
    border-bottom:1px solid #ffffff0f;
  }
  .titlebar:active{cursor:grabbing;}
  .tbtn{width:12px;height:12px;border-radius:50%;border:none;cursor:pointer;padding:0;}
  .tbtn.close{background:var(--red);}
  .tbtn.min{background:var(--yellow);}
  .tbtn.max{background:var(--green);}
  .wtitle{font-size:12px;color:var(--subtext);margin-left:2px;flex:1;text-align:center;padding-right:44px;}
  .wbody{flex:1;overflow:auto;color:var(--text);font-size:13px;}
  .wbody::-webkit-scrollbar{width:9px;}
  .wbody::-webkit-scrollbar-thumb{background:var(--surface2);border-radius:6px;}

  /* Terminal */
  .term-body{padding:10px 12px;background:#0f1019;height:100%;display:flex;flex-direction:column;font-size:13px;line-height:1.5;font-family:'Ubuntu Mono','Cascadia Code','JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;}
  .term-out{flex:1;overflow-y:auto;white-space:pre-wrap;color:var(--text);}
  .term-out .prompt{color:var(--green);}
  .term-out .path{color:var(--teal);}
  .term-out .err{color:var(--red);}
  .term-out .dim{color:var(--subtext);}
  .term-in{display:flex;align-items:center;gap:6px;margin-top:4px;}
  .term-in span{color:var(--green);white-space:nowrap;}
  .term-in input{
    flex:1;background:none;border:none;outline:none;color:var(--text);
    font-family:inherit;font-size:13px;
  }

  /* Files */
  .files-body{padding:14px;display:grid;grid-template-columns:repeat(auto-fill,72px);gap:14px;}
  .fitem{width:72px;text-align:center;cursor:pointer;padding:6px 2px;border-radius:7px;}
  .fitem:hover{background:#ffffff10;}
  .fitem svg{width:28px;height:28px;stroke:var(--text);fill:none;}
  .fitem span{display:block;font-size:10.5px;margin-top:4px;color:var(--text);word-break:break-word;}

  /* Editor */
  .editor-body{padding:16px 20px;white-space:pre-wrap;line-height:1.6;font-size:13px;outline:none;}
  .editor-toolbar{background:var(--surface1);font-size:11px;color:var(--subtext);padding:5px 12px;border-bottom:1px solid #ffffff0f;}

  /* About */
  .about-body{padding:20px;}
  .about-head{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
  .avatar{
    width:52px;height:52px;border-radius:12px;
    background:linear-gradient(135deg,var(--mauve),var(--teal));
    display:flex;align-items:center;justify-content:center;font-weight:700;color:#14151f;font-size:15px;
  }
  .avatar svg{
    width:28px;height:28px;
    stroke:#14151f;fill:none;stroke-width:1.8;
  }
  .about-body table{border-collapse:collapse;width:100%;font-size:12.5px;}
  .about-body td{padding:5px 0;border-bottom:1px solid #ffffff0c;}
  .about-body td:first-child{color:var(--subtext);width:110px;}

  /* Exchange.app — namespaced so it never clashes with other windows */
  .exchange-body{padding:16px 18px 22px;}
  .exchange-body h2{
    margin:0 0 14px;font-size:13px;letter-spacing:.4px;color:var(--subtext);
    text-transform:uppercase;font-weight:600;
  }
  .exchange-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;
  }
  .exchange-card{
    position:relative;display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:10px;
    background:var(--surface1);border:1px solid #ffffff0f;color:var(--text);
    transition:background .12s ease, border-color .12s ease, transform .12s ease;
  }
  .exchange-card:hover{background:var(--surface2);border-color:#ffffff20;transform:translateY(-2px);}
  .exchange-card-head{display:flex;align-items:center;gap:8px;padding-right:26px;}
  .exchange-icon{
    width:28px;height:28px;object-fit:contain;border-radius:50%;
    background:var(--surface2);flex:0 0 auto;
  }
  .exchange-card h3{margin:0;font-size:13px;font-weight:600;color:var(--text);}
  .exchange-card p{margin:0;line-height:1.4;font-size:11.5px;color:var(--subtext);}
  .exchange-open{
    position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:6px;
    background:#ffffff0c;border:1px solid #ffffff14;color:var(--subtext);
    display:flex;align-items:center;justify-content:center;cursor:pointer;
    padding:0;transition:background .12s ease, color .12s ease, border-color .12s ease;
  }
  .exchange-open svg{width:12px;height:12px;stroke:currentColor;fill:none;}
  .exchange-open:hover{background:var(--mauve);color:#181925;border-color:transparent;}

  /* Context menu */
  #ctxmenu{
    position:absolute;background:var(--surface0);border:1px solid #ffffff16;
    border-radius:8px;padding:6px;min-width:190px;box-shadow:0 15px 30px #0009;
    display:none;flex-direction:column;z-index:200;
  }
  #ctxmenu.show{display:flex;}
  #ctxmenu button{
    background:none;border:none;color:var(--text);font-family:inherit;font-size:12.5px;
    text-align:left;padding:8px 10px;border-radius:6px;cursor:pointer;
  }
  #ctxmenu button:hover{background:#ffffff12;}
  #ctxmenu hr{border:none;border-top:1px solid #ffffff14;margin:4px 2px;}
  .ctx-lang{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;color:var(--text);}
  .ctx-lang-btn{font-size:12px;}

  /* Toast */
  #toast{
    position:absolute;bottom:70px;left:50%;transform:translateX(-50%) translateY(10px);
    background:var(--surface1);color:var(--text);font-size:12px;padding:9px 16px;
    border-radius:8px;border:1px solid #ffffff16;opacity:0;pointer-events:none;
    transition:opacity .25s ease, transform .25s ease;z-index:300;
  }
  #toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

  /* Lock screen */
  #lockscreen{
    position:absolute;inset:0;z-index:500;
    background:linear-gradient(160deg,#14151f 0%,#1a1c2b 100%);
    display:none;flex-direction:column;align-items:center;justify-content:center;
    color:var(--text);cursor:pointer;
  }
  #lockscreen.show{display:flex;background-image:url('../img/0xbabyalien.jpeg');background-position:center;background-size:cover;}
  #lock-time{font-size:64px;font-weight:700;letter-spacing:1px;color:#00bbff;-webkit-text-stroke: 0.5px #000;}
  #lock-date{font-size:25px;font-weight:150;letter-spacing:1px;margin-top:6px;color:#00ffcc;-webkit-text-stroke: 0.5px #000;}
  #lock-hint{position:absolute;bottom:56px;font-size:12px;color:var(--subtext);-webkit-text-stroke: 0.9px #ccc;}

  #hint{color:var(--text);font-size:11.5px;letter-spacing:.3px;text-align:center;
        -webkit-text-stroke: 0.3px var(--show);
       }

  /* Whale Radar — namespaced, no clashes with other windows */
  .whale-body{display:flex;flex-direction:column;height:100%;font-size:12px;}
  .whale-head{
    display:flex;align-items:center;gap:8px;padding:10px 14px;
    border-bottom:1px solid #ffffff0f;color:var(--subtext);flex:0 0 auto;
  }
  .whale-dot{
    width:8px;height:8px;border-radius:50%;background:var(--green);flex:0 0 auto;
    box-shadow:0 0 0 0 rgba(166,227,161,.6);
    animation:whale-pulse 1.8s ease-out infinite;
  }
  .whale-dot.error{background:var(--red);box-shadow:none;animation:none;}
  @keyframes whale-pulse{
    0%{box-shadow:0 0 0 0 rgba(166,227,161,.55);}
    70%{box-shadow:0 0 0 7px rgba(166,227,161,0);}
    100%{box-shadow:0 0 0 0 rgba(166,227,161,0);}
  }
  #whale-status{flex:1;}
  #whale-refresh{
    background:#ffffff0c;border:1px solid #ffffff14;color:var(--text);
    border-radius:6px;width:26px;height:26px;cursor:pointer;font-size:13px;
    font-family:inherit;flex:0 0 auto;
  }
  #whale-refresh:hover{background:#ffffff1a;}
  .whale-cols{
    display:grid;grid-template-columns:70px 110px 1fr 70px;gap:8px;
    padding:8px 14px;color:var(--subtext);font-size:10.5px;text-transform:uppercase;
    letter-spacing:.4px;border-bottom:1px solid #ffffff0c;flex:0 0 auto;
  }
  .whale-list{flex:1;overflow-y:auto;}
  .whale-row{
    display:grid;grid-template-columns:70px 110px 1fr 70px;gap:8px;
    padding:8px 14px;align-items:center;border-bottom:1px solid #ffffff08;
  }
  .whale-row:hover{background:#ffffff08;}
  .whale-symbol{
    display:inline-block;padding:2px 7px;border-radius:5px;font-size:10.5px;font-weight:700;
    background:var(--surface2);color:var(--teal);width:fit-content;
  }
  .whale-value{color:var(--green);font-weight:600;}
  .whale-addrs{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .whale-addrs a{color:var(--text);text-decoration:none;}
  .whale-addrs a:hover{color:var(--teal);text-decoration:underline;}
  .whale-age{color:var(--subtext);}
  .whale-empty{padding:24px 14px;color:var(--subtext);text-align:center;}

  /* Scan — namespaced, no clashes with other windows */
  .scan-body{display:flex;flex-direction:column;height:100%;font-size:12px;}
  .scan-head{
    display:flex;align-items:center;gap:8px;padding:10px 14px;
    border-bottom:1px solid #ffffff0f;flex:0 0 auto;
  }
  .scan-addr-input{
    flex:1;background:#ffffff0a;border:1px solid #ffffff14;color:var(--text);
    border-radius:6px;padding:7px 10px;font-family:inherit;font-size:12.5px;outline:none;
  }
  .scan-addr-input:focus{border-color:var(--mauve);}
  .scan-addr-input::placeholder{color:var(--subtext);}
  .scan-search-btn{
    background:var(--mauve);border:none;color:#181925;
    border-radius:6px;width:32px;height:32px;cursor:pointer;flex:0 0 auto;
    display:flex;align-items:center;justify-content:center;
  }
  .scan-search-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;}
  .scan-search-btn:hover{opacity:.9;}
  .scan-cols{
    display:grid;grid-template-columns:1fr 70px 90px 70px;gap:8px;
    padding:8px 14px;color:var(--subtext);font-size:10.5px;text-transform:uppercase;
    letter-spacing:.4px;border-bottom:1px solid #ffffff0c;flex:0 0 auto;
  }
  .scan-list{flex:1;overflow-y:auto;}
  .scan-row{
    display:grid;grid-template-columns:1fr 70px 90px 70px;gap:8px;
    padding:8px 14px;align-items:center;border-bottom:1px solid #ffffff08;
  }
  .scan-row:hover{background:#ffffff08;}
  .scan-hash{
    color:var(--teal);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:monospace;
  }
  .scan-hash:hover{text-decoration:underline;}
  .scan-chain{
    display:inline-block;padding:2px 7px;border-radius:5px;font-size:10.5px;font-weight:700;
    background:var(--surface2);color:var(--teal);width:fit-content;
  }
  .scan-type{color:var(--text);}
  .scan-time{color:var(--subtext);}
  .scan-empty{padding:24px 14px;color:var(--subtext);text-align:center;}

  /* Market — namespaced, no clashes with other windows */
  .market-body{display:flex;flex-direction:column;height:100%;font-size:12px;}
  .market-chart-wrap{
    flex:1 1 60%;display:flex;flex-direction:column;
    border-bottom:1px solid #ffffff0f;min-height:180px;
  }
  .market-chart-head{
    display:flex;align-items:center;justify-content:space-between;
    padding:8px 14px;color:var(--text);font-size:12.5px;flex:0 0 auto;
  }
  #market-symbol{font-weight:600;letter-spacing:.3px;}
  .market-tf{display:flex;gap:4px;}
  .market-tf button{
    background:#ffffff0c;border:1px solid #ffffff14;color:var(--subtext);
    border-radius:5px;padding:3px 8px;font-size:10.5px;font-family:inherit;cursor:pointer;
  }
  .market-tf button:hover{background:#ffffff1a;color:var(--text);}
  .market-tf button.active{background:var(--mauve);color:#181925;border-color:transparent;font-weight:600;}
  #market-chart{flex:1;min-height:120px;}
  .market-source{
    flex-shrink:0;padding:4px 2px 0;font-size:10.5px;color:var(--subtext);
    opacity:.75;text-align:right;
  }
  .market-list-wrap{flex:1 1 40%;display:flex;flex-direction:column;overflow:hidden;min-height:130px;}
  .market-cols{
    display:grid;grid-template-columns:1fr 90px 70px 90px;gap:8px;
    padding:8px 14px;color:var(--subtext);font-size:10.5px;text-transform:uppercase;
    letter-spacing:.4px;border-bottom:1px solid #ffffff0c;flex:0 0 auto;
  }
  .market-list{flex:1;overflow-y:auto;}
  .market-row{
    display:grid;grid-template-columns:1fr 90px 70px 90px;gap:8px;
    padding:8px 14px;align-items:center;border-bottom:1px solid #ffffff08;cursor:pointer;
  }
  .market-row:hover{background:#ffffff08;}
  .market-row.active{background:#ffffff10;}
  .market-coin{color:var(--text);font-weight:600;}
  .market-coin small{color:var(--subtext);font-weight:400;margin-left:3px;}
  .market-price{color:var(--text);}
  .market-change.up{color:var(--green);}
  .market-change.down{color:var(--red);}
  .market-vol{color:var(--subtext);}
  .market-loading{padding:24px 14px;color:var(--subtext);text-align:center;}

  /* Meme — namespaced, mirrors Market's layout but with chain tabs + an embedded chart iframe */
  .meme-body{display:flex;flex-direction:column;height:100%;font-size:12px;}
  .meme-chart-wrap{
    flex:1 1 60%;display:flex;flex-direction:column;
    border-bottom:1px solid #ffffff0f;min-height:220px;
  }
  .meme-chain-tabs{
    display:flex;gap:4px;padding:8px 14px 6px;flex:0 0 auto;
    overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;
  }
  .meme-chain-tabs::-webkit-scrollbar{height:4px;}
  .meme-chain-tabs::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px;}
  .meme-chain-tabs button{
    background:#ffffff0c;border:1px solid #ffffff14;color:var(--subtext);
    border-radius:5px;padding:4px 10px;font-size:10.5px;font-family:inherit;cursor:pointer;
    flex:0 0 auto;white-space:nowrap;
  }
  .meme-chain-tabs button:hover{background:#ffffff1a;color:var(--text);}
  .meme-chain-tabs button.active{background:var(--mauve);color:#181925;border-color:transparent;font-weight:600;}
  .meme-chart-head{padding:6px 14px 0;color:var(--text);font-size:12.5px;flex:0 0 auto;}
  #meme-symbol{font-weight:600;letter-spacing:.3px;}
  .meme-chart-frame{flex:1;min-height:140px;width:100%;border:0;background:#0b0c14;}
  .meme-source{
    flex-shrink:0;padding:4px 14px 6px;font-size:10.5px;color:var(--subtext);
    opacity:.75;text-align:right;
  }
  .meme-list-wrap{flex:1 1 40%;display:flex;flex-direction:column;overflow:hidden;min-height:130px;}
  .meme-cols{
    display:grid;grid-template-columns:1fr 90px 70px 90px;gap:8px;
    padding:8px 14px;color:var(--subtext);font-size:10.5px;text-transform:uppercase;
    letter-spacing:.4px;border-bottom:1px solid #ffffff0c;flex:0 0 auto;
  }
  .meme-list{flex:1;overflow-y:auto;}
  .meme-row{
    display:grid;grid-template-columns:1fr 90px 70px 90px;gap:8px;
    padding:8px 14px;align-items:center;border-bottom:1px solid #ffffff08;cursor:pointer;
  }
  .meme-row:hover{background:#ffffff08;}
  .meme-row.active{background:#ffffff10;}
  .meme-coin{color:var(--text);font-weight:600;}
  .meme-price{color:var(--text);}
  .meme-change.up{color:var(--green);}
  .meme-change.down{color:var(--red);}
  .meme-vol{color:var(--subtext);}
  .meme-loading{padding:24px 14px;color:var(--subtext);text-align:center;}

a {
  color: #ff0000; /* Changes link color */
  text-decoration: none; /* Removes underline */
}

/* ---------- RIGHT-SIDE WIDGETS ---------- */
#widgets{
  position:absolute;top:50px;right:14px;
  display:flex;flex-direction:column;gap:10px;
  width:170px;z-index:5;
}
.widget{
  background:var(--surface0);
  border:1px solid #ffffff14;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 8px 20px #00000060;
  transition:opacity .2s ease, transform .2s ease;
}
.widget.collapsed .widget-body{display:none;}
.widget-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:6px 10px;
  background:var(--surface1);
  border-bottom:1px solid #ffffff0f;
  cursor:pointer;
}
.widget-title{
  font-size:11px;font-weight:600;color:var(--text);
  letter-spacing:.3px;
}
.widget-toggle{
  background:none;border:none;color:var(--subtext);
  font-family:inherit;font-size:14px;cursor:pointer;
  width:18px;height:18px;display:flex;align-items:center;justify-content:center;
  border-radius:4px;transition:background .12s ease, color .12s ease;
}
.widget-toggle:hover{background:#ffffff12;color:var(--text);}
.widget-body{padding:8px 10px;font-size:11px;color:var(--text);}

/* Browser Widget */
.widget-link{
  display:flex;align-items:center;gap:8px;
  padding:5px 6px;border-radius:6px;
  color:var(--text);text-decoration:none;
  transition:background .12s ease;
  margin-bottom:2px;
}
.widget-link:last-child{margin-bottom:0;}
.widget-link:hover{background:#ffffff10;}
.widget-link svg{width:14px;height:14px;stroke:var(--teal);fill:none;flex:0 0 auto;}
.widget-link span{font-size:11px;color:var(--subtext);}
.widget-link:hover span{color:var(--text);}

/* Portfolio Widget */
.widget-row{
  display:flex;align-items:center;gap:8px;
  padding:5px 0;border-bottom:1px solid #ffffff08;
}
.widget-row:last-child{border-bottom:none;}
.widget-coin{
  width:36px;font-size:10.5px;font-weight:600;color:var(--teal);
  flex:0 0 auto;
}
.widget-alloc{
  width:28px;font-size:10.5px;color:var(--subtext);text-align:right;
  flex:0 0 auto;
}
.widget-bar{
  flex:1;height:4px;border-radius:2px;background:var(--surface2);overflow:hidden;
}
.widget-fill{
  height:100%;border-radius:2px;
  background:linear-gradient(90deg,var(--teal),var(--green));
}
.widget-total{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:8px;padding-top:8px;border-top:1px solid #ffffff14;
  font-size:11px;
}
.widget-total span:first-child{color:var(--subtext);}
.widget-value{color:var(--green);font-weight:600;}

/* Settings Widget */
.widget-switch{
  display:flex;align-items:center;gap:8px;
  padding:5px 0;cursor:pointer;
}
.widget-switch input{appearance:none;width:0;height:0;opacity:0;}
.widget-slider{
  width:28px;height:16px;border-radius:8px;
  background:var(--surface2);position:relative;
  transition:background .2s ease;flex:0 0 auto;
}
.widget-slider::after{
  content:"";position:absolute;top:2px;left:2px;
  width:12px;height:12px;border-radius:50%;
  background:var(--subtext);transition:transform .2s ease, background .2s ease;
}
.widget-switch input:checked + .widget-slider{background:var(--mauve);}
.widget-switch input:checked + .widget-slider::after{
  transform:translateX(12px);background:var(--text);
}
.widget-label{font-size:11px;color:var(--subtext);}
.widget-switch:hover .widget-label{color:var(--text);}

/* Sticky Notes Widget */
#sticky-note{
  width:100%;min-height:70px;resize:vertical;
  background:var(--surface1);
  border:1px solid #ffffff14;border-radius:6px;
  padding:8px;font-family:inherit;font-size:11px;
  color:var(--text);outline:none;
  line-height:1.5;
}
#sticky-note::placeholder{color:var(--subtext);}
#sticky-note:focus{border-color:var(--mauve);}

/* Animation toggle */
body.no-anim *{animation:none !important;transition:none !important;}
body.no-anim .widget-toggle{transition:none !important;}
body.no-anim .widget{transition:none !important;}
body.no-anim .dock-item{transition:none !important;}
body.no-anim .widget-slider::after{transition:none !important;}

/* crypto icon */
.crypto-icon{
  width:16px;height:16px;
  border-radius:50%;
  vertical-align:middle;
  margin-right:4px;
  flex:0 0 auto;
}

/* ---------- FLOATING BUBBLES (#, @, *) ---------- */
.fab-bubble{
  position:absolute;
  width:54px;height:54px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#12131cd9;backdrop-filter:blur(6px);
  border:1px solid #ffffff1c;
  box-shadow:0 10px 25px -6px #000000b0, 0 0 0 1px #ffffff08 inset;
  cursor:grab;touch-action:none;user-select:none;
  z-index:55;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.fab-bubble svg{width:24px;height:24px;stroke:var(--text);fill:none;pointer-events:none;}
.fab-bubble:hover{background:#1a1c29d9;transform:scale(1.06);box-shadow:0 14px 30px -6px #000000c0;}
.fab-bubble:active,
.fab-bubble.dragging{cursor:grabbing;transform:scale(1.1);}
.fab-bubble:focus-visible{outline:2px solid var(--mauve);outline-offset:2px;}

/* Link3 Mirror window */
.mirror-body{height:100%;padding:8px;overflow:auto;}
.mirror-embed-wrap{min-height:100%;}

/* @ / * placeholder windows */
.placeholder-body{
  height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;color:var(--subtext);text-align:center;padding:20px;
}
.placeholder-body svg{width:34px;height:34px;stroke:var(--subtext);opacity:.6;}
.placeholder-body p{margin:0;font-size:13px;max-width:240px;line-height:1.5;}
.placeholder-body iframe{
  width:calc(100% + 40px);
  margin-left:-20px;
  margin-right:-20px;
  height:280px;
  border:0;
  border-radius:0;
}

/* ---------- LINK3 MIRROR: SMARTPHONE FRAME ---------- */
.phone-frame{
  border-radius:38px;
  border:3px solid var(--mantle);
  background:var(--mantle);
  box-shadow:0 0 0 1px #ffffff14, 0 25px 50px -12px #000000c0;
}
.phone-frame .titlebar{
  height:34px;background:var(--mantle);border-bottom:none;cursor:grab;
  position:relative;justify-content:center;
}
.phone-frame .titlebar:active{cursor:grabbing;}
.phone-frame .titlebar .tbtn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:9px;height:9px;opacity:.55;transition:opacity .15s ease;
  z-index:2;
}
.phone-frame .titlebar .tbtn:hover{opacity:1;}
.phone-frame .titlebar .tbtn.close{left:10px;}
.phone-frame .titlebar .tbtn.min{left:24px;}
.phone-frame .titlebar .tbtn.max{left:38px;}
.phone-frame .wtitle{display:none;}
.phone-notch{
  width:84px;height:20px;background:#000;border-radius:12px;
  margin-top:4px;
}
.phone-frame .wbody{
  position:relative;background:#000;padding:0 4px 4px;overflow:hidden;
}
.phone-frame .mirror-body{padding:0;height:100%;overflow:hidden;border-radius:0 0 26px 26px;}
.phone-frame .mirror-embed-wrap{height:100%;}
.phone-frame .mirror-screen{
  width:100%;height:100%;display:block;
  padding:0;margin:0;border:0;border-radius:
    0;background:#000;
}
.phone-home-bar{
  position:absolute;bottom:6px;left:50%;transform:translateX(-50%);
  width:100px;height:4px;border-radius:2px;
  background:#ffffff70;pointer-events:none;z-index:2;
}
.md-embed-body{
  height:100%;
  padding:0;
  display:block;
}
.md-embed-body iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}

.at-body{display:flex;flex-direction:column;height:100%;font-size:12px;}
.at-head{
  display:flex;align-items:center;gap:8px;
  padding:10px 14px;border-bottom:1px solid var(--surface1);
  color:var(--subtext);
}
.at-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--green);box-shadow:0 0 6px var(--green);
  animation:whale-pulse 1.8s ease-out infinite;
  flex-shrink:0;
}
.at-dot.error{background:var(--red);box-shadow:none;animation:none;}
#at-status{flex:1;}
#at-refresh{
  background:transparent;border:1px solid var(--surface2);color:var(--text);
  border-radius:6px;padding:3px 8px;cursor:pointer;font-size:12px;
}
#at-refresh:hover{background:#ffffff1a;}
.at-list{flex:1;overflow-y:auto;padding:6px 14px 14px;}
.at-card{
  border:1px solid var(--surface1);border-radius:var(--radius);
  padding:10px 12px;margin-bottom:8px;background:var(--surface0);
}
.at-card-title{color:var(--text);font-weight:600;margin-bottom:4px;}
.at-card-desc{color:var(--subtext);line-height:1.5;}
.at-card-meta{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;}
.at-tag{
  font-size:11px;color:var(--teal);border:1px solid var(--surface2);
  border-radius:999px;padding:2px 8px;
}
.at-empty{padding:24px 14px;color:var(--subtext);text-align:center;}
.game-embed-body{
  height:100%;
  padding:0;
  display:block;
  background:#000;
}
.game-embed-body iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
