@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* ============================================================
   WINDOWS XP (LUNA) DESKTOP ENVIRONMENT
   ============================================================ */
:root{
  --xp-face:#ece9d8;
  --xp-face-dark:#d4d0c8;
  --xp-field-border:#7f9db9;
  --xp-btn-border:#003c74;
  --xp-select:#316ac5;
  --xp-text:#000;
  --xp-dim:#5a5a5a;
  --rh-green:#00c805;
  --rh-green-dark:#00920b;
  --font-ui:Tahoma,"Segoe UI",Geneva,Verdana,sans-serif;
  --font-data:'Inter',Tahoma,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{
  font-family:var(--font-ui);font-size:11px;color:var(--xp-text);
  overflow:hidden;user-select:none;
  background:
    linear-gradient(180deg,#0d5fa8 0%,#2b86d4 22%,#67b3e8 44%,#a9d8f2 58%,#cfe9f7 63%,transparent 64%),
    linear-gradient(180deg,transparent 0%,transparent 62%,#6cae3a 63%,#5a9c2c 78%,#3f7a1e 100%);
  background-color:#5a9c2c;
}
img{-webkit-user-drag:none;}

/* wallpaper */
.wallpaper-hills{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.hill{position:absolute;border-radius:50% 50% 0 0 / 100% 100% 0 0;}
.hill-1{left:-22%;width:104%;height:26%;bottom:0;background:linear-gradient(180deg,#8fc95a 0%,#6bb038 45%,#4e8f24 100%);}
.hill-2{right:-28%;width:96%;height:20%;bottom:0;background:linear-gradient(180deg,#7ec04c 0%,#5da22e 55%,#43811d 100%);}
.hill-3{left:12%;width:70%;height:14%;bottom:0;background:linear-gradient(180deg,#a3da6b 0%,#7cc043 100%);opacity:.9;}
.cloud{position:absolute;background:rgba(255,255,255,.72);border-radius:50%;filter:blur(6px);}
.cloud-1{top:8%;left:12%;width:220px;height:52px;}
.cloud-2{top:16%;left:58%;width:300px;height:60px;}
.cloud-3{top:5%;right:8%;width:180px;height:40px;}

/* ============================= DESKTOP ICONS ============================= */
#desktop{position:fixed;inset:0 0 30px 0;z-index:1;}
.desk-icon{
  position:absolute;width:84px;padding:4px 2px;
  display:flex;flex-direction:column;align-items:center;gap:4px;
  cursor:default;border:1px dotted transparent;
}
.desk-icon .glyph{width:40px;height:40px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(1px 2px 2px rgba(0,0,0,.5));}
.desk-icon .glyph img{width:38px;height:38px;image-rendering:auto;border:1px solid rgba(255,255,255,.6);}
.desk-icon span{
  color:#fff;text-align:center;font-size:11px;line-height:1.25;
  text-shadow:1px 1px 2px rgba(0,0,0,.9);padding:1px 3px;
}
.desk-icon:hover span{background:rgba(49,106,197,.45);}
.desk-icon.selected{border-color:rgba(255,255,255,.55);background:rgba(49,106,197,.22);}
.desk-icon.selected span{background:var(--xp-select);}
.desk-icon.dragging{opacity:.72;}

/* ============================= WINDOWS ============================= */
.window{
  position:absolute;display:flex;flex-direction:column;overflow:hidden;
  background:var(--xp-face);
  border:1px solid #0831d9;border-radius:8px 8px 0 0;
  box-shadow:2px 3px 14px rgba(0,0,0,.45);
  min-width:340px;min-height:180px;
}
.window.inactive{border-color:#6d8fd6;box-shadow:1px 2px 8px rgba(0,0,0,.3);}
.window.maximized{border-radius:0;}

.titlebar{
  height:28px;flex-shrink:0;display:flex;align-items:center;gap:5px;padding:0 3px 0 5px;
  border-radius:7px 7px 0 0;cursor:default;
  background:linear-gradient(180deg,#0058ee 0%,#3593ff 4%,#288eff 6%,#127dff 8%,#036ffc 10%,
    #0262ee 14%,#0057e5 20%,#0054e3 24%,#0055e5 56%,#005bec 66%,#0262ef 76%,#0567f5 86%,#0a70ff 92%,#0d78ff 100%);
}
.window.inactive .titlebar{
  background:linear-gradient(180deg,#7ea6e8 0%,#a3c0ef 6%,#7a9fdd 16%,#6e93d4 60%,#7ba1de 100%);
}
.window.maximized .titlebar{border-radius:0;}
.titlebar .tb-icon{width:16px;height:16px;flex-shrink:0;}
.titlebar .tb-icon img{width:16px;height:16px;}
.titlebar .tb-title{
  flex:1;color:#fff;font-weight:700;font-size:12px;letter-spacing:.2px;
  text-shadow:1px 1px 1px rgba(0,0,0,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.window.inactive .tb-title{color:#e8eefb;}
.tb-buttons{display:flex;gap:2px;}
.tb-btn{
  width:21px;height:21px;border:1px solid #fff;border-radius:3px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:11px;font-weight:700;line-height:1;
  box-shadow:inset -1px -1px 2px rgba(0,0,0,.25);cursor:default;
  background:linear-gradient(180deg,#5aa2f5 0%,#2a7ae4 45%,#0d5cc8 100%);
}
.tb-btn.close{background:linear-gradient(180deg,#f79d84 0%,#e4602f 40%,#cf3f13 70%,#b52a05 100%);}
.tb-btn:hover{filter:brightness(1.15);}
.tb-btn:active{filter:brightness(.85);}

/* resize handles */
.rs{position:absolute;z-index:5;}
.rs-e{right:0;top:28px;bottom:0;width:5px;cursor:e-resize;}
.rs-s{left:0;right:0;bottom:0;height:5px;cursor:s-resize;}
.rs-w{left:0;top:28px;bottom:0;width:5px;cursor:w-resize;}
.rs-se{right:0;bottom:0;width:14px;height:14px;cursor:se-resize;}
.rs-sw{left:0;bottom:0;width:14px;height:14px;cursor:sw-resize;}
.window.maximized .rs{display:none;}

/* menu / toolbars */
.menubar{
  display:flex;padding:2px 3px;flex-shrink:0;
  background:linear-gradient(180deg,#faf9f4 0%,#eeece1 60%,#e7e4d7 100%);
  border-bottom:1px solid #d5d2c4;
}
.menubar span{padding:3px 8px;cursor:default;border-radius:2px;}
.menubar span:hover{background:var(--xp-select);color:#fff;}
.toolbar{
  display:flex;align-items:center;gap:6px;padding:4px 6px;flex-shrink:0;flex-wrap:wrap;
  background:linear-gradient(180deg,#fdfdfa 0%,#efeee3 55%,#e5e2d4 100%);
  border-bottom:1px solid #d5d2c4;
}
.tb-sep{width:1px;height:20px;background:#c9c5b4;margin:0 2px;}
.xp-toolbtn{
  display:flex;align-items:center;gap:5px;padding:3px 8px;border:1px solid transparent;
  border-radius:3px;font-size:11px;cursor:default;color:#0a2a5e;white-space:nowrap;
}
.xp-toolbtn:hover{border-color:#7ca0d0;background:linear-gradient(180deg,#fff 0%,#dceaf9 100%);}
.xp-toolbtn.active{border-color:#5e83b5;background:linear-gradient(180deg,#cfe0f5 0%,#b8d2ef 100%);box-shadow:inset 1px 1px 2px rgba(0,0,0,.15);}
.xp-toolbtn.busy{opacity:.55;}
.xp-toolbtn svg{width:14px;height:14px;}
label.tb-label{font-size:11px;color:#333;}
select.xp-select,input.xp-input{
  font-family:var(--font-ui);font-size:11px;height:20px;
  border:1px solid var(--xp-field-border);background:#fff;padding:1px 3px;
}
input.xp-input{padding:2px 5px;}
input.xp-input:focus{outline:none;border-color:#0054e3;}
.addressbar{
  display:flex;align-items:center;gap:6px;padding:3px 8px;flex-shrink:0;
  background:linear-gradient(180deg,#f6f5ee 0%,#e9e7db 100%);border-bottom:1px solid #d5d2c4;
}
.addr-field{
  flex:1;display:flex;align-items:center;gap:5px;height:20px;padding:0 4px;
  background:#fff;border:1px solid var(--xp-field-border);
  font-family:var(--font-data);font-size:11px;
}
.go-btn{
  display:flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;
  border:1px solid #b7b4a6;border-radius:3px;cursor:default;
  background:linear-gradient(180deg,#fff 0%,#ece9d8 100%);
}
.go-btn:active{box-shadow:inset 1px 1px 2px rgba(0,0,0,.2);}

.window-body{flex:1;display:flex;min-height:0;background:#fff;}
.content{flex:1;min-width:0;display:flex;flex-direction:column;background:#fff;}
.content-scroll{flex:1;overflow:auto;}

/* left task pane */
.taskpane{
  width:198px;flex-shrink:0;overflow-y:auto;padding:10px 8px;
  background:linear-gradient(180deg,#7ba4db 0%,#6d95d2 6%,#5b83c2 50%,#4a72b3 100%);
}
.tp-group{background:#f0f4fb;border-radius:4px;margin-bottom:10px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.2);}
.tp-head{
  display:flex;align-items:center;gap:6px;padding:5px 8px;font-weight:700;color:#215dc6;
  background:linear-gradient(180deg,#fff 0%,#eaf0fb 100%);border-bottom:1px solid #dbe3f2;
}
.tp-head svg{width:14px;height:14px;}
.tp-body{padding:8px;display:flex;flex-direction:column;gap:6px;}
.tp-link{color:#215dc6;cursor:default;display:flex;align-items:center;gap:6px;text-decoration:none;}
.tp-link:hover{color:#e05a00;text-decoration:underline;}
.tp-link .bullet{width:6px;height:6px;border-radius:50%;background:var(--rh-green);flex-shrink:0;}
.tp-row{display:flex;justify-content:space-between;gap:8px;}
.tp-row b{font-family:var(--font-data);font-weight:600;}
.tp-note{font-size:10px;color:#555;line-height:1.4;}
.chain-card{display:flex;align-items:center;gap:8px;}
.chain-card .logo{width:34px;height:34px;flex-shrink:0;}
.chain-card .cc-name{font-weight:700;color:#111;}
.chain-card .cc-sub{font-size:10px;color:#5a5a5a;}

/* Robinhood banner */
.chain-banner{
  display:flex;align-items:center;gap:11px;padding:8px 12px;flex-shrink:0;
  background:linear-gradient(180deg,#0d1a0d 0%,#123512 45%,#0a2a0a 100%);
  border-bottom:2px solid var(--rh-green-dark);
}
.chain-banner .cb-logo{width:30px;height:30px;flex-shrink:0;filter:drop-shadow(0 0 5px rgba(0,200,5,.55));}
.chain-banner .cb-text{flex:1;min-width:0;}
.chain-banner .cb-title{color:#fff;font-weight:700;font-size:13px;}
.chain-banner .cb-sub{color:#8fe89a;font-size:10px;margin-top:1px;}
.chain-banner .cb-stats{display:flex;gap:16px;}
.chain-banner .cb-stat{display:flex;flex-direction:column;align-items:flex-end;}
.chain-banner .cb-stat .k{color:#79c283;font-size:9px;text-transform:uppercase;letter-spacing:.08em;}
.chain-banner .cb-stat .v{color:var(--rh-green);font-family:var(--font-data);font-weight:700;font-size:14px;line-height:1.1;}

/* ============================= LIST / TABLE ============================= */
table.details{width:100%;border-collapse:collapse;font-size:11px;}
table.details thead th{
  position:sticky;top:0;z-index:2;text-align:left;font-weight:400;padding:4px 7px;
  white-space:nowrap;cursor:default;color:#1a1a1a;
  background:linear-gradient(180deg,#fff 0%,#f3f2ea 45%,#e8e6db 100%);
  border-right:1px solid #dedbcd;border-bottom:1px solid #c3c0b1;
}
table.details thead th:hover{background:linear-gradient(180deg,#fff 0%,#e8f0fb 100%);}
table.details thead th.sorted{background:linear-gradient(180deg,#e4edf9 0%,#cfdff4 100%);font-weight:700;}
table.details thead th .arrow{font-size:8px;margin-left:4px;color:#3a6ea5;}
table.details tbody tr{cursor:default;}
table.details tbody tr:nth-child(even){background:#f7f7f2;}
table.details tbody tr:hover{background:#e8f1fd;}
table.details tbody tr.selected{background:var(--xp-select);color:#fff;}
table.details tbody tr.selected .dim,table.details tbody tr.selected .mono{color:#dbe6f8;}
table.details td{padding:3px 7px;border-bottom:1px solid #f0efe8;vertical-align:middle;white-space:nowrap;}
.mono{font-family:var(--font-data);font-variant-numeric:tabular-nums;}
.dim{color:var(--xp-dim);}
.up{color:#0a7a0f;}
.down{color:#c00;}

.cell-name{display:flex;align-items:center;gap:8px;min-width:0;}
.thumb{width:30px;height:30px;flex-shrink:0;border:1px solid #8f8c7e;background:#fff;object-fit:cover;}
.name-txt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;max-width:190px;}
.star{cursor:default;color:#c9a227;font-size:13px;line-height:1;width:14px;text-align:center;}
.star.off{color:#c3c0b1;}
.star:hover{color:#f0b400;}
.badge-new{background:#dff3ff;border:1px solid #4aa3d8;color:#12608f;font-size:9px;padding:0 3px;font-weight:700;}
.risk-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e0a800;border:1px solid #a07800;}

.score-badge{
  font-family:var(--font-data);font-weight:700;font-size:10px;min-width:26px;
  text-align:center;padding:1px 4px;border:1px solid;display:inline-block;
}
.sc-hi{background:#dcffd9;border-color:#3aa03a;color:#116b11;}
.sc-mid{background:#fff4d0;border-color:#c99a12;color:#7a5c00;}
.sc-lo{background:#f0efe8;border-color:#b8b5a6;color:#666;}

.xp-progress{
  width:76px;height:13px;background:#fff;border:1px solid var(--xp-field-border);
  padding:1px;display:inline-block;vertical-align:middle;box-shadow:inset 1px 1px 1px rgba(0,0,0,.12);
}
.xp-progress .fill{
  display:block;height:100%;
  background-image:linear-gradient(180deg,#dcf9dc 0%,#59d959 18%,#1ea51e 55%,#128a12 78%,#46cf46 100%);
  -webkit-mask-image:repeating-linear-gradient(90deg,#000 0 7px,transparent 7px 9px);
  mask-image:repeating-linear-gradient(90deg,#000 0 7px,transparent 7px 9px);
}
.xp-progress.hot .fill{background-image:linear-gradient(180deg,#ffe6bf 0%,#ffb340 18%,#f08a00 55%,#cf7300 78%,#ffb84d 100%);}
.xp-progress.cold .fill{background-image:linear-gradient(180deg,#dbeaff 0%,#7fb2f0 18%,#3d7fd0 55%,#2a68b4 78%,#5a97e0 100%);}

/* tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2px;padding:8px;}
.tile{display:flex;gap:10px;padding:8px;border:1px solid transparent;cursor:default;}
.tile:hover{background:#e8f1fd;border-color:#b7d0ee;}
.tile.selected{background:var(--xp-select);border-color:#1e4d99;color:#fff;}
.tile.selected .t-sub,.tile.selected .t-meta{color:#d8e5f8;}
.tile img.cover,.tile .cover{width:74px;height:74px;flex-shrink:0;border:1px solid #9d9a8c;object-fit:cover;background:#fff;}
.tile .t-info{min-width:0;display:flex;flex-direction:column;gap:2px;}
.tile .t-name{font-weight:700;font-size:12px;display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tile .t-sub,.tile .t-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tile .t-sub{color:#3a3a3a;}
.tile .t-meta{font-size:10px;color:#666;font-family:var(--font-data);}
.tile .t-row{display:flex;align-items:center;gap:6px;margin-top:2px;}

/* generic panels used by info windows */
.pad{padding:12px;overflow:auto;}
.groupbox{border:1px solid #b8b5a6;padding:10px;margin-bottom:10px;background:var(--xp-face);}
.groupbox > .gb-title{
  font-weight:700;color:#1a3f7a;display:block;padding-bottom:5px;margin-bottom:9px;
  border-bottom:1px solid #d2cfc0;
}

/* default sizing for inline sprite icons (an unsized <svg> defaults to 300x150) */
.win-content svg:not([class]),
.tp-head svg,.tp-link svg,.sm-item svg,.task-item svg,.groupbox svg,.chain-card svg{width:14px;height:14px;flex-shrink:0;}
.titlebar .tb-icon svg{width:16px;height:16px;flex-shrink:0;}
.desk-icon .glyph svg{width:38px;height:38px;}
.chain-card .logo{width:34px;height:34px;}
.chain-banner .cb-logo{width:30px;height:30px;}
.sm-header .avatar svg{width:26px;height:26px;}
.start-btn .winlogo{width:19px;height:19px;}
.tray .tray-icon{width:15px;height:15px;}

/* Robinhood mark colouring per surface */
.chain-banner .cb-logo{color:#ccff00;}
.titlebar .tb-icon svg{color:#ccff00;}
.window.inactive .titlebar .tb-icon svg{color:#e2eeb8;}
.chain-card .logo,.tp-head svg,.sb-pane svg,.sm-item svg,.groupbox svg,.addr-field svg{color:#111;}
.sm-header .avatar svg{color:#ccff00;}
.task-item svg{color:#ccff00;}
#tray-feather{color:#ccff00;}
.boot-logo{color:#ccff00;}
#tour-tip .tt-head svg{color:#4e7d00;}
.addr-field svg{width:13px;height:13px;flex-shrink:0;}
.tp-link svg,.tp-row svg{width:13px;height:13px;}
.prop-cover{width:88px;height:88px;border:1px solid #8c8a7c;object-fit:cover;background:#fff;flex-shrink:0;}
.no-img{
  display:flex;align-items:center;justify-content:center;
  background:#e8e6db;color:#8a8778;font-size:9px;border:1px solid #b9b6a8;
}

/* XP-styled range slider */
input[type=range]{
  -webkit-appearance:none;appearance:none;height:20px;background:transparent;
}
input[type=range]::-webkit-slider-runnable-track{
  height:4px;background:linear-gradient(180deg,#9d9a8c,#cfccbe);
  border:1px solid #7d7a6e;border-radius:2px;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:11px;height:19px;margin-top:-9px;
  background:linear-gradient(180deg,#fff 0%,#f2f0e6 40%,#ddd9c9 90%);
  border:1px solid #6f6c60;border-radius:2px;box-shadow:inset 0 0 0 1px #fff;
}
input[type=range]::-webkit-slider-thumb:hover{border-color:#2a6ec8;}
.kv{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;align-items:center;}
.kv .k{color:#444;}
.kv .v{font-family:var(--font-data);font-weight:600;}
.stat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;}
.stat-tile{border:1px solid #b8b5a6;background:#fff;padding:8px 10px;}
.stat-tile .k{font-size:10px;color:#666;text-transform:uppercase;letter-spacing:.06em;}
.stat-tile .v{font-family:var(--font-data);font-weight:700;font-size:17px;}

/* log */
.logbox{
  flex:1;overflow:auto;background:#fff;border:1px solid var(--xp-field-border);margin:8px;
  font-family:var(--font-data);font-size:11px;
}
.log-line{padding:3px 8px;border-bottom:1px solid #f2f1ea;display:flex;gap:8px;}
.log-line .ts{color:#888;flex-shrink:0;}
.log-line.evt-up .msg{color:#0a7a0f;}
.log-line.evt-down .msg{color:#c00;}
.log-line.evt-new .msg{color:#12608f;font-weight:600;}
.log-line.evt-sys .msg{color:#444;}

/* sliders (engine window) */
.slider-row{display:grid;grid-template-columns:118px 1fr 42px;align-items:center;gap:10px;margin-bottom:8px;}
input[type=range]{width:100%;height:18px;}
.formula{background:#fff;border:1px solid var(--xp-field-border);padding:8px;font-family:var(--font-data);font-size:11px;line-height:1.5;}

/* tabs */
.tabs{display:flex;gap:2px;padding-left:4px;}
.tab{
  padding:4px 12px;cursor:default;border:1px solid #a8a496;border-bottom:none;
  border-radius:4px 4px 0 0;position:relative;top:1px;
  background:linear-gradient(180deg,#f4f2e9 0%,#ddd9c9 100%);
}
.tab.active{background:var(--xp-face);font-weight:700;top:0;padding-bottom:6px;}
.tab-panel{border:1px solid #a8a496;background:var(--xp-face);padding:12px;box-shadow:inset 1px 1px 0 #fff;overflow:auto;}

.prop-head{display:flex;gap:12px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid #cfcbba;margin-bottom:10px;}
.prop-head img{width:88px;height:88px;border:1px solid #8c8a7c;object-fit:cover;background:#fff;}
.prop-head h3{font-size:14px;margin-bottom:3px;}
.prop-head .ph-sub{color:#555;margin-bottom:3px;}
.desc-box{background:#fff;border:1px solid var(--xp-field-border);padding:8px;margin-top:9px;line-height:1.45;max-height:110px;overflow:auto;}
.risk-box{background:#fff8e0;border:1px solid #d8b940;padding:7px 9px;margin-top:10px;}
.risk-box ul{margin:4px 0 0 16px;}
.ok-box{background:#eefbe8;border:1px solid #7cb85c;padding:7px 9px;margin-top:10px;}
.info-box{background:#eef5ff;border:1px solid #9dbde6;padding:7px 9px;margin-top:10px;line-height:1.45;}

.dialog-actions{display:flex;justify-content:flex-end;gap:6px;padding-top:10px;flex-wrap:wrap;}
.xp-button{
  font-family:var(--font-ui);font-size:11px;min-width:76px;padding:4px 12px;
  border:1px solid var(--xp-btn-border);border-radius:3px;cursor:default;text-align:center;
  color:#000;text-decoration:none;display:inline-block;
  background:linear-gradient(180deg,#fff 0%,#f2f0e6 45%,#e3dfd0 90%,#e8e5d8 100%);
  box-shadow:inset 0 0 0 1px #fff;
}
.xp-button:hover{border-color:#2a6ec8;}
.xp-button:active{background:linear-gradient(180deg,#ddd9c9 0%,#eae6d7 100%);box-shadow:inset 1px 1px 2px rgba(0,0,0,.2);}
.xp-button.primary{font-weight:700;box-shadow:inset 0 0 0 1px #fff,0 0 0 1px #4a8ae0;}
.xp-button.wide{min-width:132px;}

/* status bar */
.statusbar{display:flex;flex-shrink:0;height:21px;background:var(--xp-face);border-top:1px solid #d5d2c4;}
.sb-pane{
  display:flex;align-items:center;gap:5px;padding:0 8px;color:#222;
  border-right:1px solid #cdcabb;box-shadow:inset 1px 1px 0 #fff;white-space:nowrap;overflow:hidden;
}
.sb-pane:last-child{border-right:none;flex:1;}
.sb-live{display:flex;align-items:center;gap:5px;color:#0a7a0f;font-weight:700;}
.sb-dot{width:7px;height:7px;border-radius:50%;background:var(--rh-green);box-shadow:0 0 4px var(--rh-green);animation:blink 1.6s infinite;}
.sb-dot.busy{background:#e0a800;box-shadow:0 0 4px #e0a800;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}

/* ============================= START MENU ============================= */
#start-menu{
  position:fixed;left:0;bottom:30px;width:392px;z-index:200;display:none;
  border:1px solid #0831d9;border-radius:8px 8px 0 0;overflow:hidden;
  box-shadow:3px -2px 14px rgba(0,0,0,.45);
}
#start-menu.open{display:block;}
.sm-header{
  display:flex;align-items:center;gap:10px;padding:8px 12px;
  background:linear-gradient(180deg,#1868d8 0%,#2c7ce8 40%,#1a5fc4 100%);
  border-bottom:2px solid #f0a020;
}
.sm-header .avatar{
  width:42px;height:42px;border:2px solid #fff;border-radius:4px;
  background:linear-gradient(135deg,#0a2a0a,#0f4a10);display:flex;align-items:center;justify-content:center;
}
.sm-header .avatar svg{width:26px;height:26px;}
.sm-header .who{color:#fff;font-weight:700;font-size:14px;text-shadow:1px 1px 2px rgba(0,0,0,.5);}
.sm-header .who small{display:block;font-weight:400;font-size:10px;color:#cfe0f8;}
.sm-cols{display:flex;background:#fff;}
.sm-left{width:210px;padding:6px;border-right:1px solid #d3e0f5;}
.sm-right{flex:1;padding:6px;background:#d3e5f7;}
.sm-item{
  display:flex;align-items:center;gap:9px;padding:6px 7px;cursor:default;border-radius:2px;
}
.sm-item:hover{background:var(--xp-select);color:#fff;}
.sm-item:hover small{color:#dbe7fb;}
.sm-item svg{width:22px;height:22px;flex-shrink:0;}
.sm-item .lbl{font-weight:700;}
.sm-item small{display:block;font-weight:400;color:#666;font-size:10px;}
.sm-sep{height:1px;background:#c9d8ef;margin:5px 4px;}
.sm-right .sm-item{padding:5px 7px;}
.sm-right .sm-item svg{width:18px;height:18px;}
.sm-footer{
  display:flex;justify-content:flex-end;gap:14px;padding:6px 12px;
  background:linear-gradient(180deg,#3f8ce8 0%,#1a5fc4 100%);border-top:1px solid #6ba3ef;
}
.sm-footer .sm-fbtn{display:flex;align-items:center;gap:6px;color:#fff;font-weight:700;cursor:default;text-shadow:1px 1px 1px rgba(0,0,0,.4);}
.sm-footer .sm-fbtn:hover{text-decoration:underline;}
.sm-footer svg{width:18px;height:18px;}

/* ============================= TASKBAR ============================= */
.taskbar{
  position:fixed;bottom:0;left:0;right:0;height:30px;z-index:150;display:flex;align-items:stretch;
  background:linear-gradient(180deg,#2586e8 0%,#4fa3f2 3%,#2b7fe0 8%,#1f68d0 16%,#215fc9 88%,#1a52b4 96%,#154497 100%);
  border-top:1px solid #0f47a8;box-shadow:0 -1px 3px rgba(0,0,0,.3);
}
.start-btn{
  display:flex;align-items:center;gap:6px;padding:0 20px 0 9px;border-radius:0 9px 9px 0;margin-right:6px;
  cursor:default;color:#fff;font-weight:700;font-style:italic;font-size:15px;
  text-shadow:1px 1px 2px rgba(0,0,0,.55);
  background:linear-gradient(180deg,#8fd968 0%,#63bf42 12%,#4bab2c 45%,#3d9c22 70%,#2f8d18 88%,#59b53c 100%);
  box-shadow:inset -1px -2px 3px rgba(0,0,0,.25),1px 0 2px rgba(0,0,0,.3);
}
.start-btn:hover{filter:brightness(1.08);}
.start-btn.active{background:linear-gradient(180deg,#4a9c30 0%,#3d8a24 45%,#2f7a18 100%);box-shadow:inset 2px 2px 4px rgba(0,0,0,.4);}
.start-btn .winlogo{width:19px;height:19px;filter:drop-shadow(1px 1px 1px rgba(0,0,0,.4));}
.quick-launch{
  display:flex;align-items:center;gap:5px;padding:0 8px 0 2px;margin-right:6px;
  border-right:1px solid rgba(255,255,255,.25);box-shadow:1px 0 0 rgba(0,0,0,.25);
}
.ql-btn{width:16px;height:16px;cursor:default;opacity:.92;}
.ql-btn:hover{opacity:1;filter:drop-shadow(0 0 3px rgba(255,255,255,.7));}
#ql-alpha{color:#fff;}
#ql-hot{color:#ff9d3d;}
.task-items{display:flex;align-items:center;gap:3px;padding:3px 0;flex:1;min-width:0;overflow:hidden;}


/* clock calendar popup */
#clock-pop{
  position:fixed;right:8px;bottom:34px;z-index:200;display:none;width:212px;padding:10px;
  background:var(--xp-face);border:1px solid #8c8a7c;border-radius:4px;
  box-shadow:0 6px 18px rgba(0,0,0,.45),inset 0 0 0 1px #fff;
}
#clock-pop.show{display:block;}
#clock-pop .cp-time{font-family:var(--font-data);font-size:22px;font-weight:700;text-align:center;}
#clock-pop .cp-date{text-align:center;color:#444;margin-bottom:8px;}
#clock-pop table{width:100%;border-collapse:collapse;font-size:10px;}
#clock-pop th{color:#666;font-weight:400;padding:2px 0;}
#clock-pop td{text-align:center;padding:2px 0;}
#clock-pop td.today{background:var(--xp-select);color:#fff;border-radius:2px;font-weight:700;}

/* screensaver */
#screensaver{
  position:fixed;inset:0;z-index:450;display:none;background:#000;overflow:hidden;cursor:none;
}
#screensaver.show{display:block;}
#screensaver .ss-logo{
  position:absolute;display:flex;align-items:center;gap:12px;
  color:#ccff00;font-family:var(--font-ui);font-size:26px;font-weight:700;letter-spacing:1px;
  text-shadow:0 0 18px rgba(204,255,0,.5);
}
#screensaver .ss-logo svg{width:38px;height:38px;color:#ccff00;}
#screensaver .ss-hint{
  position:absolute;left:0;right:0;bottom:26px;text-align:center;color:#555;font-size:11px;
}
.task-item{
  display:flex;align-items:center;gap:6px;min-width:120px;max-width:186px;padding:0 9px;height:100%;
  border-radius:3px;color:#fff;cursor:default;white-space:nowrap;overflow:hidden;
  background:linear-gradient(180deg,#3f8ee8 0%,#1c62c8 100%);
  box-shadow:inset 1px 1px 1px rgba(255,255,255,.25);
}
.task-item span{overflow:hidden;text-overflow:ellipsis;}
.task-item.active{background:linear-gradient(180deg,#1a55b0 0%,#2a75d8 100%);box-shadow:inset 1px 1px 3px rgba(0,0,0,.4);font-weight:700;}
.task-item:hover{filter:brightness(1.1);}
.task-item svg,.task-item img{width:14px;height:14px;flex-shrink:0;}
.tray{
  display:flex;align-items:center;gap:8px;padding:0 10px;color:#fff;
  background:linear-gradient(180deg,#12a3ef 0%,#0f8ae2 8%,#1084dd 60%,#0c6fc4 100%);
  box-shadow:inset 1px 0 2px rgba(0,0,0,.25);border-left:1px solid #0a5cb0;
}
.tray .tray-icon{width:15px;height:15px;cursor:default;}
.tray .clock{min-width:56px;text-align:center;text-shadow:1px 1px 1px rgba(0,0,0,.4);}

/* balloon */
.balloon{
  position:fixed;right:14px;bottom:42px;width:274px;z-index:180;display:none;
  background:#ffffe1;border:1px solid #8b8b6f;border-radius:5px;padding:9px 11px;
  box-shadow:2px 3px 10px rgba(0,0,0,.35);
}
.balloon.show{display:block;}
.balloon:after{
  content:'';position:absolute;bottom:-8px;right:26px;
  border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #ffffe1;
}
.balloon .b-head{display:flex;align-items:center;gap:6px;font-weight:700;margin-bottom:4px;}
.balloon .b-close{position:absolute;top:5px;right:6px;color:#555;cursor:default;}
.balloon p{line-height:1.4;color:#333;}

/* context menu */
#ctx-menu{
  position:fixed;z-index:300;display:none;min-width:186px;
  background:#fff;border:1px solid #a0a0a0;box-shadow:2px 2px 6px rgba(0,0,0,.35);padding:2px;
}
#ctx-menu.open{display:block;}
#ctx-menu .ctx-item{padding:5px 12px;cursor:default;display:flex;justify-content:space-between;gap:14px;}
#ctx-menu .ctx-item:hover{background:var(--xp-select);color:#fff;}
#ctx-menu .ctx-item.disabled{color:#999;}
#ctx-menu .ctx-item.disabled:hover{background:transparent;color:#999;}
#ctx-menu .ctx-sep{height:1px;background:#d6d3c6;margin:3px 2px;}

/* shutdown overlay */
#shutdown{
  position:fixed;inset:0;z-index:400;display:none;background:#000;color:#e8a020;
  align-items:center;justify-content:center;flex-direction:column;gap:18px;
  font-family:var(--font-ui);
}
#shutdown.show{display:flex;}
#shutdown .msg{font-size:20px;}

/* ============================= DESKTOP EXTRAS ============================= */
.desk-icon .glyph{position:relative;}
.icon-badge{
  position:absolute;right:-4px;top:-3px;min-width:17px;height:17px;padding:0 4px;
  display:none;align-items:center;justify-content:center;
  background:#e8452c;color:#fff;border:1px solid #fff;border-radius:9px;
  font-size:10px;font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.5);
}
#marquee{
  position:fixed;display:none;z-index:5;pointer-events:none;
  border:1px dotted #fff;background:rgba(49,106,197,.28);
}

/* Display properties */
.monitor-preview{display:flex;flex-direction:column;align-items:center;margin-bottom:12px;}
.mp-screen{
  width:210px;height:132px;border:6px solid #d7d3c4;border-radius:6px;
  background:#3a6ea5 center/cover no-repeat;box-shadow:inset 0 0 0 1px #8a8778;
}
.mp-stand{width:56px;height:12px;background:linear-gradient(180deg,#e2ded0,#bdb9aa);border:1px solid #a8a496;border-top:none;border-radius:0 0 5px 5px;}
.wp-list{display:flex;flex-direction:column;gap:3px;max-height:150px;overflow:auto;border:1px solid var(--xp-field-border);background:#fff;padding:3px;}
.wp-item{display:flex;align-items:center;gap:9px;padding:4px 6px;cursor:default;border:1px solid transparent;}
.wp-item:hover{background:#eaf1fc;}
.wp-item.sel{background:var(--xp-select);color:#fff;}
.wp-item.sel .wp-meta span{color:#dbe6f8;}
.wp-thumb{width:52px;height:32px;border:1px solid #8a8778;background:center/cover no-repeat;flex-shrink:0;}
.wp-meta{display:flex;flex-direction:column;line-height:1.25;}
.wp-meta span{font-size:10px;color:#666;}
label.check{display:flex;align-items:center;gap:7px;padding:3px 0;cursor:default;}
.xp-textarea{
  font-family:var(--font-data);font-size:11px;width:100%;resize:none;
  border:1px solid var(--xp-field-border);padding:5px;
}

/* ============================= ALPHA RADAR ============================= */
.alpha-head{
  display:flex;align-items:center;gap:16px;padding:9px 12px;flex-shrink:0;
  background:linear-gradient(180deg,#0d1a0d 0%,#123512 45%,#0a2a0a 100%);
  border-bottom:2px solid var(--rh-green-dark);
}
.alpha-head .ah-title{display:flex;align-items:center;gap:10px;flex:1;min-width:0;}
.alpha-head .ah-logo{width:26px;height:26px;color:#ccff00;flex-shrink:0;}
.alpha-head b{color:#fff;display:block;font-size:12px;}
.alpha-head span{color:#9fd9a8;font-size:10px;line-height:1.4;display:block;}
.ah-stats{display:flex;gap:18px;flex-shrink:0;}
.ah-stat{display:flex;flex-direction:column;align-items:flex-end;}
.ah-stat .k{color:#79c283;font-size:9px;text-transform:uppercase;letter-spacing:.07em;}
.ah-stat .v{color:#ccff00;font-family:var(--font-data);font-weight:700;font-size:15px;line-height:1.1;}

.alpha-side{
  width:216px;flex-shrink:0;overflow-y:auto;padding:9px 8px;
  background:linear-gradient(180deg,#7ba4db 0%,#5b83c2 50%,#4a72b3 100%);
}
.legend{display:flex;align-items:flex-start;gap:7px;margin-bottom:6px;line-height:1.4;}

.alpha-card{
  display:flex;gap:12px;padding:11px 12px;border-bottom:1px solid #e6e4da;background:#fff;
}
.alpha-card:nth-child(even){background:#fbfbf7;}
.alpha-card:hover{background:#eef5fe;}
.ac-art{width:96px;height:96px;flex-shrink:0;border:1px solid #9d9a8c;object-fit:cover;background:#f0efe8;}
.ac-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;}
.ac-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.ac-name{font-weight:700;font-size:13px;}
.chip{
  font-size:9px;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border-radius:9px;
  background:#eceadf;border:1px solid #c9c5b4;color:#555;
}
.chip-rh{background:#e8ffcc;border-color:#8dbf00;color:#3f6b00;font-weight:700;}
.chip-new{background:#dff3ff;border-color:#4aa3d8;color:#12608f;}
.tier{
  margin-left:auto;font-family:var(--font-data);font-weight:700;font-size:10px;
  padding:2px 8px;border:1px solid;border-radius:3px;white-space:nowrap;
}
.tier-hot{background:#e6ffcf;border-color:#5a9c00;color:#2f6b00;}
.tier-warm{background:#fff3d0;border-color:#c99a12;color:#7a5c00;}
.tier-cold{background:#eef0f2;border-color:#b6bcc2;color:#6b7278;}
.ac-when{font-size:11px;}
.live-chip{background:#00a30a;color:#fff;padding:1px 7px;border-radius:3px;font-size:10px;letter-spacing:.04em;}
.soon-chip{background:#1f6fd0;color:#fff;padding:1px 7px;border-radius:3px;font-size:10px;letter-spacing:.04em;}
.ac-facts{display:flex;flex-wrap:wrap;gap:14px;font-size:11px;color:#333;}
.ac-facts b{font-family:var(--font-data);}
.ac-why{display:flex;flex-wrap:wrap;gap:5px;}
.why{font-size:10px;background:#f2f6ec;border:1px solid #cfe0b8;color:#40631a;padding:1px 6px;border-radius:8px;}
.ac-actions{display:flex;align-items:center;gap:7px;margin-top:2px;}
.ac-actions .star{font-size:15px;}
.empty{padding:40px;text-align:center;color:#777;}

/* Robinhood identity accents */
.x-chip{
  display:inline-flex;align-items:center;gap:5px;padding:1px 7px;border-radius:10px;
  background:#0d0d0d;color:#fff;cursor:default;
}
.x-chip svg{width:11px;height:11px;}
.x-chip b{color:#ccff00;font-family:var(--font-data);}
.x-chip:hover{box-shadow:0 0 0 1px #ccff00;}
.chip-rh{
  background:#ccff00;border-color:#8fb300;color:#0d0d0d;font-weight:700;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);
}
.live-chip{background:linear-gradient(180deg,#d8ff4d,#a8dd00);color:#0d2a00;font-weight:700;}
.tier-hot{background:linear-gradient(180deg,#e9ff9e,#ccff00);border-color:#8fb300;color:#1d3300;}
.alpha-head{border-bottom-color:#ccff00;}
.ah-stat .v{color:#ccff00;}
.sb-live{color:#4b8f00;}
.sb-dot{background:#ccff00;box-shadow:0 0 5px rgba(204,255,0,.9);}
.xp-button.primary{
  background:linear-gradient(180deg,#eaffb0 0%,#ccff00 45%,#a8dd00 90%,#c2f000 100%);
  border-color:#7fa300;color:#12240a;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.6),0 0 0 1px #9ccb00;
}
.xp-button.primary:hover{background:linear-gradient(180deg,#f2ffd0 0%,#d9ff3d 45%,#b6ea00 100%);}
.mp-bar span{
  background-image:linear-gradient(180deg,#eaffb0 0%,#ccff00 25%,#a4d800 65%,#c6f800 100%);
}
.xp-progress .fill{
  background-image:linear-gradient(180deg,#eaffb0 0%,#ccff00 25%,#9fd200 65%,#c2f400 100%);
}
.why{background:#f4ffe0;border-color:#c2e07a;color:#3d5c00;}
.score-badge.sc-hi,.hype-hi{background:#eaffb0;border-color:#8fb300;color:#28450a;}
.taskbar{border-top:1px solid #9ccb00;}
.start-btn{
  background:linear-gradient(180deg,#d9ff5c 0%,#c2f000 12%,#a8dd00 45%,#93c400 70%,#7fa900 88%,#bdea00 100%);
  color:#12240a;text-shadow:0 1px 0 rgba(255,255,255,.35);
}

#tour-spot{box-shadow:0 0 0 9999px rgba(0,0,0,.62), 0 0 0 2px #ccff00, 0 0 16px 3px rgba(204,255,0,.55);}

/* mint stage table */
.stage-table{width:100%;border-collapse:collapse;font-size:10px;margin-top:2px;background:#fbfbf7;}
.stage-table th{
  text-align:left;font-weight:400;color:#666;padding:2px 6px;border-bottom:1px solid #e0ded3;
  text-transform:uppercase;letter-spacing:.04em;font-size:9px;
}
.stage-table td{padding:3px 6px;border-bottom:1px solid #f0efe8;white-space:nowrap;}
.stage-kind{
  display:inline-block;font-size:9px;font-weight:700;padding:0 5px;border-radius:3px;border:1px solid;margin-right:4px;
}
.sk-wl{background:#e8f0ff;border-color:#7aa2e0;color:#1a4f9c;}
.sk-pub{background:#eaffe8;border-color:#7ac36a;color:#2c6b1e;}
.st-live{color:#0a7a0f;font-weight:700;}
.st-soon{color:#1f6fd0;font-weight:700;}
.st-done{color:#999;}
.done-chip{background:#8a8778;color:#fff;padding:1px 7px;border-radius:3px;font-size:10px;letter-spacing:.04em;}

/* minted progress */
.mint-progress{display:flex;align-items:center;gap:9px;}
.mp-bar{
  flex:1;max-width:230px;height:12px;background:#fff;border:1px solid var(--xp-field-border);
  padding:1px;box-shadow:inset 1px 1px 1px rgba(0,0,0,.12);
}
.mp-bar span{
  display:block;height:100%;
  background-image:linear-gradient(180deg,#dcf9dc 0%,#59d959 18%,#1ea51e 55%,#128a12 78%,#46cf46 100%);
  -webkit-mask-image:repeating-linear-gradient(90deg,#000 0 7px,transparent 7px 9px);
  mask-image:repeating-linear-gradient(90deg,#000 0 7px,transparent 7px 9px);
}
.mp-text{font-size:11px;color:#333;}

/* Hot Now rows */
.hot-row{
  display:flex;align-items:center;gap:11px;padding:9px 12px;border-bottom:1px solid #e6e4da;background:#fff;
}
.hot-row:nth-child(even){background:#fbfbf7;}
.hot-row:hover{background:#eef5fe;}
.hot-row.selected{background:#dbe8fb;}
.hot-art{width:52px;height:52px;flex-shrink:0;border:1px solid #9d9a8c;object-fit:cover;background:#f0efe8;}
.hot-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;}
.hot-name{font-weight:700;font-size:12px;display:flex;align-items:center;gap:7px;}
.hot-nums{display:flex;gap:16px;flex-shrink:0;}
.hot-nums > div{display:flex;flex-direction:column;align-items:flex-end;min-width:56px;}
.hot-nums .k{font-size:9px;color:#777;text-transform:uppercase;letter-spacing:.05em;}
.hot-nums b{font-family:var(--font-data);font-size:12px;}
.hot-actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0;}
.hot-actions .xp-button{min-width:70px;padding:3px 8px;}

/* risk cards */
.risk-card{display:flex;gap:12px;align-items:flex-start;}
.rc-title{font-weight:700;}
.rc-actions{display:flex;flex-direction:column;gap:5px;}
.risk-list{margin:0 0 0 16px;line-height:1.55;}
.thumb-lg{width:64px;height:64px;border:1px solid #8f8c7e;object-fit:cover;flex-shrink:0;background:#fff;}

/* my computer */
.drives{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;}
.drive{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid transparent;cursor:default;}
.drive:hover{background:#eaf1fc;border-color:#b7d0ee;}
.drive svg{width:30px;height:30px;flex-shrink:0;}
.drive b{display:block;}
.drive span{font-size:10px;color:#666;}

.help-list{margin-left:16px;line-height:1.75;}
.link{color:#215dc6;cursor:default;text-decoration:underline;}
.link:hover{color:#e05a00;}
#ctx-menu .ctx-item.bold{font-weight:700;}

/* ============================= BOOT SCREEN ============================= */
#boot{
  position:fixed;inset:0;z-index:500;background:#000;color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;
  transition:opacity .45s ease;
}
#boot.hide{opacity:0;pointer-events:none;}
#boot.gone{display:none;}
.boot-inner{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:40px;}
.boot-brand{display:flex;align-items:center;gap:16px;}
.boot-logo{width:64px;height:64px;color:#ccff00;filter:drop-shadow(0 0 18px rgba(204,255,0,.35));}
.boot-word{
  font-family:var(--font-ui);font-size:52px;font-weight:400;letter-spacing:-1px;color:#fff;
}
.boot-word span{font-weight:700;font-style:italic;color:#ccff00;}
.boot-sub{color:#9aa0a6;font-size:13px;letter-spacing:.14em;text-transform:uppercase;}
.boot-bar{
  width:186px;height:16px;margin-top:22px;border:1px solid #6d6d6d;border-radius:3px;
  background:#0b0b0b;overflow:hidden;box-shadow:inset 0 0 6px rgba(0,0,0,.9);
}
.boot-blocks{display:flex;gap:4px;height:100%;padding:2px;width:66px;animation:bootslide 2.1s linear infinite;}
.boot-blocks i{
  flex:1;border-radius:1px;
  background:linear-gradient(180deg,#e8ff8a 0%,#ccff00 45%,#8fbf00 100%);
  box-shadow:0 0 6px rgba(204,255,0,.65);
}
@keyframes bootslide{0%{transform:translateX(-70px)}100%{transform:translateX(190px)}}
.boot-status{color:#c8c8c8;font-size:12px;margin-top:14px;min-height:16px;}
.boot-foot{
  position:absolute;bottom:22px;left:0;right:0;padding:0 26px;
  display:flex;justify-content:space-between;color:#6f6f6f;font-size:11px;
}
#boot-skip{color:#ccff00;opacity:.85;}

/* ============================= GUIDED TOUR ============================= */
#tour-spot{
  position:fixed;z-index:600;display:none;pointer-events:none;border-radius:4px;
  box-shadow:0 0 0 9999px rgba(0,0,0,.62), 0 0 0 2px #ccff00, 0 0 16px 3px rgba(204,255,0,.55);
  transition:all .28s cubic-bezier(.4,0,.2,1);
}
#tour-spot.show{display:block;}
#tour-tip{
  position:fixed;z-index:601;display:none;width:308px;
  background:#ffffe1;border:1px solid #8b8b6f;border-radius:5px;padding:11px 13px 10px;
  box-shadow:3px 4px 14px rgba(0,0,0,.5);font-family:var(--font-ui);font-size:11px;
}
#tour-tip.show{display:block;}
#tour-tip .tt-head{display:flex;align-items:center;gap:7px;font-weight:700;margin-bottom:6px;}
#tour-tip .tt-head svg{width:14px;height:14px;color:#5a8f00;flex-shrink:0;}
#tour-tip .tt-step{margin-left:auto;font-weight:400;color:#777;font-size:10px;}
#tour-tip p{line-height:1.55;color:#2a2a2a;min-height:58px;}
#tour-tip p:after{
  content:'';display:inline-block;width:6px;height:11px;background:#2a2a2a;
  margin-left:2px;vertical-align:-1px;animation:caret .9s steps(1) infinite;
}
#tour-tip.done p:after{display:none;}
@keyframes caret{0%,49%{opacity:1}50%,100%{opacity:0}}
#tour-tip .tt-actions{display:flex;align-items:center;justify-content:space-between;margin-top:10px;gap:10px;}
#tour-tip .tt-skip{color:#215dc6;cursor:default;text-decoration:underline;}
#tour-tip .tt-skip:hover{color:#e05a00;}
#tour-tip .xp-button{min-width:62px;padding:3px 10px;}
#tour-tip.arrow-up:before,#tour-tip.arrow-down:before{
  content:'';position:absolute;left:26px;border-left:9px solid transparent;border-right:9px solid transparent;
}
#tour-tip.arrow-up:before{top:-9px;border-bottom:9px solid #ffffe1;}
#tour-tip.arrow-down:before{bottom:-9px;border-top:9px solid #ffffe1;}

/* scrollbars */
::-webkit-scrollbar{width:16px;height:16px;background:#f1f0e8;}
::-webkit-scrollbar-track{background:linear-gradient(90deg,#f7f6f0,#eceadf);border-left:1px solid #d9d6c8;}
::-webkit-scrollbar-thumb{
  background:linear-gradient(90deg,#fff 0%,#dbe7f7 20%,#b6cdec 55%,#8fb2df 100%);
  border:1px solid #6d90bd;border-radius:2px;
}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#fff,#c9dcf5 30%,#9dbde6 100%);}

.more-note{padding:14px 16px;color:#666;text-align:center;border-top:1px solid #e6e4da;background:#fbfbf7;}

/* start button: Robinhood feather in the XP orb */
.start-orb{
  width:22px;height:22px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 35% 30%,#1a1a1a 0%,#0d0d0d 60%,#000 100%);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.45);
}
.start-orb svg{width:14px;height:14px;color:#ccff00;filter:drop-shadow(0 0 3px rgba(204,255,0,.7));}
.start-btn{gap:8px;}

/* ============================================================
   PHONE / TABLET SHELL
   ============================================================ */
#mobile-app{display:none;position:fixed;inset:0;z-index:600;flex-direction:column;background:#f2f4f0;color:#111;}
body.mobile-mode #desktop,
body.mobile-mode .taskbar,
body.mobile-mode .wallpaper-hills,
body.mobile-mode #start-menu,
body.mobile-mode #tour-tip,
body.mobile-mode #tour-spot,
body.mobile-mode .balloon,
body.mobile-mode #clock-pop,
body.mobile-mode #screensaver{display:none !important;}
body.mobile-mode{overflow:hidden;user-select:auto;}

.m-head{
  display:flex;align-items:center;justify-content:space-between;padding:12px 14px;flex-shrink:0;
  background:linear-gradient(180deg,#111 0%,#0a0a0a 100%);color:#fff;
  border-bottom:2px solid #ccff00;
}
.m-brand{display:flex;align-items:center;gap:9px;font-size:17px;letter-spacing:.4px;}
.m-brand b{font-weight:400;}
.m-brand b span{font-weight:800;font-style:italic;color:#ccff00;}
.m-logo{width:24px;height:24px;color:#ccff00;}
.m-actions{display:flex;gap:8px;}
.m-icon-btn{
  width:38px;height:38px;border-radius:9px;border:1px solid #333;background:#1a1a1a;
  display:flex;align-items:center;justify-content:center;color:#ccff00;
}
.m-icon-btn svg{width:18px;height:18px;}
.m-icon-btn:active{background:#262626;}

.m-stats{display:grid;grid-template-columns:repeat(4,1fr);background:#0d0d0d;color:#fff;padding:10px 6px;gap:4px;flex-shrink:0;}
.m-stats > div{display:flex;flex-direction:column;align-items:center;}
.m-stats b{font-family:var(--font-data);font-size:19px;color:#ccff00;line-height:1.1;}
.m-stats span{font-size:10px;color:#8a8a8a;text-transform:uppercase;letter-spacing:.05em;}

.m-tabs{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-bottom:1px solid #dcdfd8;flex-shrink:0;}
.m-tabs button{
  padding:13px 4px;border:none;background:none;font:inherit;font-size:13px;color:#555;
  border-bottom:3px solid transparent;
}
.m-tabs button.sel{color:#111;font-weight:700;border-bottom-color:#ccff00;background:#fbfff0;}

.m-search{padding:10px 12px;background:#fff;border-bottom:1px solid #e6e8e2;flex-shrink:0;}
.m-search input{
  width:100%;padding:11px 13px;font:inherit;font-size:15px;border:1px solid #cfd4c8;border-radius:10px;
  background:#f7f9f4;-webkit-appearance:none;
}
.m-search input:focus{outline:none;border-color:#9fd200;background:#fff;}

.m-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 10px 22px;}
.m-card{
  background:#fff;border:1px solid #e2e6dc;border-radius:14px;margin-bottom:10px;overflow:hidden;
  box-shadow:0 1px 3px rgba(0,0,0,.06);
}
.m-card-top{display:flex;gap:12px;padding:12px;}
.m-art{width:74px;height:74px;border-radius:11px;object-fit:cover;flex-shrink:0;background:#eef0ea;border:1px solid #dfe3d8;}
.m-card-main{flex:1;min-width:0;}
.m-title{font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px;}
.m-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:7px;}
.m-chip{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;letter-spacing:.03em;}
.m-chip.live{background:#ccff00;color:#12240a;}
.m-chip.soon{background:#e8f0ff;color:#1a4f9c;}
.m-chip.done{background:#eceef0;color:#777;}
.m-when{font-size:12px;color:#666;}
.m-bar{height:8px;border-radius:5px;background:#eef0ea;overflow:hidden;margin:6px 0 5px;}
.m-bar span{display:block;height:100%;background:linear-gradient(90deg,#a8dd00,#ccff00);}
.m-sub{font-size:12.5px;color:#555;line-height:1.5;}
.m-sub b{color:#111;}
.m-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px 10px;margin:7px 0;}
.m-grid > div{display:flex;flex-direction:column;}
.m-grid span{font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.04em;}
.m-grid b{font-family:var(--font-data);font-size:14px;}
.m-why{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;}
.m-why span{font-size:11px;background:#f4ffe0;border:1px solid #d5e9a8;color:#456200;padding:2px 8px;border-radius:20px;}
.m-card-actions{display:flex;gap:8px;padding:0 12px 12px;align-items:center;}
.m-btn{
  flex:1;padding:11px;border-radius:10px;border:1px solid #cfd4c8;background:#f7f9f4;
  font:inherit;font-size:13.5px;font-weight:600;color:#222;
}
.m-btn.primary{background:linear-gradient(180deg,#ccff00,#a8dd00);border-color:#8fb300;color:#12240a;}
.m-btn:active{transform:scale(.985);}
.m-star{
  width:46px;padding:11px 0;border-radius:10px;border:1px solid #cfd4c8;background:#f7f9f4;
  font-size:18px;color:#b9bdb2;
}
.m-star.on{color:#e0a800;border-color:#e6c86a;background:#fffbe8;}
.m-empty{padding:38px 22px;text-align:center;color:#777;line-height:1.6;}
.m-foot{padding:10px 14px;background:#0d0d0d;color:#8a8a8a;font-size:11px;text-align:center;flex-shrink:0;}
.m-about{padding:6px 6px 20px;line-height:1.65;}
.m-about h2{font-size:18px;margin-bottom:8px;}
.m-about h3{font-size:14px;margin:14px 0 6px;}
.m-about ul{margin-left:18px;}
.m-about li{margin-bottom:5px;}
.m-note{margin-top:14px;color:#777;font-size:12px;}
.m-about .m-btn{margin-top:16px;}

/* tablets keep the desktop but with roomier hit targets */
@media (min-width: 821px) and (max-width: 1180px){
  .xp-toolbtn{padding:6px 10px;}
  .tb-btn{width:24px;height:24px;}
  .desk-icon{width:92px;}
  .stage-table th,.stage-table td{padding:5px 7px;}
  .alpha-side{width:190px;}
}

@media (min-width: 700px){
  /* The list is a flex child with a definite height, so grid rows left on the
     default `auto` get squeezed to fit the screen — cards collapsed to a sliver
     and their buttons were clipped away, which read as "nothing is clickable".
     max-content rows size to the card and let the list scroll instead. */
  .m-list{
    display:grid;grid-template-columns:1fr 1fr;gap:10px;
    align-content:start;grid-auto-rows:max-content;
  }
  .m-card{margin-bottom:0;align-self:start;overflow:visible;}
  .m-empty,.m-about{grid-column:1/-1;}
  .m-stats b{font-size:22px;}
  .m-tabs button{font-size:14px;padding:15px 4px;}
}

/* three columns once there is genuinely room, so a landscape tablet does not
   show two very wide cards with acres of empty space */
@media (min-width: 1000px){
  .m-list{grid-template-columns:repeat(3,1fr);}
}

.xp-button.bell{min-width:104px;}
.xp-button.bell.on{background:linear-gradient(180deg,#fff6cf,#ffe27a);border-color:#c9a227;color:#5a4300;font-weight:700;}

/* ---- mint calendar ---- */
.tb-label + .xp-select + .tb-check,
.tb-check{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#1b3a1b;margin-left:8px;cursor:pointer;}
.tb-check input{margin:0;}
.cal-grid{display:flex;gap:10px;padding:12px;overflow-x:auto;overflow-y:hidden;height:100%;align-items:stretch;}
.cal-day{flex:0 0 250px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--xp-line,#9aa3ad);
  border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.14);overflow:hidden;}
.cal-day.is-today{border-color:#1f7a1f;box-shadow:0 0 0 1px #1f7a1f,0 2px 5px rgba(0,0,0,.2);}
.cal-head{display:flex;align-items:baseline;gap:6px;padding:6px 9px;background:linear-gradient(180deg,#f3f6f1,#e2e9de);
  border-bottom:1px solid #b9c2b6;}
.cal-day.is-today .cal-head{background:linear-gradient(180deg,#2e9c2e,#1c6f1c);color:#fff;}
.cal-head b{font-size:11px;letter-spacing:.4px;}
.cal-head span{font-size:11px;opacity:.75;}
.cal-head i{margin-left:auto;font-style:normal;font-size:10px;opacity:.7;}
.cal-body{flex:1;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:6px;}
.cal-item{display:flex;gap:7px;align-items:flex-start;padding:6px 7px;border:1px solid #d6dbd4;border-radius:3px;
  background:#fbfdfa;cursor:pointer;}
.cal-item:hover{background:#eef7ec;border-color:#8fbb8f;}
.ci-time{font:700 11px/1.4 var(--mono,monospace);color:#1f7a1f;min-width:52px;}
.ci-main{flex:1;min-width:0;}
.ci-name{font-size:11.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ci-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:10px;color:#5a6570;margin-top:2px;}
.ci-side{display:flex;flex-direction:column;align-items:center;gap:4px;}
.hype-pill{font:700 10px/1 var(--mono,monospace);background:#e6f2e6;border:1px solid #a8c9a8;border-radius:8px;padding:3px 5px;color:#145614;}
.cal-bell{font-size:12px;line-height:1;opacity:.45;padding:2px;}
.cal-item:hover .cal-bell{opacity:.85;}
.cal-bell.on{opacity:1;color:#1f7a1f;font-weight:700;}
.cal-bell svg{width:14px;height:14px;display:block;}
.cal-bell{padding:1px;border-radius:3px;}
.cal-bell:hover{background:#dff0dd;}
.xp-button.bell svg{width:13px;height:13px;vertical-align:-2px;margin-right:2px;}
.m-bell.on{background:linear-gradient(180deg,#f2ffd0,#d8f58a);border-color:#88a800;color:#2f4a00;font-weight:700;}

/* honest signal when the collector stops feeding us */
.sb-stale{color:#a05000;font-weight:700;margin-left:8px;}
body.data-stale .sb-live{color:#a05000;}
body.data-stale .sb-dot{background:#e08a00;box-shadow:0 0 4px #e08a00;animation:none;}

/* ---- chain pulse ---- */
.pulse-art{width:24px;height:24px;border-radius:5px;object-fit:cover;background:#e8ece4;border:1px solid #d3d9cd;display:block;}
.pulse-art.no-img{background:repeating-linear-gradient(45deg,#e8ece4,#e8ece4 3px,#dde3d7 3px,#dde3d7 6px);}
.pulse-grid td{vertical-align:middle;}
.tag-tracked{font-size:10px;background:#eaffb8;border:1px solid #b6d76a;color:#3d5a00;
  padding:1px 6px;border-radius:9px;margin-left:6px;cursor:pointer;white-space:nowrap;}
.tag-tracked:hover{background:#ddf79a;}
.tag-closed{font-size:9.5px;background:#eceef0;border:1px solid #ccd2d8;color:#667;
  padding:1px 5px;border-radius:8px;margin-left:5px;text-transform:uppercase;}
.tick{font-family:var(--mono,monospace);font-size:12.5px;letter-spacing:.02em;}
tr.row-new{animation:pulseIn 1.6s ease-out;}
@keyframes pulseIn{0%{background:#eaffb0}60%{background:#f6ffe4}100%{background:transparent}}
.lnk{color:#1f6f1f;text-decoration:underline;cursor:pointer;}
.lnk:hover{color:#0d4a0d;}

/* ---- mobile: chain pulse and stocks ---- */
.m-feed{display:flex;flex-direction:column;gap:1px;background:#e4e8de;border-radius:12px;overflow:hidden;border:1px solid #e2e6dc;}
.m-feed-row{display:flex;align-items:center;gap:11px;padding:11px 12px;background:#fff;}
.m-feed-art{width:34px;height:34px;border-radius:8px;object-fit:cover;background:#eef0ea;border:1px solid #dfe3d8;flex-shrink:0;}
.m-feed-art.no-img{background:repeating-linear-gradient(45deg,#eef0ea,#eef0ea 4px,#e3e7dd 4px,#e3e7dd 8px);}
.m-feed-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.m-feed-main b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.m-feed-main span{font-size:11.5px;color:#6b7268;}
.m-tick{font-family:var(--mono,monospace);font-size:12px;font-weight:700;background:#12240a;color:#ccff00;
  padding:6px 8px;border-radius:7px;min-width:52px;text-align:center;flex-shrink:0;}
.m-prem{font-family:var(--mono,monospace);font-size:12.5px;font-weight:700;flex-shrink:0;}
.m-prem.up{color:#1f7a1f;} .m-prem.down{color:#b13030;}
@media (min-width: 700px){ .m-feed{grid-column:1/-1;} .m-note{grid-column:1/-1;} }
.m-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.m-tabs::-webkit-scrollbar{display:none;}
.m-tabs button{white-space:nowrap;flex:0 0 auto;min-width:88px;}
.m-tabs{flex-wrap:nowrap;}

/* ---- activity engine findings ---- */
.finding{display:flex;gap:12px;align-items:flex-start;padding:12px 13px;margin-bottom:9px;
  background:#fff;border:1px solid #d8ded2;border-left-width:4px;border-radius:5px;box-shadow:0 1px 2px rgba(0,0,0,.07);}
.finding.f-rush{border-left-color:#8fbb00;}
.finding.f-warn{border-left-color:#d38b00;}
.finding.f-flip{border-left-color:#3a7fd5;}
.finding.f-burn{border-left-color:#b13030;}
.finding.f-whale{border-left-color:#1f7a1f;}
.fi-icon{width:42px;height:42px;border-radius:8px;overflow:hidden;flex-shrink:0;background:#eef0ea;
  border:1px solid #dde2d7;display:flex;align-items:center;justify-content:center;}
.fi-icon img{width:100%;height:100%;object-fit:cover;}
.fi-icon svg{width:24px;height:24px;}
.fi-body{flex:1;min-width:0;}
.fi-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px;}
.fi-head b{font-size:12.5px;}
.fi-tag{font-size:9.5px;font-weight:800;letter-spacing:.06em;padding:2px 7px;border-radius:9px;
  border:1px solid transparent;white-space:nowrap;}
.f-rush .fi-tag,.fi-tag.f-rush{background:#eaffb8;border-color:#a8cc44;color:#3d5a00;}
.f-warn .fi-tag,.fi-tag.f-warn{background:#fff0d0;border-color:#e0b45a;color:#7a4d00;}
.f-flip .fi-tag,.fi-tag.f-flip{background:#e2edfb;border-color:#8fb6e5;color:#1a4f8c;}
.f-burn .fi-tag,.fi-tag.f-burn{background:#fbe3e3;border-color:#dd9a9a;color:#8c1a1a;}
.f-whale .fi-tag,.fi-tag.f-whale{background:#dff5df;border-color:#8cc48c;color:#155415;}
.fi-why{font-size:12px;color:#4a5247;line-height:1.55;}
.fi-nums{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px;}
.fi-nums span{font:11px var(--mono,monospace);background:#f3f6f0;border:1px solid #dfe4d9;color:#4c5449;
  padding:2px 7px;border-radius:9px;}
.fi-side{flex-shrink:0;}
.tag-warn{font-size:10px;background:#fff0d0;border:1px solid #e0b45a;color:#7a4d00;
  padding:1px 6px;border-radius:9px;margin-left:6px;white-space:nowrap;}
.ev{font-size:10px;font-weight:700;padding:2px 7px;border-radius:9px;text-transform:uppercase;letter-spacing:.04em;}
.ev-mint{background:#eaffb8;border:1px solid #a8cc44;color:#3d5a00;}
.ev-move{background:#e9edf2;border:1px solid #c3ccd6;color:#4a5560;}
.ev-burn{background:#fbe3e3;border:1px solid #dd9a9a;color:#8c1a1a;}
.m-find{border-left:4px solid #c8d0c0;}
.m-find.f-rush{border-left-color:#8fbb00;}
.m-find.f-warn{border-left-color:#d38b00;}
.m-find.f-flip{border-left-color:#3a7fd5;}
.m-find.f-burn{border-left-color:#b13030;}
.m-find.f-whale{border-left-color:#1f7a1f;}
.m-find .m-title{margin-bottom:5px;}
.m-art.no-img{display:inline-block;background:repeating-linear-gradient(45deg,#eef0ea,#eef0ea 4px,#e3e7dd 4px,#e3e7dd 8px);}

/* ---- mint economics: is it worth minting right now ---- */
.econ{margin:7px 0 2px;padding:8px 10px;border-radius:5px;border:1px solid #dde2d6;background:#f8faf5;border-left-width:4px;}
.econ-good{border-left-color:#5fa800;background:#f4fce8;}
.econ-bad{border-left-color:#c05252;background:#fdf4f4;}
.econ-flat{border-left-color:#9aa694;}
.econ-unknown{border-left-color:#c9a227;background:#fdfaef;}
.econ-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.econ-verdict{font-size:12px;font-weight:800;letter-spacing:.01em;}
.econ-good .econ-verdict{color:#3d6b00;}
.econ-bad .econ-verdict{color:#9c2020;}
.econ-unknown .econ-verdict{color:#7a5c00;}
.econ-nums{display:flex;gap:9px;flex-wrap:wrap;margin-left:auto;}
.econ-nums span{font:11px var(--mono,monospace);color:#5c6458;}
.econ-nums b{color:#1b2418;}
.econ-why{font-size:11.5px;color:#4e564b;line-height:1.5;margin-top:4px;}
.econ-thin{font-size:11px;color:#8a6a00;margin-top:4px;font-style:italic;}
.m-foot [data-follow]{color:#ccff00;cursor:pointer;}
.m-about p b[data-x]{color:#3d6b00;cursor:pointer;text-decoration:underline;}
