@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&family=Oxanium:wght@400;500;600;700;800&family=Russo+One&display=swap");

:root{--scale:1;}
*{box-sizing:border-box;}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#02040a;}
body{font-family:"Russo One","Noto Sans JP",sans-serif;font-style:italic;color:#fff;}
.lab-shell{position:fixed;left:50%;top:50%;width:1672px;height:941px;
  transform:translate(-50%,-50%) scale(var(--scale));
  transform-origin:center;overflow:hidden;background:#02040a;}
.lab-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none;}
.metric,.daily-panel,.outlook-panel,.calendar-panel{position:absolute;z-index:2;}


.metric{top:28.15%;height:8.65%;}
.metric-swap{left:4.15%;width:22.36%;}
.metric-spot{left:27.19%;width:22.36%;}
.metric-ratio{left:50.23%;width:22.36%;}
.metric-pnl{left:73.27%;width:22.53%;}
.metric .metric-label{position:absolute;top:10px;left:88px;right:14px;margin:0;font:italic 700 13px/1 "Russo One","Noto Sans JP",sans-serif;letter-spacing:.08em;text-align:left;white-space:nowrap;}
.metric strong{position:absolute;top:35px;left:126px;right:14px;margin:0;font:italic 400 40px/1 "Russo One","Noto Sans JP",sans-serif;letter-spacing:.01em;text-align:left;white-space:nowrap;text-shadow:0 0 5px rgba(255,80,210,.18);}
.metric-pnl strong{left:88px;}
.give-back-button{position:absolute;right:19px;bottom:-8px;z-index:3;height:18px;margin:0;padding:0;color:#8fe8ff;font:italic 700 11px/18px "Russo One","Noto Sans JP",sans-serif;letter-spacing:.05em;white-space:nowrap;cursor:pointer;border:0;background:transparent;text-shadow:0 0 6px rgba(61,210,255,.28);transition:color .16s ease,text-shadow .16s ease,transform .16s ease;}
.give-back-button:hover,.give-back-button:focus-visible{color:#e3faff;text-shadow:0 0 10px rgba(74,220,255,.62);transform:translateY(-1px);outline:none;}
.give-back-dialog{width:min(380px,calc(100vw - 32px));margin:auto;padding:0;color:#fff;border:1px solid rgba(87,218,255,.66);border-radius:10px;background:rgba(2,10,20,.97);box-shadow:0 0 30px rgba(52,200,255,.2),inset 0 0 22px rgba(40,151,213,.08);}
.give-back-dialog::backdrop{background:rgba(0,2,8,.7);backdrop-filter:blur(3px);}
.give-back-dialog-inner{position:relative;padding:28px 28px 25px;text-align:center;}
.give-back-close{position:absolute;top:10px;right:11px;width:26px;height:26px;padding:0;color:#ff98cf;font:normal 700 19px/24px "Oxanium",sans-serif;cursor:pointer;border:1px solid rgba(255,104,190,.42);border-radius:4px;background:rgba(20,5,18,.62);}
.give-back-close:hover,.give-back-close:focus-visible{color:#fff;border-color:#ff7bc3;outline:none;}
.give-back-kicker{margin:0 0 20px;color:#88eaff;font:italic 700 12px/1 "Russo One","Noto Sans JP",sans-serif;letter-spacing:.12em;text-shadow:0 0 9px rgba(66,211,255,.38);}
.give-back-dialog h2{margin:0;color:#bfddea;font:normal 700 13px/1.2 "Noto Sans JP",sans-serif;letter-spacing:.08em;}
#give-back-total{display:block;margin:9px 0 20px;color:#fff;font:italic 400 42px/1 "Russo One","Noto Sans JP",sans-serif;letter-spacing:.01em;text-shadow:0 0 10px rgba(91,222,255,.32);}
.give-back-latest{margin:-5px 0 7px;color:#dff7ff;font:normal 600 12px/1.5 "Noto Sans JP",sans-serif;}
.give-back-add-date{margin:0 0 16px;color:#83cce5;font:normal 500 11px/1.5 "Noto Sans JP",sans-serif;}
.give-back-message{margin:0;color:#eaf8ff;font:normal 600 14px/1.85 "Noto Sans JP",sans-serif;}
.give-back-history{max-height:none;margin:16px 0 0;overflow:hidden;border-top:1px solid rgba(97,207,242,.2);border-bottom:1px solid rgba(97,207,242,.14);}
.give-back-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date date" "org amount";column-gap:16px;row-gap:5px;align-items:center;padding:10px 4px;color:#cfeef8;font:normal 500 12px/1.4 "Oxanium","Noto Sans JP",sans-serif;text-align:left;border-bottom:1px solid rgba(97,207,242,.09);}
.give-back-history-row:last-child{border-bottom:0;}
.give-back-history-date{grid-area:date;color:#7fcde7;font-family:"Oxanium",sans-serif;font-size:11px;line-height:1.2;}
.give-back-history-org{grid-area:org;min-width:0;overflow:visible;white-space:normal;font-family:"Oxanium","Noto Sans JP",sans-serif;}.give-back-history-org a{display:inline-block;max-width:100%;color:#eaf7ff;text-decoration:none;font:inherit;overflow-wrap:anywhere;}.give-back-history-org a:hover{color:#7fe8ff;}
.give-back-history-amount{grid-area:amount;color:#fff;font-family:"Oxanium",sans-serif;font-weight:700;white-space:nowrap;text-align:right;}
.give-back-history-empty{padding:12px 0;color:#7fcde7;font:normal 500 11px/1.5 "Noto Sans JP",sans-serif;}
.give-back-recipient{margin:18px 0 0;padding-top:15px;color:#9edff4;font:normal 600 12px/1.5 "Noto Sans JP",sans-serif;border-top:1px solid rgba(97,207,242,.2);}
.give-back-recipient a{color:inherit;text-decoration:none;}
.give-back-recipient a:hover,.give-back-recipient a:focus-visible{color:#e3faff;text-decoration:underline;outline:none;}
.ratio-scale{position:absolute;left:76px;top:77px;width:270px;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;margin:0;font:italic 700 13px/1 "Russo One","Noto Sans JP",sans-serif;}
.ratio-scale>div{height:4px;position:relative;border-radius:99px;background:linear-gradient(90deg,#ff4f88,#ffc65d 40%,#66efba 65%,#42dfff);}
.ratio-scale i{position:absolute;top:50%;left:50%;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#0a0811;transform:translate(-50%,-50%);}

.daily-panel{left:2.3%;top:37.2%;width:45.4%;height:57.4%;}
#daily-chart{position:absolute;left:2%;top:2%;width:96%;height:44%;}
.cumulative-kpis{position:absolute;left:2.2%;top:49.8%;width:95.6%;height:10.6%;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.cumulative-kpis span{display:flex;flex-direction:column;align-items:center;justify-content:center;}

.cumulative-kpis strong{margin-top:7px;}
.cumulative-section{position:absolute;left:0;top:66.5%;width:100%;height:30.5%;}
.cumulative-title{position:absolute;left:10%;top:9%;z-index:50;margin:0;color:#69d7ff;font-size:16px;font-weight:800;line-height:1;letter-spacing:.03em;text-shadow:0 0 8px rgba(58,180,255,.42);white-space:nowrap;pointer-events:none;}
#cumulative-chart{position:absolute;left:1.8%;top:20%;width:96%;height:80%;overflow:hidden;}

.outlook-panel{left:49.4%;top:37.2%;width:25.5%;height:57.4%;}
.horizon-tabs{position:absolute;left:17%;top:1.7%;width:43%;height:7%;display:grid;grid-template-columns:repeat(3,1fr);z-index:5;}
.horizon-tabs button{border:0;background:transparent;color:transparent;cursor:pointer;}
#outlook-chart{position:absolute;left:4.2%;top:16.5%;width:91.4%;height:49%;}
.outlook-kpis{position:absolute;left:3.5%;right:3.5%;bottom:3.1%;height:18.5%;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.outlook-kpis span{display:flex;align-items:flex-end;justify-content:center;padding-bottom:15px;}
.outlook-kpis strong{white-space:nowrap;}

.calendar-panel{left:76.0%;top:37.0%;width:21.7%;height:57.7%;}
.calendar-controls{position:absolute;top:0;right:0;width:75%;height:8%;display:flex;align-items:center;justify-content:flex-end;gap:10px;}
.calendar-controls strong{font:italic 700 15px/1 "Russo One","Noto Sans JP",sans-serif;white-space:nowrap;}
.calendar-controls button{width:34px;height:34px;border:0;background:transparent;color:transparent;cursor:pointer;}
.weekdays{position:absolute;left:1%;right:1%;top:12.2%;height:5%;display:grid;grid-template-columns:repeat(7,1fr);}
.weekdays span{text-align:center;font:italic 700 13px/1 "Russo One","Noto Sans JP",sans-serif;color:#ad8bb8;}
.calendar{position:absolute;left:1%;right:1%;top:18%;bottom:2%;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;}
.cell{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:6px;min-width:0;}
.cell .day{font:italic 700 13px/1 "Russo One","Noto Sans JP",sans-serif;color:#dbcce4;}
.cell.sat .day{color:#61c9ff;}.cell.sun .day{color:#ff719f;}
.cell .calendar-event-markers{position:absolute;top:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:3px;z-index:2;}
.cell .calendar-event-markers>span{font:normal 11px/1 sans-serif !important;cursor:help;white-space:nowrap;}
.cell.has-calendar-event strong,.cell.has-calendar-event small{margin-top:24px;}
.cell .full-moon-marker{filter:drop-shadow(0 0 4px rgba(255,238,152,.9));}
.cell .new-moon-marker{filter:drop-shadow(0 0 4px rgba(151,116,255,.9));}
.cell .solar-eclipse-marker{filter:drop-shadow(0 0 5px rgba(255,143,49,.95));}
.cell .lunar-eclipse-marker{filter:drop-shadow(0 0 5px rgba(255,65,92,.95));}
.cell .super-moon-marker{filter:drop-shadow(0 0 6px rgba(255,223,86,1));}
.cell .mercury-marker{color:#8de7ff;text-shadow:0 0 5px rgba(63,204,255,.9);}
.cell .mercury-end{color:#9bffc9;text-shadow:0 0 5px rgba(56,255,164,.8);}
.cell .witching-marker{filter:drop-shadow(0 0 5px rgba(206,97,255,.9));}
.cell .bradley-marker{filter:drop-shadow(0 0 5px rgba(88,180,255,.95));}
.cell .puetz-marker{filter:drop-shadow(0 0 6px rgba(255,34,73,1));}
.cell.full-moon-day .day{text-shadow:0 0 7px rgba(255,235,145,.72);}
.cell.new-moon-day .day{text-shadow:0 0 7px rgba(152,116,255,.72);}
.cell.solar-eclipse-day .day{text-shadow:0 0 8px rgba(255,143,49,.86);}
.cell.lunar-eclipse-day .day{text-shadow:0 0 8px rgba(255,65,92,.86);}
.cell.super-moon-day .day{text-shadow:0 0 9px rgba(255,223,86,.92);}
.cell.mercury-event-day .day{text-decoration:underline;text-decoration-color:rgba(85,217,255,.75);text-underline-offset:2px;}
.cell.triple-witching-day .day{box-shadow:0 1px 0 rgba(206,97,255,.82);}
.cell.bradley-turn-day .day{color:#b9eaff;text-shadow:0 0 7px rgba(75,181,255,.78);}
.cell.puetz-window-day::after{content:"";position:absolute;left:12%;right:12%;bottom:7px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(255,30,72,.92),transparent);box-shadow:0 0 7px rgba(255,30,72,.8);pointer-events:none;}
.cell strong{margin-top:13px;font:italic 700 14px/1 "Russo One","Noto Sans JP",sans-serif;white-space:nowrap;}
.cell .up{color:#fff;}.cell .down{color:#ff708e;}
.cell small{margin-top:13px;color:#5e4c68;}

svg{overflow:visible;}
.axis{stroke:rgba(255,255,255,.14);stroke-width:1;}
.bar{fill:rgba(70,220,255,.68);}.bar.forecast{fill:rgba(255,70,200,.50);}
.chart-line{fill:none;stroke:#64e0ff;stroke-width:2.2;}.forecast-line{fill:none;stroke:#ff68cd;stroke-width:2;stroke-dasharray:6 5;}
.chart-area{fill:rgba(71,219,255,.08);}
.label,.max-label{fill:#d8cce2;}
.max-label{fill:#baf7df;}
.load-error{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:10;padding:12px 18px;background:#1b0818;border:1px solid #ff4db9;font:italic 700 13px/1.4 "Russo One","Noto Sans JP",sans-serif;}


/* Restore the exact three-column laboratory panel geometry. */
.daily-panel,
.outlook-panel,
.calendar-panel{top:37.65% !important;
  height:56.35% !important;}
.daily-panel{left:4.15% !important;
  width:32.21% !important;}
.outlook-panel{left:37.00% !important;
  width:27.17% !important;}
.calendar-panel{left:64.82% !important;
  width:30.98% !important;}

/* Left panel slots. */
#daily-chart{left:3% !important;
  top:11.8% !important;
  width:94% !important;
  height:42.8% !important;}
.cumulative-kpis{left:3% !important;
  top:56.7% !important;
  width:94% !important;
  height:9.2% !important;
  gap:1.2% !important;}
.cumulative-kpis span{justify-content:center !important;}

.cumulative-kpis strong{margin-top:7px !important;}
/* Center panel slots. */
.horizon-tabs{left:3.2% !important;
  top:12.7% !important;
  width:228px !important;
  height:26px !important;
  grid-template-columns:repeat(3,70px) !important;
  gap:10px !important;}
.outlook-kpis{left:3% !important;
  right:3% !important;
  bottom:3.6% !important;
  height:18.5% !important;
  gap:1.2% !important;}
.outlook-kpis span{align-items:flex-start !important;
  justify-content:center !important;
  padding:30px 4px 0 !important;}


/* Right panel month controls and calendar grid. */
.calendar-controls{top:3% !important;
  right:4.2% !important;
  width:360px !important;
  height:6.5% !important;
  gap:6px !important;
  transform:translateX(56px) !important;}
.calendar-controls strong{order:1 !important;
  width:148px !important;
  text-align:right !important;
  font-size:15px !important;}
#calendar-prev{order:2 !important;
  width:30px !important;
  height:32px !important;}
#calendar-next{order:3 !important;
  width:30px !important;
  height:32px !important;}
.next-impact{position:absolute;left:3.2%;right:3.2%;top:11.2%;height:5.2%;display:grid;grid-template-columns:22px auto auto;justify-content:start;align-items:center;gap:7px;padding:0 9px 0 30px;border:0;background:transparent;color:#64e9ff;z-index:4;cursor:help;overflow:visible;box-sizing:border-box;}
.impact-bomb{position:relative;display:inline-grid;place-items:center;width:22px;height:22px;overflow:visible;filter:drop-shadow(0 0 4px rgba(255,156,40,.35));}
.impact-bomb-core,.impact-explosion{grid-area:1/1;font:normal 18px/1 sans-serif;transform-origin:50% 70%;}
.impact-bomb-core{animation:impactBombIdle 2.6s ease-in-out infinite;}
.impact-explosion{display:none;font-size:20px;}
.impact-spark{position:absolute;display:block;width:3px;height:3px;border-radius:50%;background:#fff6a0;box-shadow:0 0 3px #fff,0 0 7px #ffb41f,4px -2px 0 -1px #ff7140,-3px -4px 0 -1px #fff3a0;pointer-events:none;}
.impact-spark-a{right:-1px;top:-2px;animation:impactSparkA 1.15s steps(2,end) infinite;}
.impact-spark-b{right:-5px;top:2px;animation:impactSparkB 1.15s steps(2,end) .38s infinite;}
.next-impact.is-soon .impact-spark-a,.next-impact.is-soon .impact-spark-b{animation-duration:.52s;}
.next-impact.is-urgent .impact-bomb-core{animation:impactBombShake .16s linear infinite;}
.next-impact.is-urgent .impact-spark-a,.next-impact.is-urgent .impact-spark-b{animation-duration:.2s;filter:brightness(1.35);}
.next-impact.is-waiting .impact-bomb-core{display:none;}
.next-impact.is-waiting .impact-explosion{display:block;animation:impactExplosion .72s ease-in-out infinite;}
.next-impact.is-waiting .impact-spark,.next-impact.is-result .impact-spark{display:none;}
.next-impact.is-result .impact-bomb-core{animation:none;opacity:.65;}
.next-impact.is-empty .impact-bomb{display:none;}
@keyframes impactBombIdle{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-1px)}}
@keyframes impactBombShake{0%,100%{transform:translate(0,0) rotate(-4deg)}25%{transform:translate(1px,-1px) rotate(4deg)}50%{transform:translate(-1px,0) rotate(-3deg)}75%{transform:translate(1px,1px) rotate(3deg)}}
@keyframes impactSparkA{0%,28%,100%{opacity:0;transform:scale(.25) translate(0,0)}38%{opacity:1;transform:scale(1.2) translate(2px,-2px)}55%{opacity:.7;transform:scale(.65) translate(5px,-5px)}}
@keyframes impactSparkB{0%,44%,100%{opacity:0;transform:scale(.2) translate(0,0)}54%{opacity:1;transform:scale(1) translate(2px,-1px)}68%{opacity:.5;transform:scale(.5) translate(6px,-3px)}}
@keyframes impactExplosion{0%,100%{transform:scale(.82);filter:brightness(.9)}50%{transform:scale(1.18);filter:brightness(1.35) drop-shadow(0 0 7px #ff5a24)}}
.next-impact-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:italic 700 16px/1 "Russo One","Noto Sans JP",sans-serif;color:#f2f7ff;}
.next-impact-countdown{font:italic 800 16px/1 "Russo One","Noto Sans JP",sans-serif;letter-spacing:.02em;white-space:nowrap;color:#72f5da;font-variant-numeric:tabular-nums;}
.next-impact.is-day .next-impact-countdown{color:#ffe977;}
.next-impact.is-soon .next-impact-countdown{color:#ff63d4;text-shadow:0 0 8px rgba(255,63,199,.7);}
.next-impact.is-result .next-impact-countdown{color:#72f5da;text-shadow:0 0 8px rgba(70,255,210,.5);}
.next-impact.is-urgent{box-shadow:none;}
.next-impact.is-urgent .next-impact-countdown,.next-impact.is-waiting .next-impact-countdown{color:#ff416f;text-shadow:0 0 8px rgba(255,35,92,.85);animation:impactPulse 1s steps(2,end) infinite;}
.next-impact.is-empty{opacity:.62;}
.next-impact-tooltip{position:absolute;left:8px;top:calc(100% + 5px);display:none;min-width:330px;max-width:410px;padding:12px 14px;border:1px solid rgba(77,226,255,.5);background:rgba(4,11,24,.97);box-shadow:0 0 18px rgba(0,194,255,.18);color:#eafcff;font:650 13px/1.7 "Oxanium","Noto Sans JP",sans-serif;white-space:pre-line;z-index:20;pointer-events:none;}
.next-impact-tooltip::first-line{font-size:14px;font-weight:800;color:#72f5da;}
.next-impact:hover .next-impact-tooltip,.next-impact:focus .next-impact-tooltip,.next-impact:focus-within .next-impact-tooltip{display:block;}
@keyframes impactPulse{50%{opacity:.5;}}
.weekdays{left:3.2% !important;
  right:3.2% !important;
  top:16.5% !important;
  height:6% !important;}
.calendar{left:3.2% !important;
  right:3.2% !important;
  top:22.3% !important;
  bottom:2.4% !important;}
.cell{padding:3px 4px !important;}
.cell .day{font-size:13px !important;}
.cell strong{margin-top:15px !important;
  font-size:13px !important;}


.bar.actual{fill:rgba(64,215,255,.70);}
.bar.current{fill:rgba(113,245,218,.88);}
.bar.forecast{fill:rgba(255,70,200,.56);}
.grid-line{stroke:rgba(255,255,255,.08);stroke-width:1;}
.axis-label{fill:#a995b5;}


.chart-end-point{fill:#6fffd0;stroke:#fff;stroke-width:1.5;}
.chart-end-label{fill:#bfffe7;}
#cumulative-chart .chart-line{stroke:#57e6ff;stroke-width:2.4;}
#cumulative-chart .chart-area{fill:rgba(71,219,255,.10);}


/* 2) Actual cumulative chart: enlarge the useful plotting area and labels. */
#cumulative-chart .axis-label{fill:#d9c8e3 !important;}


#cumulative-chart .chart-end-point{r:4.5px;}
#cumulative-chart .chart-line{stroke-width:2.7 !important;}
#cumulative-chart .grid-line{stroke:rgba(255,255,255,.10) !important;}

/* 3) Outlook graph: actual/current use one color; forecast is a pale reference outline. */
#outlook-chart .bar.actual,
#outlook-chart .bar.current{fill:rgba(68,223,255,.82) !important;
  stroke:rgba(122,246,255,.90) !important;
  stroke-width:.8 !important;}
#outlook-chart .bar.forecast{fill:rgba(78,213,255,.10) !important;
  stroke:rgba(93,221,255,.65) !important;
  stroke-width:1.2 !important;
  stroke-dasharray:3 2 !important;}
#outlook-chart .forecast-divider{stroke:rgba(120,229,255,.55) !important;
  stroke-width:1 !important;
  stroke-dasharray:4 4 !important;}
#outlook-chart .forecast-caption{fill:#75dff4 !important;}


/* 4) Calendar header: move month label and both live click zones farther right. */
.calendar-controls{width:390px !important;
  transform:translateX(101px) !important;}
.calendar-controls strong{width:164px !important;
  font-size:15px !important;
  padding-right:2px !important;}
.calendar-controls button{flex:0 0 32px !important;
  width:32px !important;
  height:34px !important;}

/* 5) Key indicators: lower and align the four values. */
.outlook-kpis span{align-items:flex-start !important;
  justify-content:center !important;
  padding:39px 4px 0 !important;}
.outlook-kpis strong{text-align:center !important;
  white-space:nowrap !important;}


/* Outlook chart: add breathing room above bars and simplify labels. */
#outlook-chart .forecast-divider{opacity:.72 !important;}

#outlook-chart .bar.actual,
#outlook-chart .bar.current{fill:rgba(74,223,255,.78) !important;
  stroke:rgba(135,246,255,.88) !important;}
#outlook-chart .bar.forecast{fill:rgba(65,211,255,.07) !important;
  stroke:rgba(92,218,255,.58) !important;
  stroke-width:1.15 !important;
  stroke-dasharray:3 2 !important;}

/* Key indicators: lift values off the printed labels and reduce crowding. */
.outlook-kpis span{padding:27px 4px 0 !important;}
.outlook-kpis strong{transform:translateY(-2px) !important;}

/* Cumulative chart: cleaner labels and more space around the endpoint. */
#cumulative-chart .chart-line{stroke-width:2.4 !important;}
#cumulative-chart .grid-line{stroke:rgba(255,255,255,.075) !important;}

/* Calendar month title: keep it right-aligned but inside the printed frame. */
.calendar-controls{width:372px !important;
  transform:translateX(90px) !important;}
.calendar-controls strong{width:156px !important;
  font-size:15px !important;}


#cumulative-chart .chart-end-label{fill:#d7fff0 !important;
  text-shadow:0 0 8px rgba(125,255,224,.35) !important;}
#cumulative-chart .chart-line{stroke-width:2.6 !important;}
#cumulative-chart .chart-area{fill:rgba(71,219,255,.12) !important;}
#cumulative-chart .grid-line{stroke:rgba(255,255,255,.09) !important;}
#cumulative-chart .chart-end-point{fill:#83ffe0 !important;
  stroke:#ffffff !important;
  stroke-width:1.6 !important;
  filter:drop-shadow(0 0 8px rgba(111,255,208,.55));}
#cumulative-chart .chart-end-pulse{fill:none;
  stroke:rgba(120,255,220,.55);
  stroke-width:2;
  transform-box:fill-box;
  transform-origin:center;
  animation:cumulativePulse 2.2s ease-out infinite;}
#cumulative-chart .chart-end-pulse.secondary{animation-delay:1.1s;
  stroke:rgba(120,255,220,.32);}

@keyframes cumulativePulse{
  0%{opacity:.9;
    r:4.5px;}
  70%{opacity:.15;
    r:15px;}
  100%{opacity:0;
    r:19px;}
}


#cumulative-chart .chart-line{stroke-width:2.8 !important;}
#cumulative-chart .chart-end-point{filter:drop-shadow(0 0 10px rgba(111,255,208,.65));}


#cumulative-chart .chart-line{stroke-width:3 !important;}
#cumulative-chart .chart-end-point{stroke-width:1.8 !important;}


#outlook-chart .forecast-caption{fill:#9beeff !important;}
#outlook-chart .forecast-divider{stroke:rgba(120,229,255,.45) !important;
  stroke-width:1.1 !important;}
#outlook-chart .bar.forecast{fill:rgba(86,226,255,.10) !important;
  stroke:rgba(125,236,255,.72) !important;
  stroke-width:1.2 !important;
  stroke-dasharray:4 2 !important;}
#outlook-chart .bar.actual,
#outlook-chart .bar.current{fill:rgba(91,241,255,.82) !important;
  stroke:rgba(160,251,255,.92) !important;}


.outlook-kpis span{padding:72px 4px 0 !important;
  align-items:flex-start !important;
  justify-content:center !important;}
.outlook-kpis strong{transform:none !important;
  text-align:center !important;
  white-space:nowrap !important;}


.calendar-controls{transform:translateX(-4px) !important;}
.calendar-controls strong{width:150px !important;
  text-align:right !important;}
.weekdays{top:16.5% !important;}
.calendar{top:22.3% !important;}
.cell{padding:4px 4px 0 !important;}
.cell strong{margin-top:18px !important;
  font-size:13px !important;
  line-height:1 !important;
  white-space:nowrap !important;}
.cell small{margin-top:18px !important;}
.cell small.blank{visibility:hidden !important;}


.calendar-controls strong{letter-spacing:.02em !important;}
.cell .day{font-family:"Russo One","Noto Sans JP",sans-serif !important;}
.cell strong{letter-spacing:.01em !important;}


.metric strong.metric-positive{color:#68ffb6 !important;
  text-shadow:0 0 4px rgba(96,255,178,.28) !important;}
.metric strong.metric-negative{color:#ff5f87 !important;
  text-shadow:0 0 4px rgba(255,95,135,.30) !important;}
.metric strong.metric-neutral{color:#ffffff !important;
  text-shadow:0 0 3px rgba(255,255,255,.14) !important;}

.metric-ratio strong.metric-ratio-critical{color:#ff587f !important;
  text-shadow:0 0 4px rgba(255,88,127,.28) !important;}
.metric-ratio strong.metric-ratio-caution{color:#ffd166 !important;
  text-shadow:0 0 4px rgba(255,209,102,.26) !important;}
.metric-ratio strong.metric-ratio-safe{color:#67ffba !important;
  text-shadow:0 0 4px rgba(103,255,186,.30) !important;}
.metric-ratio strong.metric-ratio-strong{color:#69f2ff !important;
  text-shadow:0 0 4px rgba(105,242,255,.30) !important;}
.metric-ratio strong.metric-ratio-elite{color:#63b8ff !important;
  text-shadow:0 0 4px rgba(99,184,255,.30) !important;}


.horizon-tabs{align-items:center !important;
  z-index:20 !important;}
.horizon-tabs button,
.horizon-tabs button.active,
.horizon-tabs button:hover,
.horizon-tabs button:focus{display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:70px !important;
  height:26px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(95,116,165,.36) !important;
  border-radius:7px !important;
  outline:none !important;
  background:linear-gradient(180deg,rgba(8,12,25,.98),rgba(4,8,18,.98)) !important;
  box-shadow:inset 0 0 0 1px rgba(40,58,96,.24) !important;
  color:#77849e !important;
  
  
  text-shadow:none !important;
  opacity:1 !important;
  filter:none !important;}


/* Clock: preserve frame{
  padding:2.05%!important;
  row-gap:5px!important;
  column-gap:15px!important;
}


/* Daily chart and its three summaries */
#daily-chart{left:3% !important;
  top:11.6% !important;
  width:94% !important;
  height:42.2% !important;}
.cumulative-kpis{left:3% !important;
  top:56.0% !important;
  width:94% !important;
  height:9.5% !important;}

.cumulative-kpis strong{margin-top:6px !important;}


/* Outlook panel alignment */
.outlook-panel{left:37.0% !important;
  width:27.17% !important;}
.horizon-tabs{left:3.6% !important;
  top:12.4% !important;
  width:228px !important;
  height:26px !important;
  grid-template-columns:repeat(3,70px) !important;
  gap:8px !important;}
.horizon-tabs button,
.horizon-tabs button.active,
.horizon-tabs button:hover,
.horizon-tabs button:focus{width:70px !important;
  height:26px !important;
  color:#9ca8c1 !important;
  background:linear-gradient(180deg,rgba(8,12,24,.96),rgba(3,7,16,.96)) !important;
  border:1px solid rgba(100,125,175,.38) !important;
  box-shadow:inset 0 0 0 1px rgba(38,60,98,.26) !important;
  border-radius:7px !important;
  
  text-shadow:none !important;}
.horizon-tabs button.active{color:#e4e8f5 !important;
  border-color:rgba(151,118,255,.48) !important;
  background:linear-gradient(180deg,rgba(31,25,58,.95),rgba(16,14,30,.95)) !important;}
#outlook-chart .axis{stroke:rgba(255,255,255,.14) !important;}
#outlook-chart .label{fill:#d8f7ff !important;}

#outlook-chart .region-caption.actual{fill:#8ff7ff !important;}
#outlook-chart .region-caption.forecast{fill:#ff95df !important;}
#outlook-chart .forecast-divider{stroke:rgba(255,117,218,.34) !important;
  stroke-width:1.1 !important;
  stroke-dasharray:none !important;}
#outlook-chart .bar.actual{fill:rgba(74,226,245,.84) !important;
  stroke:rgba(164,250,255,.92) !important;
  stroke-width:.7 !important;}
#outlook-chart .bar.current{fill:rgba(109,255,233,.96) !important;
  stroke:rgba(240,255,255,.98) !important;
  stroke-width:.9 !important;
  filter:drop-shadow(0 0 7px rgba(113,255,235,.35)) !important;}
#outlook-chart .bar.forecast{fill:rgba(234,68,184,.34) !important;
  stroke:rgba(255,137,220,.20) !important;
  stroke-width:.5 !important;
  stroke-dasharray:none !important;}

/* Key indicators: centered, smaller, labels restored */
.outlook-kpis{left:2.8% !important;
  right:3.8% !important;
  bottom:3.3% !important;
  height:20.5% !important;
  gap:1.2% !important;
  transform:none !important;}
.outlook-kpis span{display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  padding:28px 4px 0 !important;
  gap:8px !important;}
.outlook-kpis b{display:block !important;
  
  color:#a978d8 !important;
  
  white-space:nowrap !important;}
.outlook-kpis strong{transform:none !important;
  white-space:nowrap !important;}

/* Calendar: final alignment and readable values */
.calendar-controls{top:3% !important;
  right:4.2% !important;
  width:360px !important;
  height:6.5% !important;
  gap:6px !important;
  transform:translateX(-4px) !important;}
.calendar-controls strong{width:150px !important;
  text-align:right !important;
  font-size:15px !important;}
#calendar-prev,#calendar-next{width:30px !important;
  height:32px !important;}


.cell strong{margin-top:18px !important;
  font-size:14px !important;
  line-height:1 !important;}


.experiment-clock{position:absolute !important;
  z-index:2 !important;
  left:auto !important;
  right:1.6% !important;
  top:6.9% !important;
  width:22% !important;
  height:16.8% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:8px !important;
  padding:12px 24px !important;
  overflow:hidden !important;
  white-space:nowrap !important;}
.clock-label{display:block !important;
  margin:0 !important;
  font:italic 600 13px/1 "Russo One","Noto Sans JP",sans-serif !important;
  letter-spacing:.16em !important;
  color:#ff82da !important;
  white-space:nowrap !important;}
#clock-time{display:block !important;
  margin:0 !important;
  font:italic 700 13px/.92 "Russo One","Noto Sans JP",sans-serif !important;
  letter-spacing:.02em !important;
  color:#fff !important;
  white-space:nowrap !important;}
#clock-time small{display:inline-block !important;
  margin-left:8px !important;
  font:italic 700 13px/1 "Russo One","Noto Sans JP",sans-serif !important;
  letter-spacing:.14em !important;
  color:#aab9c8 !important;
  vertical-align:middle !important;
  white-space:nowrap !important;}
.clock-date{display:block !important;
  margin:0 !important;
  font:italic 700 13px/1 "Russo One","Noto Sans JP",sans-serif !important;
  letter-spacing:.06em !important;
  color:#fff !important;
  white-space:nowrap !important;}

.clock-day{display:block !important;
  margin:0 !important;
  font:italic 700 13px/1 "Russo One","Noto Sans JP",sans-serif !important;
  letter-spacing:.10em !important;
  color:#ff82da !important;
  white-space:nowrap !important;}


#daily-chart .axis-y-label{fill:#9fd9eb !important;}
#daily-chart .grid-line{stroke:rgba(255,255,255,.08) !important;
  stroke-width:1 !important;}


#outlook-chart .region-caption.forecast{fill:#ff93e1 !important;}

.calendar-controls{transform:translate(-4px,8px) !important;}
.calendar-controls button{display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 30px !important;
  width:30px !important;
  height:30px !important;
  color:#ffb7ec !important;
  font:italic 700 13px/1 "Russo One","Noto Sans JP",sans-serif !important;
  border:1px solid rgba(255,112,189,.55) !important;
  border-radius:7px !important;
  background:linear-gradient(180deg,rgba(17,9,26,.92),rgba(8,5,16,.92)) !important;
  box-shadow:0 0 10px rgba(255,74,190,.18), inset 0 0 0 1px rgba(255,80,190,.14) !important;}
.calendar-controls strong{font-size:15px !important;}


.metric .metric-label{color:#d5a7d8;text-shadow:0 0 7px rgba(255,80,210,.35);}
.metric-swap .metric-label{color:#79dfff !important;text-shadow:0 0 7px rgba(65,208,255,.35) !important;}
.metric-spot .metric-label{color:#e092f4 !important;}
.metric-ratio .metric-label{color:#aa9cff !important;}
.metric-pnl .metric-label{color:#ff7dba !important;}
#clock-time{font-family:"Russo One","Noto Sans JP",sans-serif !important;
  font-weight:800 !important;
  letter-spacing:.03em !important;
  text-shadow:0 0 5px rgba(255,255,255,.35),
    0 0 12px rgba(85,220,255,.22),
    0 0 18px rgba(255,65,190,.15) !important;}

.clock-label,
.clock-date,
.clock-day,
#clock-time small{font-family:"Russo One","Noto Sans JP",sans-serif !important;
  font-weight:700 !important;}

/* 時計を少し左へ */
.experiment-clock{right:5.0% !important;}


#outlook-chart .outlook-grid{stroke:rgba(255,255,255,.075) !important;
  stroke-width:1 !important;}
#outlook-chart .outlook-y-label{fill:#a8c7dc !important;}

#outlook-chart .region-caption.actual{fill:#78e7f4 !important;
  text-shadow:none !important;}
#outlook-chart .region-caption.forecast{fill:#ff8bd6 !important;}
#outlook-chart .forecast-divider{stroke:rgba(255,143,218,.58) !important;
  stroke-width:1.2 !important;
  stroke-dasharray:4 4 !important;}
#outlook-chart .forecast-value{fill:#ffd4f2 !important;
  
  paint-order:stroke !important;
  stroke:#12081a !important;
  stroke-width:3px !important;
  stroke-linejoin:round !important;}
#outlook-chart .bar.forecast{fill:rgba(234,68,184,.42) !important;
  stroke:rgba(255,145,222,.32) !important;
  stroke-width:.7 !important;}


#outlook-chart .outlook-y-label{fill:#d9f4ff !important;
  
  paint-order:stroke !important;
  stroke:#07111c !important;
  stroke-width:3px !important;
  stroke-linejoin:round !important;}
#daily-chart .axis-y-label{fill:#d9f4ff !important;
  
  paint-order:stroke !important;
  stroke:#07111c !important;
  stroke-width:3px !important;
  stroke-linejoin:round !important;}

#outlook-chart .forecast-value.current{fill:#b9fff6 !important;}
#outlook-chart .forecast-value.last{fill:#ffd4f2 !important;}


#daily-chart .max-label{fill:#baf7df !important;
  paint-order:stroke !important;
  stroke:#07111c !important;
  stroke-width:3px !important;
  stroke-linejoin:round !important;}


#daily-chart .daily-range-title{fill:#65dff2 !important;
  
  
  paint-order:stroke !important;
  stroke:#07111c !important;
  stroke-width:3px !important;
  stroke-linejoin:round !important;}
#daily-chart .daily-role-label{fill:#72b9cb !important;
  
  
  paint-order:stroke !important;
  stroke:#07111c !important;
  stroke-width:3px !important;
  stroke-linejoin:round !important;}
#daily-chart .daily-date-label{fill:#f3fbff !important;
  
  
  paint-order:stroke !important;
  stroke:#07111c !important;
  stroke-width:3px !important;
  stroke-linejoin:round !important;}
#daily-chart .axis-y-label{fill:#e7f8ff !important;}


#cumulative-chart .axis-y-label{fill:#d8f6ff !important;
  paint-order:stroke !important;
  stroke:#07111c !important;
  stroke-width:3px !important;}
#cumulative-chart .axis-x-caption{fill:rgba(185,235,255,.72) !important;}
#cumulative-chart .axis-x-label{fill:#fff !important;}
#cumulative-chart .chart-end-label{fill:#d7fff0 !important;
  
  paint-order:stroke !important;
  stroke:#07111c !important;
  stroke-width:3px !important;}
#cumulative-chart .chart-live-line{fill:none;
  stroke:#a8fff0;
  stroke-width:4.2;
  stroke-linecap:round;
  filter:drop-shadow(0 0 8px rgba(125,255,224,.38));}
#cumulative-chart .chart-end-glow{fill:rgba(111,255,208,.28);
  filter:drop-shadow(0 0 10px rgba(111,255,208,.45));}
#cumulative-chart .chart-end-point{fill:#83ffe0 !important;
  stroke:#fff !important;
  stroke-width:1.8 !important;
  filter:drop-shadow(0 0 10px rgba(111,255,208,.65));}
#cumulative-chart .chart-end-pulse{fill:none;
  stroke:rgba(120,255,220,.6);
  stroke-width:2;
  transform-box:fill-box;
  transform-origin:center;
  animation:cumulativePulse 2s ease-out infinite;}
#cumulative-chart .chart-end-pulse.secondary{animation-delay:1s;
  stroke:rgba(120,255,220,.3);}
@keyframes cumulativePulse{
  0%{opacity:.95;r:5px;}
  65%{opacity:.18;r:17px;}
  100%{opacity:0;r:22px;}
}


#daily-chart{left:1.2% !important;
  width:97.2% !important;}
#daily-chart .daily-range-title{transform:translateX(6px) !important;}


#cumulative-chart .chart-end-label{fill:#e4fff6 !important;
  
  paint-order:stroke !important;
  stroke:#06101a !important;
  stroke-width:4px !important;
  text-shadow:0 0 7px rgba(255,255,255,.28),
    0 0 13px rgba(111,255,208,.52) !important;}


.daily-panel::before,
.outlook-panel::before,
.calendar-panel::before,
.outlook-panel::after{position:absolute !important;
  z-index:50 !important;
  pointer-events:none !important;
  white-space:nowrap !important;}

.daily-panel::before{content:"DAILY SWAP LOG" !important;
  left:10.0% !important;
  top:6.5% !important;
  color:#69d7ff !important;
  
  
  text-shadow:0 0 8px rgba(58,180,255,.42) !important;}
.outlook-panel::before{content:"SWAP RUN-RATE OUTLOOK" !important;
  left:9.8% !important;
  top:6.5% !important;
  color:#d68cff !important;
  
  
  text-shadow:0 0 8px rgba(205,85,255,.42) !important;}
.outlook-panel::after{content:"KEY SWAP INDICATORS" !important;
  left:9.8% !important;
  top:70.1% !important;
  color:#d68cff !important;
  
  
  text-shadow:0 0 8px rgba(205,85,255,.42) !important;}

.calendar-panel::before{content:"MONTHLY SWAP CALENDAR" !important;
  left:9.6% !important;
  top:6.5% !important;
  color:#ff69b9 !important;
  font:italic 700 16px/1 "Russo One","Noto Sans JP",sans-serif !important;
  letter-spacing:.055em !important;
  text-shadow:0 0 8px rgba(255,68,170,.42) !important;}


.outlook-kpis span{position:relative !important;
  display:block !important;
  padding:0 !important;}
.outlook-kpis b{position:absolute !important;
  top:22px !important;
  left:4px !important;
  right:4px !important;
  display:block !important;
  
  color:#b987e6 !important;
  
  text-align:center !important;
  white-space:nowrap !important;}
.outlook-kpis strong{position:absolute !important;
  top:68px !important;
  left:4px !important;
  right:4px !important;
  display:block !important;
  margin:0 !important;
  
  
  text-align:center !important;
  white-space:nowrap !important;
  transform:none !important;}


:root{/* 左キャラの左目（青） */
  --eye-left-x:9.72%;
  --eye-left-y:12.75%;
  /* 右キャラの右目（赤） */
  --eye-right-x:67.50%;
  --eye-right-y:13.48%;
  --eye-left-size:18px;
  --eye-right-size:18px;}

.lab-bg{z-index:0 !important;}
.character-glow-layer{position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;}
.eye-glow{position:absolute;
  border-radius:50%;
  transform:translate(-50%,-50%) scale(.82);
  opacity:.54;
  filter:blur(.6px);
  pointer-events:none;
  mix-blend-mode:screen;
  animation:eyePulseNormal 2.8s ease-in-out infinite;}
.eye-glow::before,
.eye-glow::after{content:"";
  position:absolute;
  inset:50% auto auto 50%;
  border-radius:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;}
.eye-glow::before{width:42%;
  height:42%;
  background:rgba(255,255,255,.95);
  filter:blur(.2px);}
.eye-glow::after{width:210%;
  height:210%;
  opacity:.72;
  filter:blur(7px);}
.eye-glow-left{left:var(--eye-left-x);
  top:var(--eye-left-y);
  width:var(--eye-left-size);
  height:var(--eye-left-size);
  background:#26dfff;
  box-shadow:0 0 7px #34e9ff,0 0 17px #247cff,0 0 30px rgba(50,88,255,.88);
  animation-delay:-.25s;}
.eye-glow-left::after{background:radial-gradient(circle,rgba(82,232,255,.92) 0,rgba(48,110,255,.5) 38%,rgba(40,70,255,.14) 68%,transparent 74%);}
.eye-glow-right{left:var(--eye-right-x);
  top:var(--eye-right-y);
  width:var(--eye-right-size);
  height:var(--eye-right-size);
  background:#ff315d;
  box-shadow:0 0 7px #ff416b,0 0 17px #ff174d,0 0 30px rgba(255,24,68,.9);
  animation-delay:-1.15s;}
.eye-glow-right::after{background:radial-gradient(circle,rgba(255,105,125,.95) 0,rgba(255,35,75,.56) 38%,rgba(255,15,50,.14) 68%,transparent 74%);}

@keyframes eyePulseNormal{
  0%,100%{opacity:.34;transform:translate(-50%,-50%) scale(.76);filter:blur(.8px);}
  52%{opacity:.76;transform:translate(-50%,-50%) scale(1.08);filter:blur(.25px);}
}
@keyframes eyePulseHour{
  0%,100%{opacity:.50;transform:translate(-50%,-50%) scale(.86);}
  50%{opacity:.94;transform:translate(-50%,-50%) scale(1.22);}
}
@keyframes eyePulseTen{
  0%,100%{opacity:.66;transform:translate(-50%,-50%) scale(.92);}
  50%{opacity:1;transform:translate(-50%,-50%) scale(1.34);}
}
@keyframes eyeGranted{
  0%{opacity:.62;transform:translate(-50%,-50%) scale(.9);}
  35%{opacity:1;transform:translate(-50%,-50%) scale(1.8);}
  100%{opacity:.72;transform:translate(-50%,-50%) scale(1.12);}
}

/* 既存の右上フレームは維持。タイマーを主役にして下段情報を整列。 */
.experiment-clock{z-index:3 !important;
  justify-content:flex-start !important;
  gap:0 !important;
  padding:18px 42px 14px 48px !important;
  box-sizing:border-box !important;}
.experiment-clock .clock-label{margin:0 0 8px !important;
  color:#fff !important;
  font:italic 700 13px/1 "Russo One","Noto Sans JP",sans-serif !important;
  letter-spacing:.16em !important;
  text-shadow:0 0 6px rgba(255,255,255,.28) !important;}
.next-swap-countdown{display:block;
  width:100%;
  margin:0;
  color:#fff !important;
  font:italic 800 13px/1 "Russo One","Noto Sans JP",sans-serif;
  letter-spacing:.01em;
  white-space:nowrap;
  text-shadow:0 0 5px rgba(255,255,255,.52),0 0 12px rgba(255,255,255,.18);}
.next-swap-countdown small{display:inline;
  margin-left:7px;
  color:#fff !important;
  font:italic 800 13px/1 "Russo One","Noto Sans JP",sans-serif;
  letter-spacing:.02em;
  text-shadow:0 0 5px rgba(255,255,255,.42);}
.next-swap-target{display:block;
  margin-top:8px;
  color:#fff !important;
  opacity:.9;
  font:italic 700 13px/1 "Russo One","Noto Sans JP",sans-serif;
  letter-spacing:.035em;
  white-space:nowrap;}
.swap-clock-meta{display:flex;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  margin-top:auto;
  gap:34px;}
/* 現在日時は補助情報として、読みやすさを残しつつ控えめに表示 */
#clock-time.compact-jst-clock{display:block !important;
  margin:0 !important;
  color:#fff !important;
  opacity:.86 !important;
  font:italic 700 13px/1 "Russo One","Noto Sans JP",sans-serif !important;
  letter-spacing:.035em !important;
  text-shadow:0 0 4px rgba(255,255,255,.22) !important;
  white-space:nowrap !important;}
/* DAYは時計のすぐ右へ移動 */
#clock-day.compact-day-counter{display:block !important;
  margin:0 !important;
  color:#fff !important;
  font:italic 800 13px/1 "Russo One","Noto Sans JP",sans-serif !important;
  letter-spacing:.09em !important;
  text-shadow:0 0 5px rgba(255,255,255,.32) !important;
  white-space:nowrap !important;}
.swap-state-hour .eye-glow{animation-name:eyePulseHour;animation-duration:1.9s;}
.swap-state-ten .eye-glow{animation-name:eyePulseTen;animation-duration:1.25s;}
.swap-state-ten .next-swap-countdown{color:#fff !important;
  text-shadow:0 0 7px rgba(255,255,255,.7),0 0 18px rgba(255,255,255,.3) !important;}
.swap-state-granted .eye-glow{animation:eyeGranted 1.15s ease-out infinite;}
.swap-state-granted .next-swap-countdown{color:#fff !important;
  text-shadow:0 0 8px rgba(255,255,255,.75),0 0 22px rgba(255,255,255,.34) !important;}
.swap-state-missing .next-swap-countdown{font-size:13px;
  color:#fff !important;
  opacity:.72;
  letter-spacing:.04em;}

@media (prefers-reduced-motion:reduce){
  .eye-glow{animation:none !important;opacity:.42 !important;transform:translate(-50%,-50%) scale(.9) !important;}
  .swap-state-hour .eye-glow,.swap-state-ten .eye-glow{opacity:.68 !important;}
}


/* Right-top frame: move the whole composition left and keep it inside. */
.experiment-clock{padding:17px 24px 14px 28px !important;}
.experiment-clock .clock-label{color:#ff91d5 !important;
  font-size:13px !important;
  text-shadow:0 0 7px rgba(255,76,190,.48) !important;}
.next-swap-countdown{width:auto !important;
  max-width:100% !important;
  font-size:13px !important;
  letter-spacing:0 !important;
  color:#f7fbff !important;
  text-shadow:0 0 5px rgba(255,255,255,.5),0 0 12px rgba(99,208,255,.16) !important;}
.next-swap-countdown small{margin-left:5px !important;
  color:#ff83cf !important;
  font-size:13px !important;
  text-shadow:0 0 7px rgba(255,67,185,.55) !important;}
.next-swap-target{margin-top:7px !important;
  color:#a9eaff !important;
  opacity:.94 !important;
  text-shadow:0 0 5px rgba(70,206,255,.25) !important;}
.swap-clock-meta{gap:25px !important;}
#clock-time.compact-jst-clock{color:#d8f5ff !important;
  opacity:.94 !important;
  font-size:13px !important;
  text-shadow:0 0 5px rgba(61,203,255,.22) !important;}
#clock-day.compact-day-counter{color:#ff91d5 !important;
  font-size:13px !important;
  text-shadow:0 0 7px rgba(255,68,185,.42) !important;}

#metric-spot .metric-sign,
#metric-pnl .metric-sign{display:inline-block;
  margin-right:2px;
  font-family:"Russo One","Noto Sans JP",sans-serif !important;
  font-weight:900 !important;
  font-size:inherit;
  line-height:1 !important;
  vertical-align:.04em;
  text-shadow:inherit;}
#metric-spot .metric-amount,
#metric-pnl .metric-amount{font:inherit;
  color:inherit;
  text-shadow:inherit;}


.swap-clock-meta{display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:5px !important;
  width:100% !important;
  margin-top:auto !important;}
#clock-time.compact-jst-clock{font-size:13px !important;
  letter-spacing:.035em !important;}
#clock-day.compact-day-counter{font-size:13px !important;
  margin:0 !important;}
.next-swap-countdown{font-size:13px !important;
  letter-spacing:.02em !important;}
.next-swap-countdown small{margin-left:6px !important;
  font-size:13px !important;}


.next-swap-countdown,
.next-swap-countdown small{font-family:"Russo One","Noto Sans JP",sans-serif !important;
  font-variant-numeric:tabular-nums !important;}

/* Gentle life in the punctuation; numbers themselves remain stable. */
.timer-colon{display:inline-block;
  margin:0 .035em;
  color:#f8fbff;
  animation:swapColonPulse 2.4s ease-in-out infinite;
  text-shadow:0 0 5px rgba(255,255,255,.42);}
.timer-colon-delay{animation-delay:-1.2s;}
.countdown-millis{display:inline-block !important;
  animation:swapMillisBreath 1.8s ease-in-out infinite;
  transform-origin:left center;}

/* Thin energy charge line below TARGET. */
.swap-charge{position:relative;
  width:94%;
  height:3px;
  margin-top:9px;
  overflow:visible;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  box-shadow:inset 0 0 5px rgba(0,0,0,.55),0 0 4px rgba(89,214,255,.12);}
.swap-charge::after{content:"";
  position:absolute;
  inset:-4px 0;
  opacity:.22;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
  transform:translateX(-110%);
  animation:swapChargeScan 5.8s ease-in-out infinite;
  pointer-events:none;}
.swap-charge>i{display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#54d9ff 0%,#9b8cff 55%,#ff79d1 100%);
  box-shadow:0 0 5px rgba(85,217,255,.74),0 0 9px rgba(255,91,202,.34);
  transition:width .2s linear;}
.swap-charge>b{position:absolute;
  top:50%;
  left:0;
  width:7px;
  height:7px;
  border-radius:50%;
  opacity:0;
  background:#fff;
  transform:translate(-50%,-50%);
  box-shadow:0 0 5px #fff,0 0 11px #69e4ff,0 0 17px #ff70d0;
  transition:left .2s linear,opacity .25s ease;}

/* Soft scanner inside the timer panel. */
.experiment-clock::after{content:"";
  position:absolute;
  left:4%;
  right:5%;
  top:13%;
  height:1px;
  opacity:.16;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,#9beaff,rgba(255,255,255,.9),#ff92da,transparent);
  box-shadow:0 0 7px rgba(93,222,255,.55);
  animation:swapPanelScan 6.5s ease-in-out infinite;}

.swap-state-hour .swap-charge>i{box-shadow:0 0 7px rgba(85,217,255,.92),0 0 14px rgba(255,91,202,.50);}
.swap-state-hour .timer-colon{animation-duration:1.75s;}
.swap-state-hour .countdown-millis{animation-duration:1.25s;}

.swap-state-ten .swap-charge{height:4px;background:rgba(255,112,204,.13);}
.swap-state-ten .swap-charge>i{background:linear-gradient(90deg,#73eaff 0%,#c488ff 45%,#ff5fbf 100%);
  box-shadow:0 0 9px rgba(93,228,255,1),0 0 18px rgba(255,77,190,.68);}
.swap-state-ten .timer-colon{animation-duration:1.1s;color:#ffd9f1;}
.swap-state-ten .countdown-millis{animation-duration:.85s;}

.swap-state-granted{animation:swapGrantedPanel 1.35s ease-out 2;}
.swap-state-granted .next-swap-countdown{letter-spacing:.06em !important;
  animation:swapGrantedText 1.35s ease-out 2;}
.swap-state-granted .swap-charge>i{width:100% !important;
  background:#fff;
  box-shadow:0 0 10px #fff,0 0 24px #79e9ff,0 0 36px #ff69c8;}
.swap-state-granted .swap-charge>b{left:100% !important;
  width:12px;
  height:12px;}

@keyframes swapColonPulse{
  0%,100%{opacity:.36;transform:scale(.92);}
  50%{opacity:1;transform:scale(1.08);}
}
@keyframes swapMillisBreath{
  0%,100%{opacity:.58;text-shadow:0 0 4px rgba(255,105,204,.35);}
  50%{opacity:1;text-shadow:0 0 7px rgba(255,255,255,.75),0 0 13px rgba(255,88,199,.55);}
}
@keyframes swapChargeScan{
  0%,55%{transform:translateX(-110%);opacity:0;}
  65%{opacity:.32;}
  88%,100%{transform:translateX(110%);opacity:0;}
}
@keyframes swapPanelScan{
  0%,100%{transform:translateY(0);opacity:.05;}
  50%{transform:translateY(83px);opacity:.22;}
}
@keyframes swapGrantedPanel{
  0%{filter:brightness(1);transform:scale(1);}
  26%{filter:brightness(1.55);transform:scale(1.012);}
  100%{filter:brightness(1);transform:scale(1);}
}
@keyframes swapGrantedText{
  0%{opacity:.35;transform:scale(.94);}
  32%{opacity:1;transform:scale(1.045);}
  100%{opacity:1;transform:scale(1);}
}

@media (prefers-reduced-motion:reduce){
  .timer-colon,.countdown-millis,.swap-charge::after,.experiment-clock::after,
  .swap-state-granted,.swap-state-granted .next-swap-countdown{animation:none !important;}
  .swap-charge>i,.swap-charge>b{transition:none !important;}
  .experiment-clock::after{display:none !important;}
}


.swap-charge{width:94%;
  height:6px !important;
  margin-top:9px;
  overflow:visible;
  border:1px solid rgba(126,208,255,.18);
  background:rgba(1,7,15,.82) !important;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.92),
    inset 0 0 8px rgba(40,85,120,.20),
    0 0 5px rgba(76,201,255,.10) !important;}
.swap-charge::after{opacity:.08 !important;
  height:2px;
  top:1px;
  bottom:auto;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent) !important;}
.swap-charge>i{position:relative;
  min-width:0;
  height:100%;
  overflow:hidden;
  background:linear-gradient(90deg,#35d9ff 0%,#7e8dff 48%,#ff55c8 100%) !important;
  box-shadow:0 0 5px rgba(53,217,255,.92),
    0 0 10px rgba(126,141,255,.72),
    0 0 16px rgba(255,85,200,.50) !important;}
.swap-charge>i::after{content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.05) 35%,rgba(255,255,255,.72) 50%,rgba(255,255,255,.05) 65%,transparent 100%);
  transform:translateX(-130%);
  animation:swapFilledEnergyFlow 2.8s ease-in-out infinite;}
.swap-charge>b{width:10px !important;
  height:10px !important;
  z-index:3;
  border:1px solid rgba(255,255,255,.95);
  background:#fff !important;
  box-shadow:0 0 4px #fff,
    0 0 10px #56ddff,
    0 0 18px #9a8fff,
    0 0 25px #ff59c9 !important;
  animation:swapChargeSparkPulse 1.65s ease-in-out infinite;}
.swap-state-hour .swap-charge>b{animation-duration:1.15s;}
.swap-state-ten .swap-charge>b{animation-duration:.82s;}

@keyframes swapFilledEnergyFlow{
  0%,28%{transform:translateX(-130%);opacity:0;}
  42%{opacity:.85;}
  72%,100%{transform:translateX(130%);opacity:0;}
}
@keyframes swapChargeSparkPulse{
  0%,100%{transform:translate(-50%,-50%) scale(.82);filter:brightness(.9);}
  50%{transform:translate(-50%,-50%) scale(1.22);filter:brightness(1.35);}
}

@media (prefers-reduced-motion:reduce){
  .swap-charge>i::after,.swap-charge>b{animation:none !important;}
}


.reactor-readout{width:94%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:7px;
  font-family:"Russo One","Noto Sans JP",sans-serif;
  font-size:13px;
  font-weight:800;
  line-height:1;
  letter-spacing:1.25px;
  color:#8deaff;
  text-shadow:0 0 7px rgba(74,218,255,.42);}
.reactor-readout em{font-style:italic;
  font-size:13px;
  letter-spacing:.8px;
  color:#ff87d5;
  opacity:.88;
  text-shadow:0 0 7px rgba(255,78,191,.42);}
.swap-charge.reactor-tube{position:relative;
  width:94%;
  height:13px !important;
  margin-top:5px !important;
  overflow:hidden !important;
  border:1px solid rgba(139,226,255,.56) !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,rgba(181,235,255,.10),transparent 38%),
    rgba(1,6,14,.88) !important;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.20),
    inset 0 -2px 5px rgba(0,0,0,.82),
    inset 0 0 9px rgba(60,171,229,.20),
    0 0 5px rgba(70,210,255,.20),
    0 0 11px rgba(255,66,193,.08) !important;}
.swap-charge.reactor-tube::before{content:"";
  position:absolute;
  inset:2px 4px auto 4px;
  height:2px;
  z-index:4;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  opacity:.38;
  pointer-events:none;}
.swap-charge.reactor-tube::after{content:"";
  position:absolute;
  inset:0;
  z-index:5;
  opacity:.18 !important;
  background:repeating-linear-gradient(90deg,transparent 0 18px,rgba(180,235,255,.35) 19px,transparent 20px) !important;
  animation:none !important;
  pointer-events:none;}
.reactor-fluid{position:relative !important;
  display:block;
  min-width:0;
  height:100% !important;
  overflow:hidden !important;
  border-radius:999px 2px 2px 999px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.45) 0%,rgba(255,255,255,.08) 30%,transparent 48%),
    linear-gradient(90deg,#18d7ff 0%,#6f8cff 52%,#ff3bbd 100%) !important;
  box-shadow:inset 0 -3px 6px rgba(18,25,86,.32),
    0 0 7px rgba(41,217,255,.95),
    0 0 14px rgba(109,126,255,.65),
    0 0 20px rgba(255,59,189,.42) !important;
  transition:width .22s linear !important;}
.reactor-fluid::before{content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 20% 65%,rgba(255,255,255,.50) 0 1px,transparent 2px),
    radial-gradient(circle at 45% 35%,rgba(255,255,255,.35) 0 1px,transparent 2px),
    radial-gradient(circle at 72% 70%,rgba(255,255,255,.38) 0 1px,transparent 2px);
  background-size:30px 12px,37px 13px,42px 11px;
  animation:reactorParticles 3.8s linear infinite;
  opacity:.72;}
.reactor-fluid::after{content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.02) 35%,rgba(255,255,255,.75) 50%,rgba(255,255,255,.02) 65%,transparent 100%) !important;
  transform:translateX(-130%);
  animation:reactorSweep 2.9s ease-in-out infinite !important;}
.reactor-bubble{position:absolute;
  bottom:-4px;
  z-index:2;
  display:block;
  width:3px;
  height:3px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:50%;
  box-shadow:0 0 4px rgba(255,255,255,.72);
  animation:reactorBubble 2.8s ease-in infinite;}
.bubble-1{left:18%;animation-delay:-.4s;}
.bubble-2{left:42%;width:4px;height:4px;animation-delay:-1.7s;}
.bubble-3{left:66%;animation-delay:-2.2s;}
.bubble-4{left:84%;width:2px;height:2px;animation-delay:-1.0s;}
.reactor-front{position:absolute !important;
  top:50% !important;
  z-index:6 !important;
  width:5px !important;
  height:15px !important;
  border:0 !important;
  border-radius:50% !important;
  background:#fff !important;
  transform:translate(-50%,-50%) !important;
  box-shadow:0 0 4px #fff,
    0 0 9px #69eaff,
    0 0 16px #9b83ff,
    0 0 23px #ff55c8 !important;
  animation:reactorFrontPulse 1.55s ease-in-out infinite !important;}
.swap-state-hour .reactor-tube{border-color:rgba(255,122,213,.72) !important;
  box-shadow:inset 0 0 10px rgba(82,198,255,.30),0 0 8px rgba(255,83,197,.30) !important;}
.swap-state-hour .reactor-fluid,
.swap-state-ten .reactor-fluid{filter:saturate(1.25) brightness(1.12);}
.swap-state-ten .reactor-tube{height:14px !important;
  border-color:rgba(255,188,231,.92) !important;
  animation:reactorVesselPulse 1.25s ease-in-out infinite;}
.swap-state-ten .reactor-readout em{color:#fff;text-shadow:0 0 7px #fff,0 0 13px #ff49bd;}
.swap-state-granted .reactor-fluid{width:100% !important;background:#fff !important;}
.swap-state-granted .reactor-readout em{color:#fff;text-shadow:0 0 8px #fff,0 0 18px #ff5ac9;}

@keyframes reactorParticles{
  from{background-position:0 0,0 0,0 0;}
  to{background-position:30px -12px,-37px -13px,42px -11px;}
}
@keyframes reactorSweep{
  
  43%{opacity:.9;}
  74%,100%{transform:translateX(130%);opacity:0;}
}
@keyframes reactorBubble{
  0%{transform:translateY(0) scale(.65);opacity:0;}
  18%{opacity:.82;}
  75%{opacity:.62;}
  100%{transform:translateY(-15px) scale(1.15);opacity:0;}
}
@keyframes reactorFrontPulse{
  0%,100%{filter:brightness(.85);opacity:.72;}
  50%{filter:brightness(1.45);opacity:1;}
}
@keyframes reactorVesselPulse{
  0%,100%{filter:brightness(1);}
  50%{filter:brightness(1.22);}
}
@media (prefers-reduced-motion:reduce){
  .reactor-fluid::before,.reactor-fluid::after,.reactor-bubble,.reactor-front,.swap-state-ten .reactor-tube{animation:none !important;}
}


.reactor-readout{display:none !important;}

/* Keep the timer as the hero and move the reactor effect to the bottom. */
.experiment-clock{padding:18px 26px 12px 30px !important;}
.next-swap-countdown{margin-bottom:0 !important;}
.next-swap-target{margin-top:8px !important;}
.swap-clock-meta{width:100% !important;
  margin-top:16px !important;
  gap:20px !important;}
#clock-time.compact-jst-clock{font-size:13px !important;
  opacity:.84 !important;}
#clock-day.compact-day-counter{font-size:13px !important;
  opacity:.96 !important;}
.swap-charge.reactor-tube{order:10 !important;
  align-self:flex-start !important;
  width:76% !important;
  height:9px !important;
  margin-top:10px !important;
  margin-left:0 !important;
  border-color:rgba(133,222,255,.42) !important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.12),
    inset 0 -2px 4px rgba(0,0,0,.78),
    inset 0 0 8px rgba(60,171,229,.16),
    0 0 4px rgba(70,210,255,.14),
    0 0 8px rgba(255,66,193,.05) !important;}
.swap-charge.reactor-tube::before{inset:1px 4px auto 4px !important;
  height:1px !important;
  opacity:.28 !important;}
.swap-charge.reactor-tube::after{opacity:.12 !important;
  background:repeating-linear-gradient(90deg,transparent 0 16px,rgba(180,235,255,.28) 17px,transparent 18px) !important;}
.reactor-fluid{box-shadow:inset 0 -2px 4px rgba(18,25,86,.28),
    0 0 6px rgba(41,217,255,.76),
    0 0 11px rgba(109,126,255,.46),
    0 0 16px rgba(255,59,189,.25) !important;}
.reactor-fluid::before{opacity:.56 !important;}
.reactor-bubble{width:2px !important;
  height:2px !important;
  bottom:-3px !important;
  border-width:1px !important;
  opacity:.85;}
.bubble-2,.bubble-4{width:3px !important;height:3px !important;}
.reactor-front{width:4px !important;
  height:11px !important;
  box-shadow:0 0 4px #fff,
    0 0 8px #69eaff,
    0 0 13px #9b83ff,
    0 0 18px #ff55c8 !important;}
.swap-state-ten .reactor-tube{height:10px !important;}
@media (prefers-reduced-motion:reduce){
  .swap-charge.reactor-tube{box-shadow:inset 0 0 6px rgba(60,171,229,.16) !important;}
}


/* Retire the previous horizontal reactor tube. */
.swap-charge.reactor-tube{display:none !important;}

/* Reserve the right side for a small laboratory flask. */
.experiment-clock{padding-right:78px !important;}
.swap-clock-meta{max-width:235px !important;
  margin-top:16px !important;
  gap:16px !important;}

.swap-flask{position:absolute;
  z-index:4;
  right:22px;
  bottom:18px;
  width:52px;
  height:76px;
  pointer-events:none;
  filter:drop-shadow(0 0 5px rgba(108,255,135,.22));}
.flask-neck{position:absolute;
  z-index:3;
  left:17px;
  top:0;
  width:18px;
  height:27px;
  border:2px solid rgba(190,234,255,.62);
  border-bottom:0;
  border-radius:5px 5px 2px 2px;
  background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(180,226,255,.12),rgba(255,255,255,.03));
  box-shadow:inset 2px 0 2px rgba(255,255,255,.13),0 0 4px rgba(94,212,255,.12);}
.flask-neck::before{content:"";
  position:absolute;
  left:-4px;
  top:-4px;
  width:22px;
  height:5px;
  border:2px solid rgba(211,241,255,.68);
  border-radius:5px;
  background:rgba(1,7,14,.7);}
.flask-body{position:absolute;
  z-index:2;
  left:2px;
  bottom:0;
  width:48px;
  height:57px;
  overflow:hidden;
  clip-path:polygon(33% 0,67% 0,72% 18%,96% 84%,91% 94%,78% 100%,22% 100%,9% 94%,4% 84%,28% 18%);
  border:2px solid rgba(188,232,255,.68);
  background:linear-gradient(115deg,rgba(255,255,255,.17),transparent 28%),
    linear-gradient(90deg,rgba(83,170,213,.07),rgba(3,10,18,.72) 48%,rgba(83,170,213,.06));
  box-shadow:inset 3px 0 3px rgba(255,255,255,.10),
    inset -3px 0 4px rgba(49,131,175,.10),
    inset 0 -4px 8px rgba(0,0,0,.55),
    0 0 6px rgba(88,207,255,.14);}
.flask-body::before{content:"";
  position:absolute;
  z-index:5;
  left:8px;
  top:8px;
  width:4px;
  height:35px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.50),rgba(255,255,255,.05));
  opacity:.42;}
.flask-liquid{position:absolute;
  z-index:2;
  left:0;
  bottom:0;
  display:block;
  width:100%;
  height:0;
  min-height:0;
  overflow:visible;
  background:linear-gradient(90deg,rgba(181,255,168,.25),transparent 23%,rgba(40,255,82,.18) 70%,rgba(183,255,157,.30)),
    linear-gradient(180deg,#8eff63 0%,#22d943 35%,#069f29 100%);
  box-shadow:inset 0 5px 8px rgba(218,255,201,.30),
    inset 0 -8px 10px rgba(0,67,17,.42),
    0 0 8px rgba(54,255,80,.84),
    0 0 18px rgba(46,255,72,.38);
  transition:height .25s linear;}
.flask-wave{position:absolute;
  z-index:4;
  left:-8%;
  top:-4px;
  width:116%;
  height:9px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(221,255,205,.95) 0%,#75ff58 36%,rgba(27,204,56,.76) 67%,transparent 72%);
  box-shadow:0 0 6px rgba(126,255,91,.92),0 0 12px rgba(47,255,72,.45);
  animation:flaskWave 2.5s ease-in-out infinite;}
.flask-bubble{position:absolute;
  z-index:3;
  bottom:-5px;
  width:3px;
  height:3px;
  border:1px solid rgba(220,255,206,.86);
  border-radius:50%;
  background:rgba(153,255,130,.18);
  box-shadow:0 0 4px rgba(112,255,91,.85);
  animation:flaskBubble 3s ease-in infinite;}
.flask-bubble-1{left:22%;animation-delay:-.5s;}
.flask-bubble-2{left:43%;width:4px;height:4px;animation-delay:-1.8s;}
.flask-bubble-3{left:65%;animation-delay:-2.4s;}
.flask-bubble-4{left:79%;width:2px;height:2px;animation-delay:-1.1s;}
.flask-surface-glow{position:absolute;
  z-index:6;
  left:50%;
  bottom:0;
  width:34px;
  height:5px;
  border-radius:50%;
  opacity:0;
  background:rgba(222,255,208,.95);
  transform:translate(-50%,50%);
  box-shadow:0 0 5px #d9ffd0,0 0 10px #75ff58,0 0 18px rgba(38,255,72,.72);
  transition:bottom .25s linear,opacity .2s ease;
  animation:flaskSurfacePulse 1.8s ease-in-out infinite;}
.swap-state-hour .swap-flask{filter:drop-shadow(0 0 8px rgba(123,255,91,.46));}
.swap-state-hour .flask-liquid{filter:saturate(1.22) brightness(1.13);}
.swap-state-ten .swap-flask{animation:flaskVesselPulse 1.35s ease-in-out infinite;
  filter:drop-shadow(0 0 11px rgba(168,255,98,.66));}
.swap-state-ten .flask-wave,
.swap-state-ten .flask-surface-glow{animation-duration:.85s;}
.swap-state-granted .flask-liquid{height:100% !important;
  background:linear-gradient(180deg,#efffe8 0%,#94ff67 25%,#24e34a 100%) !important;}
.swap-state-granted .swap-flask{animation:flaskGranted 1.2s ease-out 2;}
.swap-state-missing .swap-flask{opacity:.28;filter:none;}

@keyframes flaskWave{
  0%,100%{transform:translateX(-2%) rotate(-1deg) scaleX(1.02);}
  50%{transform:translateX(2%) rotate(1deg) scaleX(.96);}
}
@keyframes flaskBubble{
  0%{transform:translateY(0) scale(.55);opacity:0;}
  18%{opacity:.86;}
  76%{opacity:.58;}
  100%{transform:translateY(-48px) scale(1.15);opacity:0;}
}
@keyframes flaskSurfacePulse{
  0%,100%{filter:brightness(.88);transform:translate(-50%,50%) scaleX(.88);}
  50%{filter:brightness(1.4);transform:translate(-50%,50%) scaleX(1.12);}
}
@keyframes flaskVesselPulse{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.045);}
}
@keyframes flaskGranted{
  0%{transform:scale(.95);filter:brightness(1);}
  34%{transform:scale(1.12);filter:brightness(1.75);}
  100%{transform:scale(1);filter:brightness(1);}
}
@media (prefers-reduced-motion:reduce){
  .flask-wave,.flask-bubble,.flask-surface-glow,.swap-state-ten .swap-flask,.swap-state-granted .swap-flask{animation:none !important;}
  .flask-liquid,.flask-surface-glow{transition:none !important;}
}


.experiment-clock{padding-right:72px !important;}
.swap-clock-meta{max-width:245px !important;}

/* Move the flask beside the timer, away from the lower-right skull. */
.swap-flask.mad-flask{position:absolute !important;
  z-index:5 !important;
  right:17px !important;
  top:43px !important;
  bottom:auto !important;
  width:48px !important;
  height:61px !important;
  transform:rotate(2.5deg) !important;
  filter:drop-shadow(0 0 4px rgba(114,255,69,.42))
    drop-shadow(3px 4px 0 rgba(0,0,0,.68)) !important;}

/* Stubby crooked neck with heavy cartoon outline. */
.mad-flask .flask-neck{left:16px !important;
  top:0 !important;
  width:16px !important;
  height:21px !important;
  border:3px solid rgba(13,8,24,.96) !important;
  outline:1px solid rgba(255,91,207,.62) !important;
  border-bottom:0 !important;
  border-radius:7px 4px 2px 3px !important;
  background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(92,255,199,.13),rgba(142,55,255,.10)) !important;
  box-shadow:inset 2px 0 0 rgba(255,255,255,.12),
    0 0 5px rgba(255,74,205,.25) !important;}
.mad-flask .flask-neck::before{left:-5px !important;
  top:-5px !important;
  width:21px !important;
  height:6px !important;
  border:3px solid rgba(10,6,18,.96) !important;
  outline:1px solid rgba(100,255,215,.55) !important;
  border-radius:7px 4px 6px 3px !important;
  background:#1a0d25 !important;
  transform:rotate(-2deg) !important;}
.mad-flask .flask-neck::after{content:"";
  position:absolute;
  left:3px;
  top:8px;
  width:7px;
  height:2px;
  border-radius:50%;
  background:#90ffd8;
  opacity:.55;
  transform:rotate(-12deg);}

/* Rounded, asymmetric cartoon vessel. */
.mad-flask .flask-body{left:0 !important;
  bottom:0 !important;
  width:48px !important;
  height:46px !important;
  overflow:hidden !important;
  clip-path:polygon(33% 0,68% 0,73% 13%,96% 72%,93% 89%,82% 98%,58% 100%,24% 97%,7% 87%,3% 70%,27% 14%) !important;
  border:3px solid rgba(10,6,18,.98) !important;
  outline:1px solid rgba(255,83,202,.62) !important;
  background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.16) 0 5%,transparent 6%),
    linear-gradient(125deg,rgba(83,255,215,.14),transparent 30%),
    linear-gradient(95deg,rgba(40,9,54,.55),rgba(5,8,15,.86) 55%,rgba(75,10,82,.45)) !important;
  box-shadow:inset 3px 0 0 rgba(255,255,255,.07),
    inset -3px -3px 0 rgba(0,0,0,.38),
    0 0 0 1px rgba(111,255,218,.16),
    0 0 7px rgba(255,53,202,.28) !important;
  transform:rotate(-1.5deg) !important;}
.mad-flask .flask-body::before{left:8px !important;
  top:7px !important;
  width:3px !important;
  height:24px !important;
  opacity:.30 !important;
  transform:rotate(7deg) !important;}
.mad-flask .flask-body::after{content:"";
  position:absolute;
  z-index:7;
  right:5px;
  bottom:6px;
  width:8px;
  height:8px;
  border:2px solid rgba(255,89,207,.62);
  border-radius:48% 55% 44% 58%;
  opacity:.65;
  transform:rotate(15deg);}

/* Toxic green/purple mixture with a deliberately uneven surface. */
.mad-flask .flask-liquid{background:radial-gradient(circle at 70% 35%,rgba(248,111,255,.52) 0 6%,transparent 8%),
    linear-gradient(105deg,rgba(196,255,117,.35),transparent 24%,rgba(172,67,255,.25) 58%,rgba(64,255,96,.28)),
    linear-gradient(180deg,#b8ff3b 0%,#4aee32 35%,#13aa3f 68%,#6714a6 100%) !important;
  box-shadow:inset 0 4px 5px rgba(235,255,181,.28),
    inset 0 -7px 7px rgba(48,4,75,.46),
    0 0 6px rgba(103,255,75,.88),
    0 0 13px rgba(146,36,255,.42) !important;
  filter:saturate(1.22) contrast(1.08) !important;}
.mad-flask .flask-wave{left:-16% !important;
  top:-5px !important;
  width:132% !important;
  height:11px !important;
  border-radius:35% 60% 42% 68% !important;
  background:radial-gradient(ellipse at 35% 45%,rgba(239,255,176,.95) 0%,#8dff45 34%,rgba(93,255,60,.80) 56%,rgba(174,54,255,.62) 70%,transparent 75%) !important;
  box-shadow:0 0 5px rgba(153,255,71,.95),
    0 0 10px rgba(161,49,255,.48) !important;
  animation:madWave 1.9s ease-in-out infinite !important;}

/* Irregular bubbles; two are tiny eyeballs. */
.mad-flask .flask-bubble{border:2px solid rgba(16,6,24,.90) !important;
  background:#aaff5b !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.36),
    0 0 5px rgba(102,255,59,.72) !important;
  border-radius:45% 58% 38% 62% !important;
  animation:madBubble 2.7s ease-in infinite !important;}
.mad-flask .flask-bubble-1{left:18% !important;width:4px !important;height:4px !important;}
.mad-flask .flask-bubble-2{left:42% !important;width:7px !important;height:7px !important;}
.mad-flask .flask-bubble-3{left:68% !important;width:3px !important;height:5px !important;}
.mad-flask .flask-bubble-4{left:78% !important;width:5px !important;height:5px !important;}
.mad-flask .eye-bubble::after{content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:2px;
  height:2px;
  border-radius:50%;
  background:#14051e;
  transform:translate(-50%,-50%);
  box-shadow:0 0 1px #14051e;}
.mad-flask .tiny-eye::after{width:1px;height:1px;}

/* Cartoon stitches and a crack, matching the characters. */
.mad-flask .flask-stitch,
.mad-flask .flask-crack{position:absolute;
  z-index:8;
  pointer-events:none;}
.mad-flask .flask-stitch{width:11px;
  height:2px;
  background:#ff55cd;
  border:1px solid #16051f;
  box-shadow:0 0 3px rgba(255,54,202,.55);}
.mad-flask .stitch-a{left:4px;top:25px;transform:rotate(22deg);}
.mad-flask .stitch-b{right:3px;top:17px;transform:rotate(-31deg);}
.mad-flask .flask-stitch::before,
.mad-flask .flask-stitch::after{content:"";
  position:absolute;
  top:-3px;
  width:2px;
  height:7px;
  background:#0e0517;}
.mad-flask .flask-stitch::before{left:2px;}
.mad-flask .flask-stitch::after{right:2px;}
.mad-flask .flask-crack{right:10px;
  top:7px;
  width:9px;
  height:12px;
  border-right:2px solid rgba(105,255,224,.58);
  transform:skew(-20deg) rotate(11deg);
  opacity:.65;}

.mad-flask .flask-surface-glow{width:28px !important;
  height:5px !important;
  background:rgba(217,255,155,.94) !important;
  box-shadow:0 0 5px #dfff8f,
    0 0 9px #5cff4a,
    0 0 15px rgba(162,45,255,.72) !important;}
.swap-state-hour .swap-flask.mad-flask{filter:drop-shadow(0 0 7px rgba(119,255,77,.60)) drop-shadow(3px 4px 0 rgba(0,0,0,.68)) !important;}
.swap-state-ten .swap-flask.mad-flask{animation:madFlaskTwitch 1.1s ease-in-out infinite !important;
  filter:drop-shadow(0 0 10px rgba(166,255,78,.78)) drop-shadow(0 0 8px rgba(182,47,255,.55)) !important;}

@keyframes madWave{
  0%,100%{transform:translateX(-3%) rotate(-3deg) scaleX(1.04);}
  45%{transform:translateX(3%) rotate(2deg) scaleX(.93);}
  72%{transform:translateX(-1%) rotate(-1deg) scaleX(1.01);}
}
@keyframes madBubble{
  0%{transform:translateY(0) rotate(0deg) scale(.55);opacity:0;}
  18%{opacity:.92;}
  58%{transform:translateY(-18px) rotate(65deg) scale(1.08);opacity:.78;}
  100%{transform:translateY(-40px) rotate(150deg) scale(.72);opacity:0;}
}
@keyframes madFlaskTwitch{
  0%,100%{transform:rotate(2.5deg) scale(1);}
  30%{transform:rotate(-1deg) scale(1.025);}
  65%{transform:rotate(4deg) scale(1.015);}
}
@media (prefers-reduced-motion:reduce){
  .mad-flask .flask-wave,.mad-flask .flask-bubble,.swap-state-ten .swap-flask.mad-flask{animation:none !important;}
}


.swap-flask.mad-flask{display:none !important;}
.image-flask-gauge{position:absolute !important;
  z-index:4 !important;
  top:34px !important;
  right:22px !important;
  width:72px !important;
  height:116px !important;
  pointer-events:none !important;
  filter:drop-shadow(0 0 6px rgba(66,205,255,.26)) drop-shadow(0 0 8px rgba(255,70,193,.22));}
.flask-image{position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  user-select:none;
  pointer-events:none;}
.flask-image-base{opacity:.24;
  filter:grayscale(.55) brightness(.72) saturate(.7);}
.flask-image-fill{position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:0;
  overflow:hidden;
  transition:height .22s linear;
  filter:drop-shadow(0 0 7px rgba(106,255,88,.40));}
.flask-image-active{left:0;
  bottom:0;
  top:auto;
  height:116px;
  opacity:1;
  filter:saturate(1.15) brightness(1.08);}
.flask-liquid-tint{position:absolute;
  left:12%;
  right:10%;
  bottom:5%;
  height:78%;
  opacity:.58;
  mix-blend-mode:screen;
  background:linear-gradient(180deg,rgba(151,255,87,.78),rgba(36,255,98,.58) 42%,rgba(16,172,66,.88));
  filter:blur(1.2px);
  animation:flaskLiquidPulse 2.2s ease-in-out infinite;}
.flask-image-fill::before{content:"";
  position:absolute;
  z-index:5;
  left:6%;
  right:5%;
  top:-2px;
  height:5px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(229,255,204,.95),rgba(78,255,113,.68) 45%,transparent 72%);
  box-shadow:0 0 6px rgba(119,255,106,.9),0 0 12px rgba(44,255,84,.55);
  animation:flaskSurfaceWobble 2.1s ease-in-out infinite;}
.image-flask-gauge .flask-bubble{position:absolute;
  z-index:6;
  bottom:5px;
  width:4px;
  height:4px;
  border:1px solid rgba(221,255,211,.85);
  border-radius:50%;
  box-shadow:0 0 5px rgba(97,255,113,.85);
  animation:flaskImageBubble 2.8s ease-in infinite;}
.image-flask-gauge .flask-bubble-1{left:31%;animation-delay:-.4s;}
.image-flask-gauge .flask-bubble-2{left:52%;width:6px;height:6px;animation-delay:-1.6s;}
.image-flask-gauge .flask-bubble-3{left:69%;width:3px;height:3px;animation-delay:-2.1s;}
.flask-fill-surface{position:absolute;
  z-index:7;
  left:50%;
  bottom:0;
  width:48px;
  height:4px;
  opacity:0;
  transform:translate(-50%,50%);
  border-radius:50%;
  background:rgba(184,255,157,.95);
  box-shadow:0 0 6px rgba(149,255,115,.95),0 0 13px rgba(58,255,89,.62);
  transition:bottom .22s linear,opacity .2s ease;}
.flask-percent{position:absolute;
  z-index:9;
  left:50%;
  top:55%;
  transform:translate(-50%,-50%);
  color:#fff;
  font:italic 900 13px/1 "Russo One","Noto Sans JP",sans-serif;
  letter-spacing:.02em;
  text-shadow:0 0 3px #000,0 0 6px #000,0 0 8px rgba(89,255,95,.95);
  white-space:nowrap;}
.swap-state-hour .image-flask-gauge{filter:drop-shadow(0 0 7px rgba(111,255,94,.55)) drop-shadow(0 0 11px rgba(255,74,195,.32));}
.swap-state-ten .image-flask-gauge{animation:imageFlaskWarning 1.15s ease-in-out infinite;}
.swap-state-ten .flask-percent{color:#efffe9;
  text-shadow:0 0 4px #000,0 0 9px #9cff78,0 0 14px #34ff5f;}
.swap-state-granted .flask-image-fill{height:100% !important;}
.swap-state-granted .flask-percent{font-size:13px;color:#fff;}
.swap-state-granted .image-flask-gauge{animation:imageFlaskGranted 1.15s ease-out 2;}
.swap-state-missing .image-flask-gauge{opacity:.28;filter:grayscale(1);}

@keyframes flaskLiquidPulse{
  0%,100%{opacity:.48;transform:scaleY(.98);}
  50%{opacity:.72;transform:scaleY(1.02);}
}
@keyframes flaskSurfaceWobble{
  0%,100%{transform:translateX(-2px) scaleX(.96);}
  50%{transform:translateX(2px) scaleX(1.04);}
}
@keyframes flaskImageBubble{
  
  18%{opacity:.85;}
  100%{transform:translateY(-42px) scale(1.15);opacity:0;}
}
@keyframes imageFlaskWarning{
  0%,100%{transform:rotate(-1deg) scale(1);}
  50%{transform:rotate(1deg) scale(1.035);}
}
@keyframes imageFlaskGranted{
  0%{transform:scale(.94);filter:brightness(.8);}
  35%{transform:scale(1.12);filter:brightness(1.7);}
  
}
@media (prefers-reduced-motion:reduce){
  .flask-liquid-tint,.flask-image-fill::before,.image-flask-gauge .flask-bubble,
  .swap-state-ten .image-flask-gauge,.swap-state-granted .image-flask-gauge{animation:none !important;}
  .flask-image-fill,.flask-fill-surface{transition:none !important;}
}


.image-flask-gauge{filter:drop-shadow(0 0 4px rgba(61,174,255,.18)) drop-shadow(0 0 5px rgba(255,65,190,.14)) !important;}
.flask-image-base{opacity:.34 !important;
  filter:brightness(.76) saturate(.84) !important;}
.flask-image-fill{filter:none !important;}
.flask-image-active{filter:saturate(1.08) brightness(1.02) !important;}
.flask-liquid-tint{opacity:.16 !important;
  mix-blend-mode:screen !important;
  background:linear-gradient(90deg,
    rgba(44,190,255,.36) 0%,
    rgba(82,123,255,.22) 42%,
    rgba(190,74,255,.18) 58%,
    rgba(255,66,184,.34) 100%) !important;
  filter:blur(.4px) !important;
  animation:flaskLiquidSubtle 3.4s ease-in-out infinite !important;}
.flask-image-fill::before{height:3px !important;
  background:linear-gradient(90deg,
    rgba(96,218,255,.92),
    rgba(230,235,255,.95) 48%,
    rgba(255,105,214,.92)) !important;
  box-shadow:0 0 4px rgba(99,215,255,.58),0 0 6px rgba(255,91,202,.42) !important;
  animation:flaskSurfaceWobble 3.2s ease-in-out infinite !important;}
.image-flask-gauge .flask-bubble{width:3px !important;
  height:3px !important;
  border-color:rgba(205,235,255,.72) !important;
  box-shadow:0 0 3px rgba(88,196,255,.45),0 0 4px rgba(255,91,202,.22) !important;
  opacity:.72 !important;
  animation-duration:4.2s !important;}
.image-flask-gauge .flask-bubble-2{width:4px !important;height:4px !important;}
.flask-fill-surface{height:2px !important;
  background:linear-gradient(90deg,#65d9ff,#f5f8ff,#ff79d5) !important;
  box-shadow:0 0 4px rgba(103,218,255,.58),0 0 6px rgba(255,104,208,.40) !important;}
.flask-percent{color:#fff !important;
  font-size:13px !important;
  text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 3px rgba(0,0,0,.88) !important;}
.swap-state-hour .image-flask-gauge{filter:drop-shadow(0 0 5px rgba(67,190,255,.28)) drop-shadow(0 0 7px rgba(255,72,194,.22)) !important;}
.swap-state-ten .image-flask-gauge{filter:drop-shadow(0 0 7px rgba(91,211,255,.42)) drop-shadow(0 0 9px rgba(255,78,198,.34)) !important;}
.swap-state-ten .flask-percent{color:#fff !important;
  text-shadow:0 1px 2px #000,0 0 5px rgba(255,255,255,.46) !important;}
.swap-state-granted .image-flask-gauge{filter:drop-shadow(0 0 10px rgba(122,226,255,.68)) drop-shadow(0 0 14px rgba(255,92,205,.56)) !important;}
@keyframes flaskLiquidSubtle{
  0%,100%{opacity:.12;transform:translateY(0);}
  50%{opacity:.20;transform:translateY(-1px);}
}


.image-flask-gauge{top:12px !important;
  right:24px !important;
  width:70px !important;
  height:112px !important;
  filter:none !important;}
.flask-image-base{opacity:.22 !important;
  filter:grayscale(.78) brightness(.58) saturate(.38) !important;}

.flask-image-active{opacity:1 !important;
  filter:saturate(1.06) brightness(1.04) !important;}
/* Show the original blue/pink artwork itself as the filling material. */
.flask-liquid-tint{display:none !important;}
.flask-image-fill::before{height:2px !important;
  left:13% !important;
  right:12% !important;
  background:linear-gradient(90deg,#45cfff 0%,#eaf8ff 46%,#ff61c8 100%) !important;
  box-shadow:0 0 3px rgba(72,207,255,.55),0 0 4px rgba(255,83,195,.42) !important;
  opacity:.72 !important;}
.flask-fill-surface{width:42px !important;
  height:2px !important;
  background:linear-gradient(90deg,#42ccff,#f4fbff,#ff62c9) !important;
  box-shadow:0 0 3px rgba(70,205,255,.52),0 0 4px rgba(255,87,199,.38) !important;
  opacity:.66 !important;}
.image-flask-gauge .flask-bubble{width:2px !important;
  height:2px !important;
  opacity:.40 !important;
  border-color:rgba(225,243,255,.55) !important;
  box-shadow:0 0 2px rgba(92,202,255,.35),0 0 2px rgba(255,92,199,.20) !important;
  animation-duration:5.2s !important;}
.image-flask-gauge .flask-bubble-2{width:3px !important;
  height:3px !important;}
.flask-percent{top:58% !important;
  padding:2px 4px !important;
  border-radius:5px !important;
  color:#fff !important;
  background:rgba(0,4,12,.46) !important;
  font-size:13px !important;
  text-shadow:0 1px 2px #000 !important;
  box-shadow:none !important;}
.swap-state-hour .image-flask-gauge,
.swap-state-ten .image-flask-gauge{filter:none !important;}
.swap-state-granted .image-flask-gauge{filter:drop-shadow(0 0 5px rgba(89,210,255,.38)) drop-shadow(0 0 7px rgba(255,80,197,.34)) !important;}


.image-flask-gauge{top:-8px !important;
  right:28px !important;}


.experiment-clock{padding:18px 104px 12px 24px !important;}
.next-swap-countdown,
.next-swap-target,
.swap-clock-meta{max-width:255px !important;}
.next-swap-countdown{text-align:left !important;}
.swap-clock-meta{margin-top:14px !important;}
.image-flask-gauge{top:-10px !important;
  right:10px !important;}
.flask-percent{top:57% !important;}


.next-swap-countdown,
.next-swap-countdown small{font-family:"Russo One","Noto Sans JP",sans-serif !important;
  letter-spacing:.02em !important;}


.experiment-clock{padding:18px 100px 12px 16px !important;}
.next-swap-countdown,
.next-swap-target,
.swap-clock-meta{max-width:260px !important;}
.image-flask-gauge{right:6px !important;}


/* Requested fine position: flask 1mm left from the previous build. */
.image-flask-gauge{right:10px !important;}

/* Scanner means "active monitoring"; keep it subtle and slower. */
.experiment-clock::after{height:1px !important;
  opacity:.08 !important;
  box-shadow:0 0 4px rgba(93,222,255,.28) !important;
  animation:swapPanelScanCalm 9.5s ease-in-out infinite !important;}
@keyframes swapPanelScanCalm{
  0%,100%{transform:translateY(0);opacity:.025;}
  50%{transform:translateY(83px);opacity:.11;}
}

/* Keep colons readable. Only brightness breathes; opacity never drops low. */
.timer-colon{color:#ffffff !important;
  opacity:.92 !important;
  text-shadow:0 0 4px rgba(255,255,255,.72),0 0 8px rgba(105,220,255,.25) !important;
  animation:swapColonReadable 2.5s ease-in-out infinite !important;}
.timer-colon-delay{animation-delay:-1.25s !important;}
@keyframes swapColonReadable{
  0%,100%{opacity:.88;filter:brightness(.92);transform:scale(1);}
  50%{opacity:1;filter:brightness(1.16);transform:scale(1.035);}
}
.swap-state-hour .timer-colon{animation-duration:1.8s !important;}
.swap-state-ten .timer-colon{color:#fff !important;
  animation-duration:1.15s !important;}

/* More bubbling, with mixed sizes and sideways drift. */
.image-flask-gauge .flask-bubble{bottom:12% !important;
  opacity:.68 !important;
  animation-name:flaskBubbleBoil !important;
  animation-timing-function:ease-in !important;
  animation-iteration-count:infinite !important;
  animation-duration:3.9s !important;}
.image-flask-gauge .flask-bubble-1{left:25% !important;width:3px !important;height:3px !important;animation-delay:-.3s !important;}
.image-flask-gauge .flask-bubble-2{left:43% !important;width:5px !important;height:5px !important;animation-delay:-1.5s !important;animation-duration:4.4s !important;}
.image-flask-gauge .flask-bubble-3{left:61% !important;width:2px !important;height:2px !important;animation-delay:-2.3s !important;animation-duration:3.5s !important;}
.image-flask-gauge .flask-bubble-4{left:72% !important;width:4px !important;height:4px !important;animation-delay:-.9s !important;animation-duration:4.1s !important;}
.image-flask-gauge .flask-bubble-5{left:34% !important;width:2px !important;height:2px !important;animation-delay:-2.8s !important;animation-duration:3.2s !important;}
.image-flask-gauge .flask-bubble-6{left:54% !important;width:6px !important;height:6px !important;animation-delay:-3.4s !important;animation-duration:5.0s !important;}
.image-flask-gauge .flask-bubble-7{left:67% !important;width:3px !important;height:3px !important;animation-delay:-1.9s !important;animation-duration:3.7s !important;}

@keyframes flaskBubbleBoil{
  0%{transform:translate(0,0) scale(.55);opacity:0;}
  12%{opacity:.72;}
  38%{transform:translate(3px,-15px) scale(.85);opacity:.82;}
  68%{transform:translate(-2px,-31px) scale(1.05);opacity:.66;}
  100%{transform:translate(2px,-48px) scale(1.25);opacity:0;}
}

/* Under one hour: clearly faster bubbling and a more active liquid surface. */
.swap-state-hour .image-flask-gauge .flask-bubble{animation-duration:2.35s !important;
  opacity:.82 !important;}
.swap-state-hour .flask-image-fill::before,
.swap-state-hour .flask-fill-surface{animation:flaskSurfaceBusy 1.35s ease-in-out infinite !important;}

/* Under ten minutes: boil hard, add occasional larger bubbles and a tiny vessel twitch. */
.swap-state-ten .image-flask-gauge{animation:flaskBoilTwitch .72s ease-in-out infinite !important;}
.swap-state-ten .image-flask-gauge .flask-bubble{animation-duration:1.25s !important;
  opacity:.95 !important;
  box-shadow:0 0 4px rgba(115,225,255,.72),0 0 5px rgba(255,89,199,.35) !important;}
.swap-state-ten .image-flask-gauge .flask-bubble-2,
.swap-state-ten .image-flask-gauge .flask-bubble-6{width:7px !important;
  height:7px !important;}
.swap-state-ten .flask-image-fill::before,
.swap-state-ten .flask-fill-surface{animation:flaskSurfaceBusy .62s ease-in-out infinite !important;}

@keyframes flaskSurfaceBusy{
  0%,100%{transform:translateX(-2px) scaleX(.92);}
  50%{transform:translateX(2px) scaleX(1.08);}
}
@keyframes flaskBoilTwitch{
  0%,100%{transform:translate(0,0) rotate(0);}
  25%{transform:translate(-.5px,.2px) rotate(-.25deg);}
  75%{transform:translate(.5px,-.2px) rotate(.25deg);}
}

@media (prefers-reduced-motion:reduce){
  .image-flask-gauge .flask-bubble,
  .swap-state-hour .flask-image-fill::before,
  .swap-state-hour .flask-fill-surface,
  .swap-state-ten .image-flask-gauge,
  .swap-state-ten .flask-image-fill::before,
  .swap-state-ten .flask-fill-surface,
  .timer-colon,
  .experiment-clock::after{animation:none !important;}
}


/* Reuse the existing scanner pseudo-element only.
   Do not change .experiment-clock positioning or containing block. */
.experiment-clock::after{content:"" !important;
  display:block !important;
  position:absolute !important;
  left:4% !important;
  right:5% !important;
  top:18% !important;
  height:8px !important;
  opacity:0 !important;
  pointer-events:none !important;
  z-index:6 !important;
  background:repeating-linear-gradient(
    0deg,
    rgba(77,214,255,0) 0px,
    rgba(77,214,255,.17) 1px,
    rgba(255,73,194,.13) 2px,
    rgba(255,255,255,.08) 3px,
    rgba(0,0,0,0) 4px,
    rgba(0,0,0,0) 6px
  ) !important;
  box-shadow:0 0 5px rgba(76,207,255,.15),0 0 7px rgba(255,72,191,.10) !important;
  animation:timerSafeNoise 7.4s steps(1,end) infinite !important;}
@keyframes timerSafeNoise{
  0%,72%,100%{opacity:0;transform:translateY(0) scaleX(1);}
  73%{opacity:.24;transform:translateY(8px) scaleX(.97);}
  73.6%{opacity:.42;transform:translateY(39px) scaleX(1.03);}
  74.2%{opacity:.17;transform:translateY(66px) scaleX(.99);}
  75%{opacity:0;transform:translateY(0) scaleX(1);}
}
.swap-state-hour .experiment-clock::after{height:10px !important;
  animation-duration:4.4s !important;
  box-shadow:0 0 6px rgba(76,207,255,.24),0 0 9px rgba(255,72,191,.18) !important;}
.swap-state-ten .experiment-clock::after{height:14px !important;
  animation:timerSafeNoiseHard 2.4s steps(1,end) infinite !important;
  background:repeating-linear-gradient(
    0deg,
    rgba(77,214,255,0) 0px,
    rgba(77,214,255,.26) 1px,
    rgba(255,73,194,.24) 2px,
    rgba(255,255,255,.14) 3px,
    rgba(0,0,0,0) 4px,
    rgba(0,0,0,0) 6px
  ) !important;}
@keyframes timerSafeNoiseHard{
  0%,58%,100%{opacity:0;transform:translateY(0) skewX(0deg) scaleX(1);}
  59%{opacity:.34;transform:translateY(7px) skewX(-4deg) scaleX(.94);}
  60%{opacity:.66;transform:translateY(33px) skewX(4deg) scaleX(1.06);}
  61%{opacity:.27;transform:translateY(61px) skewX(-3deg) scaleX(.98);}
  62%{opacity:.50;transform:translateY(82px) skewX(5deg) scaleX(1.03);}
  63%{opacity:0;transform:translateY(0) skewX(0deg) scaleX(1);}
}
/* Tiny color split on the countdown only; transforms are avoided to protect layout. */
.next-swap-countdown{animation:timerSafeTextGlitch 7.4s steps(1,end) infinite !important;}
@keyframes timerSafeTextGlitch{
  0%,72%,100%{filter:none;text-shadow:inherit;}
  73%{filter:brightness(1.05);}
  73.6%{filter:brightness(1.12) saturate(1.08);text-shadow:-1px 0 rgba(72,214,255,.40),1px 0 rgba(255,72,192,.36),0 0 5px rgba(255,255,255,.20);}
  74.5%{filter:none;text-shadow:inherit;}
}
.swap-state-hour .next-swap-countdown{animation-duration:4.4s !important;}
.swap-state-ten .next-swap-countdown{animation-duration:2.4s !important;}
@media (prefers-reduced-motion:reduce){
  .experiment-clock::after,.next-swap-countdown{animation:none !important;}
}


.experiment-clock::after{left:2% !important;
  right:3% !important;
  top:10% !important;
  height:16px !important;
  z-index:30 !important;
  opacity:0 !important;
  mix-blend-mode:screen !important;
  background:repeating-linear-gradient(
      0deg,
      rgba(84,221,255,0) 0px,
      rgba(84,221,255,.34) 1px,
      rgba(255,74,198,.30) 2px,
      rgba(255,255,255,.20) 3px,
      rgba(0,0,0,0) 4px,
      rgba(0,0,0,0) 6px
    ) !important;
  box-shadow:0 0 10px rgba(77,216,255,.34),
    0 0 14px rgba(255,70,194,.28),
    0 14px 0 -7px rgba(87,218,255,.22),
    0 28px 0 -8px rgba(255,75,197,.18) !important;
  animation:timerVisibleNoise 4.8s steps(1,end) infinite !important;}
@keyframes timerVisibleNoise{
  0%,58%,100%{opacity:0;transform:translateY(0) scaleX(1);}
  59%{opacity:.46;transform:translateY(3px) scaleX(.96);}
  61%{opacity:.82;transform:translateY(24px) scaleX(1.04);}
  64%{opacity:.58;transform:translateY(49px) scaleX(.98);}
  67%{opacity:.76;transform:translateY(72px) scaleX(1.03);}
  70%{opacity:.26;transform:translateY(86px) scaleX(1);}
  72%{opacity:0;transform:translateY(0) scaleX(1);}
}
.next-swap-countdown{animation:timerVisibleTextGlitch 4.8s steps(1,end) infinite !important;}
@keyframes timerVisibleTextGlitch{
  0%,58%,100%{filter:none;text-shadow:inherit;}
  59%{filter:brightness(1.08);}
  61%{filter:brightness(1.20) saturate(1.12);text-shadow:-2px 0 rgba(74,220,255,.62),2px 0 rgba(255,73,194,.56),0 0 8px rgba(255,255,255,.30);}
  65%{filter:brightness(.98);text-shadow:-1px 0 rgba(74,220,255,.34),1px 0 rgba(255,73,194,.30);}
  68%{filter:none;text-shadow:inherit;}
}
.swap-state-hour .experiment-clock::after,
.swap-state-hour .next-swap-countdown{animation-duration:3.1s !important;}
.swap-state-ten .experiment-clock::after,
.swap-state-ten .next-swap-countdown{animation-duration:1.7s !important;}


/* Stop all previous pseudo-element glitch experiments. */
.experiment-clock::after{display:none !important;animation:none !important;}

.timer-noise-layer{position:absolute !important;
  left:18px !important;
  right:18px !important;
  top:20px !important;
  height:18px !important;
  z-index:80 !important;
  pointer-events:none !important;
  opacity:0;
  overflow:hidden !important;
  background:repeating-linear-gradient(
      0deg,
      rgba(80,220,255,0) 0px,
      rgba(80,220,255,.62) 1px,
      rgba(255,75,198,.56) 2px,
      rgba(255,255,255,.38) 3px,
      rgba(0,0,0,0) 4px,
      rgba(0,0,0,0) 6px
    ) !important;
  box-shadow:0 0 11px rgba(69,213,255,.50),
    0 0 15px rgba(255,66,193,.42),
    0 12px 0 -7px rgba(79,218,255,.38),
    0 24px 0 -8px rgba(255,75,198,.32) !important;
  mix-blend-mode:screen !important;
  animation:dedicatedNoiseBurst 4.2s steps(1,end) infinite !important;}

@keyframes dedicatedNoiseBurst{
  0%,54%,100%{opacity:0;transform:translateY(0) scaleX(1);}
  55%{opacity:.55;transform:translateY(2px) scaleX(.96);}
  58%{opacity:1;transform:translateY(24px) scaleX(1.04);}
  62%{opacity:.72;transform:translateY(48px) scaleX(.98);}
  66%{opacity:.92;transform:translateY(72px) scaleX(1.03);}
  70%{opacity:.34;transform:translateY(88px) scaleX(1);}
  73%{opacity:0;transform:translateY(0) scaleX(1);}
}

.swap-state-hour .timer-noise-layer{animation-duration:2.8s !important;}
.swap-state-ten .timer-noise-layer{height:22px !important;
  animation-duration:1.45s !important;
  box-shadow:0 0 13px rgba(69,213,255,.70),
    0 0 18px rgba(255,66,193,.62),
    0 14px 0 -7px rgba(79,218,255,.54),
    0 29px 0 -8px rgba(255,75,198,.48) !important;}

/* A short color split on the timer, synchronized approximately with the band. */
.next-swap-countdown{animation:dedicatedTextGlitch 4.2s steps(1,end) infinite !important;}
@keyframes dedicatedTextGlitch{
  0%,54%,100%{filter:none;text-shadow:inherit;}
  56%{filter:brightness(1.08);}
  59%{filter:brightness(1.22) saturate(1.15);text-shadow:-2px 0 rgba(73,220,255,.72),2px 0 rgba(255,72,195,.66),0 0 8px rgba(255,255,255,.36);}
  65%{filter:brightness(.98);text-shadow:-1px 0 rgba(73,220,255,.38),1px 0 rgba(255,72,195,.34);}
  72%{filter:none;text-shadow:inherit;}
}
.swap-state-hour .next-swap-countdown{animation-duration:2.8s !important;}
.swap-state-ten .next-swap-countdown{animation-duration:1.45s !important;}

@media (prefers-reduced-motion:reduce){
  .timer-noise-layer,.next-swap-countdown{animation:none !important;}
}


/* Retire the previous falling scan-bar animation. */
.timer-noise-layer{top:10px !important;
  bottom:10px !important;
  height:auto !important;
  left:16px !important;
  right:16px !important;
  opacity:1 !important;
  background:none !important;
  box-shadow:none !important;
  mix-blend-mode:screen !important;
  animation:none !important;
  overflow:hidden !important;}
.next-swap-countdown{animation:none !important;}

.timer-noise-strip{position:absolute;
  display:block;
  opacity:0;
  pointer-events:none;
  transform-origin:center;
  background:repeating-linear-gradient(
      0deg,
      rgba(255,255,255,.68) 0px,
      rgba(78,218,255,.76) 1px,
      rgba(255,64,190,.64) 2px,
      rgba(0,0,0,0) 3px,
      rgba(0,0,0,0) 5px
    );
  box-shadow:-2px 0 0 rgba(74,213,255,.34),
     2px 0 0 rgba(255,66,190,.30),
     0 0 7px rgba(255,255,255,.22);
  filter:contrast(1.35) saturate(1.25);}
.timer-noise-layer.is-glitching .timer-noise-strip{opacity:var(--noise-opacity,.72);}
.timer-noise-layer.is-glitching{filter:brightness(1.06);}
.next-swap-countdown.is-glitching{transform:translateX(var(--glitch-x,1px));
  filter:brightness(1.15) saturate(1.12);
  text-shadow:-1px 0 rgba(75,217,255,.66),
     1px 0 rgba(255,70,193,.58),
     0 0 7px rgba(255,255,255,.26) !important;}

.swap-state-hour .timer-noise-strip{filter:contrast(1.5) saturate(1.4);}
.swap-state-ten .timer-noise-strip{box-shadow:-3px 0 0 rgba(74,213,255,.54),
     3px 0 0 rgba(255,66,190,.50),
     0 0 9px rgba(255,255,255,.32);}
.swap-state-ten .next-swap-countdown.is-glitching{filter:brightness(1.28) saturate(1.25);
  text-shadow:-2px 0 rgba(75,217,255,.82),
     2px 0 rgba(255,70,193,.76),
     0 0 9px rgba(255,255,255,.38) !important;}

@media (prefers-reduced-motion:reduce){
  .timer-noise-layer{display:none !important;}
}


/* Retire every previous strip/scan animation. */
.experiment-clock::before,
.experiment-clock::after{display:none !important;animation:none !important;}
.timer-noise-strip{display:none !important;}
.next-swap-countdown.is-glitching{transform:none !important;filter:none !important;}

.timer-glsl-layer{display:block !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  z-index:8 !important;
  pointer-events:none !important;
  overflow:hidden !important;
  opacity:0;
  isolation:isolate;}
.timer-glsl-layer.is-active{opacity:1;}
.timer-glsl-canvas{position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:.88;
  mix-blend-mode:screen;
  image-rendering:pixelated;}
.timer-glsl-slices{position:absolute;
  inset:0;
  overflow:hidden;}
.timer-glsl-slice{position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  pointer-events:none;
  overflow:hidden;
  color:#fff;
  font-family:"Russo One","Noto Sans JP",sans-serif;
  font-weight:700;
  white-space:nowrap;
  will-change:transform,clip-path,filter;}
.timer-glsl-slice .slice-countdown{position:absolute;
  margin:0;
  padding:0;
  color:#fff;
  font:inherit;
  line-height:1;
  text-shadow:none;}
.timer-glsl-slice.cyan{color:#56dcff;
  mix-blend-mode:screen;
  filter:drop-shadow(-1px 0 0 rgba(62,215,255,.88));}
.timer-glsl-slice.magenta{color:#ff50c4;
  mix-blend-mode:screen;
  filter:drop-shadow(1px 0 0 rgba(255,57,186,.84));}
.timer-glsl-slice.white{color:#fff;
  mix-blend-mode:screen;
  filter:brightness(1.18) contrast(1.08);}

/* A burst class only alters appearance, never layout. */
.experiment-clock.glsl-glitch-burst .next-swap-countdown{text-shadow:-1px 0 rgba(70,214,255,.62),
     1px 0 rgba(255,65,190,.58),
     0 0 7px rgba(255,255,255,.40) !important;
  filter:brightness(1.06) contrast(1.03);}
.swap-state-hour.glsl-glitch-burst .next-swap-countdown{text-shadow:-2px 0 rgba(70,214,255,.72),
     2px 0 rgba(255,65,190,.68),
     0 0 9px rgba(255,255,255,.46) !important;}
.swap-state-ten.glsl-glitch-burst .next-swap-countdown{text-shadow:-3px 0 rgba(70,214,255,.88),
     3px 0 rgba(255,65,190,.84),
     0 0 11px rgba(255,255,255,.58) !important;
  filter:brightness(1.14) contrast(1.07) saturate(1.12);}

@media (prefers-reduced-motion:reduce){
  .timer-glsl-layer{display:none !important;}
}


.timer-glsl-layer{z-index:12 !important;
  mix-blend-mode:normal !important;}
.timer-glsl-canvas{opacity:1 !important;
  mix-blend-mode:screen !important;
  filter:contrast(1.28) saturate(1.35) !important;}
.timer-glsl-slice{font-weight:800 !important;
  text-shadow:0 0 3px currentColor !important;}
.timer-glsl-slice.cyan{filter:drop-shadow(-3px 0 0 rgba(62,215,255,.98)) brightness(1.18) !important;}
.timer-glsl-slice.magenta{filter:drop-shadow(3px 0 0 rgba(255,57,186,.96)) brightness(1.16) !important;}
.timer-glsl-slice.white{filter:brightness(1.48) contrast(1.24) !important;}

/* Strong RGB separation without moving the layout box itself. */
.experiment-clock.glsl-glitch-burst .next-swap-countdown{filter:brightness(1.22) contrast(1.18) saturate(1.35) !important;
  text-shadow:-4px 0 rgba(45,221,255,.92),
     4px 0 rgba(255,44,185,.88),
     0 0 12px rgba(255,255,255,.72) !important;}
.experiment-clock.glsl-glitch-burst .next-swap-target,
.experiment-clock.glsl-glitch-burst .swap-clock-meta,
.experiment-clock.glsl-glitch-burst .experiment-title{filter:brightness(1.16) contrast(1.12) !important;
  text-shadow:-2px 0 rgba(52,216,255,.72),2px 0 rgba(255,57,190,.68) !important;}

/* Broken monitor flicker/dim pulse. */
.experiment-clock.glsl-glitch-burst{animation:brokenMonitorFlicker .22s steps(2,end) 1 !important;}
.swap-state-hour.glsl-glitch-burst{animation-duration:.18s !important;}
.swap-state-ten.glsl-glitch-burst{animation:brokenMonitorFlickerHard .16s steps(2,end) 2 !important;}
@keyframes brokenMonitorFlicker{
  0%{filter:brightness(1) contrast(1);}
  20%{filter:brightness(.62) contrast(1.28);}
  42%{filter:brightness(1.38) contrast(1.12);}
  63%{filter:brightness(.84) contrast(1.34);}
  100%{filter:brightness(1) contrast(1);}
}
@keyframes brokenMonitorFlickerHard{
  
  16%{filter:brightness(.25) contrast(1.55);}
  33%{filter:brightness(1.7) contrast(1.35);}
  50%{filter:brightness(.52) contrast(1.7);}
  67%{filter:brightness(1.25) contrast(1.18);}
  83%{filter:brightness(.78) contrast(1.48);}
  
}

/* Full-width dropout bars, injected by JS as slices. */
.timer-glsl-slice.dropout{background:rgba(0,0,0,.82) !important;
  box-shadow:0 0 8px rgba(0,0,0,.95) !important;}
.timer-glsl-slice.flash{background:rgba(255,255,255,.76) !important;
  mix-blend-mode:screen !important;}

@media (prefers-reduced-motion:reduce){
  .experiment-clock.glsl-glitch-burst{animation:none !important;}
}


.image-flask-gauge{top:-6px !important;
  right:12px !important;
  width:68px !important;
  height:110px !important;
  filter:drop-shadow(-1px 0 2px rgba(64,205,255,.56))
    drop-shadow(1px 0 2px rgba(255,64,191,.44))
    drop-shadow(0 0 4px rgba(67,188,255,.20)) !important;}
.flask-image-active{height:110px !important;}
.flask-image-base{opacity:.34 !important;
  filter:grayscale(.18)
    brightness(.78)
    contrast(1.34)
    saturate(1.08)
    drop-shadow(-1px 0 1px rgba(83,220,255,.78))
    drop-shadow(1px 0 1px rgba(255,72,196,.62))
    drop-shadow(0 0 3px rgba(102,212,255,.30)) !important;}


.image-flask-gauge{top:4px !important;
  right:15px !important;
  width:62px !important;
  height:100px !important;
  filter:drop-shadow(-1px 0 2px rgba(50,190,255,.50))
    drop-shadow(1px 0 2px rgba(255,52,185,.38))
    drop-shadow(0 0 3px rgba(55,170,255,.16)) !important;}
.flask-image-active{height:100px !important;}
.flask-image-base{opacity:.19 !important;
  filter:brightness(.52)
    contrast(1.48)
    saturate(1.30) !important;}
.flask-percent{top:57% !important;
  font-size:13px !important;}


.swap-culture-tank{position:absolute;
  top:5px;
  right:12px;
  width:72px;
  height:102px;
  z-index:5;
  pointer-events:none;
  filter:drop-shadow(0 0 4px rgba(54,196,255,.24));}
.culture-label{position:absolute;
  top:1px;
  left:1px;
  width:70px;
  color:rgba(221,244,247,.78);
  font:italic 700 13px/1.05 "Russo One","Noto Sans JP",sans-serif;
  letter-spacing:.9px;
  text-align:center;
  transform:rotate(-1.5deg);
  text-shadow:0 0 3px rgba(92,221,255,.35);}
.culture-glass{position:absolute;
  left:8px;
  top:14px;
  width:56px;
  height:62px;
  overflow:hidden;
  border:1px solid rgba(162,217,232,.58);
  border-radius:7px 7px 15px 15px / 5px 5px 11px 11px;
  background:linear-gradient(90deg,rgba(145,220,237,.05),rgba(3,12,18,.38) 38%,rgba(4,10,16,.48) 70%,rgba(172,226,237,.07));
  box-shadow:inset 2px 0 3px rgba(189,239,246,.11),
    inset -2px 0 3px rgba(255,96,201,.07),
    inset 0 -3px 7px rgba(0,0,0,.54),
    0 0 3px rgba(62,199,255,.20);}
.culture-glass::before{content:"";
  position:absolute;
  inset:4px 5px 5px;
  border:1px dashed rgba(199,236,240,.08);
  border-radius:4px 4px 11px 11px;
  z-index:4;}
.culture-liquid{position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:0%;
  min-height:2px;
  overflow:visible;
  background:radial-gradient(circle at 28% 65%,rgba(102,237,255,.35),transparent 19%),
    radial-gradient(circle at 73% 42%,rgba(255,78,192,.26),transparent 23%),
    linear-gradient(125deg,#036b8b 0%,#0d9caf 37%,#71447c 72%,#b92b78 100%);
  box-shadow:inset 0 7px 10px rgba(78,225,255,.13),0 0 8px rgba(56,199,255,.28);
  transition:height .45s cubic-bezier(.2,.75,.3,1);
  z-index:2;}
.culture-liquid::after{content:"";
  position:absolute;
  inset:0;
  opacity:.23;
  background-image:radial-gradient(circle,rgba(255,255,255,.48) 0 1px,transparent 1.4px);
  background-size:11px 13px;
  animation:cultureMicroDrift 6s linear infinite;}
.culture-surface{position:absolute;
  left:-12%;
  top:-4px;
  width:124%;
  height:8px;
  border-radius:50%;
  background:rgba(75,225,244,.48);
  box-shadow:0 -1px 4px rgba(132,244,255,.62),0 2px 5px rgba(255,75,191,.18);
  animation:cultureSurface 2.9s ease-in-out infinite;}
.culture-glass-shine{position:absolute;
  top:5px;
  left:7px;
  width:5px;
  height:42px;
  border-radius:50%;
  background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.02));
  transform:skewY(-8deg);
  z-index:5;}
.culture-tick{position:absolute;right:3px;width:6px;height:1px;background:rgba(205,235,239,.29);z-index:5;}
.tick-25{bottom:15px;}.tick-50{bottom:30px;width:9px;}.tick-75{bottom:45px;}
.culture-symbol{position:absolute;
  z-index:3;
  color:rgba(237,253,255,.93);
  font:italic 800 13px/1 "Russo One","Noto Sans JP",sans-serif;
  text-shadow:-1px 0 rgba(49,216,255,.60),1px 0 rgba(255,73,188,.52),0 0 4px rgba(255,255,255,.38);
  animation:cultureSymbolFloat 4.8s ease-in-out infinite;}
.symbol-yen{left:8px;bottom:8px;animation-delay:-.3s;}
.symbol-dollar{left:27px;bottom:21px;font-size:13px;animation-delay:-2.1s;}
.symbol-euro{right:7px;bottom:10px;font-size:13px;animation-delay:-3.2s;}
.symbol-lira{left:14px;bottom:37px;font-size:13px;animation-delay:-1.3s;}
.symbol-franc{right:12px;bottom:43px;font-size:13px;animation-delay:-4.1s;}
.culture-bubble{position:absolute;
  bottom:-7px;
  z-index:3;
  width:3px;
  height:3px;
  border:1px solid rgba(218,252,255,.67);
  border-radius:50%;
  box-shadow:0 0 3px rgba(86,222,255,.52);
  animation:cultureBubble 3.7s ease-in infinite;}
.bubble-1{left:9px;animation-delay:-.2s;}.bubble-2{left:20px;width:5px;height:5px;animation-delay:-2.4s;}.bubble-3{left:34px;animation-delay:-1.3s;}.bubble-4{right:9px;width:4px;height:4px;animation-delay:-3.1s;}.bubble-5{right:20px;width:2px;height:2px;animation-delay:-.8s;}.bubble-6{left:27px;width:6px;height:6px;animation-delay:-4.2s;}
.culture-percent{position:absolute;
  left:0;
  right:0;
  bottom:8px;
  z-index:7;
  color:#f3ffff;
  font:italic 800 13px/1 "Russo One","Noto Sans JP",sans-serif;
  text-align:center;
  letter-spacing:.2px;
  text-shadow:-1px 0 #33d8ff,1px 0 #ff45b8,0 0 5px rgba(255,255,255,.55);}
.culture-status{position:absolute;
  left:0;
  right:0;
  bottom:0;
  color:rgba(164,222,228,.58);
  font:italic 700 13px/1 "Russo One","Noto Sans JP",sans-serif;
  letter-spacing:.65px;
  text-align:center;
  animation:cultureStatusBlink 2.4s steps(2,end) infinite;}
.swap-state-hour .culture-liquid{filter:saturate(1.18) brightness(1.08);}
.swap-state-hour .culture-bubble{animation-duration:2.6s;}
.swap-state-ten .culture-liquid{filter:hue-rotate(18deg) saturate(1.35) brightness(1.12);}
.swap-state-ten .culture-bubble{animation-duration:1.45s;}
.swap-state-ten .culture-surface{animation-duration:.75s;}
.swap-state-ten .culture-status{color:rgba(255,170,101,.86);animation-duration:.65s;}
.swap-state-ten .culture-status::before{content:"OVER-CULTURING";font-size:13px;}
.swap-state-ten .culture-status{font-size:13px;}
.swap-state-granted .culture-liquid{background:linear-gradient(125deg,#0b7f5d,#47d496 58%,#d2ffae);filter:brightness(1.22);}
.swap-state-granted .culture-status{color:#8dffc2;font-size:13px;}
.swap-state-granted .culture-status::before{content:"HARVESTED!";font-size:13px;}
.swap-state-missing .swap-culture-tank{opacity:.34;filter:grayscale(1);}
@keyframes cultureSurface{0%,100%{transform:translateX(-3px) rotate(-1deg) scaleY(.85);}50%{transform:translateX(3px) rotate(1deg) scaleY(1.15);}}
@keyframes cultureBubble{0%{transform:translate(0,0) scale(.7);opacity:0;}15%{opacity:.86;}70%{opacity:.65;}100%{transform:translate(4px,-58px) scale(1.15);opacity:0;}}
@keyframes cultureSymbolFloat{0%,100%{transform:translate(0,1px) rotate(-5deg);}32%{transform:translate(2px,-4px) rotate(5deg);}68%{transform:translate(-2px,-1px) rotate(-2deg);}}
@keyframes cultureMicroDrift{to{background-position:17px -24px;}}
@keyframes cultureStatusBlink{0%,78%{opacity:.55;}79%,100%{opacity:1;}}
@media (prefers-reduced-motion:reduce){
  .culture-surface,.culture-bubble,.culture-symbol,.culture-liquid::after,.culture-status{animation:none !important;}
}


#next-swap-panel.swap-terminal-v80{position:absolute !important;
  overflow:hidden !important;
  padding:0 !important;
  background:radial-gradient(circle at 44% 42%, rgba(68,255,144,.055), transparent 58%),
    repeating-linear-gradient(0deg, rgba(140,255,188,.025) 0 1px, transparent 1px 4px),
    rgba(1,8,5,.40) !important;}

















#next-swap-panel.swap-terminal-v80 .swap-progress-segment{min-width:0 !important;
  background:transparent !important;
  border:1px solid rgba(152,255,200,.22) !important;}

#next-swap-panel.swap-terminal-v80 .swap-progress-segment.is-on,
#next-swap-panel.swap-terminal-v80 .swap-progress-segment.is-blink{background:#98ffc8 !important;
  border-color:#98ffc8 !important;}

#next-swap-panel.swap-terminal-v80 .swap-progress-segment.is-blink{animation:swapTerminalBlinkV80 .8s steps(2,end) infinite !important;}











@keyframes swapTerminalBlinkV80{
  0%,100%{opacity:1;}
  50%{opacity:.15;}
}






















/* TARGET now fits as: TARGET 07.22 06:00 */



/* move the inverted pair block slightly right and make it a touch slimmer */























































































.breaking-caster{position:absolute;
  right:-720px;
  bottom:26px;
  width:650px;
  height:498px;
  z-index:80;
  overflow:visible;
  pointer-events:none;
  opacity:0;
  transform:translate3d(90px,0,0) scale(.96);
  transform-origin:right bottom;
  filter:drop-shadow(-18px 16px 24px rgba(0,0,0,.78));
  transition:right 2.40s cubic-bezier(.16,1,.30,1),opacity .90s ease,transform 2.40s cubic-bezier(.16,1,.30,1);
  isolation:isolate;}
.breaking-caster.is-entering,
.breaking-caster.is-visible{right:10px;
  opacity:1;
  transform:translate3d(0,0,0) scale(1);}
.breaking-caster.is-leaving{right:-720px;
  opacity:0;
  transform:translate3d(110px,0,0) scale(.97);
  transition:right 1.10s cubic-bezier(.55,.06,.68,.19),opacity .52s ease .18s,transform 1.10s cubic-bezier(.55,.06,.68,.19);}
.breaking-caster-stage{position:absolute;
  left:62px;
  right:30px;
  top:126px;
  bottom:38px;
  overflow:hidden;
  background:radial-gradient(circle at 69% 33%,rgba(255,40,55,.34),transparent 40%),
    linear-gradient(122deg,rgba(16,4,22,.92),rgba(82,4,20,.92) 52%,rgba(226,0,27,.80));
  border:1px solid rgba(255,55,86,.42);
  box-shadow:inset 0 0 45px rgba(255,0,52,.22),0 0 24px rgba(255,0,62,.18);
  clip-path:polygon(0 0,100% 0,100% 87%,94% 100%,0 100%);
  z-index:-2;}
.breaking-caster-stage::before{content:"";
  position:absolute;
  inset:-40%;
  background:repeating-linear-gradient(115deg,transparent 0 48px,rgba(255,255,255,.035) 49px 51px);
  animation:breakingCasterSweep 3.8s linear infinite;}
.breaking-caster-scanlines{position:absolute;
  inset:0;
  opacity:.24;
  background:repeating-linear-gradient(to bottom,transparent 0 3px,rgba(255,255,255,.08) 4px);
  mix-blend-mode:screen;}
.breaking-caster-signal{position:absolute;
  left:20px;
  top:18px;
  color:rgba(255,255,255,.55);
  font:italic 700 13px/1 "Russo One","Noto Sans JP",sans-serif;
  letter-spacing:.14em;}
.breaking-caster-image{position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  z-index:1;
  user-select:none;
  -webkit-user-drag:none;
  filter:saturate(1.08) contrast(1.04) drop-shadow(0 0 14px rgba(255,22,70,.20));}
.breaking-caster-copy{position:absolute;
  left:48px;
  right:50px;
  bottom:44px;
  z-index:4;
  text-shadow:0 2px 5px rgba(0,0,0,.72);}
.breaking-caster-kicker{display:flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  height:38px;
  transform:skewX(-10deg);
  box-shadow:0 8px 20px rgba(0,0,0,.30);}
.breaking-caster-kicker span,
.breaking-caster-kicker b{display:flex;
  align-items:center;
  height:100%;
  transform:skewX(10deg);
  font-family:"Russo One","Noto Sans JP",sans-serif;
  letter-spacing:.035em;}
.breaking-caster-kicker span{padding:0 15px;
  color:#fff;
  background:#11131c;
  font-size:13px;}
.breaking-caster-kicker b{padding:0 22px;
  color:#fff;
  background:linear-gradient(90deg,#d80024,#ff173c);
  font-size:13px;
  font-style:italic;}
.breaking-caster-title{width:92%;
  margin-top:7px;
  padding:7px 13px 6px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#fff;
  background:linear-gradient(90deg,rgba(20,21,31,.96),rgba(42,8,23,.92));
  border-left:5px solid #ff1438;
  font:italic 800 13px/1.2 "Russo One","Noto Sans JP",sans-serif;
  letter-spacing:.02em;}
.breaking-caster-summary{width:86%;
  padding:7px 13px;
  color:#fff;
  background:rgba(210,0,35,.94);
  font:italic 700 13px/1.22 "Russo One","Noto Sans JP",sans-serif;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;}
.breaking-caster-comment{width:82%;
  padding:6px 13px;
  color:#11131c;
  background:rgba(255,255,255,.94);
  font:italic 700 13px/1.2 "Russo One","Noto Sans JP",sans-serif;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;}
.breaking-caster-ticker{position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:31px;
  z-index:5;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#10121c;
  border-top:1px solid rgba(255,255,255,.20);
  box-shadow:0 -8px 18px rgba(0,0,0,.24);}
.breaking-caster-ticker-label{align-self:stretch;
  display:flex;
  align-items:center;
  padding:0 15px;
  flex:0 0 auto;
  color:#fff;
  background:#e00028;
  font:italic 800 13px/1 "Russo One","Noto Sans JP",sans-serif;
  letter-spacing:.05em;}
.breaking-caster-ticker-text{padding-left:15px;
  color:#f4f5fb;
  white-space:nowrap;
  font:italic 700 13px/1 "Russo One","Noto Sans JP",sans-serif;
  letter-spacing:.06em;
  animation:breakingTickerPulse 1.8s ease-in-out infinite;}
.breaking-caster.is-visible .breaking-caster-image{animation:breakingCasterMicroMove 5.2s ease-in-out infinite;}
.breaking-caster.is-visible .breaking-caster-kicker{animation:breakingKickerHit .52s cubic-bezier(.2,.9,.25,1) both;}
@keyframes breakingCasterSweep{to{transform:translate3d(24%,0,0);}}
@keyframes breakingTickerPulse{0%,100%{opacity:.72;}50%{opacity:1;}}
@keyframes breakingCasterMicroMove{0%,100%{transform:translateY(0);}50%{transform:translateY(-2px);}}
@keyframes breakingKickerHit{0%{opacity:0;transform:translateX(70px) skewX(-10deg);}100%{opacity:1;transform:translateX(0) skewX(-10deg);}}
@media (prefers-reduced-motion:reduce){
  .breaking-caster,
  .breaking-caster *{animation:none !important;transition:none !important;}
}


 GAS v46 | full culture liquid + electrode spark experiment -->

.swap-culture-tank{top:4px !important;
  right:12px !important;
  width:72px !important;
  height:101px !important;
  filter:drop-shadow(0 0 4px rgba(38,186,226,.18)) !important;}
.culture-label,.culture-status{display:none !important;}
.culture-glass{left:8px !important;
  top:7px !important;
  width:56px !important;
  height:78px !important;
  border-color:rgba(128,200,216,.52) !important;
  background:linear-gradient(90deg,rgba(115,206,223,.04),rgba(2,10,15,.30) 38%,rgba(3,9,14,.40) 72%,rgba(170,221,231,.05)) !important;
  box-shadow:inset 2px 0 3px rgba(184,235,241,.10),inset -2px 0 3px rgba(255,80,188,.05),inset 0 -4px 9px rgba(0,0,0,.50),0 0 3px rgba(55,183,218,.17) !important;}
.culture-liquid{height:100% !important;
  min-height:100% !important;
  overflow:hidden !important;
  opacity:var(--culture-opacity,.62) !important;
  filter:saturate(var(--culture-saturation,.88)) brightness(var(--culture-brightness,.72)) !important;
  background:radial-gradient(circle at 24% 70%,rgba(76,232,237,.30),transparent 22%),
    radial-gradient(circle at 72% 35%,rgba(235,61,176,.20),transparent 26%),
    linear-gradient(145deg,#064955 0%,#087486 37%,#48345c 72%,#7e255b 100%) !important;
  transition:filter .5s ease,opacity .5s ease !important;}
.culture-surface{top:1px !important;
  opacity:.42 !important;
  height:5px !important;
  animation:cultureSurface 4.2s ease-in-out infinite !important;}
.culture-percent{bottom:7px !important;
  font-size:13px !important;
  color:rgba(238,254,255,.96) !important;
  text-shadow:-1px 0 rgba(42,206,255,.78),1px 0 rgba(255,61,183,.64),0 0 5px rgba(255,255,255,.36) !important;}
.culture-symbol{opacity:var(--culture-symbol-opacity,.66) !important;
  animation-duration:var(--culture-symbol-duration,6.4s) !important;}
.symbol-yen{left:7px !important;bottom:10px !important;}.symbol-dollar{left:27px !important;bottom:29px !important;}.symbol-euro{right:6px !important;bottom:12px !important;}.symbol-lira{left:13px !important;bottom:51px !important;}.symbol-franc{right:11px !important;bottom:56px !important;}
.culture-bubble{animation-duration:var(--culture-bubble-duration,5.2s) !important;opacity:.75;}
.bubble-7{left:15px;width:2px;height:2px;animation-delay:-3.6s;}.bubble-8{right:14px;width:5px;height:5px;animation-delay:-1.9s;}
.culture-electrode{position:absolute;
  top:34px;
  width:7px;
  height:21px;
  border:1px solid rgba(125,186,198,.56);
  border-radius:2px;
  background:linear-gradient(90deg,#1a2529,#627780 50%,#182125);
  box-shadow:inset 0 0 2px rgba(255,255,255,.18),0 0 3px rgba(62,198,228,.20);
  z-index:8;}
.electrode-left{left:2px;}.electrode-right{right:2px;}
.culture-electrode::after{content:"";position:absolute;top:8px;width:5px;height:3px;background:#a9dce5;box-shadow:0 0 4px rgba(72,226,255,.70);}
.electrode-left::after{right:-5px;}.electrode-right::after{left:-5px;}
.culture-arc{position:absolute;
  z-index:10;
  height:2px;
  opacity:0;
  pointer-events:none;
  transform-origin:left center;
  background:linear-gradient(90deg,rgba(112,235,255,.1),#bdf8ff 30%,#58ddff 62%,rgba(255,89,199,.15));
  box-shadow:0 0 3px #63e5ff,0 0 6px rgba(255,62,184,.68);
  clip-path:polygon(0 43%,15% 0,28% 70%,42% 18%,58% 100%,72% 25%,86% 78%,100% 48%,100% 68%,86% 100%,72% 48%,58% 78%,42% 42%,28% 100%,15% 27%,0 63%);}
.arc-left{left:8px;top:43px;width:27px;}.arc-right{right:8px;top:48px;width:27px;transform:scaleX(-1);}.arc-cross{left:15px;top:34px;width:43px;transform:rotate(9deg);}
.culture-arc.is-firing{animation:cultureArcFire .18s steps(2,end) 1;}
.culture-currency-spark{position:absolute;width:9px;height:9px;z-index:6;opacity:0;background:radial-gradient(circle,#fff 0 8%,#5ce7ff 9% 19%,transparent 21%),conic-gradient(from 0deg,transparent 0 8%,#e6ffff 9% 11%,transparent 12% 25%,#ff6fc9 26% 28%,transparent 29% 48%,#7beaff 49% 52%,transparent 53% 72%,#fff 73% 75%,transparent 76%);filter:drop-shadow(0 0 3px #60e8ff);}
.currency-spark-a{left:20px;bottom:24px;}.currency-spark-b{right:12px;bottom:47px;}.culture-currency-spark.is-firing{animation:currencySparkFire .24s steps(3,end) 1;}
.swap-state-hour .culture-arc{filter:brightness(1.15);}
.swap-state-ten .culture-liquid{filter:saturate(1.55) brightness(1.12) !important;}
.swap-state-ten .culture-electrode::after{box-shadow:0 0 6px #73ecff,0 0 9px rgba(255,58,184,.62);}
.swap-state-granted .culture-liquid{background:linear-gradient(145deg,#075943,#0e9b70 55%,#8ed95c) !important;filter:brightness(1.18) !important;}
@keyframes cultureArcFire{0%{opacity:0;transform:translateX(0) scaleY(.7);}20%{opacity:1;}45%{opacity:.25;transform:translateX(1px) scaleY(1.8);}70%{opacity:1;filter:brightness(1.9);}100%{opacity:0;transform:translateX(-1px) scaleY(.7);}}
@keyframes currencySparkFire{0%{opacity:0;transform:scale(.3) rotate(0);}30%{opacity:1;transform:scale(1.1) rotate(35deg);}65%{opacity:.35;transform:scale(.7) rotate(75deg);}100%{opacity:0;transform:scale(1.25) rotate(110deg);}}
@media (prefers-reduced-motion:reduce){.culture-arc,.culture-currency-spark{animation:none !important;}}


 =========================================================
     GAS v47 | GENERATED CULTURE DEVICE IMAGE INTEGRATION
     Existing page frame and dashboard geometry remain unchanged.
     ========================================================= -->

/* Keep the left-side timer text readable while reserving the right side. */
.experiment-clock{padding:17px 116px 12px 24px !important;}
.experiment-clock .clock-label,
.next-swap-countdown,
.next-swap-target,
.swap-clock-meta{position:relative !important;
  z-index:8 !important;
  max-width:225px !important;}
.swap-clock-meta{margin-top:13px !important;
  gap:5px !important;}

/* Standalone generated apparatus, overlaid only inside the existing top-right frame. */
.swap-culture-tank{position:absolute !important;
  top:3px !important;
  right:7px !important;
  width:96px !important;
  height:135px !important;
  z-index:6 !important;
  overflow:visible !important;
  pointer-events:none !important;
  filter:drop-shadow(0 0 4px rgba(63,205,255,.20))
         drop-shadow(0 0 5px rgba(255,66,191,.13)) !important;}
.culture-device-image{position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  user-select:none;}

/* The generated image supplies the metal/glass body.
   This transparent chamber is only the animation layer. */
.culture-glass{left:25px !important;
  top:45px !important;
  width:47px !important;
  height:52px !important;
  z-index:3 !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:5px 5px 10px 10px / 4px 4px 8px 8px !important;
  background:transparent !important;
  box-shadow:none !important;
  mix-blend-mode:screen;}
.culture-glass::before,
.culture-glass-shine,
.culture-tick{display:none !important;}
.culture-liquid{height:100% !important;
  min-height:100% !important;
  opacity:calc(var(--culture-opacity,.62) * .72) !important;
  background:radial-gradient(circle at 24% 72%,rgba(65,235,255,.26),transparent 21%),
    radial-gradient(circle at 76% 38%,rgba(255,64,190,.20),transparent 25%),
    linear-gradient(145deg,rgba(0,161,201,.46),rgba(66,76,178,.34) 52%,rgba(226,31,157,.35)) !important;
  box-shadow:inset 0 5px 8px rgba(72,229,255,.10),
    0 0 6px rgba(59,210,255,.17) !important;}
.culture-surface{top:0 !important;
  height:4px !important;
  opacity:.48 !important;}
.culture-symbol{font-size:13px !important;
  text-shadow:-1px 0 rgba(49,216,255,.65),1px 0 rgba(255,73,188,.58),0 0 3px rgba(255,255,255,.42) !important;}
.symbol-yen{left:5px !important;bottom:7px !important;}
.symbol-dollar{left:20px !important;bottom:20px !important;font-size:13px !important;}
.symbol-euro{right:5px !important;bottom:8px !important;font-size:13px !important;}
.symbol-lira{left:9px !important;bottom:34px !important;font-size:13px !important;}
.symbol-franc{right:8px !important;bottom:37px !important;font-size:13px !important;}
.culture-bubble{transform:scale(.78);}
.culture-percent{bottom:4px !important;
  font-size:13px !important;
  letter-spacing:0 !important;
  z-index:8 !important;}

/* The illustration already contains physical electrodes.
   Keep only the animated electrical arcs above it. */
.culture-electrode{display:none !important;}
.culture-arc{z-index:9 !important;}
.arc-left{left:15px !important;
  top:67px !important;
  width:23px !important;}
.arc-right{right:15px !important;
  top:67px !important;
  width:23px !important;}
.arc-cross{left:28px !important;
  top:58px !important;
  width:39px !important;}
.culture-currency-spark{z-index:10 !important;
  transform:scale(.78);}
.currency-spark-a{left:34px !important;bottom:39px !important;}
.currency-spark-b{right:28px !important;bottom:57px !important;}

/* Preserve the glitch overlay above both timer and apparatus. */
.timer-noise-layer{z-index:20 !important;}
.experiment-clock.glsl-glitch-burst .swap-culture-tank{filter:brightness(.88) contrast(1.14)
         drop-shadow(0 0 5px rgba(57,207,255,.26))
         drop-shadow(0 0 6px rgba(255,58,186,.18)) !important;}
.swap-state-hour .swap-culture-tank{filter:brightness(1.05) saturate(1.08)
         drop-shadow(0 0 6px rgba(63,214,255,.27))
         drop-shadow(0 0 7px rgba(255,68,194,.18)) !important;}
.swap-state-ten .swap-culture-tank{animation:cultureDeviceUrgent 1.25s ease-in-out infinite;}
.swap-state-granted .swap-culture-tank{animation:cultureDeviceGranted 1.05s ease-out 2;}
.swap-state-missing .swap-culture-tank{opacity:.34 !important;
  filter:grayscale(1) brightness(.65) !important;}
@keyframes cultureDeviceUrgent{
  0%,100%{filter:brightness(1.02) saturate(1.08) drop-shadow(0 0 5px rgba(74,219,255,.25));}
  50%{filter:brightness(1.17) saturate(1.28) drop-shadow(0 0 8px rgba(255,72,195,.34));}
}
@keyframes cultureDeviceGranted{
  0%{transform:scale(.97);filter:brightness(1);}
  35%{transform:scale(1.035);filter:brightness(1.35);}
  100%{transform:scale(1);filter:brightness(1.08);}
}
@media (prefers-reduced-motion:reduce){
  .swap-state-ten .swap-culture-tank,
  .swap-state-granted .swap-culture-tank{animation:none !important;}
}


 =========================================================
     GAS v48 | CULTURE DEVICE LEFT / TIMER RIGHT / PERCENT INSIDE GLASS
     Right-top frame geometry stays unchanged.
     ========================================================= -->

/* Reserve the left side for the culture device and keep the timer text on the right. */
.experiment-clock{padding:17px 20px 12px 136px !important;}
.experiment-clock .clock-label,
.next-swap-countdown,
.next-swap-target,
.swap-clock-meta{position:relative !important;
  z-index:8 !important;
  max-width:214px !important;}
.swap-clock-meta{margin-top:12px !important;
  gap:4px !important;}

/* Move the generated apparatus to the left and enlarge it. */
.swap-culture-tank{left:7px !important;
  right:auto !important;
  top:-2px !important;
  width:112px !important;
  height:156px !important;
  z-index:6 !important;
  overflow:visible !important;
  pointer-events:none !important;
  filter:drop-shadow(0 0 5px rgba(63,205,255,.22))
         drop-shadow(0 0 7px rgba(255,66,191,.14)) !important;}
.culture-device-image{position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;}

/* Re-fit the animation chamber to the generated image at the larger scale. */
.culture-glass{left:29px !important;
  top:51px !important;
  width:54px !important;
  height:61px !important;
  z-index:3 !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:6px 6px 12px 12px / 5px 5px 9px 9px !important;
  background:transparent !important;
  box-shadow:none !important;
  mix-blend-mode:screen !important;}

.culture-liquid{height:100% !important;
  min-height:100% !important;
  opacity:calc(var(--culture-opacity,.62) * .74) !important;
  background:radial-gradient(circle at 24% 72%,rgba(65,235,255,.28),transparent 22%),
    radial-gradient(circle at 76% 38%,rgba(255,64,190,.22),transparent 26%),
    linear-gradient(145deg,rgba(0,161,201,.48),rgba(66,76,178,.36) 52%,rgba(226,31,157,.37)) !important;
  box-shadow:inset 0 5px 9px rgba(72,229,255,.12),
    0 0 7px rgba(59,210,255,.18) !important;}
.culture-surface{top:0 !important;
  height:4px !important;
  opacity:.54 !important;}
.culture-symbol{font-size:13px !important;
  text-shadow:-1px 0 rgba(49,216,255,.68),1px 0 rgba(255,73,188,.60),0 0 4px rgba(255,255,255,.44) !important;}
.symbol-yen{left:5px !important;bottom:8px !important;}
.symbol-dollar{left:22px !important;bottom:23px !important;font-size:13px !important;}
.symbol-euro{right:5px !important;bottom:9px !important;font-size:13px !important;}
.symbol-lira{left:9px !important;bottom:40px !important;font-size:13px !important;}
.symbol-franc{right:8px !important;bottom:43px !important;font-size:13px !important;}
.culture-bubble{transform:scale(.88) !important;}
.currency-spark-a{left:38px !important;bottom:43px !important;}
.currency-spark-b{right:31px !important;bottom:63px !important;}

/* Put the progress percentage inside the glass instead of below the device. */
.culture-percent{position:absolute !important;
  left:56px !important;
  top:91px !important;
  bottom:auto !important;
  transform:translateX(-50%) !important;
  z-index:12 !important;
  min-width:30px !important;
  padding:2px 6px 3px !important;
  border-radius:999px !important;
  font-size:13px !important;
  line-height:1 !important;
  letter-spacing:.01em !important;
  text-align:center !important;
  color:#d9fbff !important;
  background:rgba(2,9,24,.42) !important;
  border:1px solid rgba(85,224,255,.30) !important;
  box-shadow:0 0 8px rgba(42,208,255,.20),
    inset 0 0 8px rgba(255,72,195,.08) !important;
  text-shadow:0 0 3px rgba(68,224,255,.70),
    0 0 6px rgba(255,76,192,.32) !important;}

/* Only keep the animated arcs above the illustration and reposition them. */


.arc-left{left:17px !important;
  top:79px !important;
  width:27px !important;}
.arc-right{right:17px !important;
  top:79px !important;
  width:27px !important;}
.arc-cross{left:31px !important;
  top:67px !important;
  width:46px !important;}

/* Slight urgency feedback while preserving the timer glitch system. */
.experiment-clock.glsl-glitch-burst .swap-culture-tank{filter:brightness(.90) contrast(1.15)
         drop-shadow(0 0 6px rgba(57,207,255,.28))
         drop-shadow(0 0 7px rgba(255,58,186,.18)) !important;}
.swap-state-hour .swap-culture-tank{filter:brightness(1.05) saturate(1.10)
         drop-shadow(0 0 7px rgba(63,214,255,.29))
         drop-shadow(0 0 8px rgba(255,68,194,.20)) !important;}
.swap-state-ten .swap-culture-tank{animation:cultureDeviceUrgentV48 1.15s ease-in-out infinite !important;}
.swap-state-granted .swap-culture-tank{animation:cultureDeviceGrantedV48 1.00s ease-out 2 !important;}

.swap-state-hour .culture-percent{color:#e0ddff !important;
  border-color:rgba(171,132,255,.36) !important;}
.swap-state-ten .culture-percent{color:#ffe6fb !important;
  border-color:rgba(255,105,205,.52) !important;
  box-shadow:0 0 10px rgba(255,66,191,.24),
    inset 0 0 10px rgba(255,86,204,.10) !important;}
.swap-state-granted .culture-percent{color:#ffffff !important;
  border-color:rgba(255,255,255,.70) !important;
  box-shadow:0 0 12px rgba(255,255,255,.34),
    0 0 18px rgba(88,230,255,.22) !important;}
@keyframes cultureDeviceUrgentV48{
  0%,100%{filter:brightness(1.02) saturate(1.08) drop-shadow(0 0 6px rgba(74,219,255,.26));}
  50%{filter:brightness(1.19) saturate(1.30) drop-shadow(0 0 10px rgba(255,72,195,.36));}
}
@keyframes cultureDeviceGrantedV48{
  0%{transform:scale(.98);filter:brightness(1);}
  35%{transform:scale(1.04);filter:brightness(1.38);}
  
}


 =========================================================
     GAS v49 | TIMER SLIGHTLY LEFT / REMOVE PERCENT / MORE BUBBLES & SPARKS
     Right-top frame geometry stays unchanged.
     ========================================================= -->

/* Timer block: keep on the right, but move slightly left away from the border frame. */
.experiment-clock{padding:17px 30px 12px 136px !important;}
.experiment-clock .clock-label,
.next-swap-countdown,
.next-swap-target,
.swap-clock-meta{left:-7px !important;
  max-width:208px !important;}

/* Remove the numeric percentage label. */
.culture-percent{display:none !important;}

/* Make the culture tank feel more alive: more bubbling and stronger electric activity. */
.culture-glass{overflow:hidden !important;}

.culture-liquid::before,
.culture-liquid::after{content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;}
.culture-liquid::before{background:radial-gradient(circle at 18% 88%, rgba(126,240,255,.90) 0 2px, transparent 2.2px),
    radial-gradient(circle at 30% 78%, rgba(126,240,255,.78) 0 2.4px, transparent 2.7px),
    radial-gradient(circle at 47% 92%, rgba(255,140,228,.66) 0 1.8px, transparent 2.1px),
    radial-gradient(circle at 59% 82%, rgba(126,240,255,.75) 0 2.1px, transparent 2.4px),
    radial-gradient(circle at 74% 89%, rgba(255,140,228,.72) 0 2px, transparent 2.3px),
    radial-gradient(circle at 84% 76%, rgba(126,240,255,.80) 0 2.4px, transparent 2.7px);
  opacity:.92;
  animation:cultureExtraBubblesA 2.4s linear infinite;}
.culture-liquid::after{background:radial-gradient(circle at 12% 100%, rgba(126,240,255,.75) 0 1.8px, transparent 2px),
    radial-gradient(circle at 38% 94%, rgba(255,140,228,.55) 0 1.6px, transparent 1.9px),
    radial-gradient(circle at 53% 98%, rgba(126,240,255,.82) 0 2px, transparent 2.3px),
    radial-gradient(circle at 68% 90%, rgba(255,140,228,.60) 0 1.8px, transparent 2.1px),
    radial-gradient(circle at 88% 96%, rgba(126,240,255,.85) 0 2.2px, transparent 2.5px);
  mix-blend-mode:screen;
  opacity:.84;
  animation:cultureExtraBubblesB 1.75s linear infinite;}

.culture-bubble{opacity:.95 !important;
  filter:drop-shadow(0 0 4px rgba(92,233,255,.34)) !important;
  animation-duration:calc(var(--culture-bubble-duration,3.2s) * .62) !important;}
.bubble-1{transform:scale(.98) !important;}
.bubble-2{transform:scale(.92) !important;}
.bubble-3{transform:scale(1.05) !important;}
.bubble-4{transform:scale(.86) !important;}
.bubble-5{transform:scale(1.02) !important;}
.bubble-6{transform:scale(.90) !important;}
.bubble-7{transform:scale(1.08) !important;}
.bubble-8{transform:scale(.94) !important;}

.culture-surface{opacity:.78 !important;
  filter:blur(.2px) !important;
  box-shadow:0 0 8px rgba(92,233,255,.36),
    0 0 14px rgba(255,84,199,.12) !important;}

/* Stronger electricity. */
.culture-arc{opacity:.98 !important;
  filter:drop-shadow(0 0 4px rgba(95,229,255,.65))
    drop-shadow(0 0 10px rgba(111,71,255,.42))
    drop-shadow(0 0 12px rgba(255,61,188,.24)) !important;
  animation-duration:.55s !important;}
.arc-cross{opacity:.86 !important;
  animation-duration:.42s !important;}
.culture-currency-spark{opacity:.95 !important;
  filter:drop-shadow(0 0 5px rgba(93,229,255,.60))
    drop-shadow(0 0 10px rgba(255,69,193,.30)) !important;
  animation-duration:.8s !important;}

.swap-state-hour .culture-arc,
.swap-state-hour .culture-currency-spark{animation-duration:.42s !important;}
.swap-state-ten .culture-arc,
.swap-state-ten .culture-currency-spark{animation-duration:.26s !important;
  filter:drop-shadow(0 0 5px rgba(109,235,255,.78))
    drop-shadow(0 0 11px rgba(130,81,255,.50))
    drop-shadow(0 0 14px rgba(255,66,191,.36)) !important;}
.swap-state-granted .culture-arc,
.swap-state-granted .culture-currency-spark{animation-duration:.22s !important;}

/* Slightly stronger glow on the apparatus itself. */
.swap-culture-tank{filter:drop-shadow(0 0 6px rgba(63,205,255,.24))
    drop-shadow(0 0 9px rgba(255,66,191,.16)) !important;}
.swap-state-ten .swap-culture-tank{animation:cultureDeviceUrgentV49 .95s ease-in-out infinite !important;}

@keyframes cultureExtraBubblesA{
  0%{transform:translateY(10px) scale(1); opacity:.20;}
  20%{opacity:.88;}
  100%{transform:translateY(-28px) scale(1.08); opacity:0;}
}
@keyframes cultureExtraBubblesB{
  0%{transform:translateY(13px) scale(.92); opacity:.12;}
  18%{opacity:.80;}
  100%{transform:translateY(-24px) scale(1.06); opacity:0;}
}
@keyframes cultureDeviceUrgentV49{
  0%,100%{filter:brightness(1.03) saturate(1.10)
      drop-shadow(0 0 6px rgba(74,219,255,.28))
      drop-shadow(0 0 10px rgba(255,72,195,.14));}
  50%{filter:brightness(1.20) saturate(1.34)
      drop-shadow(0 0 10px rgba(74,219,255,.34))
      drop-shadow(0 0 13px rgba(255,72,195,.26));}
}

@media (prefers-reduced-motion:reduce){
  .culture-liquid::before,
  .culture-liquid::after{animation:none !important;}
}


 =========================================================
     GAS v50 | LARGER / CLEARER CURRENCY SYMBOLS
     Right-top frame geometry stays unchanged.
     ========================================================= -->

/* Currency symbols inside the tank: bigger, clearer, slightly brighter. */
.culture-symbol{font-size:13px !important;
  font-weight:800 !important;
  opacity:.96 !important;
  filter:drop-shadow(0 0 4px rgba(84,232,255,.42))
    drop-shadow(0 0 7px rgba(255,82,196,.18)) !important;
  text-shadow:-1px 0 rgba(49,216,255,.76),
    1px 0 rgba(255,73,188,.66),
    0 0 5px rgba(255,255,255,.55) !important;}
.symbol-yen{left:4px !important;
  bottom:7px !important;
  font-size:13px !important;}
.symbol-dollar{left:21px !important;
  bottom:23px !important;
  font-size:13px !important;}
.symbol-euro{right:4px !important;
  bottom:8px !important;
  font-size:13px !important;}
.symbol-lira{left:7px !important;
  bottom:40px !important;
  font-size:13px !important;}
.symbol-franc{right:6px !important;
  bottom:42px !important;
  font-size:13px !important;}

/* Slightly improve readability against bubbles and liquid glow. */
.culture-liquid{--culture-symbol-opacity:1 !important;}


 =========================================================
     GAS v51 | ADOPT CRAZY YURU-CHARA BEAR CULTURE DEVICE
     Uses the new teddy-bear incubation device image.
     ========================================================= -->

/* Keep the successful left-device / right-timer composition. */
.experiment-clock{padding:17px 30px 12px 136px !important;}


/* New teddy-bear culture device image. */
.swap-culture-tank{left:4px !important;
  right:auto !important;
  top:-4px !important;
  width:114px !important;
  height:162px !important;
  z-index:6 !important;
  overflow:visible !important;
  pointer-events:none !important;
  filter:drop-shadow(0 0 6px rgba(58,210,255,.24))
    drop-shadow(0 0 10px rgba(255,72,195,.16)) !important;}
.culture-device-image{position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  user-select:none !important;
  pointer-events:none !important;}

/* Fit the animated liquid / symbols into the belly glass of the bear device. */
.culture-glass{left:25px !important;
  top:60px !important;
  width:63px !important;
  height:66px !important;
  z-index:3 !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:8px 8px 12px 12px / 6px 6px 10px 10px !important;
  background:transparent !important;
  box-shadow:none !important;
  mix-blend-mode:screen !important;}
.culture-glass::before,
.culture-glass-shine,
.culture-tick,
.culture-percent{display:none !important;}
.culture-liquid{height:100% !important;
  min-height:100% !important;
  opacity:calc(var(--culture-opacity,.62) * .80) !important;
  background:radial-gradient(circle at 24% 76%,rgba(62,236,255,.32),transparent 24%),
    radial-gradient(circle at 76% 34%,rgba(255,66,196,.24),transparent 28%),
    linear-gradient(145deg,rgba(0,170,214,.52),rgba(71,79,194,.38) 52%,rgba(226,31,157,.40)) !important;
  box-shadow:inset 0 6px 10px rgba(72,229,255,.13),
    0 0 8px rgba(59,210,255,.20) !important;}
.culture-surface{top:0 !important;
  height:4px !important;
  opacity:.78 !important;
  filter:blur(.2px) !important;
  box-shadow:0 0 9px rgba(92,233,255,.38),
    0 0 15px rgba(255,84,199,.14) !important;}

/* Slightly larger currency symbols for the bigger belly tank. */
.culture-symbol{font-size:13px !important;
  font-weight:800 !important;
  opacity:.98 !important;
  filter:drop-shadow(0 0 4px rgba(84,232,255,.44))
    drop-shadow(0 0 7px rgba(255,82,196,.18)) !important;
  text-shadow:-1px 0 rgba(49,216,255,.78),
    1px 0 rgba(255,73,188,.68),
    0 0 5px rgba(255,255,255,.58) !important;}
.symbol-yen{left:5px !important;bottom:8px !important;font-size:13px !important;}
.symbol-dollar{left:24px !important;bottom:25px !important;font-size:13px !important;}
.symbol-euro{right:5px !important;bottom:9px !important;font-size:13px !important;}
.symbol-lira{left:9px !important;bottom:44px !important;font-size:13px !important;}
.symbol-franc{right:8px !important;bottom:46px !important;font-size:13px !important;}

/* More visible bubbles in the larger chamber. */
.culture-bubble{opacity:.96 !important;
  transform:scale(1.00) !important;
  filter:drop-shadow(0 0 4px rgba(92,233,255,.36)) !important;
  animation-duration:calc(var(--culture-bubble-duration,3.2s) * .60) !important;}

/* Reposition electric effects to the side cable connection points of the new device. */

.culture-arc{z-index:9 !important;
  opacity:.98 !important;
  filter:drop-shadow(0 0 4px rgba(95,229,255,.66))
    drop-shadow(0 0 10px rgba(111,71,255,.44))
    drop-shadow(0 0 12px rgba(255,61,188,.24)) !important;
  animation-duration:.55s !important;}
.arc-left{left:4px !important;
  top:72px !important;
  width:30px !important;}
.arc-right{right:3px !important;
  top:72px !important;
  width:32px !important;}
.arc-cross{left:30px !important;
  top:56px !important;
  width:46px !important;
  opacity:.74 !important;
  animation-duration:.42s !important;}

.currency-spark-a{left:40px !important;bottom:47px !important;}
.currency-spark-b{right:30px !important;bottom:68px !important;}

/* Urgency glow still reacts to remaining time. */
.swap-culture-tank{filter:drop-shadow(0 0 6px rgba(63,205,255,.24))
    drop-shadow(0 0 10px rgba(255,66,191,.16)) !important;}
.experiment-clock.glsl-glitch-burst .swap-culture-tank{filter:brightness(.90) contrast(1.14)
    drop-shadow(0 0 6px rgba(57,207,255,.28))
    drop-shadow(0 0 8px rgba(255,58,186,.18)) !important;}
.swap-state-hour .swap-culture-tank{filter:brightness(1.05) saturate(1.10)
    drop-shadow(0 0 7px rgba(63,214,255,.29))
    drop-shadow(0 0 9px rgba(255,68,194,.20)) !important;}
.swap-state-ten .swap-culture-tank{animation:cultureDeviceUrgentV51 .95s ease-in-out infinite !important;}
.swap-state-granted .swap-culture-tank{animation:cultureDeviceGrantedV51 1.00s ease-out 2 !important;}


@keyframes cultureDeviceGrantedV51{
  
  35%{transform:scale(1.04);filter:brightness(1.36);}
  
}


.breaking-caster.bbsl-news-overlay{position:fixed !important;
  right:-760px !important;
  bottom:22px !important;
  width:600px !important;
  height:470px !important;
  overflow:visible !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  z-index:9500 !important;
  transform:translate3d(100px,0,0) !important;
  transition:right 2.40s cubic-bezier(.16,.78,.18,1),
    transform 2.40s cubic-bezier(.16,.78,.18,1),
    opacity .34s ease,
    visibility 0s linear 2.40s !important;
  filter:drop-shadow(0 15px 28px rgba(0,0,0,.72)) !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;}
.breaking-caster.bbsl-news-overlay.is-entering,
.breaking-caster.bbsl-news-overlay.is-visible{right:10px !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:translate3d(0,0,0) !important;
  transition-delay:0s !important;}
.breaking-caster.bbsl-news-overlay.is-leaving{right:-760px !important;
  opacity:0 !important;
  visibility:visible !important;
  transform:translate3d(100px,0,0) !important;
  transition:right 1.10s cubic-bezier(.55,.05,.85,.28),
    transform 1.10s cubic-bezier(.55,.05,.85,.28),
    opacity .50s ease !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-stage,
.breaking-caster.bbsl-news-overlay .breaking-caster-stage::before,
.breaking-caster.bbsl-news-overlay .breaking-caster-scanlines,
.breaking-caster.bbsl-news-overlay .breaking-caster-signal,
.breaking-caster.bbsl-news-overlay .breaking-caster-kicker{display:none !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-image{position:absolute !important;
  z-index:3 !important;
  top:40px !important;
  right:82px !important;
  width:430px !important;
  height:370px !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  opacity:1 !important;
  filter:drop-shadow(0 9px 12px rgba(0,0,0,.65)) !important;
  animation:none !important;
  transform:none !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-logo{position:absolute !important;
  z-index:5 !important;
  top:-28px !important;
  right:-6px !important;
  width:360px !important;
  height:205px !important;
  object-fit:contain !important;
  object-position:center !important;
  pointer-events:none !important;
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.75)) !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-lower-third{position:absolute !important;
  z-index:6 !important;
  left:0 !important;
  right:auto !important;
  bottom:-4px !important;
  width:600px !important;
  height:260px !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  pointer-events:none !important;
  filter:drop-shadow(0 6px 9px rgba(0,0,0,.68)) !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-copy{position:absolute !important;
  z-index:8 !important;
  left:66px !important;
  right:55px !important;
  bottom:66px !important;
  height:82px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  display:block !important;
  color:#fff !important;
  text-shadow:0 2px 3px rgba(0,0,0,.9) !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-title{position:relative !important;
  margin:0 0 4px !important;
  padding:0 8px 3px !important;
  height:25px !important;
  overflow:hidden !important;
  color:#fff !important;
  background:rgba(12,4,14,.92) !important;
  border-left:4px solid #ff174c !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:22px !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-summary{margin:0 !important;
  padding:3px 9px !important;
  min-height:31px !important;
  max-height:35px !important;
  overflow:hidden !important;
  color:#fff !important;
  background:rgba(185,0,38,.92) !important;
  border:0 !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:15px !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-comment{margin:2px 10px 0 !important;
  padding:2px 7px !important;
  height:18px !important;
  overflow:hidden !important;
  color:#111 !important;
  background:rgba(255,255,255,.94) !important;
  border:0 !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:14px !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-ticker{display:none !important;}
@media (max-width:1100px){
  .breaking-caster.bbsl-news-overlay{transform-origin:right bottom !important;
    scale:.86 !important;
    right:-780px !important;}
  .breaking-caster.bbsl-news-overlay.is-entering,
  .breaking-caster.bbsl-news-overlay.is-visible{right:2px !important;}
}
@media (prefers-reduced-motion:reduce){
  .breaking-caster.bbsl-news-overlay,
  .breaking-caster.bbsl-news-overlay *{animation:none !important;}
}


.breaking-caster.bbsl-news-overlay{right:-980px !important;
  bottom:8px !important;
  width:810px !important;
  height:600px !important;
  transform:translate3d(130px,0,0) !important;}
.breaking-caster.bbsl-news-overlay.is-entering,
.breaking-caster.bbsl-news-overlay.is-visible{right:8px !important;
  transform:translate3d(0,0,0) !important;}
.breaking-caster.bbsl-news-overlay.is-leaving{right:-980px !important;
  transform:translate3d(130px,0,0) !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-news-bg{position:absolute !important;
  z-index:2 !important;
  left:0 !important;
  top:28px !important;
  width:810px !important;
  height:545px !important;
  object-fit:contain !important;
  object-position:center !important;
  opacity:.94 !important;
  pointer-events:none !important;
  filter:drop-shadow(0 15px 24px rgba(0,0,0,.64)) !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-image{z-index:4 !important;
  top:72px !important;
  right:105px !important;
  width:560px !important;
  height:480px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-logo{z-index:6 !important;
  top:-22px !important;
  right:-2px !important;
  width:450px !important;
  height:255px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-lower-third{z-index:7 !important;
  left:0 !important;
  bottom:-8px !important;
  width:810px !important;
  height:340px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-copy{z-index:9 !important;
  left:88px !important;
  right:74px !important;
  bottom:83px !important;
  height:108px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-title{margin-bottom:5px !important;
  padding:1px 11px 4px !important;
  height:32px !important;
  font-size:13px !important;
  line-height:27px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-summary{padding:4px 12px !important;
  min-height:41px !important;
  max-height:45px !important;
  font-size:13px !important;
  line-height:19px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-comment{margin:3px 13px 0 !important;
  padding:3px 9px !important;
  height:23px !important;
  font-size:13px !important;
  line-height:17px !important;}
@media (max-width:1100px){
  .breaking-caster.bbsl-news-overlay{scale:.76 !important;
    right:-1000px !important;}
  .breaking-caster.bbsl-news-overlay.is-entering,
  .breaking-caster.bbsl-news-overlay.is-visible{right:-4px !important;}
}


.breaking-caster.bbsl-news-overlay{right:-900px !important;
  bottom:14px !important;
  width:730px !important;
  height:550px !important;
  transform:translate3d(120px,0,0) !important;}
.breaking-caster.bbsl-news-overlay.is-entering,
.breaking-caster.bbsl-news-overlay.is-visible{right:10px !important;
  transform:translate3d(0,0,0) !important;}
.breaking-caster.bbsl-news-overlay.is-leaving{right:-900px !important;
  transform:translate3d(120px,0,0) !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-news-bg{left:18px !important;
  top:52px !important;
  width:690px !important;
  height:455px !important;
  opacity:.88 !important;
  object-fit:contain !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-image{top:86px !important;
  right:112px !important;
  width:495px !important;
  height:430px !important;
  object-fit:contain !important;
  object-position:center bottom !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-logo{top:8px !important;
  right:10px !important;
  width:355px !important;
  height:195px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-lower-third{left:36px !important;
  bottom:0 !important;
  width:650px !important;
  height:270px !important;
  object-fit:contain !important;
  object-position:center bottom !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-copy{left:102px !important;
  right:88px !important;
  bottom:59px !important;
  height:96px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-title{margin:0 0 4px !important;
  padding:1px 10px 4px !important;
  height:31px !important;
  font-size:13px !important;
  line-height:26px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-summary{padding:4px 10px !important;
  min-height:38px !important;
  max-height:42px !important;
  font-size:13px !important;
  line-height:18px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-comment{margin:3px 9px 0 !important;
  padding:2px 8px !important;
  height:21px !important;
  font-size:13px !important;
  line-height:16px !important;}
@media (max-width:1100px){
  .breaking-caster.bbsl-news-overlay{scale:.82 !important;
    right:-930px !important;}
  .breaking-caster.bbsl-news-overlay.is-entering,
  .breaking-caster.bbsl-news-overlay.is-visible{right:-2px !important;}
}


.breaking-caster.bbsl-news-overlay{right:-840px !important;
  bottom:18px !important;
  width:660px !important;
  height:500px !important;
  transform:translate3d(115px,0,0) !important;}
.breaking-caster.bbsl-news-overlay.is-entering,
.breaking-caster.bbsl-news-overlay.is-visible{right:18px !important;
  transform:translate3d(0,0,0) !important;}
.breaking-caster.bbsl-news-overlay.is-leaving{right:-840px !important;
  transform:translate3d(115px,0,0) !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-news-bg{left:40px !important;
  top:82px !important;
  width:575px !important;
  height:350px !important;
  opacity:.82 !important;
  object-fit:contain !important;
  object-position:center !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-image{top:112px !important;
  right:98px !important;
  width:405px !important;
  height:330px !important;
  object-fit:contain !important;
  object-position:center bottom !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-logo{top:38px !important;
  right:58px !important;
  width:285px !important;
  height:145px !important;
  object-fit:contain !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-lower-third{left:55px !important;
  bottom:-8px !important;
  width:550px !important;
  height:205px !important;
  object-fit:contain !important;
  object-position:center bottom !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-copy{left:96px !important;
  right:94px !important;
  bottom:35px !important;
  height:80px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-title{margin:0 0 3px !important;
  padding:1px 9px 3px !important;
  height:28px !important;
  font-size:13px !important;
  line-height:24px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-summary{padding:3px 9px !important;
  min-height:34px !important;
  max-height:37px !important;
  font-size:13px !important;
  line-height:16px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-comment{margin:3px 8px 0 !important;
  padding:2px 7px !important;
  height:19px !important;
  font-size:13px !important;
  line-height:14px !important;}
@media (max-width:1100px){
  .breaking-caster.bbsl-news-overlay{scale:.82 !important;
    right:-860px !important;}
  
}


.breaking-caster.bbsl-news-overlay .breaking-caster-news-bg{left:130px !important;
  top:88px !important;
  width:470px !important;
  height:300px !important;
  opacity:.74 !important;
  object-fit:contain !important;
  object-position:center !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-image{top:132px !important;
  left:18px !important;
  right:auto !important;
  width:275px !important;
  height:322px !important;
  object-fit:contain !important;
  object-position:center bottom !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-logo{top:52px !important;
  right:36px !important;
  width:250px !important;
  height:118px !important;
  object-fit:contain !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-lower-third{left:188px !important;
  bottom:34px !important;
  width:405px !important;
  height:150px !important;
  object-fit:contain !important;
  object-position:center bottom !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-copy{left:230px !important;
  right:74px !important;
  bottom:66px !important;
  height:auto !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-title{width:100% !important;
  margin:0 0 5px !important;
  padding:4px 10px 5px !important;
  height:auto !important;
  font-size:13px !important;
  line-height:1.15 !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-summary{width:100% !important;
  padding:5px 10px !important;
  min-height:38px !important;
  max-height:40px !important;
  font-size:13px !important;
  line-height:1.22 !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-comment{width:92% !important;
  margin:4px 8px 0 !important;
  padding:3px 8px !important;
  height:18px !important;
  font-size:13px !important;
  line-height:12px !important;}


.breaking-caster.bbsl-news-overlay .breaking-caster-news-bg{left:118px !important;
  top:82px !important;
  width:500px !important;
  height:312px !important;
  opacity:.76 !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-image{top:126px !important;
  left:22px !important;
  width:282px !important;
  height:328px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-logo{top:62px !important;
  right:48px !important;
  width:238px !important;
  height:112px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-lower-third{left:160px !important;
  bottom:26px !important;
  width:456px !important;
  height:158px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-copy{left:205px !important;
  right:48px !important;
  bottom:58px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-title{font-size:13px !important;
  line-height:1.14 !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-summary{font-size:13px !important;
  line-height:1.24 !important;
  min-height:39px !important;
  max-height:42px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-comment{width:94% !important;}


.breaking-caster.bbsl-news-overlay{width:590px !important;
  height:390px !important;
  bottom:24px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-stage,
.breaking-caster.bbsl-news-overlay .breaking-caster-news-bg,
.breaking-caster.bbsl-news-overlay .breaking-caster-lower-third{display:none !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-image{top:76px !important;
  left:8px !important;
  right:auto !important;
  width:250px !important;
  height:310px !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  z-index:2 !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-logo{top:92px !important;
  left:220px !important;
  right:auto !important;
  width:220px !important;
  height:94px !important;
  object-fit:contain !important;
  z-index:5 !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-copy{left:190px !important;
  right:22px !important;
  bottom:54px !important;
  height:auto !important;
  z-index:6 !important;
  padding:0 !important;
  background:linear-gradient(90deg,rgba(8,10,18,.92),rgba(24,5,16,.84)) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.38) !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-title{width:100% !important;
  margin:0 !important;
  padding:7px 11px 6px !important;
  min-height:34px !important;
  font-size:13px !important;
  line-height:1.12 !important;
  white-space:nowrap !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-summary{width:100% !important;
  padding:6px 11px !important;
  min-height:40px !important;
  max-height:44px !important;
  font-size:13px !important;
  line-height:1.25 !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-comment{width:92% !important;
  margin:4px 8px 0 !important;
  padding:3px 8px !important;
  height:20px !important;
  font-size:13px !important;
  line-height:13px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-ticker{left:190px !important;
  right:22px !important;
  bottom:22px !important;
  height:24px !important;
  border-radius:0 0 2px 2px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-ticker-label{padding:0 10px !important;
  font-size:13px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-ticker-text{padding-left:10px !important;
  font-size:13px !important;}


.breaking-caster.bbsl-news-overlay{width:700px !important;
  height:455px !important;
  bottom:22px !important;}

.breaking-caster.bbsl-news-overlay .breaking-caster-image{top:52px !important;
  left:4px !important;
  right:auto !important;
  width:320px !important;
  height:400px !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  z-index:2 !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-logo{top:88px !important;
  left:258px !important;
  right:auto !important;
  width:260px !important;
  height:112px !important;
  object-fit:contain !important;
  z-index:5 !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-copy{left:250px !important;
  right:20px !important;
  bottom:62px !important;
  height:auto !important;
  z-index:6 !important;
  padding:0 !important;
  background:linear-gradient(90deg,rgba(8,10,18,.94),rgba(24,5,16,.88)) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.38) !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-title{width:100% !important;
  margin:0 !important;
  padding:8px 12px 7px !important;
  min-height:38px !important;
  font-size:13px !important;
  line-height:1.12 !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-summary{width:100% !important;
  padding:7px 12px !important;
  min-height:44px !important;
  max-height:48px !important;
  font-size:13px !important;
  line-height:1.25 !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-comment{width:94% !important;
  margin:4px 8px 0 !important;
  padding:4px 9px !important;
  height:22px !important;
  font-size:13px !important;
  line-height:14px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-ticker{left:250px !important;
  right:20px !important;
  bottom:26px !important;
  height:26px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-ticker-label{padding:0 11px !important;
  font-size:13px !important;}


.breaking-caster.bbsl-news-overlay .breaking-caster-logo{top:252px !important;
  left:250px !important;
  right:auto !important;
  width:238px !important;
  height:84px !important;
  object-fit:contain !important;
  object-position:left bottom !important;
  z-index:7 !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-copy{left:250px !important;
  right:20px !important;
  bottom:6px !important;}


.breaking-caster.bbsl-news-overlay .breaking-caster-logo{top:auto !important;
  bottom:70px !important;
  left:205px !important;
  right:auto !important;
  width:480px !important;
  height:176px !important;
  object-fit:contain !important;
  object-position:left bottom !important;
  z-index:7 !important;}


.breaking-caster.bbsl-news-overlay .breaking-caster-comment{width:94% !important;
  margin:4px 8px 0 !important;
  padding:5px 10px !important;
  min-height:24px !important;
  height:auto !important;
  color:#ffffff !important;
  background:linear-gradient(90deg,rgba(20,22,31,.98),rgba(45,8,22,.96)) !important;
  border-left:4px solid #ff2147 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 4px 12px rgba(0,0,0,.28) !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:.01em !important;
  text-shadow:0 1px 2px rgba(0,0,0,.8) !important;}


.breaking-caster.bbsl-news-overlay .breaking-caster-copy{display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-title{height:auto !important; min-height:38px !important; max-height:none !important;
  overflow:visible !important; white-space:normal !important; text-overflow:clip !important;
  font-size:13px !important; line-height:1.13 !important; box-sizing:border-box !important;}
.breaking-caster.bbsl-news-overlay.is-long-title .breaking-caster-title{font-size:13px !important; line-height:1.16 !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-summary{height:auto !important; min-height:44px !important; max-height:none !important;
  overflow:visible !important; display:block !important;
  font-size:13px !important; line-height:1.28 !important; box-sizing:border-box !important;}
.breaking-caster.bbsl-news-overlay.is-long-summary .breaking-caster-summary{font-size:13px !important; line-height:1.23 !important;}
.breaking-caster.bbsl-news-overlay.is-very-long-summary .breaking-caster-summary{font-size:13px !important; line-height:1.18 !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-comment{height:auto !important; min-height:26px !important; max-height:none !important;
  overflow:visible !important; white-space:normal !important; text-overflow:clip !important;
  box-sizing:border-box !important;}
.breaking-caster.bbsl-news-overlay.is-comment-hidden .breaking-caster-comment{display:none !important;}


.breaking-caster.bbsl-news-overlay{right:-920px !important;
  bottom:20px !important;
  width:860px !important;
  height:560px !important;
  transform:translate3d(110px,0,0) scale(.97) !important;}
.breaking-caster.bbsl-news-overlay.is-visible,
.breaking-caster.bbsl-news-overlay.is-entering{right:0 !important;
  transform:translate3d(0,0,0) scale(1) !important;}
.breaking-caster.bbsl-news-overlay.is-leaving{right:-920px !important;
  transform:translate3d(125px,0,0) scale(.97) !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-image{top:38px !important;
  left:6px !important;
  width:405px !important;
  height:505px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-logo{left:250px !important;
  top:112px !important;
  bottom:auto !important;
  width:560px !important;
  height:205px !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-copy{left:272px !important;
  right:14px !important;
  bottom:10px !important;
  width:auto !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  gap:0 !important;
  background:linear-gradient(90deg,rgba(8,10,18,.95),rgba(24,5,16,.90)) !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-title{width:100% !important;
  min-height:46px !important;
  padding:10px 14px 9px !important;
  font-size:22px !important;
  line-height:1.18 !important;
  white-space:normal !important;
  overflow:visible !important;}
.breaking-caster.bbsl-news-overlay.is-long-title .breaking-caster-title{font-size:19px !important;
  line-height:1.18 !important;}
.breaking-caster.bbsl-news-overlay.is-very-long-title .breaking-caster-title{font-size:17px !important;
  line-height:1.20 !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-summary{width:100% !important;
  min-height:58px !important;
  padding:10px 14px !important;
  font-size:16px !important;
  line-height:1.35 !important;
  white-space:normal !important;
  overflow:visible !important;
  display:block !important;}
.breaking-caster.bbsl-news-overlay.is-long-summary .breaking-caster-summary{font-size:15px !important;
  line-height:1.32 !important;}
.breaking-caster.bbsl-news-overlay.is-very-long-summary .breaking-caster-summary{font-size:14px !important;
  line-height:1.28 !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-comment{width:100% !important;
  margin:6px 0 0 !important;
  min-height:34px !important;
  padding:8px 12px !important;
  font-size:13px !important;
  line-height:1.28 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;}
.breaking-caster.bbsl-news-overlay.is-long-comment .breaking-caster-comment{font-size:13px !important;
  line-height:1.24 !important;}
.breaking-caster.bbsl-news-overlay.is-very-long-comment .breaking-caster-comment{font-size:13px !important;
  line-height:1.20 !important;}


.breaking-caster.bbsl-news-overlay .breaking-caster-comment{display:none !important;}
.breaking-caster.bbsl-news-overlay .breaking-caster-summary{min-height:78px !important;
  padding:12px 15px 14px !important;
  font-size:16px !important;
  line-height:1.34 !important;
  border-bottom:4px solid rgba(255,255,255,.10) !important;}
.breaking-caster.bbsl-news-overlay.is-long-summary .breaking-caster-summary{font-size:15px !important;
  line-height:1.30 !important;}
.breaking-caster.bbsl-news-overlay.is-very-long-summary .breaking-caster-summary{font-size:14px !important;
  line-height:1.26 !important;}


.breaking-caster.bbsl-news-overlay .breaking-caster-logo{top:auto !important;
  bottom:150px !important;
  left:250px !important;
  width:560px !important;
  height:205px !important;
  object-fit:contain !important;
  object-position:left bottom !important;}


/* ===== NEWS VOICE toggle ===== */
.breaking-voice-toggle{position:fixed;
  top:18px;
  right:18px;
  z-index:120;
  display:flex;
  align-items:center;
  gap:7px;
  min-width:116px;
  height:34px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:18px;
  color:rgba(255,255,255,.72);
  background:linear-gradient(180deg,rgba(13,18,28,.86),rgba(4,7,13,.92));
  box-shadow:0 5px 18px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.07);
  font:italic 800 13px/1 "Russo One","Noto Sans JP",sans-serif;
  letter-spacing:.08em;
  cursor:pointer;
  user-select:none;
  backdrop-filter:blur(7px);
  transition:border-color .22s ease,color .22s ease,box-shadow .22s ease,transform .16s ease;}
.breaking-voice-toggle:hover{transform:translateY(-1px);color:#fff;border-color:rgba(255,255,255,.44);}
.breaking-voice-toggle.is-on{color:#fff;
  border-color:rgba(255,30,74,.72);
  background:linear-gradient(180deg,rgba(87,5,25,.92),rgba(25,3,11,.96));
  box-shadow:0 0 18px rgba(255,20,64,.24),inset 0 1px 0 rgba(255,255,255,.10);}
.breaking-voice-toggle.is-speaking{animation:bbslVoicePulse 1.15s ease-in-out infinite;}
.breaking-voice-icon{font-size:13px;line-height:1;}
@keyframes bbslVoicePulse{
  0%,100%{box-shadow:0 0 10px rgba(255,20,64,.18),inset 0 1px 0 rgba(255,255,255,.10);}
  50%{box-shadow:0 0 25px rgba(255,20,64,.52),inset 0 1px 0 rgba(255,255,255,.14);}
}
@media (prefers-reduced-motion:reduce){.breaking-voice-toggle.is-speaking{animation:none !important;}}


.breaking-caster.bbsl-news-overlay .breaking-caster-logo{position:absolute !important;
  left:238px !important;
  width:380px !important;
  height:auto !important;
  max-height:none !important;
  top:auto !important;
  bottom:0 !important;
  object-fit:contain !important;
  object-position:left bottom !important;
  z-index:9 !important;
  filter:drop-shadow(0 5px 9px rgba(0,0,0,.68)) !important;}


.breaking-voice-controls{position:fixed;
  top:18px;
  right:18px;
  z-index:121;
  display:flex;
  align-items:center;
  gap:6px;}
.breaking-voice-controls .breaking-voice-toggle{position:static !important;
  top:auto !important;
  right:auto !important;}
.breaking-voice-settings-toggle{width:34px;
  height:34px;
  padding:0;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  color:rgba(255,255,255,.78);
  background:linear-gradient(180deg,rgba(13,18,28,.86),rgba(4,7,13,.92));
  box-shadow:0 5px 18px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.07);
  font:italic 700 13px/1 "Russo One","Noto Sans JP",sans-serif;
  cursor:pointer;
  backdrop-filter:blur(7px);}
.breaking-voice-settings-toggle:hover{color:#fff;border-color:rgba(255,255,255,.44);}
.breaking-voice-settings{position:fixed;
  top:62px;
  right:18px;
  z-index:122;
  width:310px;
  padding:14px;
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:linear-gradient(160deg,rgba(12,16,27,.97),rgba(31,4,16,.97));
  box-shadow:0 16px 40px rgba(0,0,0,.54),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(12px);
  box-sizing:border-box;}
.breaking-voice-settings[hidden]{display:none !important;}
.breaking-voice-settings-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:#fff;font:italic 800 13px/1.2 "Russo One","Noto Sans JP",sans-serif;letter-spacing:.06em;}
.breaking-voice-settings-head button{width:26px;height:26px;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.08);font-size:13px;cursor:pointer;}
.breaking-voice-field{display:block;margin:10px 0;color:rgba(255,255,255,.82);font:italic 700 13px/1.3 "Russo One","Noto Sans JP",sans-serif;}
.breaking-voice-field>span{display:flex;justify-content:space-between;margin-bottom:6px;}
.breaking-voice-field select{width:100%;height:38px;padding:0 9px;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#fff;background:#101520;font:italic 600 13px/1 "Russo One","Noto Sans JP",sans-serif;box-sizing:border-box;}
.breaking-voice-field input[type="range"]{width:100%;accent-color:#ff2147;cursor:pointer;}
.breaking-voice-field output{color:#ff6b88;font-family:"Russo One","Noto Sans JP",sans-serif;}
.breaking-voice-test{width:100%;height:38px;margin-top:5px;border:1px solid rgba(255,40,78,.55);border-radius:9px;color:#fff;background:linear-gradient(90deg,rgba(119,5,31,.95),rgba(194,0,40,.95));font:italic 800 13px/1 "Russo One","Noto Sans JP",sans-serif;cursor:pointer;}
.breaking-voice-test:hover{filter:brightness(1.12);}
.breaking-voice-note{margin:9px 2px 0;color:rgba(255,255,255,.55);font:italic 500 13px/1.45 "Russo One","Noto Sans JP",sans-serif;}


.breaking-voice-controls{top:12px !important;
  right:12px !important;
  gap:4px !important;
  opacity:.58;
  transition:opacity .2s ease;}
.breaking-voice-controls:hover,
.breaking-voice-controls:focus-within{opacity:1;}
.breaking-voice-controls .breaking-voice-toggle{min-width:0 !important;
  width:auto !important;
  height:24px !important;
  padding:0 7px !important;
  gap:4px !important;
  border-radius:12px !important;
  font-size:13px !important;
  letter-spacing:.045em !important;
  box-shadow:0 3px 10px rgba(0,0,0,.26) !important;
  backdrop-filter:blur(5px) !important;}
.breaking-voice-controls .breaking-voice-icon{font-size:13px !important;}
.breaking-voice-controls .breaking-voice-settings-toggle{width:24px !important;
  height:24px !important;
  border-radius:50% !important;
  font-size:13px !important;
  box-shadow:0 3px 10px rgba(0,0,0,.26) !important;
  backdrop-filter:blur(5px) !important;}
.breaking-voice-settings{top:44px !important;
  right:12px !important;}






.breaking-voice-settings{top:clamp(120px,20vh,220px) !important;
  right:clamp(18px,7vw,120px) !important;}






/* Main timer and ACTIVE panel move slightly farther upward. */

/* VOICE / CONFIG remain lower than the ACTIVE rows. */


/* Voice settings: same dark monitor / mint terminal visual language. */
.breaking-voice-settings{width:min(300px,calc(100vw - 24px)) !important;
  max-height:min(520px,calc(100vh - 30px)) !important;
  padding:14px 15px 15px !important;
  border:1px solid rgba(145,246,202,.62) !important;
  border-radius:5px !important;
  color:#91f6ca !important;
  background:repeating-linear-gradient(0deg,rgba(145,246,202,.018) 0,rgba(145,246,202,.018) 1px,transparent 1px,transparent 4px),
    linear-gradient(180deg,rgba(3,18,17,.985),rgba(2,10,13,.985)) !important;
  box-shadow:0 0 0 1px rgba(255,35,177,.15),
    0 0 20px rgba(145,246,202,.14),
    0 16px 40px rgba(0,0,0,.72) !important;
  backdrop-filter:blur(10px) !important;
  overflow:auto !important;
  font-family:"Russo One","Noto Sans JP",sans-serif !important;}
.breaking-voice-settings::before{content:"";
  position:absolute;
  inset:5px;
  pointer-events:none;
  border:1px solid rgba(145,246,202,.10);}
.breaking-voice-settings-head{position:relative !important;
  margin:0 0 13px !important;
  padding:0 0 9px !important;
  border-bottom:1px solid rgba(145,246,202,.28) !important;
  color:#baffdf !important;
  font:italic 800 13px/1.2 "Russo One","Noto Sans JP",sans-serif !important;
  letter-spacing:.08em !important;
  text-shadow:0 0 7px rgba(145,246,202,.55) !important;}
.breaking-voice-settings-head button{width:24px !important;
  height:24px !important;
  border:1px solid rgba(145,246,202,.28) !important;
  border-radius:2px !important;
  color:#91f6ca !important;
  background:rgba(145,246,202,.04) !important;
  box-shadow:none !important;
  font:italic 700 13px/1 "Russo One","Noto Sans JP",sans-serif !important;}
.breaking-voice-settings-head button:hover{color:#d7ffeb !important;
  border-color:rgba(145,246,202,.68) !important;
  background:rgba(145,246,202,.08) !important;}
.breaking-voice-field{position:relative !important;
  margin:11px 0 !important;
  color:#91f6ca !important;
  font:italic 700 13px/1.35 "Russo One","Noto Sans JP",sans-serif !important;
  letter-spacing:.045em !important;
  text-shadow:0 0 5px rgba(145,246,202,.30) !important;}
.breaking-voice-field>span{margin-bottom:6px !important;}
.breaking-voice-field output{color:#baffdf !important;
  font:italic 700 13px/1 "Russo One","Noto Sans JP",sans-serif !important;
  text-shadow:0 0 6px rgba(145,246,202,.50) !important;}
.breaking-voice-field select{height:34px !important;
  padding:0 9px !important;
  border:1px solid rgba(145,246,202,.34) !important;
  border-radius:2px !important;
  color:#baffdf !important;
  background:#061715 !important;
  box-shadow:inset 0 0 12px rgba(145,246,202,.035) !important;
  font:italic 700 13px/1 "Russo One","Noto Sans JP",sans-serif !important;}
.breaking-voice-field select:focus{outline:none !important;
  border-color:rgba(145,246,202,.78) !important;
  box-shadow:0 0 8px rgba(145,246,202,.16),inset 0 0 12px rgba(145,246,202,.05) !important;}
.breaking-voice-field input[type="range"]{width:100% !important;
  height:16px !important;
  accent-color:#91f6ca !important;
  filter:drop-shadow(0 0 3px rgba(145,246,202,.34)) !important;}
.breaking-voice-test{height:34px !important;
  margin-top:7px !important;
  border:1px solid rgba(145,246,202,.48) !important;
  border-radius:2px !important;
  color:#baffdf !important;
  background:linear-gradient(90deg,rgba(10,65,51,.52),rgba(6,34,31,.72)) !important;
  box-shadow:inset 0 0 12px rgba(145,246,202,.04),0 0 9px rgba(145,246,202,.07) !important;
  font:italic 800 13px/1 "Russo One","Noto Sans JP",sans-serif !important;
  letter-spacing:.05em !important;
  text-shadow:0 0 6px rgba(145,246,202,.44) !important;}
.breaking-voice-test:hover{color:#e1ffef !important;
  border-color:rgba(145,246,202,.78) !important;
  background:linear-gradient(90deg,rgba(18,87,66,.62),rgba(8,44,39,.82)) !important;
  filter:none !important;}
.breaking-voice-note{margin:9px 1px 0 !important;
  color:rgba(145,246,202,.55) !important;
  font:italic 600 13px/1.5 "Russo One","Noto Sans JP",sans-serif !important;
  letter-spacing:.025em !important;}


.breaking-voice-settings,
.breaking-voice-settings *{font-family:"Russo One","Noto Sans JP",sans-serif !important;
  letter-spacing:0 !important;
  -webkit-font-smoothing:none !important;
  text-rendering:optimizeSpeed !important;}
.breaking-voice-settings{width:min(330px,calc(100vw - 24px)) !important;
  padding:16px 17px 17px !important;
  color:#98ffc8 !important;
  background:repeating-linear-gradient(0deg,rgba(152,255,200,.018) 0,rgba(152,255,200,.018) 1px,transparent 1px,transparent 4px),
    linear-gradient(180deg,rgba(2,16,12,.99),rgba(1,9,8,.99)) !important;
  border-color:rgba(152,255,200,.52) !important;
  box-shadow:0 0 0 1px rgba(152,255,200,.08),0 12px 34px rgba(0,0,0,.72) !important;}
.breaking-voice-settings-head{margin-bottom:15px !important;
  padding-bottom:10px !important;
  color:#98ffc8 !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1 !important;
  text-shadow:0 0 4px rgba(152,255,200,.25) !important;}
.breaking-voice-settings-head button{width:26px !important;
  height:26px !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:22px !important;
  color:#98ffc8 !important;}
.breaking-voice-field{margin:13px 0 !important;
  color:#98ffc8 !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1.15 !important;
  text-shadow:none !important;}
.breaking-voice-field>span{margin-bottom:7px !important;
  font-size:13px !important;
  line-height:1 !important;}
.breaking-voice-field output{color:#98ffc8 !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1 !important;
  text-shadow:none !important;}
.breaking-voice-field select{height:38px !important;
  padding:0 10px !important;
  color:#98ffc8 !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:38px !important;
  background:#041411 !important;
  border-color:rgba(152,255,200,.35) !important;
  box-shadow:none !important;}
.breaking-voice-field input[type="range"]{height:14px !important;
  filter:none !important;
  accent-color:#98ffc8 !important;}
.breaking-voice-test{height:40px !important;
  margin-top:10px !important;
  color:#98ffc8 !important;
  background:#061a14 !important;
  border-color:rgba(152,255,200,.42) !important;
  box-shadow:none !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1 !important;
  text-shadow:none !important;}
.breaking-voice-test:hover{color:#d7ffeb !important;
  background:#0a241b !important;}
.breaking-voice-settings small,
.breaking-voice-settings .breaking-voice-note{color:rgba(152,255,200,.72) !important;
  font-size:13px !important;
  line-height:1.2 !important;
  text-shadow:none !important;}






.breaking-voice-settings,
.breaking-voice-settings *{font-family:"Russo One","Noto Sans JP",sans-serif !important;
  letter-spacing:0 !important;}
.breaking-voice-settings{width:min(336px,calc(100vw - 24px)) !important;
  padding:12px 13px 12px !important;
  border:1px solid rgba(152,255,200,.42) !important;
  border-radius:0 !important;
  color:#98ffc8 !important;
  background:repeating-linear-gradient(0deg,rgba(152,255,200,.02) 0,rgba(152,255,200,.02) 1px,transparent 1px,transparent 4px),
    linear-gradient(180deg,rgba(2,16,12,.97),rgba(1,10,9,.98)) !important;
  box-shadow:inset 0 0 0 1px rgba(152,255,200,.08),
    inset 0 0 18px rgba(10,255,170,.03),
    0 0 14px rgba(0,0,0,.48) !important;}
.breaking-voice-settings::before{inset:6px !important;
  border:1px solid rgba(152,255,200,.14) !important;}
.breaking-voice-settings-head{margin:0 0 10px !important;
  padding:0 0 8px !important;
  border-bottom:1px solid rgba(152,255,200,.22) !important;
  color:#98ffc8 !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1 !important;
  text-shadow:0 0 4px rgba(152,255,200,.18) !important;}
.breaking-voice-settings-head strong{font-size:13px !important;
  font-weight:400 !important;}
.breaking-voice-settings-head button{width:22px !important;
  height:22px !important;
  border:1px solid rgba(152,255,200,.28) !important;
  border-radius:0 !important;
  background:rgba(152,255,200,.03) !important;
  color:#98ffc8 !important;
  font-size:13px !important;
  line-height:18px !important;}
.breaking-voice-field{margin:10px 0 !important;
  color:#98ffc8 !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1.05 !important;}
.breaking-voice-field>span{display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin-bottom:5px !important;
  font-size:13px !important;}
.breaking-voice-field output{color:#b9ffd9 !important;
  min-width:40px !important;
  text-align:right !important;
  font-size:13px !important;
  font-weight:400 !important;}
.breaking-voice-field select{height:34px !important;
  padding:0 10px !important;
  border:1px solid rgba(152,255,200,.30) !important;
  border-radius:0 !important;
  color:#cffff0 !important;
  background:rgba(4,24,20,.92) !important;
  box-shadow:inset 0 0 0 1px rgba(152,255,200,.05) !important;
  font-size:13px !important;
  line-height:1 !important;}
.breaking-voice-field input[type="range"]{width:100% !important;
  height:14px !important;
  background:transparent !important;
  accent-color:#98ffc8 !important;
  filter:none !important;}
.breaking-voice-field input[type="range"]::-webkit-slider-runnable-track{height:6px !important;
  border-radius:0 !important;
  background:linear-gradient(90deg,rgba(152,255,200,.9),rgba(152,255,200,.9)) left/var(--fill,50%) 100% no-repeat,rgba(255,255,255,.22) !important;}
.breaking-voice-field input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none !important;
  width:12px !important;
  height:12px !important;
  margin-top:-3px !important;
  border-radius:50% !important;
  border:1px solid rgba(152,255,200,.95) !important;
  background:#98ffc8 !important;
  box-shadow:0 0 4px rgba(152,255,200,.28) !important;}
.breaking-voice-field input[type="range"]::-moz-range-track{height:6px !important;
  border-radius:0 !important;
  background:rgba(255,255,255,.22) !important;}
.breaking-voice-field input[type="range"]::-moz-range-progress{height:6px !important;
  border-radius:0 !important;
  background:#98ffc8 !important;}
.breaking-voice-field input[type="range"]::-moz-range-thumb{width:12px !important;
  height:12px !important;
  border:1px solid rgba(152,255,200,.95) !important;
  border-radius:50% !important;
  background:#98ffc8 !important;
  box-shadow:0 0 4px rgba(152,255,200,.28) !important;}
.breaking-voice-test{height:36px !important;
  margin-top:10px !important;
  border:1px solid rgba(152,255,200,.34) !important;
  border-radius:0 !important;
  color:#cffff0 !important;
  background:rgba(6,26,20,.92) !important;
  box-shadow:inset 0 0 0 1px rgba(152,255,200,.04) !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1 !important;}
.breaking-voice-test:hover{background:rgba(10,36,27,.96) !important;
  border-color:rgba(152,255,200,.55) !important;}
.breaking-voice-note,
.breaking-voice-settings small{margin-top:8px !important;
  color:rgba(152,255,200,.72) !important;
  font-size:13px !important;
  line-height:1.15 !important;}




.breaking-voice-settings-head::after{content:"-------------------";
  display:block;
  margin-top:4px;
  color:rgba(152,255,200,.55);
  font-size:13px;
  line-height:1;}
.breaking-voice-field>span,
.breaking-voice-field select,
.breaking-voice-test,
.breaking-voice-note{text-transform:none !important;}


#metric-ratio{cursor:default !important;}





#next-swap-panel.swap-terminal-v80 .bbsl-system-panel,
#next-swap-panel.swap-terminal-v80 .bbsl-system-panel *{box-sizing:border-box !important;
  font-family:"Oxanium","Noto Sans JP",sans-serif !important;
  font-style:normal !important;
  text-transform:none !important;
  -webkit-font-smoothing:antialiased !important;
  text-rendering:optimizeLegibility !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel{position:absolute !important;
  inset:8px 34px 23px 34px !important;
  z-index:20 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 120px !important;
  column-gap:25px !important;
  align-items:start !important;
  overflow:visible !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__left{min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  padding:1px 0 0 !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__clock{min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:3px !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__date{color:#98ffc8 !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:17px !important;
  letter-spacing:.025em !important;
  white-space:nowrap !important;
  text-shadow:0 0 5px rgba(132,255,193,.18) !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__time{color:#98ffc8 !important;
  font-size:22px !important;
  font-weight:800 !important;
  line-height:27px !important;
  letter-spacing:.035em !important;
  white-space:nowrap !important;
  text-shadow:0 0 8px rgba(132,255,193,.24) !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__heading{width:155px !important;
  height:18px !important;
  margin:7px 0 4px !important;
  display:grid !important;
  grid-template-columns:minmax(12px,1fr) auto minmax(12px,1fr) !important;
  column-gap:7px !important;
  align-items:center !important;
  color:#98ffc8 !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__heading span{display:block !important;
  height:1px !important;
  background:rgba(152,255,200,.72) !important;
  box-shadow:0 0 5px rgba(132,255,193,.22) !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__heading strong{color:#98ffc8 !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:16px !important;
  letter-spacing:.06em !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__actions{width:155px !important;
  display:grid !important;
  grid-template-rows:20px 20px 20px !important;
  row-gap:4px !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__live{
  grid-row:1 !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__voice-row{
  grid-row:2 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:5px !important;
  width:max-content !important;
  height:20px !important;}

#next-swap-panel.swap-terminal-v80 #breaking-voice-settings-toggle{
  width:24px !important;
  height:20px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#b8ffe0 !important;}

#next-swap-panel.swap-terminal-v80 #scalp-panel-toggle{
  grid-row:3 !important;
  font-size:13px !important;
  letter-spacing:.01em !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__gear{
  display:block !important;
  position:relative !important;
  top:-2px !important;
  font-family:"Noto Sans JP",sans-serif !important;
  font-size:16px !important;
  line-height:1 !important;
  filter:drop-shadow(0 0 4px rgba(152,255,200,.35));}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__action{all:unset !important;
  box-sizing:border-box !important;
  width:max-content !important;
  min-width:0 !important;
  height:20px !important;
  display:inline-grid !important;
  grid-template-columns:auto auto !important;
  column-gap:8px !important;
  align-items:center !important;
  justify-content:start !important;
  margin:0 !important;
  padding:0 !important;
  color:#98ffc8 !important;
  cursor:pointer !important;
  white-space:nowrap !important;
  font-family:"Russo One","Noto Sans JP",sans-serif !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:20px !important;
  letter-spacing:.03em !important;
  text-shadow:0 0 5px rgba(132,255,193,.20) !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__action:hover,
#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__action.is-on{color:#d2ffe8 !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__live{column-gap:7px !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__live-dot{display:inline-block !important;
  flex:0 0 7px !important;
  width:7px !important;
  height:7px !important;
  border-radius:50% !important;
  transition:background-color .18s ease,
    box-shadow .18s ease,
    opacity .18s ease !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__live-dot.is-connected{background:#61f1b3 !important;
  box-shadow:0 0 4px rgba(97,241,179,.95),
    0 0 10px rgba(97,241,179,.62) !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__live-dot.is-offline{background:#ff2b68 !important;
  box-shadow:0 0 4px rgba(255,43,104,.95),
    0 0 10px rgba(255,43,104,.62) !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__live-dot.is-pending{background:#ffd166 !important;
  box-shadow:0 0 4px rgba(255,209,102,.95),
    0 0 10px rgba(255,209,102,.56) !important;
  animation:bbslLivePendingPulse 1.1s ease-in-out infinite !important;}

@keyframes bbslLivePendingPulse{
  0%,100%{opacity:.55;}
  
}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__action .breaking-voice-icon,
#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__action .breaking-voice-label{display:none !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__action .breaking-voice-key,
#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__action .breaking-voice-state,
#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__action > span{flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__positions{width:120px !important;
  min-width:120px !important;
  align-self:start !important;
  margin:0 !important;
  padding:7px 10px !important;
  background:#98ffc8 !important;
  color:#06120b !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__positions,
#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__positions *{color:#06120b !important;
  text-shadow:none !important;
  font-family:"Oxanium","Noto Sans JP",sans-serif !important;
  font-style:normal !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__positions-title{margin:0 0 4px !important;
  padding:0 0 4px !important;
  border-bottom:1px solid rgba(6,18,11,.62) !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:18px !important;
  letter-spacing:.025em !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__positions-list{list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  row-gap:4px !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__positions-list li{display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  column-gap:7px !important;
  align-items:center !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:17px !important;
  white-space:nowrap !important;}

#next-swap-panel.swap-terminal-v80 .bbsl-system-panel__legacy{position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  opacity:0 !important;
  pointer-events:none !important;}

@media(max-width:1100px){
  #next-swap-panel.swap-terminal-v80 .bbsl-system-panel{inset:8px 30px 21px 30px !important;
    grid-template-columns:minmax(0,1fr) 116px !important;
    column-gap:20px !important;}

  #next-swap-panel.swap-terminal-v80 .bbsl-system-panel__time{font-size:22px !important;
    line-height:25px !important;}

  #next-swap-panel.swap-terminal-v80 .bbsl-system-panel__positions{width:116px !important;
    min-width:116px !important;}
}





:root{--bbsl-chart-font:"Russo One","Noto Sans JP",sans-serif;}

/* v227: USDJPY floating scalp monitor */
.scalp-panel{
  position:fixed;
  z-index:3000;
  top:12px;
  right:24px;
  width:min(580px,calc(100vw - 48px));
  height:min(880px,calc(100dvh - 24px));
  min-width:440px;
  min-height:460px;
  max-width:calc(100vw - 24px);
  max-height:calc(100dvh - 24px);
  padding:22px;
  box-sizing:border-box;
  overflow-y:auto;
  resize:both;
  color:#d7f7ff;
  background:
    radial-gradient(circle at 100% 0,rgba(255,0,133,.15),transparent 32%),
    linear-gradient(155deg,#030b14 0%,#06101d 58%,#090614 100%);
  border:1px solid rgba(34,211,255,.62);
  box-shadow:0 18px 54px rgba(0,0,0,.72),0 0 18px rgba(0,210,255,.12);
  font-family:"Oxanium","Noto Sans JP",sans-serif;
  opacity:0;
  transform:translateY(10px) scale(.985);
  pointer-events:none;
  visibility:hidden;
  transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;
}
.scalp-panel.is-open{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
  visibility:visible;
  transition:opacity .2s ease,transform .2s ease;
}
.scalp-panel__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(39,187,220,.32);
  cursor:move;
  user-select:none;
  touch-action:none;
}
.scalp-panel__eyebrow{
  margin:0 0 4px;
  color:#49e5ff;
  font-size:12px;
  letter-spacing:.16em;
}
.scalp-panel__header h2{
  margin:0;
  color:#ecfbff;
  font-size:21px;
  letter-spacing:.08em;
  font-weight:700;
}
.scalp-panel__close{
  width:40px;
  height:40px;
  flex:0 0 40px;
  padding:0;
  border:1px solid rgba(73,229,255,.42);
  color:#82ecff;
  background:rgba(4,20,32,.76);
  font:400 26px/36px "Oxanium",sans-serif;
  cursor:pointer;
}
.scalp-panel__actions{display:flex;align-items:center;gap:8px;}
.scalp-panel__detail-toggle{
  height:34px;
  padding:0 11px;
  color:#72e9ff;
  background:rgba(4,20,32,.76);
  border:1px solid rgba(73,229,255,.34);
  font:700 10px/32px "Oxanium",sans-serif;
  letter-spacing:.07em;
  cursor:pointer;
}
.scalp-panel:not(.is-detail) .is-detail-only{display:none !important;}
.scalp-panel__market{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:4px 18px;
  padding:16px 2px 15px;
}
.scalp-panel__decision{
  grid-column:1 / -1;
  margin:11px 0 0;
  padding:10px 12px;
  color:#9bb5bf;
  background:rgba(10,27,39,.72);
  border-left:3px solid #52717d;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
}
.scalp-panel__decision.is-long{color:#62f0cd;border-left-color:#42e8bc;}
.scalp-panel__decision.is-short{color:#ff6d9e;border-left-color:#ff3f85;}
.scalp-panel__decision.is-warning{animation:scalpDecisionPulse 1.2s ease-in-out infinite;}
.scalp-panel__market span{
  display:flex;
  align-items:center;
  gap:8px;
  color:#71f6c1;
  font-size:12px;
  letter-spacing:.08em;
}
#scalp-live-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ffd166;
  box-shadow:0 0 8px rgba(255,209,102,.8);
}
#scalp-live-dot.is-live{
  background:#54ffc6;
  box-shadow:0 0 9px rgba(84,255,198,.9);
}
#scalp-live-dot.is-reconnecting{
  background:#ffd166;
  box-shadow:0 0 9px rgba(255,209,102,.9);
  animation:scalpConnectionPulse 1s ease-in-out infinite;
}
#scalp-live-dot.is-error{
  background:#ff376f;
  box-shadow:0 0 9px rgba(255,55,111,.9);
}
@keyframes scalpConnectionPulse{
  50%{opacity:.35;}
}
#scalp-current-price{
  grid-row:1 / span 2;
  grid-column:2;
  color:#eaffff;
  font-size:30px;
  line-height:1;
  letter-spacing:.05em;
}
#scalp-price-time{
  color:#668c9a;
  font-size:11px;
  letter-spacing:.06em;
}
.scalp-target-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.scalp-target{
  min-height:180px;
  padding:17px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  background:rgba(5,17,29,.78);
  border:1px solid;
}
.scalp-target--long{border-color:rgba(41,213,244,.72);}
.scalp-target--short{border-color:rgba(255,47,132,.72);}
.scalp-target__caption{
  font-size:12px;
  letter-spacing:.08em;
  font-weight:700;
}
.scalp-target--long .scalp-target__caption{color:#53e8ff;}
.scalp-target--short .scalp-target__caption{color:#ff5b9d;}
.scalp-target__price{
  margin:19px 0 5px;
  color:#effdff;
  font-size:32px;
  line-height:1;
  letter-spacing:.025em;
  white-space:nowrap;
}
.scalp-target__price.is-empty{
  color:#587581;
  font-size:18px;
  margin-top:25px;
}
.scalp-target__distance{
  color:#b8d9e3;
  font-size:13px;
}
.scalp-target__meta{
  margin-top:auto;
  padding-top:13px;
  color:#7195a2;
  font-size:11px;
  letter-spacing:.07em;
  border-top:1px solid rgba(98,151,169,.18);
}
.scalp-target__secondary{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:3px 10px;
  align-items:baseline;
  margin-top:11px;
  padding-top:10px;
  border-top:1px solid rgba(98,151,169,.18);
}
.scalp-target__secondary span{color:#7898a4;font-size:10px;letter-spacing:.1em;}
.scalp-target__secondary strong{color:#dffaff;font-size:17px;letter-spacing:.04em;}
.scalp-target__secondary small{grid-column:1 / -1;color:#718f9a;font-size:10px;}
.scalp-target-guide{margin:7px 2px 0;color:#648591;font-size:9px;letter-spacing:.03em;text-align:center;}
.scalp-flow{
  margin-top:13px;
  padding:16px;
  background:rgba(4,13,23,.78);
  border:1px solid rgba(34,142,170,.42);
}
.scalp-money{
  margin-top:13px;
  padding:16px;
  background:linear-gradient(135deg,rgba(4,17,29,.88),rgba(14,7,24,.82));
  border:1px solid rgba(60,196,226,.46);
}
.scalp-money__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.scalp-money__heading h3{margin:0;color:#f0faff;font-size:13px;letter-spacing:.09em;}
#scalp-money-bias{color:#8ba5ae;font-size:11px;letter-spacing:.07em;}
#scalp-money-bias.is-up{color:#58efc7;}
#scalp-money-bias.is-down{color:#ff6598;}
.scalp-money__grid{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:8px;}
.scalp-money__currency,.scalp-money__pair{display:flex;flex-direction:column;gap:5px;padding:11px;background:rgba(8,25,38,.78);border:1px solid rgba(83,128,145,.28);}
.scalp-money__currency span,.scalp-money__pair span{color:#7796a1;font-size:10px;letter-spacing:.08em;}
.scalp-money__currency strong,.scalp-money__pair strong{color:#9eb4bc;font-size:14px;white-space:nowrap;}
.scalp-money__currency small,.scalp-money__pair small{color:#6e8b95;font-size:9px;}
.scalp-money__currency.is-buy,.scalp-money__pair.is-up{border-color:rgba(58,234,184,.48);background:rgba(4,70,55,.34);}
.scalp-money__currency.is-buy strong,.scalp-money__pair.is-up strong{color:#65f4ca;}
.scalp-money__currency.is-sell,.scalp-money__pair.is-down{border-color:rgba(255,49,126,.52);background:rgba(79,10,39,.40);}
.scalp-money__currency.is-sell strong,.scalp-money__pair.is-down strong{color:#ff6f9f;}
.scalp-money__frames{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin-top:8px;}
.scalp-money__frames span{padding:6px 8px;color:#77939e;background:rgba(10,25,36,.62);font-size:9px;text-align:center;}
.scalp-money__frames span.is-up{color:#65f4ca;}
.scalp-money__frames span.is-down{color:#ff6f9f;}
.scalp-flow__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.scalp-flow__heading h3{margin:0;color:#f0faff;font-size:13px;letter-spacing:.09em;}
#scalp-flow-summary{color:#8ba5ae;font-size:11px;letter-spacing:.06em;text-align:right;}
#scalp-flow-summary.is-uptrend{color:#59efc5;}
#scalp-flow-summary.is-downtrend{color:#ff6598;}
.scalp-flow__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;}
.scalp-flow__item{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 3px;background:rgba(13,27,38,.72);border:1px solid rgba(71,112,128,.25);}
.scalp-flow__item b{color:#718e99;font-size:10px;}
.scalp-flow__item strong{color:#859da6;font-size:10px;white-space:nowrap;}
.scalp-flow__item.is-up{border-color:rgba(58,234,184,.46);background:rgba(4,70,55,.34);}
.scalp-flow__item.is-up strong{color:#65f4ca;}
.scalp-flow__item.is-down{border-color:rgba(255,49,126,.50);background:rgba(79,10,39,.38);}
.scalp-flow__item.is-down strong{color:#ff6f9f;}
.scalp-flow__note{margin:11px 0 0;color:#789ba7;font-size:10px;letter-spacing:.04em;}
.scalp-warning,
.scalp-latest{
  margin-top:13px;
  padding:16px;
  background:rgba(4,13,23,.74);
  border:1px solid rgba(34,142,170,.36);
}
.scalp-warning__heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.scalp-warning__heading h3{
  margin:0;
  color:#f0faff;
  font-size:13px;
  letter-spacing:.09em;
}
#scalp-warning-summary{
  color:#64f0c0;
  font-size:11px;
  letter-spacing:.08em;
}
#scalp-warning-summary.is-warning{color:#ffbd48;}
#scalp-warning-summary.is-storm{color:#ff4f8d;}
.scalp-warning__grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:7px;
}
.scalp-warning__item{
  padding:8px 5px;
  text-align:center;
  color:#597786;
  background:rgba(13,27,38,.72);
  border:1px solid rgba(71,112,128,.25);
  font-size:11px;
}
.scalp-warning__item b,
.scalp-warning__item small{display:block;}
.scalp-warning__item b{font-size:11px;}
.scalp-warning__item small{margin-top:4px;font-size:9px;opacity:.86;}
.scalp-warning__item.is-red{
  color:#ff6f9f;
  background:rgba(79,10,39,.42);
  border-color:rgba(255,49,126,.52);
}
.scalp-warning__item.is-green{
  color:#65f4ca;
  background:rgba(4,70,55,.38);
  border-color:rgba(58,234,184,.48);
}
.scalp-latest>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:13px;
  color:#789ca8;
  font-size:12px;
  letter-spacing:.08em;
}
#scalp-latest-color{color:#8aa6b0;}
#scalp-latest-color.is-red{color:#ff588f;}
#scalp-latest-color.is-green{color:#54eec2;}
.scalp-latest dl{
  display:grid;
  grid-template-columns:1fr 1fr 1.35fr 1fr;
  gap:8px;
  margin:0;
}
@keyframes scalpDecisionPulse{50%{filter:brightness(1.3);}}
.scalp-latest dl div{
  min-width:0;
  padding:9px;
  background:rgba(10,27,39,.72);
}
.scalp-latest dt{
  color:#597b88;
  font-size:10px;
  margin-bottom:5px;
}
.scalp-latest dd{
  margin:0;
  color:#d7f5ff;
  font-size:12px;
  overflow-wrap:anywhere;
}
.scalp-panel__error{
  margin:13px 0 0;
  padding:11px;
  color:#ff7da8;
  background:rgba(93,8,40,.35);
  border:1px solid rgba(255,53,125,.45);
  font-size:12px;
  text-align:center;
}
@media(max-width:620px){
  .scalp-panel{
    top:10px;
    right:10px;
    width:calc(100vw - 20px);
    height:calc(100dvh - 20px);
    min-width:0;
    min-height:0;
    max-width:none;
    max-height:none;
    padding:18px;
    resize:none;
  }
  .scalp-target-grid{grid-template-columns:1fr;}
  .scalp-target{min-height:150px;}
  .scalp-warning__grid{grid-template-columns:repeat(4,1fr);}
  .scalp-latest dl{grid-template-columns:1fr;}
}

/* v229: actual-phone viewport mode (also works when iOS renders the site on a desktop canvas) */
.scalp-panel.is-mobile-viewport{
  min-width:0;
  min-height:0;
  max-width:none;
  max-height:none;
  padding:20px;
  resize:none;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.scalp-panel.is-mobile-viewport .scalp-panel__header{
  cursor:default;
  touch-action:auto;
}
.scalp-panel.is-mobile-viewport .scalp-target-grid{
  grid-template-columns:1fr;
}
.scalp-panel.is-mobile-viewport .scalp-target{
  min-height:150px;
}
.scalp-panel.is-mobile-viewport .scalp-flow__grid{grid-template-columns:repeat(3,1fr);}
.scalp-panel.is-mobile-viewport .scalp-money__grid{grid-template-columns:1fr 1fr;}
.scalp-panel.is-mobile-viewport .scalp-money__pair{grid-column:1 / -1;}
.scalp-panel.is-mobile-viewport .scalp-latest dl{
  grid-template-columns:1fr;
}

/* v235: compact decision view; DETAIL restores the full diagnostic view. */
.scalp-panel:not(.is-detail){padding:14px;}
.scalp-panel:not(.is-detail) .scalp-panel__header{padding-bottom:10px;align-items:center;}
.scalp-panel:not(.is-detail) .scalp-panel__eyebrow{margin-bottom:2px;font-size:9px;}
.scalp-panel:not(.is-detail) .scalp-panel__header h2{font-size:16px;}
.scalp-panel:not(.is-detail) .scalp-panel__close{width:34px;height:34px;flex-basis:34px;font-size:22px;line-height:30px;}
.scalp-panel:not(.is-detail) .scalp-panel__market{padding:9px 2px 8px;}
.scalp-panel:not(.is-detail) .scalp-panel__market span{font-size:10px;}
.scalp-panel:not(.is-detail) #scalp-current-price{font-size:26px;}
.scalp-panel:not(.is-detail) .scalp-panel__decision{margin-top:5px;padding:7px 10px;font-size:10px;}
.scalp-panel:not(.is-detail) .scalp-target-grid{gap:8px;}
.scalp-panel:not(.is-detail) .scalp-target{min-height:132px;padding:11px;}
.scalp-panel:not(.is-detail) .scalp-target__caption{font-size:10px;}
.scalp-panel:not(.is-detail) .scalp-target__price{margin:11px 0 3px;font-size:25px;}
.scalp-panel:not(.is-detail) .scalp-target__price.is-empty{margin-top:15px;font-size:15px;}
.scalp-panel:not(.is-detail) .scalp-target__distance{font-size:10px;}
.scalp-panel:not(.is-detail) .scalp-target__secondary{margin-top:auto;padding-top:7px;gap:2px 7px;}
.scalp-panel:not(.is-detail) .scalp-target__secondary strong{font-size:14px;}
.scalp-panel:not(.is-detail) .scalp-target__secondary small{font-size:8px;}
.scalp-panel:not(.is-detail) .scalp-money,
.scalp-panel:not(.is-detail) .scalp-flow,
.scalp-panel:not(.is-detail) .scalp-warning,
.scalp-panel:not(.is-detail) .scalp-latest{margin-top:8px;padding:10px;}
.scalp-panel:not(.is-detail) .scalp-money__heading,
.scalp-panel:not(.is-detail) .scalp-flow__heading{margin-bottom:7px;}
.scalp-panel:not(.is-detail) .scalp-money__heading h3,
.scalp-panel:not(.is-detail) .scalp-flow__heading h3,
.scalp-panel:not(.is-detail) .scalp-warning__heading h3{font-size:10px;}
.scalp-panel:not(.is-detail) .scalp-money__grid{grid-template-columns:1fr 1fr 1.25fr;gap:5px;}
.scalp-panel:not(.is-detail) .scalp-money__currency,
.scalp-panel:not(.is-detail) .scalp-money__pair{grid-column:auto;padding:7px;gap:3px;}
.scalp-panel:not(.is-detail) .scalp-money__currency strong,
.scalp-panel:not(.is-detail) .scalp-money__pair strong{font-size:11px;}
.scalp-panel:not(.is-detail) .scalp-flow__grid{grid-template-columns:repeat(6,1fr);gap:4px;}
.scalp-panel:not(.is-detail) .scalp-flow__item{gap:2px;padding:5px 2px;}
.scalp-panel:not(.is-detail) .scalp-flow__item b,
.scalp-panel:not(.is-detail) .scalp-flow__item strong{font-size:8px;}
.scalp-panel:not(.is-detail) .scalp-warning__heading{margin-bottom:0;}
.scalp-panel:not(.is-detail) .scalp-warning__item:not(.is-red):not(.is-green){display:none;}
.scalp-panel:not(.is-detail) .scalp-warning__grid{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:6px;}
.scalp-panel:not(.is-detail) .scalp-warning__item{padding:5px 3px;}
.scalp-panel:not(.is-detail) .scalp-latest>div{margin-bottom:7px;font-size:10px;}
.scalp-panel:not(.is-detail) .scalp-latest dl{grid-template-columns:1.25fr 1fr 1.25fr;gap:5px;}
.scalp-panel:not(.is-detail) .scalp-latest dl div{padding:6px;}
.scalp-panel:not(.is-detail) .scalp-latest dt{font-size:8px;margin-bottom:3px;}
.scalp-panel:not(.is-detail) .scalp-latest dd{font-size:10px;}
.scalp-panel.is-mobile-viewport:not(.is-detail) .scalp-target-grid{grid-template-columns:1fr 1fr;}
.scalp-panel.is-mobile-viewport:not(.is-detail) .scalp-money__grid{grid-template-columns:1fr 1fr 1.25fr;}
.scalp-panel.is-mobile-viewport:not(.is-detail) .scalp-money__pair{grid-column:auto;}
@media(prefers-reduced-motion:reduce){
  .scalp-panel{transition:none;}
}

/* Font family: every chart-related text element */
.daily-panel,
.daily-panel *,
.outlook-panel,
.outlook-panel *,
.calendar-panel,
.calendar-panel *,
#daily-chart,
#daily-chart *,
#cumulative-chart,
#cumulative-chart *,
#outlook-chart,
#outlook-chart *,
.cumulative-kpis,
.cumulative-kpis *,
.outlook-kpis,
.outlook-kpis *,
.horizon-tabs,
.horizon-tabs *{font-family:"Russo One","Noto Sans JP",sans-serif !important;
  font-style:italic !important;
  font-synthesis:style !important;
  -webkit-font-smoothing:antialiased !important;
  text-rendering:optimizeLegibility !important;}

/* Panel titles */
.daily-panel::before,
.outlook-panel::before,
.outlook-panel::after{font-size:16px !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.03em !important;}

/* Chart section headings and tabs */
#daily-chart .daily-range-title,
#outlook-chart .region-caption,
#outlook-chart .region-caption.forecast,
.horizon-tabs button{
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.02em !important;}

/* Every graph axis, date and category label */
#daily-chart .axis-y-label,
#daily-chart .daily-role-label,
#daily-chart .daily-date-label,
#cumulative-chart .axis-y-label,
#cumulative-chart .axis-x-caption,
#cumulative-chart .axis-x-label,
#outlook-chart .outlook-y-label,
#outlook-chart .label{
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.01em !important;}

/* Annotations drawn inside graphs */
#daily-chart .max-label,
#cumulative-chart .chart-end-label,
#outlook-chart .forecast-value{
  font-weight:400 !important;
  line-height:1 !important;}

/* KPI headings */
.cumulative-kpis b,
.outlook-kpis b{font-size:13px !important;
  font-weight:400 !important;
  line-height:1.05 !important;
  letter-spacing:.02em !important;}

/* KPI values */
.cumulative-kpis strong,
.outlook-kpis strong{font-size:15px !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.01em !important;}

/* Spacing only; no additional font declarations elsewhere */
.cumulative-kpis b{min-height:15px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;}

.cumulative-kpis strong{display:block !important;
  margin-top:4px !important;}

.outlook-kpis b{min-height:24px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;}

.horizon-tabs button{min-width:64px !important;
  height:26px !important;
  padding:0 13px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;}

/* v237: larger type and BBSL visual identity */
.scalp-panel{
  background:
    linear-gradient(rgba(0,229,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,31,130,.018) 1px,transparent 1px),
    radial-gradient(circle at 0 0,rgba(0,204,255,.11),transparent 34%),
    radial-gradient(circle at 100% 0,rgba(255,25,127,.10),transparent 38%),
    #050b18;
  background-size:22px 22px,22px 22px,auto,auto,auto;
  box-shadow:0 0 0 1px rgba(52,215,255,.18),0 18px 70px rgba(0,0,0,.72),-9px 0 34px rgba(0,194,255,.07),9px 0 34px rgba(255,32,132,.07);
}
.scalp-panel::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,#18d7ff 0 46%,#7853ff 50%,#ff2783 54% 100%);
  box-shadow:0 0 13px rgba(51,214,255,.45);
  pointer-events:none;
}
.scalp-panel__eyebrow{color:#61eaff;text-shadow:0 0 9px rgba(40,211,255,.42);}
.scalp-panel__header h2{
  font-size:23px;
  letter-spacing:.11em;
  background:linear-gradient(90deg,#f2ffff 0 56%,#5deaff 72%,#ff5caa 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 0 18px rgba(58,213,255,.16);
}
.scalp-panel__decision{padding:12px 14px;font-size:14px;line-height:1.45;border-left-width:4px;box-shadow:inset 0 0 22px rgba(48,192,232,.045);}
.scalp-panel__decision.is-long{background:linear-gradient(90deg,rgba(17,113,94,.30),rgba(7,25,36,.68));text-shadow:0 0 9px rgba(67,240,194,.28);}
.scalp-panel__decision.is-short{background:linear-gradient(90deg,rgba(114,15,57,.34),rgba(18,15,35,.70));text-shadow:0 0 9px rgba(255,72,139,.28);}
.scalp-target{position:relative;overflow:hidden;}
.scalp-target::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;opacity:.65;}
.scalp-target--long{box-shadow:inset 0 0 25px rgba(29,203,244,.045);}
.scalp-target--long::after{background:linear-gradient(90deg,#1edcff,transparent);}
.scalp-target--short{box-shadow:inset 0 0 25px rgba(255,42,132,.05);}
.scalp-target--short::after{background:linear-gradient(90deg,transparent,#ff3288);}
.scalp-target__caption{font-size:13px;}
.scalp-target__price{font-size:35px;text-shadow:0 0 13px rgba(219,251,255,.17);}
.scalp-target__distance{font-size:14px;font-weight:700;}
.scalp-target__secondary span{font-size:11px;}
.scalp-target__secondary strong{font-size:19px;}
.scalp-target__secondary small{font-size:11px;line-height:1.35;}
.scalp-target-guide{font-size:11px;line-height:1.4;}
.scalp-money__heading h3,.scalp-flow__heading h3,.scalp-warning__heading h3{font-size:14px;}
#scalp-money-bias,#scalp-flow-summary,#scalp-warning-summary{font-size:12px;}
.scalp-money__currency span,.scalp-money__pair span{font-size:11px;}
.scalp-money__currency strong,.scalp-money__pair strong{font-size:15px;}
.scalp-money__currency small,.scalp-money__pair small{font-size:10px;line-height:1.35;}
.scalp-flow__item b,.scalp-flow__item strong{font-size:11px;}
.scalp-warning__item{font-size:11px;}
.scalp-latest>div{font-size:13px;}
.scalp-latest dt{font-size:10px;}
.scalp-latest dd{font-size:12px;}
.scalp-panel:not(.is-detail) .scalp-panel__eyebrow{font-size:10px;}
.scalp-panel:not(.is-detail) .scalp-panel__header h2{font-size:19px;}
.scalp-panel:not(.is-detail) .scalp-panel__decision{font-size:13px;padding:10px 12px;}
.scalp-panel:not(.is-detail) .scalp-target__caption{font-size:11px;}
.scalp-panel:not(.is-detail) .scalp-target__price{font-size:29px;}
.scalp-panel:not(.is-detail) .scalp-target__price.is-empty{font-size:16px;}
.scalp-panel:not(.is-detail) .scalp-target__distance{font-size:11px;}
.scalp-panel:not(.is-detail) .scalp-target__secondary strong{font-size:16px;}
.scalp-panel:not(.is-detail) .scalp-target__secondary small{font-size:9px;}
.scalp-panel:not(.is-detail) .scalp-target-guide{font-size:9px;}
.scalp-panel:not(.is-detail) .scalp-money__heading h3,
.scalp-panel:not(.is-detail) .scalp-flow__heading h3,
.scalp-panel:not(.is-detail) .scalp-warning__heading h3{font-size:11px;}
.scalp-panel:not(.is-detail) .scalp-money__currency strong,
.scalp-panel:not(.is-detail) .scalp-money__pair strong{font-size:12px;}
.scalp-panel:not(.is-detail) .scalp-flow__item b,
.scalp-panel:not(.is-detail) .scalp-flow__item strong{font-size:9px;}

/* v244: white-forward labels and a 10px minimum for compact supporting text */
.scalp-panel:not(.is-detail) .scalp-panel__eyebrow{font-size:11px;}
.scalp-panel:not(.is-detail) .scalp-panel__market span{font-size:11px;}
.scalp-target__price.is-empty{color:#dceef4;}
.scalp-target__distance{color:#f1fbff;}
.scalp-target__secondary span,
.scalp-target__secondary small,
.scalp-target-guide,
.scalp-latest>div>span,
.scalp-latest dt,
#scalp-wave-message,
.scalp-wave__stats b,
.scalp-wave__stats small,
.scalp-money__currency span,
.scalp-money__pair span,
.scalp-money__currency small,
.scalp-money__pair small,
.scalp-flow__item b,
.scalp-flow__item strong,
.scalp-flow__note,
#scalp-money-bias,
#scalp-flow-summary{color:#d8eaf0;}
.scalp-target-guide{font-size:11px;}
.scalp-panel:not(.is-detail) .scalp-target__secondary span{font-size:11px;}
.scalp-panel:not(.is-detail) .scalp-target__secondary small{font-size:10px;color:#d2e6ec;}
.scalp-panel:not(.is-detail) .scalp-target-guide{font-size:10px;color:#cfe4ea;}
.scalp-panel:not(.is-detail) .scalp-latest>div{font-size:13px;}
.scalp-panel:not(.is-detail) .scalp-latest>div>span{font-size:12px;color:#e8f7fb;}
.scalp-panel:not(.is-detail) .scalp-latest dt{font-size:10px;color:#cfe4ea;}
.scalp-panel:not(.is-detail) .scalp-latest dd{font-size:12px;color:#fff;}
.scalp-panel:not(.is-detail) #scalp-wave-message{font-size:11px;color:#e3f1f5;}
.scalp-panel:not(.is-detail) .scalp-wave__meter{font-size:10px;color:#fff;}
.scalp-panel:not(.is-detail) .scalp-wave__stats b{font-size:10px;color:#d8eaf0;}
.scalp-panel:not(.is-detail) .scalp-wave__stats small{font-size:10px;color:#c8dde4;}
.scalp-panel:not(.is-detail) .scalp-money__currency span,
.scalp-panel:not(.is-detail) .scalp-money__pair span{font-size:11px;color:#e1f0f4;}
.scalp-panel:not(.is-detail) .scalp-money__currency small,
.scalp-panel:not(.is-detail) .scalp-money__pair small{font-size:10px;color:#cfe2e8;}
.scalp-panel:not(.is-detail) .scalp-flow__item b,
.scalp-panel:not(.is-detail) .scalp-flow__item strong{font-size:10px;color:#e0eff3;}
.scalp-panel:not(.is-detail) #scalp-money-bias,
.scalp-panel:not(.is-detail) #scalp-flow-summary{font-size:12px;color:#dcecf1;}
.scalp-panel:not(.is-detail) #scalp-money-bias.is-up,
.scalp-panel:not(.is-detail) #scalp-flow-summary.is-uptrend,
.scalp-panel:not(.is-detail) .scalp-flow__item.is-up strong{color:#4be2ff;}
.scalp-panel:not(.is-detail) #scalp-money-bias.is-down,
.scalp-panel:not(.is-detail) #scalp-flow-summary.is-downtrend,
.scalp-panel:not(.is-detail) .scalp-flow__item.is-down strong{color:#ff6f9f;}

/* v246: remove desktop scrollbar by reclaiming spacing, not shrinking type */
.scalp-panel{
  top:4px;
  height:min(900px,calc(100dvh - 8px));
  max-height:calc(100dvh - 8px);
}
.scalp-panel:not(.is-detail){padding:12px;}
.scalp-panel:not(.is-detail) .scalp-panel__header{padding-bottom:7px;}
.scalp-panel:not(.is-detail) .scalp-panel__market{padding:7px 2px 6px;}
.scalp-panel:not(.is-detail) .scalp-panel__decision{margin-top:4px;padding:8px 11px;}
.scalp-panel:not(.is-detail) .scalp-target{min-height:125px;padding:9px;}
.scalp-panel:not(.is-detail) .scalp-target__price{margin:7px 0 3px;}
.scalp-panel:not(.is-detail) .scalp-target__price.is-empty{margin-top:10px;}
.scalp-panel:not(.is-detail) .scalp-target__secondary{padding-top:5px;}
.scalp-panel:not(.is-detail) .scalp-target-guide{margin-top:3px;}
.scalp-panel:not(.is-detail) .scalp-money,
.scalp-panel:not(.is-detail) .scalp-flow,
.scalp-panel:not(.is-detail) .scalp-warning,
.scalp-panel:not(.is-detail) .scalp-latest{margin-top:6px;padding:8px;}
.scalp-panel:not(.is-detail) .scalp-money__heading,
.scalp-panel:not(.is-detail) .scalp-flow__heading{margin-bottom:5px;}
.scalp-panel:not(.is-detail) .scalp-money__currency,
.scalp-panel:not(.is-detail) .scalp-money__pair{padding:6px;}
.scalp-panel:not(.is-detail) .scalp-flow__item{padding:4px 2px;}
.scalp-panel:not(.is-detail) .scalp-warning__grid{margin-top:4px;}
.scalp-panel:not(.is-detail) .scalp-warning__item{padding:4px 3px;}
.scalp-panel:not(.is-detail) .scalp-latest>div{margin-bottom:5px;}
.scalp-panel:not(.is-detail) .scalp-latest dl div{padding:5px;}
.scalp-panel:not(.is-detail) .scalp-wave{margin-top:6px;padding:8px;}
.scalp-panel:not(.is-detail) #scalp-wave-message{margin:3px 0 5px;}
.scalp-panel:not(.is-detail) .scalp-wave__meter{margin-bottom:5px;}
.scalp-panel:not(.is-detail) .scalp-wave__stats span{padding:5px;}

/* v266: live upper-timeframe countdown and larger warning typography */
.scalp-warning__heading h3{font-size:15px;}
#scalp-warning-summary{font-size:13px;font-weight:800;}
.scalp-warning__item b{font-size:13px;line-height:1.2;}
.scalp-warning__item small{
  margin-top:5px;
  color:#f4fbff;
  font-size:12px;
  font-weight:800;
  line-height:1.15;
  opacity:1;
  font-variant-numeric:tabular-nums;
}
.scalp-panel:not(.is-detail) .scalp-warning__heading h3{font-size:14px;}
.scalp-panel:not(.is-detail) #scalp-warning-summary{font-size:12px;}
.scalp-panel:not(.is-detail) .scalp-warning__item{padding:7px 4px;}
.scalp-panel:not(.is-detail) .scalp-warning__item b{font-size:13px;}
.scalp-panel:not(.is-detail) .scalp-warning__item small{font-size:12px;}

/* v249: virtual paper-trade popup */
.sim-panel{position:fixed;z-index:3010;top:4px;left:18px;width:min(720px,calc(100vw - 36px));height:min(900px,calc(100dvh - 8px));max-height:calc(100dvh - 8px);padding:16px;box-sizing:border-box;overflow-y:auto;color:#effcff;background:radial-gradient(circle at 0 0,rgba(0,210,255,.12),transparent 34%),linear-gradient(150deg,#030b15,#090716);border:1px solid rgba(55,214,255,.62);box-shadow:0 18px 58px rgba(0,0,0,.78),0 0 22px rgba(0,204,255,.12);font-family:"Oxanium","Noto Sans JP",sans-serif;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px) scale(.985);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;resize:both;}
.sim-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .18s ease,transform .18s ease;}
.sim-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid rgba(61,205,238,.32);cursor:move;user-select:none;touch-action:none;}
.sim-panel__header p{margin:0 0 3px;color:#78ebff;font-size:11px;letter-spacing:.13em;}
.sim-panel__header h2{margin:0;color:#fff;font-size:21px;letter-spacing:.09em;}
.sim-panel__header button{width:38px;height:38px;padding:0;color:#75edff;background:#071422;border:1px solid rgba(71,220,255,.5);font:400 24px/34px "Oxanium",sans-serif;cursor:pointer;}
.sim-panel__status{display:flex;align-items:center;gap:8px;padding:11px 2px 8px;color:#5df1cc;font-size:12px;font-weight:800;letter-spacing:.07em;}
.sim-panel__status i{width:7px;height:7px;border-radius:50%;background:#50f2ca;box-shadow:0 0 9px #36efc0;}
.sim-panel__status strong{margin-left:auto;color:#fff;font-size:15px;}
.sim-panel__status button{margin-left:auto;min-width:112px;padding:7px 9px;color:#b1c5cd;background:rgba(4,16,29,.88);border:1px solid rgba(81,137,156,.48);font:800 10px/1 "Oxanium",sans-serif;letter-spacing:.05em;cursor:pointer;}
.sim-panel__status button.is-on{color:#5df1cc;border-color:rgba(78,239,197,.68);box-shadow:0 0 9px rgba(54,239,192,.15);}
.sim-panel__status button.is-alert{color:#fff;background:rgba(90,36,142,.72);border-color:#c98cff;box-shadow:0 0 13px rgba(180,102,255,.42);}
.sim-panel__status button+strong{margin-left:0;}
.sim-target-bias{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;margin:2px 0 9px;padding:10px 12px;background:linear-gradient(110deg,rgba(0,101,135,.24),rgba(85,26,124,.27));border:1px solid rgba(92,203,232,.40);}
.sim-target-bias span{grid-row:1/3;color:#99b7c2;font-size:10px;font-weight:800;letter-spacing:.1em;}
.sim-target-bias strong{color:#fff;font-size:16px;line-height:1.1;}
.sim-target-bias small{color:#c2dce4;font-size:11px;font-weight:700;}
.sim-target-bias.is-long{border-color:rgba(53,217,255,.66);box-shadow:inset 3px 0 #38dfff;}.sim-target-bias.is-long strong{color:#58eaff;}
.sim-target-bias.is-short{border-color:rgba(255,63,143,.66);box-shadow:inset 3px 0 #ff4f91;}.sim-target-bias.is-short strong{color:#ff6ba3;}
.sim-mode{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:4px 0 9px;}
.sim-mode-button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 5px;color:#b8ccd3;background:rgba(5,18,31,.78);border:1px solid rgba(83,132,150,.34);font:800 12px/1.15 "Oxanium",sans-serif;letter-spacing:.05em;cursor:pointer;}
.sim-mode-button small{font-size:10px;color:#99b2bc;}
.sim-mode-button.is-active{color:#fff;border-color:#55def9;background:linear-gradient(110deg,rgba(0,100,139,.40),rgba(94,36,145,.38));box-shadow:0 0 10px rgba(60,211,255,.13);}
.sim-mode-button.is-active small{color:#60edcf;}
.sim-entry-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 9px;}
.sim-entry-guides[data-mode="LONG"],.sim-entry-guides[data-mode="SHORT"]{grid-template-columns:1fr;}
.sim-entry-guide{min-width:0;padding:11px;background:linear-gradient(125deg,rgba(3,18,31,.94),rgba(18,7,31,.91));border:1px solid rgba(112,77,188,.48);box-shadow:inset 0 0 24px rgba(72,52,151,.07);}
.sim-entry-guide.is-long{border-color:rgba(52,213,255,.58);box-shadow:inset 0 0 28px rgba(18,178,226,.08),0 0 10px rgba(37,200,245,.06);}
.sim-entry-guide.is-short{border-color:rgba(255,54,139,.58);box-shadow:inset 0 0 28px rgba(225,21,112,.08),0 0 10px rgba(255,42,133,.06);}
.sim-entry-guide__heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;}
.sim-entry-guide__heading span{color:#b5cad2;font-size:11px;font-weight:800;letter-spacing:.12em;}
.sim-entry-guide__heading strong{color:#fff;font-size:13px;text-align:right;}
.sim-entry-guide.is-long .sim-entry-guide__heading strong{color:#55eaff;}.sim-entry-guide.is-short .sim-entry-guide__heading strong{color:#ff659d;}
.sim-entry-steps{display:grid;grid-template-columns:1fr 10px 1fr 10px 1fr 10px 1fr;align-items:stretch;gap:3px;}
.sim-entry-steps--ultra{grid-template-columns:1fr 10px 1fr 10px 1fr;}
.sim-entry-steps>i{align-self:center;color:#5f547f;font:800 17px/1 "Oxanium",sans-serif;text-align:center;}
.sim-entry-step{display:flex;align-items:center;gap:6px;min-width:0;padding:8px 6px;color:#99b2bc;background:rgba(6,20,32,.76);border:1px solid rgba(81,124,140,.34);}
.sim-entry-step>b{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;color:#a3bac3;border:1px solid rgba(137,176,190,.58);border-radius:50%;font-size:10px;}
.sim-entry-step>span{display:flex;min-width:0;flex-direction:column;gap:3px;font-size:10px;font-weight:800;line-height:1.14;}
.sim-entry-step small{overflow:hidden;color:#91aab4;font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap;}
.sim-entry-step.is-done{color:#70f0d0;border-color:rgba(74,232,194,.42);background:rgba(10,75,70,.22);}.sim-entry-step.is-done>b{color:#051811;background:#64e9c9;border-color:#64e9c9;}
.sim-entry-step.is-active{color:#fff;border-color:#b778ff;background:linear-gradient(120deg,rgba(65,28,107,.68),rgba(15,31,54,.76));box-shadow:0 0 11px rgba(174,91,255,.19);}.sim-entry-step.is-active>b{color:#fff;border-color:#cd91ff;box-shadow:0 0 8px rgba(191,106,255,.42);}.sim-entry-step.is-active small{color:#d6b7ff;}
.sim-entry-guide.is-long .sim-entry-step.is-active{border-color:#48dfff;background:linear-gradient(120deg,rgba(0,100,135,.48),rgba(22,25,58,.75));}.sim-entry-guide.is-short .sim-entry-step.is-active{border-color:#ff5598;background:linear-gradient(120deg,rgba(105,12,58,.55),rgba(28,17,49,.76));}
.sim-entry-rates{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;}
.sim-entry-rate{display:flex;min-width:0;flex-direction:column;gap:4px;padding:9px;background:rgba(4,18,30,.82);border:1px solid rgba(81,124,140,.34);}
.sim-entry-rate span{color:#b5cad2;font-size:10px;font-weight:800;}.sim-entry-rate strong{overflow:hidden;color:#fff;font-size:19px;line-height:1.08;text-overflow:ellipsis;white-space:nowrap;}.sim-entry-rate small{overflow:hidden;color:#9cb4bd;font-size:10px;font-weight:600;text-overflow:ellipsis;white-space:nowrap;}
.sim-entry-rate--entry{border-color:rgba(174,103,255,.40);}.sim-entry-rate--target{border-color:rgba(52,216,255,.42);}.sim-entry-rate--distance{border-color:rgba(83,239,199,.42);}.sim-entry-rate--target strong{color:#5de8ff;}.sim-entry-rate--distance strong{color:#61efc9;}
.sim-position-card.is-waiting{border-color:rgba(154,96,235,.62);background:linear-gradient(120deg,rgba(63,25,102,.34),rgba(7,19,32,.72));}
.sim-position-card.is-waiting .sim-position-card__top b{color:#ca9cff;font-size:14px;}
.sim-target-grid b{color:#c495ff;}
.sim-position,.sim-stats,.sim-history{margin-top:8px;padding:11px;border:1px solid rgba(74,146,170,.36);background:rgba(3,16,28,.82);}
.sim-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.sim-section-title h3{margin:0;color:#f4fdff;font-size:13px;letter-spacing:.09em;}
.sim-section-title span{color:#60eaff;font-size:11px;}
.sim-empty{margin:14px 0;color:#bed0d6;text-align:center;font-size:13px;}
.sim-position-card{padding:11px;border:1px solid rgba(64,222,255,.54);background:linear-gradient(120deg,rgba(0,83,112,.28),rgba(7,19,32,.72));}
.sim-position-card.is-short{border-color:rgba(255,55,137,.58);background:linear-gradient(120deg,rgba(98,9,48,.34),rgba(17,13,31,.76));}
.sim-position-card__top,.sim-position-card__prices{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.sim-position-card__top b{font-size:18px;color:#55eaff;}.sim-position-card.is-short .sim-position-card__top b{color:#ff659d;}
.sim-position-card__top strong{font-size:19px;}.sim-position-card__prices{margin-top:9px;padding-top:8px;border-top:1px solid rgba(120,180,196,.2);font-size:10px;color:#d9edf3;}
.sim-position-card__meta{margin-top:7px;color:#c2d6dc;font-size:11px;}
.sim-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.sim-stats-grid>div{display:flex;flex-direction:column;gap:4px;padding:9px 7px;background:rgba(7,25,38,.78);border:1px solid rgba(83,132,150,.3);}
.sim-stats-grid b{font-size:11px;color:#75dff4;}.sim-stats-grid strong{font-size:14px;color:#fff;}.sim-stats-grid small{font-size:12px;color:#5df1cc;}
.sim-history-list{display:flex;flex-direction:column;gap:5px;}
.sim-history-row{display:grid;grid-template-columns:58px 68px 1fr auto;gap:8px;align-items:center;padding:8px;background:rgba(7,23,35,.72);border-left:2px solid #4bcfea;font-size:11px;}
.sim-history-row.is-short{border-left-color:#ff4f90}.sim-history-row.is-skipped{opacity:.78;border-left-color:#8a72b8;}
.sim-history-row b{color:#fff}.sim-history-row span{color:#cce3e9}.sim-history-row strong{color:#63edc8}.sim-history-row.is-loss strong{color:#ff6d9d;}
@media (max-width:680px){.sim-panel{top:8px;left:8px;width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:none;resize:none;padding:14px}.sim-panel__header h2{font-size:20px}.sim-target-bias{grid-template-columns:1fr;gap:4px}.sim-target-bias span{grid-row:auto}.sim-target-bias strong{font-size:15px}.sim-entry-guides{grid-template-columns:1fr}.sim-history-row{grid-template-columns:52px 62px 1fr auto;gap:6px;font-size:10px}.sim-stats-grid strong{font-size:13px}.sim-entry-step{padding:7px 4px}.sim-entry-step>b{display:none}.sim-entry-step>span{font-size:10px}.sim-entry-step small{font-size:9px}.sim-entry-rate strong{font-size:17px}.sim-entry-rate span,.sim-entry-rate small{font-size:10px}}

/* v283: compact positions, separate history and OBS stream mode */
.sim-stream-open{padding:7px 9px;color:#79eaff;background:rgba(4,16,29,.88);border:1px solid rgba(71,220,255,.46);font-size:10px;font-weight:800;letter-spacing:.07em;text-decoration:none;white-space:nowrap;}
.sim-stream-clock{display:none;margin-left:auto;color:#72e9ff;font-size:14px;font-weight:800;letter-spacing:.08em;}
.sim-position-summary{display:grid;grid-template-columns:repeat(4,auto) 1fr;gap:6px;align-items:center;margin-bottom:6px;}
.sim-position-summary>span{padding:6px 8px;color:#91aeb8;background:rgba(4,17,29,.82);border:1px solid rgba(77,132,151,.28);font-size:9px;font-weight:800;white-space:nowrap;}
.sim-position-summary>span b{margin-left:4px;color:#ecfbff;font-size:11px;}
.sim-position-summary label{display:flex;align-items:center;justify-content:flex-end;gap:6px;color:#8ea8b2;font-size:9px;font-weight:800;}
.sim-position-summary select,.sim-history-toolbar select{padding:5px 24px 5px 7px;color:#dffaff;background:#071522;border:1px solid rgba(75,181,209,.42);font:700 10px/1.2 "Oxanium","Noto Sans JP",sans-serif;}
.sim-position-head,.sim-position-row{display:grid;grid-template-columns:72px minmax(172px,1.4fr) 88px 66px 76px;gap:8px;align-items:center;}
.sim-position-head{padding:5px 9px;color:#73929e;background:rgba(2,12,22,.92);border:1px solid rgba(66,124,144,.25);font-size:8px;font-weight:800;letter-spacing:.06em;}
.sim-position-list{display:flex;flex-direction:column;max-height:310px;overflow-y:auto;scrollbar-color:#2a99b7 #06111d;scrollbar-width:thin;}
.sim-position-card{padding:0;border-width:0 1px 1px;}
.sim-position-row{width:100%;min-height:42px;padding:7px 9px;color:#dff6fb;background:transparent;border:0;font:700 10px/1.2 "Oxanium","Noto Sans JP",sans-serif;text-align:left;cursor:pointer;}
.sim-position-row:hover{background:rgba(61,210,245,.07);}
.sim-position-row>b{display:flex;align-items:center;gap:4px;color:#55eaff;font-size:12px;}.sim-position-card.is-short .sim-position-row>b{color:#ff659d;}
.sim-position-row>b small{color:#8da8b2;font-size:8px;}.sim-position-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sim-position-row span i{color:#6b8390;font-style:normal;}.sim-position-row strong{color:#61efc9;font-size:12px;text-align:right;}.sim-position-row strong.is-negative{color:#ff6d9d;}
.sim-position-detail{display:flex;flex-wrap:wrap;gap:6px;padding:7px 9px 9px;color:#a8c2cb;background:rgba(3,12,23,.82);border-top:1px solid rgba(80,148,168,.2);font-size:9px;}
.sim-position-detail span{padding:3px 6px;background:rgba(20,36,52,.72);}.sim-position-page{min-height:13px;margin-top:4px;color:#6ee8ff;font-size:9px;font-weight:800;text-align:right;letter-spacing:.08em;}
.sim-actions{display:flex;align-items:center;gap:10px;margin-top:8px;padding:8px;border:1px solid rgba(74,146,170,.36);background:rgba(3,16,28,.82);}
.sim-actions button{padding:8px 12px;color:#64eaff;background:linear-gradient(110deg,rgba(0,91,126,.35),rgba(74,31,119,.35));border:1px solid rgba(73,210,244,.52);font:800 11px/1 "Oxanium",sans-serif;letter-spacing:.07em;cursor:pointer;}.sim-actions button span{color:#fff;}.sim-actions small{color:#8ba6b0;font-size:9px;}
.sim-stream-ticker{display:none;}
.sim-history-dialog{width:min(920px,calc(100vw - 32px));height:min(720px,calc(100dvh - 32px));padding:0;color:#effcff;background:#040d18;border:1px solid rgba(55,214,255,.66);box-shadow:0 24px 80px rgba(0,0,0,.84),0 0 28px rgba(0,204,255,.15);font-family:"Oxanium","Noto Sans JP",sans-serif;}
.sim-history-dialog::backdrop{background:rgba(0,4,10,.82);backdrop-filter:blur(5px);}
.sim-history-dialog__inner{display:grid;grid-template-rows:auto auto auto 1fr;height:100%;padding:16px;box-sizing:border-box;}
.sim-history-dialog header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid rgba(61,205,238,.32);}.sim-history-dialog header p{margin:0 0 3px;color:#78ebff;font-size:10px;letter-spacing:.13em;}.sim-history-dialog header h2{margin:0;font-size:22px;letter-spacing:.08em;}.sim-history-dialog header button{width:38px;height:38px;color:#75edff;background:#071422;border:1px solid rgba(71,220,255,.5);font:400 24px/34px "Oxanium",sans-serif;cursor:pointer;}
.sim-history-toolbar{display:flex;align-items:end;gap:9px;padding:10px 0;}.sim-history-toolbar label{display:flex;flex-direction:column;gap:4px;color:#8ea8b2;font-size:9px;font-weight:800;}.sim-history-toolbar button{margin-left:auto;padding:9px 14px;color:#5df1cc;background:rgba(7,31,42,.9);border:1px solid rgba(78,239,197,.58);font:800 10px/1 "Oxanium",sans-serif;letter-spacing:.06em;cursor:pointer;}
.sim-history-head{display:grid;grid-template-columns:80px 72px 1fr 100px;gap:8px;padding:7px 10px;color:#7897a2;background:rgba(2,12,22,.92);border:1px solid rgba(66,124,144,.25);font-size:9px;font-weight:800;}.sim-history-dialog .sim-history-list{min-height:0;overflow-y:auto;}.sim-history-dialog .sim-history-row{grid-template-columns:80px 72px 1fr 100px;padding:10px;font-size:11px;}
@media (max-width:680px){.sim-stream-open{display:none}.sim-position-summary{grid-template-columns:repeat(2,1fr)}.sim-position-summary label{grid-column:1/3;justify-content:stretch}.sim-position-summary select{flex:1}.sim-position-head,.sim-position-row{grid-template-columns:58px minmax(126px,1fr) 68px 52px}.sim-position-head span:last-child,.sim-position-row>span:last-child{display:none}.sim-history-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px)}.sim-history-head,.sim-history-dialog .sim-history-row{grid-template-columns:54px 54px 1fr 72px;gap:5px}.sim-history-toolbar{align-items:stretch;flex-wrap:wrap}.sim-history-toolbar button{width:100%;margin-left:0}}

body.stream-mode{margin:0;overflow:hidden;background:#020812;}
body.stream-mode>main{display:none;}
body.stream-mode .sim-panel{inset:0;width:100vw;height:100vh;max-height:none;padding:12px 16px;overflow:hidden;resize:none;display:grid;align-content:stretch;grid-template-columns:minmax(620px,.98fr) minmax(760px,1.32fr);grid-template-rows:58px 38px 78px minmax(300px,1fr) 120px 120px 52px;gap:7px 12px;opacity:1;visibility:visible;pointer-events:auto;transform:none;border:0;}
body.stream-mode .sim-panel__header{grid-column:1/3;grid-row:1;cursor:default;padding-bottom:7px;}body.stream-mode .sim-panel__header h2{font-size:31px;line-height:1;}body.stream-mode .sim-panel__header p{margin-bottom:5px;font-size:13px;}body.stream-mode #sim-panel-close{display:none;}
body.stream-mode .sim-panel__status{grid-column:1/3;grid-row:2;padding:3px 2px;font-size:14px;}body.stream-mode .sim-panel__status button,body.stream-mode .sim-stream-open{display:none;}body.stream-mode .sim-stream-clock{display:inline;font-size:15px;}body.stream-mode .sim-panel__status strong{font-size:23px;}
body.stream-mode .sim-target-bias{grid-column:1/3;grid-row:3;margin:0;padding:10px 13px;}body.stream-mode .sim-target-bias span{font-size:11px;}body.stream-mode .sim-target-bias strong{font-size:23px;}body.stream-mode .sim-target-bias small{font-size:13px;}
body.stream-mode .sim-entry-guides{grid-column:1;grid-row:4;margin:0;grid-template-columns:repeat(2,minmax(0,1fr));}body.stream-mode .sim-entry-guide{padding:13px;}body.stream-mode .sim-entry-guide__heading span{font-size:12px;}body.stream-mode .sim-entry-guide__heading strong{font-size:15px;}body.stream-mode .sim-entry-step{padding:10px 7px;}body.stream-mode .sim-entry-step>span{font-size:12px;}body.stream-mode .sim-entry-step small{font-size:10px;}body.stream-mode .sim-entry-rate{padding:11px 9px;}body.stream-mode .sim-entry-rate span{font-size:11px;}body.stream-mode .sim-entry-rate strong{font-size:22px;}body.stream-mode .sim-entry-rate small{font-size:10px;}
body.stream-mode .sim-mode,body.stream-mode .sim-actions{display:none;}
body.stream-mode .sim-position{grid-column:2;grid-row:4/7;margin:0;min-height:0;padding:13px;}body.stream-mode .sim-position .sim-section-title h3{font-size:15px;}body.stream-mode .sim-position .sim-section-title span{font-size:12px;}body.stream-mode .sim-position-summary>span{padding:7px 9px;font-size:10px;}body.stream-mode .sim-position-summary>span b{font-size:13px;}body.stream-mode .sim-position-summary label{font-size:10px;}body.stream-mode .sim-position-summary select{font-size:11px;}body.stream-mode .sim-position-list{max-height:none;overflow:hidden;}body.stream-mode .sim-position-head{font-size:10px;}body.stream-mode .sim-position-row{min-height:52px;font-size:13px;}body.stream-mode .sim-position-row>b{font-size:14px;}body.stream-mode .sim-position-row>b small{font-size:9px;}body.stream-mode .sim-position-row strong{font-size:14px;}body.stream-mode .sim-position-head,body.stream-mode .sim-position-row{grid-template-columns:84px minmax(240px,1.5fr) 108px 78px 92px;}body.stream-mode .sim-position-detail{display:none;}body.stream-mode .sim-position-page{font-size:10px;}
body.stream-mode .sim-stats{grid-column:1;margin:0;padding:12px;}body.stream-mode .sim-stats:nth-of-type(2){grid-row:5;}body.stream-mode .sim-stats:nth-of-type(3){grid-row:6;}body.stream-mode .sim-stats .sim-section-title h3{font-size:15px;}body.stream-mode .sim-stats-grid>div{padding:12px;}body.stream-mode .sim-stats-grid b{font-size:12px;}body.stream-mode .sim-stats-grid strong{font-size:20px;}body.stream-mode .sim-stats-grid small{font-size:13px;}
body.stream-mode .sim-stream-ticker{grid-column:1/3;grid-row:7;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:16px;overflow:hidden;padding:8px 12px;border:1px solid rgba(74,146,170,.38);background:linear-gradient(90deg,rgba(0,73,101,.38),rgba(75,22,100,.28));}body.stream-mode .sim-stream-ticker>b{color:#70eaff;font-size:12px;letter-spacing:.1em;white-space:nowrap;}body.stream-mode #sim-stream-ticker-track{display:flex;gap:8px;min-width:0;overflow:hidden;}body.stream-mode #sim-stream-ticker-track span{flex:0 0 auto;padding:6px 10px;color:#66efca;background:rgba(3,18,30,.78);border-left:2px solid #3fcee9;font-size:11px;}body.stream-mode #sim-stream-ticker-track span.is-short{color:#ff7aa9;border-left-color:#ff4f90;}
body.stream-mode #sim-panel-error{position:fixed;left:24px;right:24px;bottom:74px;z-index:2;}

/* v285: broadcast dashboard — market, targets, all positions and ten decisions */
.sim-stream-dashboard{display:none;}
body.stream-mode .sim-panel{grid-template-columns:1fr;grid-template-rows:58px 38px minmax(0,1fr);padding:10px 14px;gap:6px;}
body.stream-mode .sim-panel>:not(.sim-panel__header):not(.sim-panel__status):not(.sim-stream-dashboard):not(#sim-panel-error){display:none;}
body.stream-mode .sim-panel__header{grid-column:1;grid-row:1;}
body.stream-mode .sim-panel__status{grid-column:1;grid-row:2;}
body.stream-mode .sim-stream-dashboard{grid-column:1;grid-row:3;display:grid;grid-template-columns:minmax(470px,1.05fr) minmax(570px,1.25fr) minmax(390px,.9fr);grid-template-rows:300px minmax(0,1fr);gap:8px;min-width:0;min-height:0;}
.sim-stream-card{min-width:0;min-height:0;padding:11px 12px;overflow:hidden;background:linear-gradient(135deg,rgba(3,18,31,.96),rgba(10,8,26,.94));border:1px solid rgba(63,186,218,.42);box-shadow:inset 0 0 25px rgba(49,184,222,.035);}
.sim-stream-card__title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.sim-stream-card__title h3{margin:0;color:#effcff;font-size:15px;letter-spacing:.09em;}.sim-stream-card__title>span,.sim-stream-card__title>strong{color:#66e9ff;font-size:11px;letter-spacing:.05em;}
.sim-stream-market{grid-column:1;grid-row:1;border-color:rgba(62,218,255,.56);}.sim-stream-targets{grid-column:2;grid-row:1;border-color:rgba(116,85,218,.58);}.sim-stream-events{grid-column:3;grid-row:1;border-color:rgba(255,67,145,.48);}.sim-stream-positions{grid-column:1/3;grid-row:2;border-color:rgba(57,210,244,.55);}.sim-stream-decisions{grid-column:3;grid-row:2;border-color:rgba(126,83,194,.52);}
.sim-stream-market__hero{display:grid;grid-template-columns:155px 1fr;gap:10px;align-items:stretch;margin-bottom:7px;}.sim-stream-market__hero>div{display:grid;grid-template-columns:auto auto;align-items:end;padding:7px 9px;background:rgba(0,112,146,.12);border:1px solid rgba(56,211,247,.38);}.sim-stream-market__hero small{grid-column:1/3;color:#70cfe2;font-size:9px;font-weight:800;}.sim-stream-market__hero strong{color:#fff;font-size:25px;line-height:1;}.sim-stream-market__hero span{color:#7fa4af;font-size:9px;text-align:right;}.sim-stream-market__hero p{display:flex;align-items:center;margin:0;padding:8px 11px;color:#ff72a6;background:rgba(101,15,55,.28);border:1px solid rgba(255,55,137,.55);font-size:12px;font-weight:800;line-height:1.35;}
.sim-stream-money{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:7px;}.sim-stream-money>div{display:flex;min-width:0;flex-direction:column;gap:2px;padding:6px 7px;background:rgba(5,25,38,.84);border:1px solid rgba(70,130,149,.3);}.sim-stream-money span{color:#819ba5;font-size:8px;font-weight:800;}.sim-stream-money strong{overflow:hidden;color:#eafcff;font-size:12px;text-overflow:ellipsis;white-space:nowrap;}.sim-stream-money small{overflow:hidden;color:#72e5ca;font-size:8px;text-overflow:ellipsis;white-space:nowrap;}
.sim-stream-subhead,.sim-stream-warning{display:flex;align-items:center;gap:8px;}.sim-stream-subhead b,.sim-stream-warning>b{color:#a9c2ca;font-size:9px;letter-spacing:.07em;}.sim-stream-subhead strong{margin-left:auto;color:#66e9ff;font-size:10px;}.sim-stream-flow-frames{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:4px 0 7px;}.sim-stream-flow-frames span{display:flex;flex-direction:column;gap:2px;padding:5px 3px;text-align:center;background:rgba(7,22,35,.78);border:1px solid rgba(78,116,130,.3);}.sim-stream-flow-frames b{color:#91a9b2;font-size:8px;}.sim-stream-flow-frames strong{color:#cde0e5;font-size:8px;white-space:nowrap;}.sim-stream-flow-frames .is-up strong,.sim-stream-flow-frames .is-uptrend strong{color:#62efc7;}.sim-stream-flow-frames .is-down strong,.sim-stream-flow-frames .is-downtrend strong{color:#ff6c9d;}
.sim-stream-warning strong{margin-left:auto;color:#61efc9;font-size:10px;}.sim-stream-warning>div{display:flex;gap:4px;min-width:0;}.sim-stream-warning>div span{padding:4px 6px;font-size:8px;font-weight:800;white-space:nowrap;}.sim-stream-warning .is-red{color:#ff7aa9;background:rgba(92,12,48,.38);}.sim-stream-warning .is-green{color:#63efc9;background:rgba(4,70,60,.35);}.sim-stream-warning .is-clear{color:#61efc9;}
.sim-stream-target-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;}.sim-stream-target-grid article{padding:8px;background:rgba(4,18,31,.86);border:1px solid rgba(65,211,245,.52);}.sim-stream-target-grid article.is-short{border-color:rgba(255,61,142,.55);}.sim-stream-target-grid article>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;padding-bottom:5px;border-bottom:1px solid rgba(97,145,160,.22);}.sim-stream-target-grid header b{color:#55eaff;font-size:10px;}.sim-stream-target-grid .is-short header b{color:#ff659d;}.sim-stream-target-grid header span{color:#dcecf1;font-size:10px;font-weight:800;}.sim-stream-target-grid article>div{display:grid;grid-template-columns:1fr auto;gap:2px 6px;padding:3px 0;}.sim-stream-target-grid small{color:#8ba5ae;font-size:8px;font-weight:800;}.sim-stream-target-grid article>div strong{grid-column:1;color:#fff;font-size:20px;line-height:1;}.sim-stream-target-grid article>div span{grid-column:2;grid-row:1/3;align-self:center;color:#8ea8b2;font-size:8px;text-align:right;}.sim-stream-target-grid article>div+div{margin-top:4px;padding-top:6px;border-top:1px solid rgba(92,133,148,.2);}.sim-stream-target-grid article>div+div strong{font-size:15px;color:#68dff5;}.sim-stream-target-grid .is-short article>div+div strong{color:#ff78a8;}
.sim-stream-wave{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:5px;margin-top:7px;padding:7px 8px;background:linear-gradient(105deg,rgba(64,21,102,.38),rgba(5,28,41,.76));border:1px solid rgba(138,78,214,.48);}.sim-stream-wave>div{display:flex;align-items:center;justify-content:space-between;gap:6px;}.sim-stream-wave>div b{font-size:9px;color:#b5cad2;}.sim-stream-wave>div strong{font-size:10px;color:#cf9cff;}.sim-stream-wave p{display:none;}.sim-stream-wave>span{display:flex;flex-direction:column;color:#8fa9b2;font-size:8px;}.sim-stream-wave>span b{color:#ecfbff;font-size:10px;}
.sim-stream-event{padding:8px 9px;background:rgba(5,22,35,.85);border:1px solid rgba(79,135,153,.35);}.sim-stream-event+.sim-stream-event{margin-top:6px;}.sim-stream-event.is-target{border-left:3px solid #a65eff;}.sim-stream-event.is-entry{border-left:3px solid #4de7c1;}.sim-stream-event.is-fresh{animation:simStreamEventPulse 1.1s ease-in-out infinite alternate;}.sim-stream-event>small{color:#8ba6b0;font-size:8px;font-weight:800;letter-spacing:.06em;}.sim-stream-event>div{display:flex;align-items:baseline;justify-content:space-between;margin:3px 0;}.sim-stream-event b{color:#62eaff;font-size:11px;}.sim-stream-event strong{color:#fff;font-size:21px;}.sim-stream-event p{overflow:hidden;margin:0;color:#9bb5be;font-size:8px;text-overflow:ellipsis;white-space:nowrap;}.sim-stream-account{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin-top:7px;}.sim-stream-account span{display:flex;flex-direction:column;gap:2px;padding:6px 7px;color:#78a1ae;background:rgba(6,25,38,.78);border:1px solid rgba(71,122,140,.28);font-size:8px;font-weight:800;}.sim-stream-account strong{color:#f4fdff;font-size:12px;}.sim-stream-account span:nth-child(2) strong,.sim-stream-account span:nth-child(4) strong{color:#60efca;}
.sim-stream-position-summary{display:flex;align-items:center;gap:5px;margin-bottom:6px;}.sim-stream-position-summary span{padding:5px 8px;color:#86a4ae;background:rgba(5,23,36,.86);border:1px solid rgba(73,128,146,.3);font-size:8px;font-weight:800;}.sim-stream-position-summary b{margin-left:4px;color:#f2fdff;font-size:10px;}.sim-stream-position-summary small{margin-left:auto;color:#69e7ff;font-size:8px;font-weight:800;}
.sim-stream-position-list{display:grid;gap:3px;align-content:start;min-height:0;}.sim-stream-position-list[data-columns="1"]{grid-template-columns:1fr;}.sim-stream-position-list[data-columns="2"]{grid-template-columns:repeat(2,1fr);}.sim-stream-position-list[data-columns="3"]{grid-template-columns:repeat(3,1fr);}.sim-stream-position-list article{display:grid;grid-template-columns:45px minmax(125px,1fr) 75px 102px;gap:5px;align-items:center;min-height:29px;padding:3px 7px;background:rgba(3,20,32,.86);border:1px solid rgba(48,187,220,.36);}.sim-stream-position-list article.is-short{border-color:rgba(236,47,127,.38);}.sim-stream-position-list article>b{color:#56eaff;font-size:11px;}.sim-stream-position-list article.is-short>b{color:#ff659d;}.sim-stream-position-list article>b small{margin-left:3px;color:#829da7;font-size:7px;}.sim-stream-position-list article>span{color:#d9edf2;font-size:10px;font-weight:800;white-space:nowrap;}.sim-stream-position-list article>span i{margin:0 3px;color:#667f89;font-style:normal;}.sim-stream-position-list article>strong{color:#61efc9;font-size:10px;text-align:right;white-space:nowrap;}.sim-stream-position-list article>strong.is-negative{color:#ff6597;}.sim-stream-position-list article>small{overflow:hidden;color:#8ea8b1;font-size:8px;text-align:right;text-overflow:ellipsis;white-space:nowrap;}
.sim-stream-decision-head,.sim-stream-decision-list>div{display:grid;grid-template-columns:54px 48px minmax(0,1fr) 72px;gap:6px;align-items:center;}.sim-stream-decision-head{padding:5px 7px;color:#718e99;background:rgba(3,15,26,.92);border:1px solid rgba(72,119,137,.24);font-size:8px;font-weight:800;}.sim-stream-decision-list{display:flex;flex-direction:column;gap:3px;margin-top:3px;}.sim-stream-decision-list>div{min-height:43px;padding:4px 7px;background:rgba(5,22,34,.82);border-left:2px solid #4bcfea;font-size:8px;}.sim-stream-decision-list>div.is-short{border-left-color:#ff4f90;}.sim-stream-decision-list>div.is-skipped{border-left-color:#8a72b8;}.sim-stream-decision-list span{overflow:hidden;color:#b7ccd3;text-overflow:ellipsis;white-space:nowrap;}.sim-stream-decision-list b{color:#effcff;font-size:9px;}.sim-stream-decision-list strong{color:#62efca;font-size:9px;text-align:right;}.sim-stream-decision-list .is-skipped strong{color:#bc9be7;}
@keyframes simStreamEventPulse{from{box-shadow:inset 0 0 10px rgba(91,231,207,.06)}to{box-shadow:inset 0 0 18px rgba(91,231,207,.25),0 0 12px rgba(91,231,207,.14)}}
body.stream-mode .scalp-panel{display:none;}
.sim-stream-target-grid article.is-short>div+div strong{color:#ff78a8;}

.scalp-panel:not(.is-detail) .scalp-latest>div{font-size:11px;}
.scalp-panel:not(.is-detail) .scalp-latest dd{font-size:11px;}
@media (max-width:600px){
  .scalp-panel.is-mobile-viewport{padding:15px;}
  .scalp-panel.is-mobile-viewport .scalp-panel__header h2{font-size:21px;}
  .scalp-panel.is-mobile-viewport .scalp-panel__decision{font-size:13px;}
  .scalp-panel.is-mobile-viewport .scalp-target__price{font-size:30px;}
  .scalp-panel.is-mobile-viewport .scalp-target__caption{font-size:11px;}
  .scalp-panel.is-mobile-viewport .scalp-target__distance{font-size:11px;}
}

/* v238: unrecovered signal stack and multi-timeframe wave */
.scalp-wave{
  margin-top:10px;
  padding:13px;
  background:linear-gradient(135deg,rgba(6,20,32,.92),rgba(11,10,27,.90));
  border:1px solid rgba(76,143,164,.38);
  box-shadow:inset 0 0 24px rgba(46,194,228,.035);
}
.scalp-wave__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.scalp-wave__heading h3{margin:0;color:#eefdff;font-size:12px;letter-spacing:.09em;}
#scalp-wave-label{color:#8ea8b2;font-size:12px;letter-spacing:.06em;text-align:right;}
#scalp-wave-message{margin:7px 0 10px;color:#89a6b0;font-size:11px;line-height:1.4;}
.scalp-wave__stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;}
.scalp-wave__stats span{display:flex;flex-direction:column;gap:3px;padding:8px;background:rgba(8,25,38,.72);border:1px solid rgba(74,119,136,.25);}
.scalp-wave__stats b{color:#7d9ba6;font-size:9px;letter-spacing:.06em;}
.scalp-wave__stats strong{color:#dffaff;font-size:14px;}
.scalp-wave__stats small{color:#718e98;font-size:9px;}
#scalp-wave-green{border-color:rgba(54,225,179,.28);}
#scalp-wave-green strong{color:#61efc6;}
#scalp-wave-red{border-color:rgba(255,56,131,.30);}
#scalp-wave-red strong{color:#ff6c9d;}
.scalp-wave__frames{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;}
.scalp-wave__frames span{padding:5px 8px;color:#809ba5;background:rgba(9,24,35,.7);border:1px solid rgba(78,116,130,.28);font-size:9px;}
.scalp-wave__frames span.is-green{color:#62efc7;border-color:rgba(54,225,179,.42);}
.scalp-wave__frames span.is-red{color:#ff6c9d;border-color:rgba(255,56,131,.44);}
.scalp-wave.is-buy-wave{border-color:rgba(53,237,187,.68);box-shadow:inset 0 0 30px rgba(27,181,139,.10),0 0 14px rgba(30,224,171,.08);}
.scalp-wave.is-buy-wave #scalp-wave-label{color:#64f3ca;text-shadow:0 0 8px rgba(61,238,194,.34);}
.scalp-wave.is-sell-wave{border-color:rgba(255,53,132,.70);box-shadow:inset 0 0 30px rgba(185,23,86,.11),0 0 14px rgba(255,35,119,.08);}
.scalp-wave.is-sell-wave #scalp-wave-label{color:#ff699c;text-shadow:0 0 8px rgba(255,63,137,.34);}
.scalp-wave.is-mixed{border-color:rgba(255,197,83,.52);}
.scalp-wave.is-mixed #scalp-wave-label{color:#ffd478;}
.scalp-panel:not(.is-detail) .scalp-wave{padding:10px;margin-top:8px;}
.scalp-panel:not(.is-detail) .scalp-wave__heading h3,
.scalp-panel:not(.is-detail) #scalp-wave-label{font-size:11px;}
.scalp-panel:not(.is-detail) #scalp-wave-message{margin:5px 0 7px;font-size:10px;}
.scalp-panel:not(.is-detail) .scalp-wave__stats span{padding:6px;}
.scalp-panel:not(.is-detail) .scalp-wave__stats strong{font-size:12px;}
@media (max-width:600px){
  .scalp-panel.is-mobile-viewport .scalp-wave__stats{grid-template-columns:1fr 1fr 1fr;}
  .scalp-panel.is-mobile-viewport #scalp-wave-message{font-size:10px;}
}

/* v239: ONE SHOT LAB / dashboard-matched cyan-purple-magenta system */
.scalp-panel{
  border-color:rgba(35,210,255,.62);
  background:
    radial-gradient(circle at 3% 6%,rgba(0,153,255,.14),transparent 30%),
    radial-gradient(circle at 52% 0,rgba(119,49,207,.11),transparent 36%),
    radial-gradient(circle at 98% 7%,rgba(255,20,124,.14),transparent 31%),
    linear-gradient(125deg,#020a14 0%,#050817 46%,#0c0515 100%);
  box-shadow:0 0 0 1px rgba(29,209,255,.15),0 18px 72px rgba(0,0,0,.78),-10px 0 38px rgba(0,146,255,.10),10px 0 38px rgba(255,16,123,.10);
}
.scalp-panel::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.18;
  pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(150,225,255,.035) 4px);
}
.scalp-panel__eyebrow{color:#6de8ff;letter-spacing:.13em;}
.scalp-panel__header h2{
  font-size:25px;
  font-style:italic;
  font-weight:900;
  letter-spacing:.13em;
  background:linear-gradient(90deg,#34dfff 0%,#b56cff 52%,#ff398b 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:drop-shadow(0 0 7px rgba(104,87,255,.26));
}
.scalp-panel__detail-toggle,.scalp-panel__close{background:rgba(3,14,27,.90);border-color:rgba(48,193,231,.55);}
.scalp-panel__decision{border:1px solid rgba(123,74,202,.44);border-left-width:4px;background:linear-gradient(90deg,rgba(18,18,48,.88),rgba(32,8,39,.74));}
.scalp-panel__decision.is-long{color:#54e9ff;border-color:rgba(42,211,255,.70);background:linear-gradient(90deg,rgba(0,78,112,.38),rgba(29,11,52,.75));text-shadow:0 0 10px rgba(40,212,255,.34);}
.scalp-panel__decision.is-short{color:#ff629f;border-color:rgba(255,42,132,.72);background:linear-gradient(90deg,rgba(43,11,58,.68),rgba(119,8,50,.36));text-shadow:0 0 10px rgba(255,45,133,.34);}
.scalp-target{background:linear-gradient(145deg,rgba(3,15,27,.92),rgba(8,8,24,.88));}
.scalp-target--long{border-color:rgba(31,203,255,.78);box-shadow:inset 0 0 30px rgba(0,171,255,.07),0 0 10px rgba(0,179,255,.055);}
.scalp-target--short{border-color:rgba(255,35,130,.78);box-shadow:inset 0 0 30px rgba(255,22,116,.07),0 0 10px rgba(255,26,123,.055);}
.scalp-target--long .scalp-target__caption{color:#49dcff;text-shadow:0 0 7px rgba(37,207,255,.28);}
.scalp-target--short .scalp-target__caption{color:#ff5a9c;text-shadow:0 0 7px rgba(255,43,132,.28);}
.scalp-target__price{color:#f5fbff;}
.scalp-money,.scalp-flow,.scalp-warning,.scalp-latest{
  background:linear-gradient(125deg,rgba(2,13,24,.74),rgba(13,6,25,.72));
  border-color:rgba(118,68,190,.30);
}
.scalp-money__heading h3,.scalp-flow__heading h3,.scalp-warning__heading h3{
  display:flex;
  align-items:center;
  gap:7px;
  font-style:italic;
}
.scalp-money__heading h3::before,.scalp-flow__heading h3::before,.scalp-warning__heading h3::before{
  content:"";
  width:10px;
  height:10px;
  flex:0 0 10px;
  border:2px solid #9e5cff;
  border-radius:50%;
  box-shadow:0 0 8px rgba(153,80,255,.62),inset 0 0 5px rgba(153,80,255,.45);
}
#scalp-money-bias.is-up,#scalp-flow-summary.is-uptrend{color:#43ddff;}
.scalp-money__currency.is-buy,.scalp-money__pair.is-up{border-color:rgba(34,204,255,.52);background:rgba(0,72,105,.28);}
.scalp-money__currency.is-buy strong,.scalp-money__pair.is-up strong{color:#4be2ff;}
.scalp-flow__item.is-up{border-color:rgba(36,205,255,.48);background:rgba(0,75,111,.28);}
.scalp-flow__item.is-up strong{color:#4be2ff;}
.scalp-flow__item.is-mixed{border-color:rgba(143,83,229,.36);background:rgba(68,26,104,.22);}
.scalp-wave{position:relative;overflow:hidden;border-color:rgba(137,71,214,.56);background:linear-gradient(100deg,rgba(0,62,91,.35),rgba(53,16,88,.46) 50%,rgba(91,8,47,.34));}
.scalp-wave::before{content:"";position:absolute;top:0;left:25%;right:25%;height:1px;background:#9f55ff;box-shadow:0 0 10px rgba(158,80,255,.72);}
.scalp-wave__heading h3{color:#d6b3ff;font-style:italic;letter-spacing:.10em;}
.scalp-wave.is-buy-wave{border-color:rgba(37,211,255,.72);box-shadow:inset 0 0 32px rgba(0,153,255,.09),0 0 15px rgba(28,199,255,.09);}
.scalp-wave.is-buy-wave #scalp-wave-label{color:#45e0ff;text-shadow:0 0 9px rgba(36,207,255,.46);}
.scalp-wave.is-sell-wave{border-color:rgba(255,40,132,.74);box-shadow:inset 0 0 32px rgba(255,17,113,.09),0 0 15px rgba(255,29,121,.09);}
.scalp-wave.is-sell-wave #scalp-wave-label{color:#ff5a9d;text-shadow:0 0 9px rgba(255,41,132,.46);}
.scalp-wave__meter{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin:3px 0 10px;color:#7f9ba6;font-size:9px;font-weight:800;letter-spacing:.12em;}
.scalp-wave__meter>i{position:relative;height:5px;border:1px solid rgba(131,84,205,.52);background:linear-gradient(90deg,#ff2d83 0%,#7139a8 48%,#25d9ff 100%);box-shadow:0 0 9px rgba(114,64,188,.32);}
.scalp-wave__meter>i>b{position:absolute;top:50%;left:50%;width:11px;height:11px;border:2px solid #f1faff;border-radius:50%;background:#7252b7;box-shadow:0 0 8px rgba(174,120,255,.8);transform:translate(-50%,-50%);transition:left .25s ease;}
.scalp-wave__meter.is-buy-wave>i>b{left:84%;background:#25d9ff;box-shadow:0 0 10px rgba(37,217,255,.95);}
.scalp-wave__meter.is-sell-wave>i>b{left:16%;background:#ff2d83;box-shadow:0 0 10px rgba(255,45,131,.95);}
.scalp-wave__meter.is-mixed>i>b{left:50%;background:#a45cff;}
#scalp-wave-green{border-color:rgba(35,203,255,.34);}
#scalp-wave-green strong{color:#47dfff;}
.scalp-latest{border-left-color:rgba(33,203,255,.48);border-right-color:rgba(255,37,131,.48);}
.scalp-panel:not(.is-detail) .scalp-panel__header h2{font-size:21px;}
.scalp-panel:not(.is-detail) .scalp-wave__meter{margin-bottom:7px;}
@media (max-width:600px){
  .scalp-panel.is-mobile-viewport .scalp-panel__header h2{font-size:22px;}
}

/* v243: improve ONE SHOT LAB text contrast without increasing panel height */
.scalp-target__price.is-empty{color:#7f9ca7;}
.scalp-target__secondary span{color:#9bb8c2;font-size:11px;}
.scalp-target__secondary small{color:#8eabb5;font-size:11px;}
.scalp-target-guide{color:#8eabb5;font-size:10px;}
.scalp-latest>div>span{color:#a9c8d1;font-size:13px;}
.scalp-latest dt{color:#8fadb7;font-size:11px;}
.scalp-latest dd{color:#effbff;font-size:13px;}
#scalp-wave-message{color:#adc6ce;font-size:12px;}
.scalp-wave__stats b{color:#9fbbc4;font-size:10px;}
.scalp-wave__stats small{color:#91adb6;font-size:10px;}
.scalp-money__currency span,.scalp-money__pair span{color:#9eb9c2;font-size:12px;}
.scalp-money__currency small,.scalp-money__pair small{color:#91adb6;font-size:11px;}
.scalp-flow__item b{color:#9fb9c2;font-size:11px;}
.scalp-flow__item strong{color:#adc2c9;font-size:11px;}
#scalp-money-bias,#scalp-flow-summary{color:#a9c0c8;}
.scalp-panel:not(.is-detail) .scalp-target__secondary span{font-size:10px;}
.scalp-panel:not(.is-detail) .scalp-target__secondary small{font-size:9px;color:#8faab4;}
.scalp-panel:not(.is-detail) .scalp-target-guide{font-size:10px;}
.scalp-panel:not(.is-detail) .scalp-latest>div{font-size:12px;}
.scalp-panel:not(.is-detail) .scalp-latest dt{font-size:9px;color:#91aeb8;}
.scalp-panel:not(.is-detail) .scalp-latest dd{font-size:11px;color:#effbff;}
.scalp-panel:not(.is-detail) #scalp-wave-message{font-size:11px;}
.scalp-panel:not(.is-detail) .scalp-wave__stats b,
.scalp-panel:not(.is-detail) .scalp-wave__stats small{font-size:9px;}
.scalp-panel:not(.is-detail) .scalp-money__currency span,
.scalp-panel:not(.is-detail) .scalp-money__pair span{font-size:10px;}
.scalp-panel:not(.is-detail) .scalp-money__currency small,
.scalp-panel:not(.is-detail) .scalp-money__pair small{font-size:9px;}
.scalp-panel:not(.is-detail) .scalp-flow__item b,
.scalp-panel:not(.is-detail) .scalp-flow__item strong{font-size:9px;}

/* v245: final high-contrast compact typography overrides */
.scalp-panel:not(.is-detail) .scalp-panel__eyebrow,
.scalp-panel:not(.is-detail) .scalp-panel__market span{font-size:11px;}
.scalp-target__price.is-empty{color:#dceef4;}
.scalp-target__distance{color:#f1fbff;}
.scalp-target__secondary span,
.scalp-target__secondary small,
.scalp-target-guide,
.scalp-latest>div>span,
.scalp-latest dt,
#scalp-wave-message,
.scalp-wave__stats b,
.scalp-wave__stats small,
.scalp-money__currency span,
.scalp-money__pair span,
.scalp-money__currency small,
.scalp-money__pair small,
.scalp-flow__item b,
.scalp-flow__item strong,
.scalp-flow__note,
#scalp-money-bias,
#scalp-flow-summary{color:#d8eaf0;}
.scalp-panel:not(.is-detail) .scalp-target__secondary span{font-size:11px;}
.scalp-panel:not(.is-detail) .scalp-target__secondary small{font-size:10px;color:#d2e6ec;}
.scalp-panel:not(.is-detail) .scalp-target-guide{font-size:10px;color:#cfe4ea;}
.scalp-panel:not(.is-detail) .scalp-latest>div{font-size:13px;}
.scalp-panel:not(.is-detail) .scalp-latest>div>span{font-size:12px;color:#e8f7fb;}
.scalp-panel:not(.is-detail) .scalp-latest dt{font-size:10px;color:#cfe4ea;}
.scalp-panel:not(.is-detail) .scalp-latest dd{font-size:12px;color:#fff;}
.scalp-panel:not(.is-detail) #scalp-wave-message{font-size:11px;color:#e3f1f5;}
.scalp-panel:not(.is-detail) .scalp-wave__meter{font-size:10px;color:#fff;}
.scalp-panel:not(.is-detail) .scalp-wave__stats b{font-size:10px;color:#d8eaf0;}
.scalp-panel:not(.is-detail) .scalp-wave__stats small{font-size:10px;color:#c8dde4;}
.scalp-panel:not(.is-detail) .scalp-money__currency span,
.scalp-panel:not(.is-detail) .scalp-money__pair span{font-size:11px;color:#e1f0f4;}
.scalp-panel:not(.is-detail) .scalp-money__currency small,
.scalp-panel:not(.is-detail) .scalp-money__pair small{font-size:10px;color:#cfe2e8;}
.scalp-panel:not(.is-detail) .scalp-flow__item b,
.scalp-panel:not(.is-detail) .scalp-flow__item strong{font-size:10px;color:#e0eff3;}
.scalp-panel:not(.is-detail) #scalp-money-bias,
.scalp-panel:not(.is-detail) #scalp-flow-summary{font-size:12px;color:#dcecf1;}
.scalp-panel:not(.is-detail) #scalp-money-bias.is-up,
.scalp-panel:not(.is-detail) #scalp-flow-summary.is-uptrend,
.scalp-panel:not(.is-detail) .scalp-flow__item.is-up strong{color:#4be2ff;}
.scalp-panel:not(.is-detail) #scalp-money-bias.is-down,
.scalp-panel:not(.is-detail) #scalp-flow-summary.is-downtrend,
.scalp-panel:not(.is-detail) .scalp-flow__item.is-down strong{color:#ff6f9f;}

/* v246 final: compact vertical rhythm while preserving v245 typography */
/* v286 active overrides */
.sim-history-dialog{position:fixed;inset:auto;z-index:4200;margin:0;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);}
.sim-history-dialog[open]{display:block;}
.sim-history-dialog #sim-history-drag{cursor:grab;touch-action:none;user-select:none;}
.sim-history-dialog.is-dragging #sim-history-drag{cursor:grabbing;}
.sim-history-dialog header h2{display:flex;align-items:baseline;gap:12px;}
.sim-history-dialog header h2 small{color:#7d9ba7;font-size:9px;letter-spacing:.12em;}
body.stream-mode .sim-stream-dashboard{grid-template-rows:330px minmax(0,1fr);}
body.stream-mode .sim-panel__header p{font-size:13px;}
body.stream-mode .sim-panel__header h2{font-size:30px;}
body.stream-mode .sim-panel__status{font-size:14px;}
body.stream-mode .sim-panel__status strong{font-size:22px;}
body.stream-mode .sim-stream-card{padding:12px 13px;}
body.stream-mode .sim-stream-card__title h3{font-size:18px;}
body.stream-mode .sim-stream-card__title>span,body.stream-mode .sim-stream-card__title>strong{font-size:13px;}
body.stream-mode .sim-stream-market__hero{grid-template-columns:165px 1fr;}
body.stream-mode .sim-stream-market__hero small{font-size:10px;}
body.stream-mode .sim-stream-market__hero strong{font-size:29px;}
body.stream-mode .sim-stream-market__hero span{font-size:10px;}
body.stream-mode .sim-stream-market__hero p{font-size:14px;}
body.stream-mode .sim-stream-money span{font-size:10px;}
body.stream-mode .sim-stream-money strong{font-size:14px;}
body.stream-mode .sim-stream-money small{font-size:10px;}
body.stream-mode .sim-stream-subhead b,body.stream-mode .sim-stream-warning>b{font-size:11px;}
body.stream-mode .sim-stream-subhead strong,body.stream-mode .sim-stream-warning strong{font-size:12px;}
body.stream-mode .sim-stream-flow-frames b,body.stream-mode .sim-stream-flow-frames strong{font-size:10px;}
body.stream-mode .sim-stream-warning>div span{font-size:10px;}
body.stream-mode .sim-stream-target-grid header b,body.stream-mode .sim-stream-target-grid header span{font-size:12px;}
body.stream-mode .sim-stream-target-grid small{font-size:10px;}
body.stream-mode .sim-stream-target-grid article>div strong{font-size:24px;}
body.stream-mode .sim-stream-target-grid article>div span{font-size:10px;}
body.stream-mode .sim-stream-target-grid article>div+div strong{font-size:18px;}
body.stream-mode .sim-stream-wave>div b{font-size:10px;}
body.stream-mode .sim-stream-wave>div strong{font-size:12px;}
body.stream-mode .sim-stream-wave>span{font-size:10px;}
body.stream-mode .sim-stream-wave>span b{font-size:12px;}
body.stream-mode .sim-stream-event>small{font-size:10px;}
body.stream-mode .sim-stream-event b{font-size:13px;}
body.stream-mode .sim-stream-event strong{font-size:25px;}
body.stream-mode .sim-stream-event p{font-size:10px;}
body.stream-mode .sim-stream-account span{font-size:10px;}
body.stream-mode .sim-stream-account strong{font-size:14px;}
body.stream-mode .sim-stream-position-summary span{font-size:10px;}
body.stream-mode .sim-stream-position-summary b{font-size:12px;}
body.stream-mode .sim-stream-position-summary small{font-size:10px;}
body.stream-mode .sim-stream-position-list article{grid-template-columns:44px minmax(132px,1fr) 72px 112px;min-height:34px;padding:4px 7px;}
body.stream-mode .sim-stream-position-list article>b{font-size:12px;}
body.stream-mode .sim-stream-position-list article>b small{font-size:8px;}
body.stream-mode .sim-stream-position-list article>span,body.stream-mode .sim-stream-position-list article>strong{font-size:11px;}
body.stream-mode .sim-stream-position-list article>small{font-size:9px;}
body.stream-mode .sim-stream-decision-head,body.stream-mode .sim-stream-decision-list>div{grid-template-columns:62px 54px minmax(0,1fr) 78px;}
body.stream-mode .sim-stream-decision-head{font-size:10px;}
body.stream-mode .sim-stream-decision-list>div{min-height:46px;font-size:10px;}
body.stream-mode .sim-stream-decision-list b,body.stream-mode .sim-stream-decision-list strong{font-size:11px;}
@media (max-width:680px){.sim-history-dialog{position:fixed;}.sim-history-dialog header h2 small{display:none;}}

/* v287: Japanese-first AI auto-trading broadcast command center */
body.stream-mode .sim-panel{grid-template-rows:58px 38px minmax(0,1fr);background:radial-gradient(circle at 52% -20%,rgba(0,210,255,.11),transparent 42%),linear-gradient(135deg,#020913,#060716 58%,#0d0614);}
body.stream-mode .sim-panel__header p{color:#6ce9ff;font-size:14px;letter-spacing:.08em;}
body.stream-mode .sim-panel__header h2{font-size:31px;letter-spacing:.1em;text-shadow:0 0 18px rgba(71,220,255,.22);}
body.stream-mode .sim-panel__status{font-size:15px;}
body.stream-mode .sim-panel__status strong{font-size:21px;}
body.stream-mode .sim-ai-dashboard{position:relative;display:grid;grid-template-columns:minmax(0,1.48fr) minmax(430px,1fr);grid-template-rows:238px 146px minmax(0,1fr) 74px;gap:8px;overflow:hidden;}
body.stream-mode .sim-ai-dashboard::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;opacity:.16;background:linear-gradient(180deg,transparent 0,rgba(83,229,255,.16) 50%,transparent 100%);background-size:100% 180px;animation:simAiScan 7s linear infinite;}
.sim-ai-overview{grid-column:1/3;grid-row:1;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:8px;min-width:0;}
.sim-ai-market,.sim-ai-target,.sim-ai-command,.sim-stream-positions,.sim-stream-decisions,.sim-ai-account{min-width:0;background:linear-gradient(135deg,rgba(3,20,32,.96),rgba(9,9,27,.95));border:1px solid rgba(64,192,224,.46);box-shadow:inset 0 0 28px rgba(49,187,222,.035);}
.sim-ai-market,.sim-ai-target{padding:13px 15px;overflow:hidden;}
.sim-ai-market{border-top:4px solid #ff4f91;}.sim-ai-target{border-top:4px solid #45dbf7;}.sim-ai-target.is-short{border-top-color:#ff4f91;}
.sim-ai-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#9cb8c2;font-size:15px;font-weight:800;}.sim-ai-heading>strong{color:#ff6e9f;font-size:18px;}.sim-ai-heading>b{color:#53e5ff;font-size:17px;}.sim-ai-target.is-short .sim-ai-heading>b{color:#ff6e9f;}
.sim-ai-price{display:grid;grid-template-columns:160px 1fr;gap:10px;margin-top:8px;}.sim-ai-price>div{display:grid;grid-template-columns:1fr auto;align-items:end;padding:9px 10px;background:rgba(3,34,49,.78);}.sim-ai-price small{grid-column:1/3;color:#79cce0;font-size:11px;}.sim-ai-price strong{color:#fff;font-size:31px;line-height:1;}.sim-ai-price span{color:#8eabb5;font-size:11px;}.sim-ai-price p{display:flex;align-items:center;margin:0;padding:10px 12px;color:#ff76a8;background:rgba(109,12,55,.3);border-left:4px solid #ff4f91;font-size:15px;font-weight:800;line-height:1.35;}
.sim-ai-evidence{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:7px;}.sim-ai-evidence>span{display:grid;grid-template-columns:auto 1fr;gap:2px 7px;padding:6px 8px;color:#8eabb5;background:rgba(5,25,38,.82);font-size:11px;}.sim-ai-evidence b{color:#effcff;font-size:13px;}.sim-ai-evidence small{grid-column:1/3;color:#69e5c6;font-size:10px;}
.sim-ai-market-foot{display:flex;gap:18px;margin-top:7px;color:#9cb6c0;font-size:12px;}.sim-ai-market-foot b{margin-left:5px;color:#63e8ff;font-size:13px;}.sim-ai-market .sim-stream-flow-frames{margin:5px 0 0;}.sim-ai-market .sim-stream-flow-frames span{padding:4px 3px;}.sim-ai-warning-frames{display:none;}
.sim-ai-target-main{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:22px;}.sim-ai-target-main strong{color:#fff;font-size:36px;line-height:1;}.sim-ai-target.is-short .sim-ai-target-main strong{color:#ff70a3;}.sim-ai-target-main span{color:#effcff;font-size:18px;font-weight:800;}.sim-ai-target>p{margin:9px 0 0;color:#95afb9;font-size:13px;}.sim-ai-target>div:last-child{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:baseline;margin-top:15px;padding-top:11px;border-top:1px solid rgba(91,145,163,.28);}.sim-ai-target>div:last-child small{color:#92abb5;font-size:12px;}.sim-ai-target>div:last-child strong{color:#5ce1fa;font-size:23px;}.sim-ai-target.is-short>div:last-child strong{color:#ff72a4;}.sim-ai-target>div:last-child span{color:#94adb6;font-size:11px;text-align:right;}
.sim-ai-command{grid-column:1/3;grid-row:2;display:grid;grid-template-columns:minmax(620px,1.35fr) minmax(500px,1fr);grid-template-rows:36px 1fr;gap:6px 12px;padding:10px 13px;border-color:rgba(137,84,219,.62);background:linear-gradient(105deg,rgba(20,11,49,.95),rgba(4,25,37,.96));}
.sim-ai-command-head{grid-column:1/3;display:flex;align-items:center;justify-content:space-between;color:#9cb8c3;font-size:14px;}.sim-ai-command-head span{display:flex;align-items:center;gap:8px;color:#69edce;font-weight:800;}.sim-ai-command-head i{width:9px;height:9px;border-radius:50%;background:#55efc4;box-shadow:0 0 12px #55efc4;animation:simAiPulse .9s ease-in-out infinite alternate;}.sim-ai-command-head strong{color:#fff;font-size:18px;}
.sim-ai-pipeline{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;gap:5px;align-items:center;}.sim-ai-pipeline>i{color:#685b88;font-size:22px;font-style:normal;}.sim-ai-pipeline>div{display:flex;align-items:center;gap:8px;min-width:0;padding:8px;background:rgba(4,20,34,.76);border:1px solid rgba(78,125,145,.3);}.sim-ai-pipeline>div>b{display:grid;width:25px;height:25px;flex:0 0 25px;place-items:center;color:#8faab5;border:1px solid rgba(102,152,171,.5);border-radius:50%;font-size:12px;}.sim-ai-pipeline>div>span{color:#c9dce2;font-size:13px;font-weight:800;white-space:nowrap;}.sim-ai-pipeline small{display:block;margin-top:2px;color:#7f9ba6;font-size:10px;}.sim-ai-pipeline>div.is-done{border-color:rgba(75,220,244,.55);}.sim-ai-pipeline>div.is-done>b{color:#03151c;background:#59e3f6;border-color:#59e3f6;}.sim-ai-pipeline>div.is-active{border-color:rgba(167,92,255,.72);box-shadow:inset 0 0 16px rgba(152,72,255,.12);}.sim-ai-pipeline>div.is-active>b{color:#fff;border-color:#bd75ff;}.sim-ai-pipeline>div.is-live{border-color:#54efc8;box-shadow:0 0 15px rgba(73,239,194,.17),inset 0 0 18px rgba(73,239,194,.13);}.sim-ai-pipeline>div.is-live>b{color:#041712;background:#54efc8;border-color:#54efc8;}
.sim-ai-events{display:grid;grid-template-columns:1fr 1fr;gap:7px;}.sim-ai-events .sim-stream-event{margin:0;padding:8px 10px;}.sim-ai-events .sim-stream-event>small{font-size:11px;}.sim-ai-events .sim-stream-event b{font-size:14px;}.sim-ai-events .sim-stream-event strong{font-size:24px;}.sim-ai-events .sim-stream-event p{font-size:10px;}
.sim-stream-positions{grid-column:1;grid-row:3;padding:12px 14px;overflow:hidden;}.sim-stream-decisions{grid-column:2;grid-row:3;padding:12px 14px;overflow:hidden;border-color:rgba(135,78,204,.52);}
.sim-ai-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;}.sim-ai-section-title h3{margin:0;color:#effcff;font-size:20px;letter-spacing:.04em;}.sim-ai-section-title>strong,.sim-ai-section-title>span{color:#63e5fb;font-size:14px;}
body.stream-mode .sim-stream-position-summary{gap:7px;margin-bottom:7px;}.sim-stream-position-summary span{padding:6px 10px;font-size:11px;}.sim-stream-position-summary b{font-size:14px;}.sim-stream-position-summary small{font-size:11px;}
body.stream-mode .sim-stream-position-list{display:grid;gap:5px;overflow:hidden;}.sim-stream-position-list[data-columns="1"]{grid-template-columns:1fr;}.sim-stream-position-list[data-columns="2"]{grid-template-columns:repeat(2,1fr);}.sim-stream-position-list[data-columns="3"]{grid-template-columns:repeat(3,1fr);}
body.stream-mode .sim-stream-position-list article{display:grid;grid-template-columns:95px minmax(130px,1fr) 105px;grid-template-rows:auto auto;gap:3px 9px;min-height:51px;padding:7px 9px;background:rgba(3,21,33,.88);border:1px solid rgba(54,192,223,.4);border-left:4px solid #45dffc;}.sim-stream-position-list article.is-short{border-color:rgba(241,51,130,.42);border-left-color:#ff4f91;}.sim-stream-position-list article>b{grid-row:1/3;color:#54e6ff;font-size:14px;}.sim-stream-position-list article.is-short>b{color:#ff6c9f;}.sim-stream-position-list article>b small{display:block;margin:3px 0 0;color:#d4e6eb;font-size:11px;}.sim-stream-position-list article>span{color:#9eb6bf;font-size:11px;}.sim-stream-position-list article>span strong{margin-left:5px;color:#effcff;font-size:16px;}.sim-stream-position-list article>em{grid-column:2;color:#8ba5af;font-size:10px;font-style:normal;}.sim-stream-position-list article>strong{grid-column:3;grid-row:1;color:#5aebc7;font-size:16px;text-align:right;}.sim-stream-position-list article>strong.is-negative{color:#ff6597;}.sim-stream-position-list article>small{grid-column:3;grid-row:2;color:#8da7b0;font-size:10px;text-align:right;}
body.stream-mode .sim-stream-decision-head,body.stream-mode .sim-stream-decision-list>div{grid-template-columns:66px 58px minmax(0,1fr) 82px;gap:8px;}.sim-stream-decision-head{padding:6px 8px;font-size:11px;}.sim-stream-decision-list{gap:3px;margin-top:4px;}.sim-stream-decision-list>div{min-height:38px;padding:5px 8px;font-size:11px;}.sim-stream-decision-list b,.sim-stream-decision-list strong{font-size:12px;}
.sim-ai-account{grid-column:1/3;grid-row:4;display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:8px;border-color:rgba(73,159,185,.42);}.sim-ai-account>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 11px;background:rgba(5,27,40,.82);}.sim-ai-account small{color:#91adb7;font-size:12px;}.sim-ai-account strong{color:#f3fdff;font-size:19px;}.sim-ai-account>div:first-child strong,.sim-ai-account>div:nth-child(3) strong{color:#5beac6;}.sim-ai-account>div:nth-child(2) strong.is-negative{color:#ff6597;}
@keyframes simAiScan{from{background-position:0 -180px}to{background-position:0 calc(100% + 180px)}}
@keyframes simAiPulse{from{opacity:.55;transform:scale(.86)}to{opacity:1;transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){body.stream-mode .sim-ai-dashboard::after,.sim-ai-command-head i{animation:none;}}

/* v288: fit the full stream command center inside a 1920x900 canvas */
body.stream-mode .sim-panel{grid-template-rows:50px 32px minmax(0,1fr);padding:7px 12px;gap:4px;}
body.stream-mode .sim-panel__header{padding-bottom:5px;}
body.stream-mode .sim-panel__header p{font-size:12px;}
body.stream-mode .sim-panel__header h2{font-size:26px;line-height:1;}
body.stream-mode .sim-panel__status{font-size:13px;}
body.stream-mode .sim-panel__status strong{font-size:18px;}
body.stream-mode #sim-stream-clock{font-size:13px;}
body.stream-mode .sim-ai-dashboard{grid-template-rows:190px 126px minmax(0,1fr) 66px;gap:7px;}
.sim-ai-overview{gap:7px;}
.sim-ai-market,.sim-ai-target{padding:9px 12px;}
.sim-ai-heading{font-size:13px;}.sim-ai-heading>strong{font-size:16px;}.sim-ai-heading>b{font-size:15px;}
.sim-ai-price{grid-template-columns:145px 1fr;gap:7px;margin-top:5px;}
.sim-ai-price>div{padding:6px 8px;}.sim-ai-price small{font-size:10px;}.sim-ai-price strong{font-size:28px;}.sim-ai-price p{padding:7px 9px;font-size:14px;}
.sim-ai-evidence{gap:4px;margin-top:5px;}.sim-ai-evidence>span{padding:4px 6px;font-size:10px;}.sim-ai-evidence b{font-size:12px;}.sim-ai-evidence small{font-size:9px;}
.sim-ai-market-foot{gap:14px;margin-top:4px;font-size:10px;}.sim-ai-market-foot b{font-size:11px;}
body.stream-mode .sim-ai-market .sim-stream-flow-frames{display:none;}
.sim-ai-target-main{margin-top:13px;}.sim-ai-target-main strong{font-size:34px;}.sim-ai-target-main span{font-size:16px;}
.sim-ai-target>p{margin-top:6px;font-size:11px;}.sim-ai-target>div:last-child{gap:7px;margin-top:10px;padding-top:8px;}.sim-ai-target>div:last-child small{font-size:10px;}.sim-ai-target>div:last-child strong{font-size:20px;}.sim-ai-target>div:last-child span{font-size:9px;}
.sim-ai-command{grid-template-rows:28px 1fr;gap:4px 10px;padding:7px 11px;}
.sim-ai-command-head{font-size:12px;}.sim-ai-command-head strong{font-size:16px;}
.sim-ai-pipeline{gap:4px;}.sim-ai-pipeline>i{font-size:18px;}.sim-ai-pipeline>div{gap:6px;padding:5px 6px;}.sim-ai-pipeline>div>b{width:23px;height:23px;flex-basis:23px;font-size:11px;}.sim-ai-pipeline>div>span{font-size:12px;}.sim-ai-pipeline small{font-size:9px;}
.sim-ai-events{gap:5px;}.sim-ai-events .sim-stream-event{padding:5px 8px;}.sim-ai-events .sim-stream-event>small{font-size:9px;}.sim-ai-events .sim-stream-event b{font-size:12px;}.sim-ai-events .sim-stream-event strong{font-size:22px;}.sim-ai-events .sim-stream-event p{font-size:9px;}
.sim-stream-positions,.sim-stream-decisions{padding:8px 11px;}
.sim-ai-section-title{margin-bottom:5px;}.sim-ai-section-title h3{font-size:18px;}.sim-ai-section-title>strong,.sim-ai-section-title>span{font-size:12px;}
body.stream-mode .sim-stream-position-summary{gap:5px;margin-bottom:5px;}.sim-stream-position-summary span{padding:4px 7px;font-size:10px;}.sim-stream-position-summary b{font-size:12px;}.sim-stream-position-summary small{font-size:9px;}
body.stream-mode .sim-stream-position-list{gap:4px;}
body.stream-mode .sim-stream-position-list article{grid-template-columns:88px minmax(115px,1fr) 96px;gap:1px 7px;min-height:42px;padding:4px 7px;}
.sim-stream-position-list article>b{font-size:12px;}.sim-stream-position-list article>b small{display:inline;margin:0 0 0 3px;font-size:9px;}.sim-stream-position-list article>span{font-size:10px;}.sim-stream-position-list article>span strong{font-size:14px;}.sim-stream-position-list article>em{font-size:9px;}.sim-stream-position-list article>strong{font-size:13px;}.sim-stream-position-list article>small{font-size:9px;}
body.stream-mode .sim-stream-decision-head,body.stream-mode .sim-stream-decision-list>div{grid-template-columns:58px 50px minmax(0,1fr) 70px;gap:6px;}
.sim-stream-decision-head{padding:4px 7px;font-size:9px;}.sim-stream-decision-list{gap:2px;margin-top:3px;}.sim-stream-decision-list>div{min-height:30px;padding:3px 7px;font-size:10px;}.sim-stream-decision-list b,.sim-stream-decision-list strong{font-size:11px;}
.sim-ai-account{gap:5px;padding:6px;}.sim-ai-account>div{padding:5px 9px;}.sim-ai-account small{font-size:10px;}.sim-ai-account strong{font-size:17px;}

/* v289: clean Japanese trading terminal */
body.stream-mode .sim-panel{grid-template-rows:52px 34px minmax(0,1fr);padding:8px 12px;gap:5px;background:#040914;}
body.stream-mode .sim-panel__header{padding:0 0 7px;border-bottom:1px solid rgba(96,137,153,.34);}
body.stream-mode .sim-panel__header p{margin:0 0 4px;color:#6fd7e9;font-size:11px;letter-spacing:.08em;}
body.stream-mode .sim-panel__header h2{color:#f3f8fa;font-size:27px;letter-spacing:.045em;text-shadow:none;}
body.stream-mode .sim-panel__status{padding:3px 1px;color:#8ba1aa;font-size:12px;border-bottom:1px solid rgba(82,123,139,.28);}
body.stream-mode .sim-panel__status i{background:#57edc6;box-shadow:0 0 8px rgba(87,237,198,.65);}
body.stream-mode .sim-panel__status strong{margin-left:auto;color:#f3f8fa;font-size:18px;}
body.stream-mode .sim-stream-clock{margin-left:auto;color:#68dff1;font-size:13px;}
body.stream-mode .sim-panel__status #sim-total-pnl{margin-left:12px;}

body.stream-mode .sim-terminal{display:grid;grid-template-columns:1fr;grid-template-rows:134px minmax(0,1fr) 80px;gap:8px;min-width:0;min-height:0;overflow:hidden;background:#040914;}
.sim-terminal-top{display:grid;grid-template-columns:minmax(440px,1.35fr) minmax(310px,.82fr) minmax(310px,.82fr);gap:8px;min-width:0;}
.sim-terminal-market,.sim-terminal-target,.sim-terminal-books,.sim-terminal-rail,.sim-ai-account{min-width:0;background:#07121f;border:1px solid rgba(75,118,134,.42);}
.sim-terminal-market{display:grid;grid-template-columns:92px 185px 1fr;grid-template-rows:1fr 32px;gap:4px 12px;align-items:center;padding:10px 14px;border-left:4px solid #57dff4;}
.sim-terminal-market>span{grid-column:1;grid-row:1;color:#7f9ca7;font-size:13px;font-weight:800;letter-spacing:.08em;}
.sim-terminal-market>strong{grid-column:2;grid-row:1;align-self:center;color:#f7fbfc;font-size:42px;line-height:1;letter-spacing:.025em;}
.sim-terminal-market>small{grid-column:2;grid-row:1;align-self:end;justify-self:end;margin-bottom:2px;color:#77919a;font-size:10px;}
.sim-terminal-market>.sim-terminal-decision{grid-column:3;grid-row:1;align-self:stretch;display:flex;min-width:0;flex-direction:column;justify-content:center;padding-left:15px;border-left:1px solid rgba(102,145,160,.34);}
.sim-terminal-market>.sim-terminal-decision small{color:#849da6;font-size:10px;font-weight:800;}
.sim-terminal-market>.sim-terminal-decision b{overflow:hidden;margin-top:3px;color:#5bdff5;font-size:22px;text-overflow:ellipsis;white-space:nowrap;}
.sim-terminal-market>.sim-terminal-decision p{overflow:hidden;margin:3px 0 0;color:#c6d4d8;font-size:11px;text-overflow:ellipsis;white-space:nowrap;}
.sim-terminal-market>footer{grid-column:1/4;display:flex;align-items:center;gap:18px;padding-top:6px;border-top:1px solid rgba(77,112,126,.28);color:#8199a3;font-size:10px;}
.sim-terminal-market>footer b{margin-left:4px;color:#dce8eb;font-size:11px;}.sim-terminal-market>footer strong{margin-left:auto;color:#61e9c4;font-size:12px;}
body.stream-mode .sim-terminal-market>.sim-terminal-hidden-data{display:none;}

.sim-terminal-target{display:grid;grid-template-rows:29px 1fr 34px;padding:8px 12px;overflow:hidden;}
.sim-terminal-target.is-long{border-left:4px solid #45dff7;}.sim-terminal-target.is-short{border-left:4px solid #ff4f91;}
.sim-terminal-target>header{display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid rgba(83,124,139,.26);}
.sim-terminal-target>header span{color:#eaf4f6;font-size:16px;font-weight:800;}.sim-terminal-target>header b{color:#55e2f7;font-size:11px;}.sim-terminal-target.is-short>header b{color:#ff6a9f;}
.sim-terminal-target>div{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;gap:1px 8px;align-items:end;padding:6px 0 4px;}
.sim-terminal-target>div small{grid-column:1;color:#829ca5;font-size:9px;font-weight:800;}.sim-terminal-target>div strong{grid-column:1;color:#f6fbfc;font-size:28px;line-height:1;}.sim-terminal-target.is-short>div strong{color:#ff70a4;}.sim-terminal-target>div b{grid-column:2;grid-row:1/3;align-self:center;color:#59e4f8;font-size:17px;}.sim-terminal-target.is-short>div b{color:#ff70a4;}
.sim-terminal-target>footer{display:grid;grid-template-columns:auto 1fr;gap:1px 10px;padding-top:5px;border-top:1px solid rgba(83,124,139,.26);}
.sim-terminal-target>footer span{grid-row:1/3;color:#829ba4;font-size:9px;}.sim-terminal-target>footer span strong{display:block;margin-top:1px;color:#dce9ec;font-size:14px;}.sim-terminal-target.is-short>footer span strong{color:#ff82ae;}.sim-terminal-target>footer>small{overflow:hidden;color:#718a94;font-size:8px;text-align:right;text-overflow:ellipsis;white-space:nowrap;}

.sim-terminal-main{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:8px;min-height:0;}
.sim-terminal-books{display:grid;grid-template-rows:43px minmax(0,1fr);padding:0 11px 10px;overflow:hidden;}
.sim-terminal-books__head{display:flex;align-items:center;gap:14px;border-bottom:1px solid rgba(76,121,138,.3);}
.sim-terminal-books__head h3{margin:0;color:#eef7f9;font-size:17px;}.sim-terminal-books__head strong{color:#63dff3;font-size:12px;}.sim-terminal-books__head span{margin-left:auto;color:#829ba4;font-size:10px;}.sim-terminal-books__head span b{margin-left:5px;color:#eef7f9;font-size:13px;}
.sim-terminal-book-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-height:0;padding-top:8px;}
.sim-terminal-book{display:grid;grid-template-rows:35px 27px minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;}
.sim-terminal-book.is-long{border-right:1px solid rgba(74,124,143,.35);padding-right:9px;}.sim-terminal-book.is-short{padding-left:1px;}
.sim-terminal-book>header{display:flex;align-items:center;gap:10px;border-left:4px solid #48dff6;padding:0 9px;}.sim-terminal-book.is-short>header{border-left-color:#ff4f91;}
.sim-terminal-book>header h3{margin:0;color:#f0f8fa;font-size:17px;}.sim-terminal-book>header span{margin-left:auto;color:#829ca5;font-size:10px;}.sim-terminal-book>header span b{color:#51def5;font-size:15px;}.sim-terminal-book.is-short>header span b{color:#ff6b9f;}.sim-terminal-book>header>strong{min-width:68px;color:#60e8c5;font-size:13px;text-align:right;}.sim-terminal-book>header>strong.is-negative{color:#ff6197;}
.sim-terminal-position-head,.sim-terminal-position-list article{display:grid;grid-template-columns:40px 1fr 1fr 61px 70px 64px;gap:5px;align-items:center;}
.sim-terminal-position-head{padding:6px 7px;color:#6f8993;background:#050d18;border-bottom:1px solid rgba(78,119,134,.3);font-size:9px;font-weight:800;}
.sim-terminal-position-head span:nth-child(n+4){text-align:right;}
.sim-terminal-position-list{min-height:0;overflow-y:auto;scrollbar-color:rgba(82,150,172,.55) transparent;scrollbar-width:thin;}
.sim-terminal-position-list article{min-height:39px;padding:5px 7px;color:#b9cbd1;border-bottom:1px solid rgba(66,106,121,.3);font-size:11px;}
.sim-terminal-position-list article:hover{background:rgba(23,66,82,.22);}.sim-terminal-book.is-short .sim-terminal-position-list article:hover{background:rgba(87,21,51,.18);}
.sim-terminal-position-list article b{color:#50dff6;font-size:12px;}.sim-terminal-book.is-short .sim-terminal-position-list article b{color:#ff6a9f;}
.sim-terminal-position-list article span:nth-child(2),.sim-terminal-position-list article span:nth-child(3){color:#eef7f9;font-size:12px;font-weight:800;}
.sim-terminal-position-list article span:nth-child(4),.sim-terminal-position-list article strong,.sim-terminal-position-list article small{text-align:right;white-space:nowrap;}
.sim-terminal-position-list article strong{color:#5de7c3;font-size:12px;}.sim-terminal-position-list article strong.is-negative{color:#ff6197;}.sim-terminal-position-list article small{color:#7f98a1;font-size:9px;}
.sim-terminal-position-list .sim-empty{margin:20px 0;color:#718a93;font-size:11px;text-align:center;}

.sim-terminal-rail{display:grid;grid-template-rows:164px minmax(0,1fr);min-height:0;overflow:hidden;border-color:rgba(130,67,151,.48);}
.sim-terminal-actions{padding:9px 11px;border-bottom:1px solid rgba(116,70,145,.42);}
.sim-terminal-actions>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;}.sim-terminal-actions h3{margin:0;color:#f1f7f9;font-size:16px;}.sim-terminal-actions>header span{color:#62e8c5;font-size:10px;font-weight:800;}
.sim-terminal-actions .sim-ai-events{display:grid;grid-template-columns:1fr 1fr;gap:6px;}.sim-terminal-actions .sim-stream-event{height:113px;margin:0;padding:8px 9px;background:#071522;}.sim-terminal-actions .sim-stream-event>small{font-size:9px;}.sim-terminal-actions .sim-stream-event b{font-size:11px;}.sim-terminal-actions .sim-stream-event strong{font-size:20px;}.sim-terminal-actions .sim-stream-event p{font-size:9px;white-space:normal;line-height:1.35;}
body.stream-mode .sim-terminal-rail .sim-stream-decisions{display:grid;grid-template-rows:37px 25px minmax(0,1fr);min-height:0;padding:5px 10px 8px;border:0;background:transparent;}
body.stream-mode .sim-terminal-rail .sim-ai-section-title{margin:0;}.sim-terminal-rail .sim-ai-section-title h3{font-size:15px;}.sim-terminal-rail .sim-ai-section-title span{font-size:10px;}
body.stream-mode .sim-terminal-rail .sim-stream-decision-head,body.stream-mode .sim-terminal-rail .sim-stream-decision-list>div{grid-template-columns:48px 42px minmax(0,1fr) 59px;gap:5px;}
.sim-terminal-rail .sim-stream-decision-head{padding:5px 6px;font-size:8px;}.sim-terminal-rail .sim-stream-decision-list{gap:1px;margin-top:3px;overflow:hidden;}.sim-terminal-rail .sim-stream-decision-list>div{min-height:29px;padding:3px 6px;font-size:9px;}.sim-terminal-rail .sim-stream-decision-list b,.sim-terminal-rail .sim-stream-decision-list strong{font-size:10px;}

body.stream-mode .sim-terminal>.sim-ai-account{display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:0;border-color:rgba(73,119,136,.4);background:#07121f;}
body.stream-mode .sim-terminal>.sim-ai-account>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 16px;background:transparent;border-right:1px solid rgba(77,118,133,.35);}
body.stream-mode .sim-terminal>.sim-ai-account>div:last-child{border-right:0;}.sim-terminal>.sim-ai-account small{color:#839ca5;font-size:11px;}.sim-terminal>.sim-ai-account strong{color:#f2f8fa;font-size:21px;}.sim-terminal>.sim-ai-account>div:first-child strong,.sim-terminal>.sim-ai-account>div:nth-child(3) strong{color:#5ce8c4;}.sim-terminal>.sim-ai-account strong.is-negative{color:#ff6197;}

@media (max-width:1500px){
  .sim-terminal-top{grid-template-columns:minmax(390px,1.25fr) minmax(270px,.8fr) minmax(270px,.8fr);}
  .sim-terminal-main{grid-template-columns:minmax(0,1fr) 350px;}
  .sim-terminal-market>strong{font-size:36px;}.sim-terminal-market>div b{font-size:18px;}
  .sim-terminal-position-head,.sim-terminal-position-list article{grid-template-columns:34px 1fr 1fr 52px 62px 55px;gap:3px;}
  .sim-terminal-position-list article{font-size:10px;}.sim-terminal-position-list article span:nth-child(2),.sim-terminal-position-list article span:nth-child(3){font-size:11px;}
}

/* v290: lock the three stream rows against legacy dashboard grid rules */
.sim-terminal{display:none;}
body.stream-mode .sim-panel>#sim-stream-dashboard.sim-terminal{
  display:grid;
  grid-column:1;
  grid-row:3;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:134px minmax(0,1fr) 80px;
  grid-auto-flow:row;
  grid-auto-columns:minmax(0,1fr);
}
body.stream-mode #sim-stream-dashboard.sim-terminal>.sim-terminal-top{grid-column:1;grid-row:1;min-width:0;min-height:0;}
body.stream-mode #sim-stream-dashboard.sim-terminal>.sim-terminal-main{grid-column:1;grid-row:2;min-width:0;min-height:0;}
body.stream-mode #sim-stream-dashboard.sim-terminal>.sim-ai-account{grid-column:1;grid-row:3;min-width:0;min-height:0;}

/* v291: the broadcast terminal must never enter the normal movable panel */
body:not(.stream-mode) #sim-stream-dashboard.sim-terminal{display:none;}

/* v292: retain the legacy visibility hook while the ID grid lock owns layout */
body.stream-mode .sim-panel>#sim-stream-dashboard.sim-stream-dashboard.sim-terminal{display:grid;}

/* v293: keep the activity rail on one column; legacy decisions used column 2 */
body.stream-mode .sim-terminal-rail{grid-template-columns:minmax(0,1fr);}
body.stream-mode .sim-terminal-rail>.sim-terminal-actions{grid-column:1;grid-row:1;min-width:0;}
body.stream-mode .sim-terminal-rail>.sim-stream-decisions{grid-column:1;grid-row:2;width:auto;min-width:0;}

.scalp-panel:not(.is-detail){padding:12px;}
.scalp-panel:not(.is-detail) .scalp-panel__header{padding-bottom:7px;}
.scalp-panel:not(.is-detail) .scalp-panel__market{padding:7px 2px 6px;}
.scalp-panel:not(.is-detail) .scalp-panel__decision{margin-top:4px;padding:8px 11px;}
.scalp-panel:not(.is-detail) .scalp-target{min-height:125px;padding:9px;}
.scalp-panel:not(.is-detail) .scalp-target__price{margin:7px 0 3px;}
.scalp-panel:not(.is-detail) .scalp-target__price.is-empty{margin-top:10px;}
.scalp-panel:not(.is-detail) .scalp-target__secondary{padding-top:5px;}
.scalp-panel:not(.is-detail) .scalp-target-guide{margin-top:3px;}
.scalp-panel:not(.is-detail) .scalp-money,
.scalp-panel:not(.is-detail) .scalp-flow,
.scalp-panel:not(.is-detail) .scalp-warning,
.scalp-panel:not(.is-detail) .scalp-latest{margin-top:6px;padding:8px;}
.scalp-panel:not(.is-detail) .scalp-money__heading,
.scalp-panel:not(.is-detail) .scalp-flow__heading{margin-bottom:5px;}
.scalp-panel:not(.is-detail) .scalp-money__currency,
.scalp-panel:not(.is-detail) .scalp-money__pair{padding:6px;}
.scalp-panel:not(.is-detail) .scalp-flow__item{padding:4px 2px;}
.scalp-panel:not(.is-detail) .scalp-warning__grid{margin-top:4px;}
.scalp-panel:not(.is-detail) .scalp-warning__item{padding:4px 3px;}
.scalp-panel:not(.is-detail) .scalp-latest>div{margin-bottom:5px;}
.scalp-panel:not(.is-detail) .scalp-latest dl div{padding:5px;}
.scalp-panel:not(.is-detail) .scalp-wave{margin-top:6px;padding:8px;}
.scalp-panel:not(.is-detail) #scalp-wave-message{margin:3px 0 5px;}
.scalp-panel:not(.is-detail) .scalp-wave__meter{margin-bottom:5px;}
.scalp-panel:not(.is-detail) .scalp-wave__stats span{padding:5px;}

/* v294: viewport-centered modal and price-only TP ladder */
.sim-history-dialog{position:fixed;inset:0;margin:auto;box-sizing:border-box;width:min(920px,calc(100vw - 24px));height:min(720px,calc(100dvh - 24px));max-width:none;max-height:none;overflow:hidden;resize:none;}
.sim-history-dialog__inner{min-width:0;min-height:0;grid-template-rows:auto auto auto minmax(0,1fr);}
.sim-history-dialog #sim-history-drag{cursor:default;touch-action:auto;}
.sim-history-dialog .sim-history-list{overflow:auto;overscroll-behavior:contain;}
.sim-history-dialog .sim-history-head,.sim-history-dialog .sim-history-row{grid-template-columns:72px 66px minmax(0,1fr) 95px;min-width:0;}
.sim-history-dialog .sim-history-row>span:nth-child(3){overflow-wrap:anywhere;}
.sim-history-dialog .sim-history-row strong{white-space:nowrap;text-align:right;}
.sim-history-dialog header h2{font-size:clamp(16px,3vw,22px);}
.tp-rail-dialog{position:fixed;inset:0;margin:auto;box-sizing:border-box;width:min(490px,calc(100vw - 20px));height:min(780px,calc(100dvh - 20px));max-width:none;max-height:none;padding:15px;display:none;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;color:#effcff;background:#040d18;border:1px solid rgba(55,214,255,.66);box-shadow:0 24px 80px rgba(0,0,0,.84);font-family:"Oxanium","Noto Sans JP",sans-serif;}
.tp-rail-dialog[open]{display:grid;}.tp-rail-dialog::backdrop{background:rgba(0,4,10,.82);backdrop-filter:blur(5px);}
.tp-rail-dialog header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(61,205,238,.32);padding-bottom:10px;}
.tp-rail-dialog header p{margin:0;color:#78ebff;font-size:10px;letter-spacing:.12em;}
.tp-rail-dialog h2{margin:2px 0 0;font-size:22px;}.tp-rail-dialog h2 small{color:#8fa8b1;font-size:10px;}
.tp-rail-dialog header button{width:38px;height:38px;color:#75edff;background:#071422;border:1px solid rgba(71,220,255,.5);font-size:24px;cursor:pointer;}
.tp-rail-direction{padding:8px 10px;color:#83eafa;background:rgba(15,53,70,.6);font-size:12px;font-weight:800;}
.tp-rail-list{overflow-y:auto;min-height:0;overscroll-behavior:contain;scrollbar-color:#31768c #081823;}
.tp-rail-side{display:grid;gap:4px;}.tp-rail-side h3{margin:8px 0 3px;color:#819faa;font-size:10px;letter-spacing:.1em;}.tp-rail-side p{color:#89a0a9;font-size:11px;}
.tp-rail-row{display:grid;grid-template-columns:62px minmax(20px,1fr) 90px 100px;gap:5px;align-items:center;padding:7px 8px;background:#0a1b29;border-left:2px solid #4be2ff;font-size:11px;}
.tp-rail-row.is-below{border-left-color:#ff669b;}.tp-rail-row.is-held{background:#164053;box-shadow:inset 0 0 0 1px #66edd8;}
.tp-rail-row b{color:#5be6ff;}.tp-rail-row.is-below b{color:#ff7aa9;}.tp-rail-row__line{border-top:1px dashed currentColor;opacity:.55;}.tp-rail-row strong{text-align:right;font-size:15px;}.tp-rail-row small{text-align:right;color:#9cb7c0;white-space:nowrap;}
.tp-rail-current{position:sticky;top:0;bottom:0;z-index:1;display:flex;justify-content:space-between;align-items:center;margin:8px 0;padding:10px;background:#064a63;border-top:2px solid #64eaff;border-bottom:2px solid #64eaff;font-size:12px;}.tp-rail-current strong{font-size:23px;}
.tp-rail-dialog footer{color:#819ca6;font-size:10px;line-height:1.5;}
@media(max-width:680px){.sim-history-dialog{width:calc(100vw - 12px);height:calc(100dvh - 12px);}.sim-history-dialog__inner{padding:10px;}.sim-history-dialog .sim-history-head,.sim-history-dialog .sim-history-row{grid-template-columns:49px 46px minmax(0,1fr) 70px;gap:4px;padding:7px 4px;font-size:10px;}.sim-history-toolbar{gap:6px;}.sim-history-toolbar button{width:auto;margin-left:auto;}.tp-rail-row{grid-template-columns:50px minmax(12px,1fr) 78px 75px;padding:6px 4px;font-size:9px;}.tp-rail-row strong{font-size:12px;}.tp-rail-row small{font-size:9px;}}

/* v295: movable history and TP windows */
.sim-history-dialog,.tp-rail-dialog{inset:auto;margin:0;position:fixed;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);}
.sim-history-dialog #sim-history-drag,.tp-rail-dialog header{cursor:grab;touch-action:none;user-select:none;}
.sim-history-dialog.is-dragging #sim-history-drag,.tp-rail-dialog.is-dragging header{cursor:grabbing;}
@media(max-width:680px){.sim-history-dialog{width:calc(100vw - 24px);height:min(720px,calc(100dvh - 48px));}.tp-rail-dialog{width:calc(100vw - 24px);height:min(780px,calc(100dvh - 48px));}}
/* v297: horizon-by-horizon direction model, independent movable window */
.direction-forecast-dialog{position:fixed;inset:auto;margin:0;box-sizing:border-box;width:min(700px,calc(100vw - 24px));height:min(560px,calc(100dvh - 24px));max-width:none;max-height:none;padding:15px;display:none;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:8px;color:#effcff;background:#040d18;border:1px solid rgba(55,214,255,.66);box-shadow:0 24px 80px rgba(0,0,0,.84);font-family:"Oxanium","Noto Sans JP",sans-serif;}
.direction-forecast-dialog[open]{display:grid;}.direction-forecast-dialog header{display:flex;justify-content:space-between;align-items:flex-start;cursor:grab;touch-action:none;user-select:none;border-bottom:1px solid rgba(61,205,238,.32);padding-bottom:8px;}.direction-forecast-dialog.is-dragging header{cursor:grabbing;}.direction-forecast-dialog header p{margin:0;color:#78ebff;font-size:10px;}.direction-forecast-dialog h2{margin:2px 0 0;font-size:20px;}.direction-forecast-dialog header button{width:38px;height:38px;color:#75edff;background:#071422;border:1px solid rgba(71,220,255,.5);font-size:24px;cursor:pointer;}.direction-forecast-note,.direction-forecast-dialog footer{margin:0;color:#9ab3bc;font-size:11px;}.direction-forecast-head,.direction-forecast-row{display:grid;grid-template-columns:70px minmax(95px,1fr) 110px minmax(150px,1.4fr);gap:8px;align-items:center;padding:8px 10px;}.direction-forecast-head{color:#83a3ae;background:#091c2a;font-size:10px;}.direction-forecast-list{overflow:auto;min-height:0;}.direction-forecast-row{border-bottom:1px solid rgba(83,157,183,.28);font-size:11px;}.direction-forecast-row b{color:#6feaff;font-size:14px;}.direction-forecast-row strong.is-up{color:#5decc8;}.direction-forecast-row strong.is-down{color:#ff76a7;}.direction-forecast-row span{color:#c5dbe3;}
@media(max-width:680px){.direction-forecast-dialog{width:calc(100vw - 24px);height:min(560px,calc(100dvh - 48px));padding:10px;}.direction-forecast-head,.direction-forecast-row{grid-template-columns:37px 65px 77px minmax(85px,1fr);gap:3px;padding:7px 3px;font-size:9px;}.direction-forecast-row b{font-size:11px;}.direction-forecast-note{font-size:9px;}}
@media(max-width:680px){.scalp-panel__header{align-items:flex-start;gap:5px;}.scalp-panel__header>div:first-child{min-width:0;}.scalp-panel__header h2{font-size:17px;}.scalp-panel__eyebrow{font-size:8px;}.scalp-panel__actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:245px;}.scalp-panel__detail-toggle{height:30px;padding:0 6px;font-size:9px;line-height:28px;}.scalp-panel__close{width:30px;height:30px;flex-basis:30px;font-size:20px;line-height:26px;}}

/* v298: compact forecast popup with per-horizon accuracy */
.direction-forecast-dialog{width:min(620px,calc(100vw - 24px));height:auto;max-height:calc(100dvh - 24px);grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:4px;padding:10px 12px;}
.direction-forecast-dialog header{padding-bottom:5px;}.direction-forecast-dialog header p{font-size:9px;}.direction-forecast-dialog h2{font-size:17px;}.direction-forecast-dialog header button{width:30px;height:30px;font-size:20px;}
.direction-forecast-note,.direction-forecast-dialog footer{font-size:9px;line-height:1.35;}
.direction-forecast-head,.direction-forecast-row{grid-template-columns:38px 80px 89px minmax(110px,1fr) 100px;gap:6px;padding:6px 7px;}
.direction-forecast-head{font-size:9px;}.direction-forecast-row{min-height:28px;font-size:10px;}.direction-forecast-row b{font-size:11px;}.direction-forecast-accuracy{color:#61e8c5!important;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
@media(max-width:680px){.direction-forecast-dialog{width:calc(100vw - 18px);height:auto;max-height:calc(100dvh - 36px);padding:8px;}.direction-forecast-head,.direction-forecast-row{grid-template-columns:28px 55px 70px minmax(75px,1fr) 74px;gap:2px;padding:5px 2px;font-size:8px;}.direction-forecast-row b{font-size:10px;}.direction-forecast-accuracy{font-size:8px;}}

/* v299: narrow forecast window */
.direction-forecast-dialog{width:min(455px,calc(100vw - 18px));}
.direction-forecast-head,.direction-forecast-row{grid-template-columns:30px 61px 66px minmax(95px,1fr) 86px;gap:3px;padding:6px 4px;}
.direction-forecast-row strong,.direction-forecast-row span{min-width:0;white-space:nowrap;}
@media(max-width:680px){.direction-forecast-dialog{width:min(455px,calc(100vw - 18px));}.direction-forecast-head,.direction-forecast-row{grid-template-columns:27px 49px 63px minmax(75px,1fr) 70px;gap:2px;padding:5px 2px;}}

/* v301: five existing monitors in one viewport; each keeps its own scroll area. */
.lab-workspace{display:none;position:fixed;inset:0;z-index:5000;box-sizing:border-box;background:#020812;color:#effcff;font-family:"Oxanium","Noto Sans JP",sans-serif;grid-template-rows:auto minmax(0,1fr);padding:8px;gap:8px;}
.lab-workspace.is-open{display:grid;}
.lab-workspace__header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;padding:2px 8px;border:1px solid #25657b;background:#071522;}
.lab-workspace__header div{display:flex;align-items:baseline;gap:14px;min-width:0;}
.lab-workspace__header b{color:#65eaff;font-size:16px;white-space:nowrap;}
.lab-workspace__header span{color:#afc9d2;font-size:11px;}
.lab-workspace__header button{flex:none;border:1px solid #3cbfda;background:#0b2432;color:#e7f9ff;padding:7px 12px;cursor:pointer;}
.lab-workspace__body{display:grid;grid-template-rows:minmax(0,1.07fr) minmax(0,.93fr);gap:8px;min-height:0;}
.lab-workspace__top,.lab-workspace__bottom{display:grid;gap:8px;min-height:0;min-width:0;}
.lab-workspace__top{grid-template-columns:minmax(0,1fr) minmax(0,1.16fr);}
.lab-workspace__bottom{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr) minmax(0,1.12fr);}
.lab-workspace__cell{min-width:0;min-height:0;overflow:hidden;}
.lab-workspace .scalp-panel,.lab-workspace .sim-panel,.lab-workspace .tp-rail-dialog,.lab-workspace .direction-forecast-dialog,.lab-workspace .sim-history-dialog{position:relative;inset:auto;top:auto;left:auto;right:auto;bottom:auto;z-index:auto;box-sizing:border-box;margin:0;width:100%;height:100%;max-width:none;max-height:none;min-width:0;min-height:0;resize:none;box-shadow:none;opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:none;}
.lab-workspace .scalp-panel,.lab-workspace .sim-panel{overflow:auto;overscroll-behavior:contain;}
.lab-workspace .tp-rail-dialog,.lab-workspace .direction-forecast-dialog{overflow:hidden;}
.lab-workspace .sim-history-dialog__inner{height:100%;padding:10px;}
.lab-workspace .direction-forecast-dialog{padding:10px 8px;}
.lab-workspace .direction-forecast-head,.lab-workspace .direction-forecast-row{grid-template-columns:30px 52px 65px minmax(65px,1fr) 74px;gap:3px;padding:5px 2px;font-size:9px;}
.lab-workspace .direction-forecast-row b{font-size:11px;}
.lab-workspace .direction-forecast-accuracy{font-size:9px;}
.lab-workspace .sim-history-head,.lab-workspace .sim-history-row{grid-template-columns:55px 48px minmax(0,1fr) 68px;gap:4px;font-size:10px;}
.lab-workspace .sim-history-toolbar{gap:5px;flex-wrap:wrap;}
.lab-workspace .tp-rail-row{grid-template-columns:45px minmax(12px,1fr) 75px 72px;gap:3px;padding:6px 3px;font-size:9px;}
.lab-workspace .tp-rail-row strong{font-size:12px;}
.lab-workspace .scalp-panel__header,.lab-workspace .sim-panel__header,.lab-workspace .tp-rail-dialog header,.lab-workspace .direction-forecast-dialog header,.lab-workspace #sim-history-drag{cursor:default;touch-action:auto;}
.lab-workspace #scalp-panel-close,.lab-workspace #sim-panel-close,.lab-workspace #tp-rail-close,.lab-workspace #direction-forecast-close,.lab-workspace #sim-history-close,.lab-workspace #sim-panel-toggle,.lab-workspace #tp-rail-open,.lab-workspace #direction-forecast-open,.lab-workspace #sim-history-open{display:none;}
.lab-workspace .sim-actions small{font-size:10px;}
@media(max-width:900px){.lab-workspace__body{display:block;overflow:auto;overscroll-behavior:contain;}.lab-workspace__top,.lab-workspace__bottom{display:block;}.lab-workspace__cell{height:65dvh;margin-bottom:8px;}.lab-workspace__bottom .lab-workspace__cell{height:48dvh;}.lab-workspace__bottom [data-workspace-slot="direction"]{height:340px;}.lab-workspace__header span{display:none;}}

/* v302: the usual ONE CLICK button opens the compact, simultaneous overview. */
.lab-workspace__header .lab-workspace__controls{display:flex;align-items:center;gap:6px;flex:none;}
.lab-workspace__header .lab-workspace__controls button{font-size:11px;white-space:nowrap;}
.lab-workspace__body{grid-template-rows:minmax(0,1.62fr) minmax(0,1fr);}
.lab-workspace .scalp-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto minmax(105px,1fr) minmax(90px,.85fr) minmax(80px,.75fr) auto;gap:4px;padding:8px;overflow:hidden;align-content:stretch;}
.lab-workspace .scalp-panel__header,.lab-workspace .scalp-panel__market,.lab-workspace .scalp-target-grid,.lab-workspace .scalp-warning{grid-column:1/-1;min-height:0;margin:0;}
.lab-workspace .scalp-panel__header{padding-bottom:2px;}
.lab-workspace .scalp-panel__eyebrow{font-size:8px;}
.lab-workspace .scalp-panel__header h2{font-size:19px;margin:0;}
.lab-workspace .scalp-panel__market{padding:3px 4px;}
.lab-workspace .scalp-panel__market strong{font-size:25px;}
.lab-workspace .scalp-panel__decision{margin-top:2px;padding:4px 8px;font-size:11px;}
.lab-workspace .scalp-target-grid{gap:5px;}
.lab-workspace .scalp-target{min-height:0;padding:6px;}
.lab-workspace .scalp-target__price{font-size:24px;margin:3px 0;}
.lab-workspace .scalp-target__secondary{padding-top:3px;}
.lab-workspace .scalp-target-guide{display:none;}
.lab-workspace .scalp-latest,.lab-workspace .scalp-wave,.lab-workspace .scalp-money,.lab-workspace .scalp-flow{min-height:0;margin:0;padding:5px;overflow:auto;}
.lab-workspace .scalp-wave{grid-column:2;grid-row:4;}
.lab-workspace .scalp-latest{grid-column:1;grid-row:4;}
.lab-workspace .scalp-money{grid-column:1;grid-row:5;}
.lab-workspace .scalp-flow{grid-column:2;grid-row:5;}
.lab-workspace .scalp-warning{padding:4px 6px;}
.lab-workspace .scalp-latest dl div,.lab-workspace .scalp-wave__stats span,.lab-workspace .scalp-money__currency,.lab-workspace .scalp-money__pair,.lab-workspace .scalp-flow__item{padding:2px;}
.lab-workspace .scalp-wave__stats{gap:3px;}
.lab-workspace .scalp-money__grid{gap:3px;}
.lab-workspace .sim-panel{display:grid;grid-template-rows:auto auto auto minmax(100px,1fr) auto minmax(95px,1.2fr) auto;gap:4px;align-content:stretch;padding:8px;overflow:hidden;}
.lab-workspace .sim-panel__header{padding-bottom:3px;}
.lab-workspace .sim-panel__header h2{font-size:19px;}
.lab-workspace .sim-panel__status{margin:0;padding:3px 5px;}
.lab-workspace .sim-target-bias{margin:0;padding:4px 8px;}
.lab-workspace .sim-entry-guides{margin:0;min-height:0;overflow:auto;}
.lab-workspace .sim-entry-guide{padding:5px;}
.lab-workspace .sim-entry-steps,.lab-workspace .sim-entry-rates{margin-top:3px;gap:3px;}
.lab-workspace .sim-entry-step,.lab-workspace .sim-entry-rate{padding:3px;}
.lab-workspace .sim-mode{margin:0;}
.lab-workspace .sim-mode button{padding:5px;}
.lab-workspace .sim-position{display:flex;flex-direction:column;min-height:0;margin:0;overflow:hidden;}
.lab-workspace .sim-position-list{min-height:0;overflow:auto;flex:1;}
.lab-workspace .sim-stats{margin:0;padding:3px;}
.lab-workspace .sim-stats-grid>div{padding:3px;}
.lab-workspace .sim-stats:has(.sim-target-grid),.lab-workspace .sim-actions,.lab-workspace .sim-stream-ticker{display:none;}
.lab-workspace.is-expanded .scalp-panel,.lab-workspace.is-expanded .sim-panel{display:block;overflow:auto;padding:12px;}
.lab-workspace.is-expanded .scalp-target-guide,.lab-workspace.is-expanded .sim-stats:has(.sim-target-grid),.lab-workspace.is-expanded .sim-actions,.lab-workspace.is-expanded .sim-stream-ticker{display:revert;}
.lab-workspace.is-expanded .scalp-latest,.lab-workspace.is-expanded .scalp-wave,.lab-workspace.is-expanded .scalp-money,.lab-workspace.is-expanded .scalp-flow{overflow:visible;margin-top:6px;padding:8px;}
.lab-workspace.is-expanded .sim-position{display:block;overflow:visible;}
.lab-workspace.is-expanded .sim-position-list{max-height:300px;overflow:auto;}
@media(max-width:900px){.lab-workspace .scalp-panel,.lab-workspace .sim-panel{display:block;overflow:auto;}.lab-workspace .sim-stats:has(.sim-target-grid){display:block;}.lab-workspace .lab-workspace__cell{height:65dvh;}.lab-workspace__header b{font-size:13px;}.lab-workspace__header .lab-workspace__controls button{font-size:10px;padding:5px;}}

/* v303: screenshot-driven fit corrections for the single-screen overview. */
.lab-workspace__body{grid-template-rows:minmax(0,1.28fr) minmax(0,1fr);}
.lab-workspace__top{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);}
.lab-workspace .scalp-panel{grid-template-rows:auto auto minmax(90px,1fr) minmax(75px,.82fr) minmax(62px,.66fr) auto;}
.lab-workspace .scalp-panel__header{min-height:0;}
.lab-workspace .scalp-panel__market{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;padding:2px 3px;}
.lab-workspace .scalp-panel__market>span{grid-column:1;}
.lab-workspace .scalp-panel__market>strong{grid-column:2;font-size:22px;}
.lab-workspace .scalp-panel__decision{grid-column:1/-1;margin:0;padding:4px 7px;line-height:1.25;}
.lab-workspace .scalp-target{padding:4px 6px;}
.lab-workspace .scalp-target__price{font-size:21px;margin:2px 0;}
.lab-workspace .scalp-latest,.lab-workspace .scalp-wave,.lab-workspace .scalp-money,.lab-workspace .scalp-flow{overflow:hidden;padding:4px 6px;}
.lab-workspace .scalp-latest>div{margin-bottom:3px;}
.lab-workspace .scalp-latest dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;}
.lab-workspace .scalp-latest dl div{padding:3px;}
.lab-workspace .scalp-latest dt{margin-bottom:1px;font-size:9px;}
.lab-workspace .scalp-latest dd{font-size:10px;}
.lab-workspace .scalp-wave #scalp-wave-message{margin:2px 0;font-size:10px;line-height:1.15;}
.lab-workspace .scalp-wave__meter{margin:1px 0 3px;}
.lab-workspace .scalp-wave__stats span{gap:0;padding:2px;}
.lab-workspace .scalp-wave__stats strong{font-size:11px;}
.lab-workspace .scalp-wave__stats small{display:none;}
.lab-workspace .scalp-money__heading,.lab-workspace .scalp-flow__heading{margin-bottom:3px;}
.lab-workspace .scalp-money__grid,.lab-workspace .scalp-flow__grid{gap:3px;}
.lab-workspace .scalp-money__currency,.lab-workspace .scalp-money__pair,.lab-workspace .scalp-flow__item{gap:1px;padding:2px;}
.lab-workspace .scalp-money__currency strong,.lab-workspace .scalp-money__pair strong{font-size:12px;}
.lab-workspace .scalp-money__currency small,.lab-workspace .scalp-money__pair small{display:none;}
.lab-workspace .scalp-flow__item b,.lab-workspace .scalp-flow__item strong{font-size:9px;}
.lab-workspace .scalp-warning{padding:3px 6px;}
.lab-workspace .sim-panel{grid-template-rows:auto auto minmax(72px,.75fr) auto minmax(120px,1.35fr) auto;}
.lab-workspace .sim-target-bias{display:none;}
.lab-workspace .sim-entry-guides{overflow:hidden;}
.lab-workspace .sim-entry-guide{padding:4px 6px;}
.lab-workspace .sim-entry-guide__heading{margin-bottom:3px;}
.lab-workspace .sim-entry-guide__heading span{font-size:9px;}
.lab-workspace .sim-entry-guide__heading strong{font-size:11px;}
.lab-workspace .sim-entry-steps{display:none;}
.lab-workspace .sim-entry-rates{margin-top:3px;}
.lab-workspace .sim-entry-rate{gap:2px;padding:3px;}
.lab-workspace .sim-entry-rate span,.lab-workspace .sim-entry-rate small{font-size:8px;}
.lab-workspace .sim-entry-rate strong{font-size:15px;}
.lab-workspace .sim-position{padding:5px 7px;}
.lab-workspace .sim-position-summary{margin-bottom:3px;}
.lab-workspace .sim-position-summary>span{padding:3px 5px;}
.lab-workspace .sim-position-row{min-height:31px;padding:4px 6px;}
.lab-workspace .sim-position-detail{padding:3px 6px;}
.lab-workspace .sim-position-detail span{padding:2px 4px;}
.lab-workspace .sim-stats-grid>div{padding:2px;}
.lab-workspace .sim-stats-grid strong{font-size:14px;}
.lab-workspace .direction-forecast-dialog{gap:2px;padding:7px;}
.lab-workspace .direction-forecast-dialog header{padding-bottom:2px;}
.lab-workspace .direction-forecast-dialog h2{font-size:15px;}
.lab-workspace .direction-forecast-note{font-size:9px;line-height:1.1;}
.lab-workspace .direction-forecast-head,.lab-workspace .direction-forecast-row{min-height:0;grid-template-columns:30px 53px 63px minmax(70px,1fr) 68px;gap:3px;padding:3px 2px;font-size:9px;}
.lab-workspace .direction-forecast-list{overflow:auto;}
.lab-workspace .sim-history-dialog__inner{padding:7px;}
.lab-workspace .sim-history-dialog header{padding-bottom:4px;}
.lab-workspace .sim-history-dialog header h2{font-size:17px;}
.lab-workspace .sim-history-toolbar{padding:4px 0;}
.lab-workspace .sim-history-toolbar button{padding:6px 8px;}
.lab-workspace .sim-history-head{padding:4px 6px;}
.lab-workspace .sim-history-dialog .sim-history-row{min-height:0;padding:5px 6px;font-size:9px;}
.lab-workspace .tp-rail-dialog{gap:5px;padding:8px;}
.lab-workspace .tp-rail-dialog header{padding-bottom:4px;}
.lab-workspace .tp-rail-dialog h2{font-size:17px;}
.lab-workspace .tp-rail-direction{padding:5px 7px;}
.lab-workspace .tp-rail-row{padding:4px 3px;}
.lab-workspace .tp-rail-current{margin:4px 0;padding:6px;}
.lab-workspace.is-expanded .sim-target-bias,.lab-workspace.is-expanded .sim-entry-steps,.lab-workspace.is-expanded .scalp-wave__stats small,.lab-workspace.is-expanded .scalp-money__currency small,.lab-workspace.is-expanded .scalp-money__pair small{display:revert;}
.lab-workspace.is-expanded .sim-entry-guides{overflow:visible;}
@media(max-width:900px){.lab-workspace .sim-target-bias,.lab-workspace .sim-entry-steps{display:revert;}.lab-workspace .scalp-latest,.lab-workspace .scalp-wave,.lab-workspace .scalp-money,.lab-workspace .scalp-flow{overflow:visible;}}

/* v304: monitor + target ladder + forecast; simulation and history float separately. */
.lab-workspace__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-rows:minmax(0,1fr);gap:8px;overflow:hidden;}
.lab-workspace__side{display:grid;grid-template-rows:minmax(0,1.3fr) minmax(0,1fr);gap:8px;min-width:0;min-height:0;}
.lab-workspace .scalp-panel{display:block;overflow-y:auto;padding:12px;}
.lab-workspace .scalp-panel__header{padding-bottom:7px;}
.lab-workspace .scalp-panel__market{display:block;padding:7px 2px 6px;}
.lab-workspace .scalp-panel__market>strong{font-size:27px;}
.lab-workspace .scalp-panel__decision{margin-top:4px;padding:7px 10px;}
.lab-workspace .scalp-target-grid{gap:7px;}
.lab-workspace .scalp-target{padding:9px;min-height:120px;}
.lab-workspace .scalp-target__price{font-size:27px;margin:6px 0 3px;}
.lab-workspace .scalp-target__secondary{padding-top:5px;}
.lab-workspace .scalp-target-guide{display:block;}
.lab-workspace .scalp-latest,.lab-workspace .scalp-wave,.lab-workspace .scalp-money,.lab-workspace .scalp-flow{overflow:visible;margin-top:6px;padding:8px;}
.lab-workspace .scalp-latest>div{margin-bottom:5px;}
.lab-workspace .scalp-latest dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;}
.lab-workspace .scalp-latest dl div{padding:6px;}
.lab-workspace .scalp-latest dt{margin-bottom:3px;font-size:10px;}
.lab-workspace .scalp-latest dd{font-size:12px;}
.lab-workspace .scalp-wave #scalp-wave-message{margin:4px 0 6px;line-height:1.35;}
.lab-workspace .scalp-wave__stats span{gap:2px;padding:5px;}
.lab-workspace .scalp-wave__stats strong{font-size:13px;}
.lab-workspace .scalp-wave__stats small,.lab-workspace .scalp-money__currency small,.lab-workspace .scalp-money__pair small{display:block;}
.lab-workspace .scalp-money__heading,.lab-workspace .scalp-flow__heading{margin-bottom:5px;}
.lab-workspace .scalp-money__currency,.lab-workspace .scalp-money__pair,.lab-workspace .scalp-flow__item{gap:3px;padding:5px;}
.lab-workspace .scalp-money__currency strong,.lab-workspace .scalp-money__pair strong{font-size:14px;}
.lab-workspace .scalp-flow__item b,.lab-workspace .scalp-flow__item strong{font-size:10px;}
.lab-workspace .scalp-warning{margin-top:6px;padding:8px;}
.lab-workspace .tp-rail-dialog{padding:12px;gap:7px;}
.lab-workspace .tp-rail-dialog h2{font-size:20px;}
.lab-workspace .tp-rail-row{padding:6px 5px;}
.lab-workspace .direction-forecast-dialog{padding:10px;gap:4px;}
.lab-workspace .direction-forecast-dialog h2{font-size:18px;}
.lab-workspace .direction-forecast-head,.lab-workspace .direction-forecast-row{grid-template-columns:38px 74px 80px minmax(95px,1fr) 90px;gap:5px;min-height:25px;padding:4px 5px;font-size:10px;}
.lab-workspace .direction-forecast-row b{font-size:12px;}
.lab-workspace .direction-forecast-accuracy{font-size:10px;}
body.lab-workspace-mode #sim-panel.is-open{z-index:5200;}
body.lab-workspace-mode #sim-history-dialog[open]{z-index:5300;}
@media(max-width:900px){.lab-workspace__body{display:block;overflow:auto;}.lab-workspace__body>[data-workspace-slot="scalp"]{height:min(85dvh,900px);margin-bottom:8px;}.lab-workspace__side{display:block;}.lab-workspace__side>[data-workspace-slot="tp"]{height:60dvh;margin-bottom:8px;}.lab-workspace__side>[data-workspace-slot="direction"]{height:380px;}.lab-workspace .scalp-panel{overflow:auto;}.lab-workspace .direction-forecast-head,.lab-workspace .direction-forecast-row{grid-template-columns:30px 54px 68px minmax(80px,1fr) 76px;gap:3px;padding:4px 2px;font-size:9px;}}

/* v305: cap the reading width of the three-panel screen. */
.lab-workspace__header,.lab-workspace__body{box-sizing:border-box;width:min(100%,1120px);justify-self:center;}
.lab-workspace__body{grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);}
@media(max-width:900px){.lab-workspace__header,.lab-workspace__body{width:100%;}.lab-workspace__body{display:block;}}

/* v306: one typography scale for the three panels. */
.lab-workspace{--lab-title:20px;--lab-section:12px;--lab-body:11px;--lab-caption:10px;}
.lab-workspace :is(.scalp-panel__header,.tp-rail-dialog>header,.direction-forecast-dialog>header){box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;min-height:56px;margin:0;padding:5px 5px 8px;border-bottom:1px solid rgba(66,190,218,.42);}
.lab-workspace :is(.scalp-panel__header,.tp-rail-dialog>header,.direction-forecast-dialog>header)>div:first-child{min-width:0;}
.lab-workspace :is(.scalp-panel__eyebrow,.tp-rail-dialog>header p,.direction-forecast-dialog>header p){margin:0 0 4px;color:#76dff1;font:700 var(--lab-caption)/1.2 "Oxanium","Noto Sans JP",sans-serif;letter-spacing:.12em;text-shadow:none;}
.lab-workspace :is(.scalp-panel__header h2,.tp-rail-dialog>header h2,.direction-forecast-dialog>header h2){margin:0;color:#effbff;background:none;filter:none;text-shadow:none;font:800 var(--lab-title)/1.15 "Oxanium","Noto Sans JP",sans-serif;font-style:normal;letter-spacing:.07em;}
.lab-workspace #tp-rail-count{margin-left:7px;color:#a6bfca;font:700 var(--lab-caption)/1.2 "Oxanium","Noto Sans JP",sans-serif;letter-spacing:0;}
.lab-workspace :is(.scalp-latest>div,.scalp-wave__heading h3,.scalp-money__heading h3,.scalp-flow__heading h3,.scalp-warning__heading h3,.tp-rail-side h3){font-size:var(--lab-section);line-height:1.25;letter-spacing:.05em;}
.lab-workspace :is(.scalp-target__caption,.scalp-target__distance,.scalp-latest dd,.scalp-money__currency strong,.scalp-money__pair strong,.scalp-flow__item strong,.tp-rail-direction,.tp-rail-row,.tp-rail-current,.direction-forecast-row){font-size:var(--lab-body);line-height:1.3;}
.lab-workspace :is(.scalp-target-guide,.scalp-latest dt,.scalp-wave__stats b,.scalp-money__currency span,.scalp-money__pair span,.scalp-flow__item b,.tp-rail-side p,.tp-rail-dialog footer,.direction-forecast-note,.direction-forecast-dialog footer,.direction-forecast-head){font-size:var(--lab-caption);line-height:1.3;}
.lab-workspace .tp-rail-row b,.lab-workspace .direction-forecast-row b{font-size:12px;}
.lab-workspace .tp-rail-row strong{font-size:15px;}
.lab-workspace .tp-rail-row small,.lab-workspace .direction-forecast-accuracy{font-size:var(--lab-caption);}
.lab-workspace .direction-forecast-head,.lab-workspace .direction-forecast-row{min-height:26px;}
.lab-workspace .tp-rail-current strong{font-size:23px;}
@media(max-width:900px){.lab-workspace{--lab-title:18px;--lab-section:11px;--lab-body:10px;--lab-caption:9px;}}
.lab-workspace :is(.scalp-panel__header h2,.tp-rail-dialog>header h2,.direction-forecast-dialog>header h2) small{display:inline-block;margin-left:7px;color:#a6bfca;background:none;font:700 var(--lab-caption)/1.2 "Oxanium","Noto Sans JP",sans-serif;font-style:normal;letter-spacing:0;vertical-align:baseline;}
.scalp-panel__header h2 small,.direction-forecast-dialog h2 small{color:#9dbcc7;font:700 10px/1.2 "Oxanium","Noto Sans JP",sans-serif;letter-spacing:0;vertical-align:baseline;}

/* v307: a movable, resizable combined window and single-line panel headings. */
.lab-workspace{inset:auto;top:8px;left:max(8px,calc((100vw - 1140px)/2));width:min(1140px,calc(100vw - 16px));height:min(840px,calc(100dvh - 16px));max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);resize:both;overflow:hidden;box-shadow:0 20px 70px rgba(0,0,0,.82),0 0 0 1px rgba(67,199,228,.4);}
.lab-workspace__header{width:100%;min-height:38px;cursor:grab;touch-action:none;user-select:none;}
.lab-workspace__header.is-dragging{cursor:grabbing;}
.lab-workspace__body{width:100%;}
.lab-workspace :is(.scalp-panel__header,.tp-rail-dialog>header,.direction-forecast-dialog>header){min-height:42px;padding:5px 4px;}
@media(max-width:900px){.lab-workspace{top:8px;left:8px;width:calc(100vw - 16px);height:calc(100dvh - 16px);resize:none;}.lab-workspace__header{width:100%;}}

/* v308: compact TP rows and a live price-level thermometer. */
.tp-rail-dialog{grid-template-rows:auto auto 124px minmax(0,1fr) auto;}
.tp-rail-map{position:relative;box-sizing:border-box;height:124px;min-height:0;overflow:hidden;border:1px solid rgba(65,167,191,.42);background:repeating-linear-gradient(to top,transparent 0 24px,rgba(64,139,163,.14) 24px 25px),linear-gradient(180deg,rgba(17,80,96,.14),rgba(4,18,32,.72) 52%,rgba(91,17,53,.12));font-family:"Oxanium","Noto Sans JP",sans-serif;}
.tp-rail-map__axis{position:absolute;top:8%;bottom:8%;left:49%;width:3px;background:linear-gradient(180deg,#47dfff,#57d8df 49%,#67f1d0 50%,#ff709e);box-shadow:0 0 9px rgba(89,225,240,.35);}
.tp-rail-map__tick{position:absolute;left:49%;width:calc(13px + var(--stack,1)*3px);height:2px;transform:translateY(-50%);z-index:1;background:#4de2ff;box-shadow:0 0 6px rgba(77,226,255,.5);}
.tp-rail-map__tick.is-below{background:#ff6c9b;box-shadow:0 0 6px rgba(255,108,155,.4);}
.tp-rail-map__tick.is-held{height:4px;background:#7cf7cf;}
.tp-rail-map__current{position:absolute;left:4px;right:56px;z-index:2;display:flex;align-items:center;gap:8px;height:0;border-top:2px solid #83fff0;color:#e9fffc;transform:translateY(-50%);}
.tp-rail-map__current b,.tp-rail-map__current strong{position:relative;top:-8px;padding:1px 4px;background:#075065;font-size:11px;line-height:1.2;white-space:nowrap;}
.tp-rail-map__current strong{font-size:14px;}
.tp-rail-map__counts,.tp-rail-map__high,.tp-rail-map__low{position:absolute;z-index:3;padding:1px 4px;background:rgba(4,17,29,.86);font-size:10px;line-height:1.2;white-space:nowrap;}
.tp-rail-map__counts{top:4px;left:5px;color:#6ee9f0;}
.tp-rail-map__high{top:4px;right:5px;color:#6de4ff;}
.tp-rail-map__low{bottom:4px;right:5px;color:#ff8fb0;}
.tp-rail-list{overflow-x:hidden;}
.tp-rail-row,.lab-workspace .tp-rail-row{grid-template-columns:65px 92px minmax(0,1fr);min-height:30px;gap:5px;padding:4px 7px;}
.tp-rail-row b{white-space:nowrap;}
.tp-rail-row strong{text-align:right;white-space:nowrap;}
.tp-rail-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lab-workspace .tp-rail-dialog{grid-template-rows:auto auto 124px minmax(0,1fr) auto;}
@media(max-width:680px){.tp-rail-dialog,.lab-workspace .tp-rail-dialog{grid-template-rows:auto auto 102px minmax(0,1fr) auto;}.tp-rail-map{height:102px;}.tp-rail-row,.lab-workspace .tp-rail-row{grid-template-columns:54px 78px minmax(0,1fr);gap:3px;padding:4px;font-size:9px;}}

/* v309: price history and fixed TP levels. */
.tp-rail-dialog,.lab-workspace .tp-rail-dialog{grid-template-rows:auto auto auto 156px minmax(0,1fr) auto;}
.tp-rail-toolbar{display:flex;align-items:center;gap:4px;min-width:0;white-space:nowrap;}
.tp-rail-toolbar button{flex:none;padding:4px 6px;color:#a0c8d6;background:#0b2434;border:1px solid #285166;border-radius:3px;font:700 10px "Oxanium","Noto Sans JP",sans-serif;cursor:pointer;}
.tp-rail-toolbar button.is-active{color:#051c29;background:#71eaff;border-color:#71eaff;}
#tp-rail-approach{min-width:0;overflow:hidden;text-overflow:ellipsis;color:#c4faff;font-size:10px;font-weight:700;}
.tp-rail-map{height:156px;background:linear-gradient(180deg,rgba(21,71,92,.27),rgba(3,16,29,.95));}
.tp-rail-map__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.tp-rail-map__grid{stroke:#456578;stroke-opacity:.25;stroke-width:.45;}
.tp-rail-map__target{stroke:#51def5;stroke-opacity:.75;stroke-width:.65;stroke-dasharray:1.5 1;}
.tp-rail-map__target.is-down{stroke:#ff74a0;}
.tp-rail-map__target.is-fresh{stroke:#ffd46a;stroke-width:1;stroke-opacity:.9;}
.tp-rail-map__price{fill:none;stroke:#70f3ff;stroke-width:1.4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px #4ce2ff);}
.tp-rail-map__label{position:absolute;right:2px;z-index:2;width:21%;max-width:120px;overflow:hidden;text-overflow:ellipsis;transform:translateY(-50%);padding:1px 2px;color:#63e2f3;background:#071a28;font-size:9px;white-space:nowrap;}
.tp-rail-map__label.is-down{color:#ff8dac;}.tp-rail-map__label.is-fresh{color:#ffd46a;}
.tp-rail-map__now{position:absolute;left:4px;top:50%;z-index:3;transform:translateY(-50%);padding:1px 3px;color:#e5fffd;background:#075065;font-size:10px;white-space:nowrap;}
.tp-rail-map__time{position:absolute;left:4px;bottom:3px;z-index:2;color:#8caebd;font-size:9px;}
@media(max-width:680px){.tp-rail-dialog,.lab-workspace .tp-rail-dialog{grid-template-rows:auto auto auto 138px minmax(0,1fr) auto;}.tp-rail-map{height:138px;}.tp-rail-toolbar{flex-wrap:wrap;}.tp-rail-toolbar #tp-rail-approach{flex-basis:100%;}}

/* v310: emphasize the chart; keep the full ladder as a compact reference. */
.tp-rail-dialog,.lab-workspace .tp-rail-dialog{grid-template-rows:auto auto auto 184px minmax(0,1fr) auto;}
.tp-rail-map{height:184px;border-color:rgba(100,225,245,.8);background:linear-gradient(180deg,rgba(23,80,104,.32),rgba(3,16,29,.98));}
.tp-rail-map__target{stroke-width:1.35;stroke-opacity:.94;stroke-dasharray:3 2;vector-effect:non-scaling-stroke;}
.tp-rail-map__target.is-nearest{stroke-width:2.2;stroke-opacity:1;filter:drop-shadow(0 0 3px currentColor);}
.tp-rail-map__target.is-fresh{stroke-width:2;stroke-opacity:1;}
.tp-rail-map__leader{stroke:#aecbd8;stroke-width:1;vector-effect:non-scaling-stroke;}
.tp-rail-map__price{stroke:#e8ffff;stroke-width:2;filter:drop-shadow(0 0 4px #6af2ff);}
.tp-rail-map__label{box-sizing:border-box;right:2%;width:29%;max-width:none;padding:2px 3px;border:1px solid #328294;border-left:3px solid #52dcf7;border-radius:3px;color:#b5f4ff;background:#061b2a;font-size:10px;font-weight:800;line-height:1.2;}
.tp-rail-map__label.is-down{border-color:#914363;border-left-color:#ff75a4;color:#ffc0d2;}
.tp-rail-map__label.is-fresh{border-color:#96712d;border-left-color:#ffd46a;color:#ffe3a0;}
.tp-rail-map__label.is-nearest{box-shadow:0 0 8px rgba(92,231,250,.35);}
.tp-rail-map__now{padding:2px 4px;font-size:11px;}
.tp-rail-row,.lab-workspace .tp-rail-row{grid-template-columns:52px 73px minmax(0,1fr);min-height:22px;gap:3px;padding:2px 5px;font-size:10px;line-height:1.1;}
.tp-rail-row strong,.lab-workspace .tp-rail-row strong{font-size:11px;}
.tp-rail-row small,.lab-workspace .tp-rail-row small{font-size:9px;}
.tp-rail-current,.lab-workspace .tp-rail-current{margin:2px 0;padding:3px 5px;}
.tp-rail-current strong,.lab-workspace .tp-rail-current strong{font-size:16px;}
.tp-rail-side{gap:2px;}
@media(max-width:680px){.tp-rail-dialog,.lab-workspace .tp-rail-dialog{grid-template-rows:auto auto auto 160px minmax(0,1fr) auto;}.tp-rail-map{height:160px;}.tp-rail-map__label{font-size:9px;}.tp-rail-row,.lab-workspace .tp-rail-row{grid-template-columns:45px 67px minmax(0,1fr);}}

/* v311: graph fills the TP window; enlarged target prices and pip gaps. */
.tp-rail-dialog,.lab-workspace .tp-rail-dialog{grid-template-rows:auto auto auto minmax(0,1fr) auto;}
.tp-rail-map{height:100%;min-height:0;}
.tp-rail-map__target{stroke-width:1.8;}
.tp-rail-map__target.is-nearest{stroke-width:2.8;}
.tp-rail-map__label{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 7px;right:2%;width:36%;max-width:none;padding:6px 8px;font-size:12px;line-height:1.1;box-shadow:0 2px 10px rgba(0,0,0,.6);}
.tp-rail-map__label b{font-size:12px;white-space:nowrap;}
.tp-rail-map__label strong{font-size:18px;letter-spacing:.02em;white-space:nowrap;}
.tp-rail-map__label small{display:block;flex-basis:100%;text-align:right;color:inherit;font-size:12px;font-weight:700;}
.tp-rail-map__label.is-nearest{box-shadow:0 0 12px rgba(100,230,250,.55);}
@media(max-width:680px){.tp-rail-dialog,.lab-workspace .tp-rail-dialog{grid-template-rows:auto auto auto minmax(0,1fr) auto;}.tp-rail-map{height:100%;}.tp-rail-map__label{padding:4px 5px;gap:0 3px;}.tp-rail-map__label b{font-size:10px;}.tp-rail-map__label strong{font-size:14px;}.tp-rail-map__label small{font-size:10px;}}

/* v312: luminous price trace with a visible corridor to nearby targets. */
.tp-rail-dialog,.lab-workspace .tp-rail-dialog{background:radial-gradient(circle at 36% 16%,rgba(24,86,116,.19),transparent 55%),#040d18;}
.tp-rail-toolbar{flex-wrap:wrap;gap:5px 6px;}
.tp-rail-toolbar button{min-width:39px;padding:5px 8px;border-radius:5px;background:#091c2d;letter-spacing:.04em;}
.tp-rail-toolbar button.is-active{box-shadow:0 0 12px rgba(83,221,255,.45);}
#tp-rail-approach{flex-basis:100%;padding:3px 6px;border-left:2px solid #75efff;color:#e4fbff;background:rgba(17,63,82,.52);font-size:11px;}
.tp-rail-map{border:1px solid #33748b;border-radius:6px;background:radial-gradient(circle at 58% 48%,rgba(32,120,145,.2),transparent 45%),repeating-linear-gradient(to right,transparent 0 12.35%,rgba(66,145,172,.07) 12.45% 12.5%),linear-gradient(180deg,#071e2d,#030b16 67%,#0a1724);box-shadow:inset 0 0 22px rgba(34,176,203,.11),0 0 0 1px rgba(8,38,52,.7);}
.tp-rail-map__corridor{fill:url(#tp-rail-target-zone);}
.tp-rail-map__grid{stroke:#568aa0;stroke-opacity:.2;stroke-width:.35;}
.tp-rail-map__live-axis{stroke:#76d6e8;stroke-opacity:.35;stroke-width:.55;stroke-dasharray:1.2 1.5;}
.tp-rail-map__current-level{stroke:#bdffff;stroke-opacity:.4;stroke-width:1;stroke-dasharray:1 2;vector-effect:non-scaling-stroke;}
.tp-rail-map__area{fill:url(#tp-rail-area-fill);}
.tp-rail-map__price-glow{fill:none;stroke:#56e8ff;stroke-width:7;stroke-opacity:.28;vector-effect:non-scaling-stroke;filter:blur(4px);}
.tp-rail-map__price{stroke:#d4ffff;stroke-width:2.4;filter:drop-shadow(0 0 4px #42daff);}
.tp-rail-map__target{stroke-opacity:.85;stroke-width:1.5;stroke-dasharray:4 3;}
.tp-rail-map__target.is-nearest{stroke-width:2.6;stroke-opacity:1;}
.tp-rail-map__smc-line{vector-effect:non-scaling-stroke;stroke-width:1.8;stroke-opacity:.95;stroke-dasharray:6 2;}
.tp-rail-map__smc-line.is-entry{stroke:#c6a1ff;}.tp-rail-map__smc-line.is-stop{stroke:#ffb25d;}
.tp-rail-map__smc-leader{stroke:#dac9eb;stroke-width:1;stroke-opacity:.85;vector-effect:non-scaling-stroke;}
.tp-rail-map__smc-label{position:absolute;left:34%;z-index:4;box-sizing:border-box;min-width:28%;transform:translateY(-50%);padding:3px 5px;border:1px solid #9a76d1;border-left:3px solid #c6a1ff;border-radius:3px;color:#edddff;background:#23193b;font-size:10px;font-weight:800;white-space:nowrap;}
.tp-rail-map__smc-label.is-stop{border-color:#a86a35;border-left-color:#ffb25d;color:#ffe1b9;background:#352115;}
.tp-rail-map__target-cap{fill:#8ff3ff;stroke:#15576c;stroke-width:.6;}.tp-rail-map__target-cap.is-down{fill:#ff86ad;}.tp-rail-map__target-cap.is-fresh{fill:#ffd977;}
.tp-rail-map__badge{position:absolute;top:8px;left:10px;z-index:3;padding:4px 7px;border:1px solid rgba(77,215,238,.35);border-radius:4px;color:#9aeaff;background:rgba(5,29,43,.85);font-size:10px;font-weight:800;letter-spacing:.12em;}
.tp-rail-map__now{left:9px;padding:4px 7px;border:1px solid #8efaff;border-radius:4px;color:#f7ffff;background:#07445a;box-shadow:0 0 12px rgba(78,220,245,.28);font-size:12px;letter-spacing:.04em;}
.tp-rail-map__time{left:10px;bottom:7px;padding:3px 5px;background:rgba(4,18,30,.78);font-size:10px;letter-spacing:.08em;}
.tp-rail-map__label{border-radius:5px;background:linear-gradient(90deg,#082c40,#071c2a 80%);box-shadow:inset 0 1px rgba(170,245,255,.1),0 3px 13px rgba(0,0,0,.55);}
.tp-rail-map__label.is-down{background:linear-gradient(90deg,#3c1830,#1a1023 80%);}
.tp-rail-map__label.is-fresh{background:linear-gradient(90deg,#493415,#211b12 80%);}
.tp-rail-map__label.is-nearest{box-shadow:inset 0 1px rgba(250,255,255,.16),0 0 15px rgba(92,231,250,.5);}

/* v314: compact SMC webhook receipt monitor inside market watch. */
.scalp-smc{grid-column:1/-1;min-width:0;padding:7px 8px;border:1px solid rgba(65,143,166,.45);background:rgba(7,27,40,.7);}
.scalp-smc__heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px;font-size:10px;letter-spacing:.04em;}
.scalp-smc__heading b{color:#eafaff;white-space:nowrap;}
.scalp-smc__heading small{color:#799eaa;font-size:9px;font-weight:500;}
.scalp-panel .scalp-smc__heading span{display:inline;color:#9bd5e4;font-size:10px;white-space:nowrap;}
.scalp-panel .scalp-smc__heading span.is-error{color:#ffb976;}
.scalp-smc__row{display:grid;grid-template-columns:50px repeat(4,minmax(0,1fr));gap:3px;min-width:0;margin-top:3px;align-items:center;}
.scalp-smc__row b{font-size:10px;white-space:nowrap;}
.scalp-smc__row.is-buy b{color:#67eac8;}
.scalp-smc__row.is-sell b{color:#ff87a7;}
.scalp-panel .scalp-smc__row span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 2px;text-align:center;color:#829ba5;background:rgba(15,35,48,.7);border:1px solid rgba(90,130,143,.18);font-size:9px;font-variant-numeric:tabular-nums;letter-spacing:0;}
.scalp-smc__row.is-buy span.is-recent{color:#8cfbdc;border-color:rgba(58,234,184,.55);background:rgba(7,74,58,.5);}
.scalp-smc__row.is-sell span.is-recent{color:#ff9db8;border-color:rgba(255,85,144,.55);background:rgba(80,18,45,.5);}
.lab-workspace .scalp-smc{padding:3px 5px;}
.lab-workspace .scalp-smc__heading{margin-bottom:1px;font-size:9px;}
.lab-workspace .scalp-smc__row{margin-top:1px;grid-template-columns:42px repeat(4,minmax(0,1fr));gap:2px;}
.lab-workspace .scalp-smc__row b,.lab-workspace .scalp-smc__row span{font-size:8px;}
.lab-workspace .scalp-smc__row span{padding:2px 1px;}
@media(max-width:520px){.scalp-smc__row{grid-template-columns:45px repeat(4,minmax(0,1fr));gap:2px;}.scalp-panel .scalp-smc__row span{font-size:8px;}}

/* v315: fit the standalone market watch into the desktop viewport. */
@media(min-width:640px){
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:7px;row-gap:5px;align-content:start;}
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport)>:not(.scalp-latest):not(.scalp-wave){grid-column:1/-1;}
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-latest,
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-wave{min-width:0;margin:0;padding:7px;}
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-latest dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;}
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-latest dl div:last-child{grid-column:1/-1;}
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-latest dl div{padding:4px;}
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-wave__stats span{padding:3px;}
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-wave__stats small{display:none;}
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-target{min-height:106px;padding:7px 9px;}
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-target__price{margin:3px 0 1px;}
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-target__secondary{padding-top:4px;}
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-target-guide{display:none;}
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-panel__market{padding:3px 2px;}
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-smc{padding:3px 5px;}
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-smc__heading{margin-bottom:2px;}
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-smc__row{margin-top:1px;}
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-money,
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-flow,
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-warning{margin:0;padding:7px;}
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-money__currency,
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-money__pair,
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-flow__item{padding:4px 3px;gap:2px;}
}

/* v316: consistent market-watch type scale and in-card target receipts. */
.scalp-panel{--watch-heading:13px;--watch-label:11px;--watch-reading:14px;}
.scalp-panel__actions{gap:5px;}
.scalp-panel__detail-toggle{font-size:11px;}
.scalp-target{position:relative;}
.scalp-target__latest{position:absolute;right:8px;top:38px;max-width:43%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 5px;border:1px solid currentColor;border-radius:3px;font-size:var(--watch-label);font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;}
.scalp-target__latest[hidden]{display:none;}
.scalp-target--long .scalp-target__latest{color:#7df5db;background:#07342f;}
.scalp-target--short .scalp-target__latest{color:#ff9bbc;background:#351727;}
.scalp-target__latest.is-flashing{animation:scalpTargetNew 1s ease-in-out 8;}
@keyframes scalpTargetNew{50%{filter:brightness(1.8);box-shadow:0 0 12px currentColor;}}
.scalp-target__caption{font-size:12px;}
.scalp-target__distance,.scalp-target__secondary span,.scalp-target__secondary small{font-size:var(--watch-label);}
.scalp-target__secondary strong{font-size:var(--watch-reading);}
.scalp-panel__decision{font-size:12px;}
.scalp-money__heading h3,.scalp-flow__heading h3,.scalp-warning__heading h3,.scalp-wave__heading h3,
.scalp-panel:not(.is-detail) .scalp-wave__heading h3{font-size:var(--watch-heading);}
#scalp-wave-title small{color:#82a5b1;font-size:10px;font-weight:500;white-space:nowrap;}
.scalp-panel:not(.is-detail) #scalp-wave-message{font-size:var(--watch-label);}
.scalp-panel:not(.is-detail) #scalp-wave-label{font-size:var(--watch-label);}
.scalp-panel:not(.is-detail) .scalp-wave__stats b{font-size:var(--watch-label);}
.scalp-panel:not(.is-detail) .scalp-wave__stats strong{font-size:var(--watch-reading);}
.scalp-panel:not(.is-detail) .scalp-wave__stats small{font-size:10px;}
.scalp-money__currency span,.scalp-money__pair span,.scalp-flow__item b,
.scalp-money__currency small,.scalp-money__pair small{font-size:var(--watch-label);}
.scalp-money__currency strong,.scalp-money__pair strong{font-size:var(--watch-reading);}
.scalp-flow__item strong{font-size:var(--watch-label);}
.scalp-panel .scalp-smc__heading{font-size:var(--watch-label);}
.scalp-panel .scalp-smc__heading small,.scalp-panel .scalp-smc__heading span{font-size:10px;}
.scalp-smc__row{grid-template-columns:47px repeat(4,minmax(0,1fr));}
.scalp-panel .scalp-smc__row b{font-size:var(--watch-label);}
.scalp-panel .scalp-smc__row span{display:flex;flex-direction:column;align-items:center;gap:1px;min-height:27px;white-space:nowrap;font-size:var(--watch-label);font-weight:700;line-height:1.2;}
.scalp-panel .scalp-smc__row span small{color:inherit;opacity:.75;font-size:10px;font-weight:500;}
.lab-workspace .scalp-panel .scalp-smc__row span{font-size:10px;}
.scalp-panel:not(.is-detail) .scalp-target__caption{font-size:12px;}
.scalp-panel:not(.is-detail) .scalp-target__secondary span,
.scalp-panel:not(.is-detail) .scalp-target__secondary small{font-size:11px;}
.scalp-panel:not(.is-detail) .scalp-smc__row span{font-size:11px;}
.lab-workspace .scalp-panel .scalp-smc__row span{font-size:11px;}
.lab-workspace .scalp-panel .scalp-smc__heading span{font-size:10px;}
.lab-workspace .scalp-panel .scalp-wave__stats b{font-size:11px;}
.lab-workspace .scalp-panel .scalp-wave__stats strong{font-size:14px;}
.lab-workspace .scalp-panel .scalp-wave__stats small{font-size:10px;}
.lab-workspace .scalp-panel .scalp-money__currency strong,
.lab-workspace .scalp-panel .scalp-money__pair strong{font-size:14px;}
.lab-workspace .scalp-panel .scalp-flow__item b,
.lab-workspace .scalp-panel .scalp-flow__item strong{font-size:11px;}
@media(min-width:640px){
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-wave{grid-column:1/-1;}
  body:not(.lab-workspace-mode) .scalp-panel:not(.is-detail):not(.is-mobile-viewport) .scalp-wave__stats small{display:block;}
}
@media(max-width:680px){.scalp-target__latest{position:static;max-width:100%;align-self:flex-end;margin-top:3px;}.scalp-panel .scalp-smc__row span{font-size:10px;}}
@media(prefers-reduced-motion:reduce){.scalp-target__latest.is-flashing{animation:none;}}

/* v317: both paper models remain visible in the existing draggable SIM window. */
.smc-paper{margin:8px 0 10px;padding:9px;border:1px solid rgba(104,177,216,.45);background:rgba(7,19,34,.85);font:12px/1.45 "Noto Sans JP",sans-serif}
.smc-paper__compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.smc-paper__compare>div{display:grid;gap:2px;padding:9px;background:#0b2031;border:1px solid rgba(100,193,216,.35);min-width:0}
.smc-paper__compare>div.smc-paper__history{background:#1a1731;border-color:rgba(179,149,241,.48)}
.smc-paper__compare>div:last-child{background:#13281f;border-color:rgba(124,211,157,.48)}
.smc-paper__compare small{font-size:11px;color:#8cc8dc}.smc-paper__compare strong{font:700 18px/1.3 "Oxanium","Noto Sans JP",sans-serif;color:#f2fbff}
.smc-paper__compare span{font-size:11px;color:#c0d6df}.smc-paper__details{display:flex;justify-content:space-between;flex-wrap:wrap;gap:3px;margin:9px 0 5px;color:#d6defb}
.smc-paper__details b{font-size:12px;letter-spacing:.07em}.smc-paper__details span{font-size:10px}
.smc-paper__list{display:grid;gap:5px;max-height:175px;overflow:auto}.smc-paper__row{display:flex;justify-content:space-between;gap:8px;padding:5px 7px;background:rgba(55,72,109,.25);font-size:11px}
.smc-paper__row b{color:#f7e4a6}.smc-paper__row span{text-align:right}.smc-paper__note{display:block;margin-top:5px;color:#9bb0bb;font-size:10px}
@media(max-width:680px){.smc-paper__compare strong{font-size:15px}.smc-paper__compare span{font-size:10px}}
@media(max-width:680px){.smc-paper__compare{grid-template-columns:repeat(2,minmax(0,1fr))}.smc-paper__compare>div:last-child{grid-column:1/-1}}
.lab-workspace .sim-panel>.smc-paper{display:none}
body.stream-mode .sim-panel>.smc-paper{display:none}

/* v320: the free space beside the overview hosts only the two SMC paper models. */
.lab-workspace{left:8px;width:min(1640px,calc(100vw - 16px));}
.lab-workspace__body{grid-template-columns:minmax(0,1.18fr) minmax(0,1fr) minmax(308px,340px);grid-template-rows:minmax(0,1fr);overflow:hidden;}
.lab-workspace__models{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:8px;min-height:0;min-width:0;}
.lab-model{display:flex;flex-direction:column;min-height:0;min-width:0;padding:10px 11px;box-sizing:border-box;overflow:hidden;background:linear-gradient(145deg,#061927,#07101d);border:1px solid rgba(75,202,227,.58);box-shadow:inset 0 0 24px rgba(46,177,213,.07);font-family:"Oxanium","Noto Sans JP",sans-serif;}
.lab-model--history{background:linear-gradient(145deg,#1c1731,#0d1424);border-color:rgba(179,149,241,.48);}
.lab-model--turn{background:linear-gradient(145deg,#09251e,#07141b);border-color:rgba(102,218,167,.58);}
.lab-model>header{display:flex;align-items:flex-start;justify-content:space-between;gap:5px;min-height:47px;border-bottom:1px solid rgba(90,183,207,.32);}
.lab-model>header h2{margin:0;color:#eefcff;font-size:18px;line-height:1.2;letter-spacing:.04em;}
.lab-model>header small{display:block;margin-top:3px;color:#a7c8d1;font-size:10px;line-height:1.2;}
.lab-model__version{display:block;margin-top:5px;color:#73d9e9;font:700 9px/1.2 "Oxanium","Noto Sans JP",sans-serif;letter-spacing:.05em;white-space:nowrap;}

/* v333: compact the workspace toolbar while retaining drag and window controls. */
.lab-workspace__header{min-height:26px;padding:1px 5px;gap:5px;background:rgba(7,21,34,.88);}
.lab-workspace__header .lab-workspace__grip{display:inline-block;color:#82b6c8;font-size:10px;font-weight:700;white-space:nowrap;letter-spacing:.04em;}
.lab-workspace__header .lab-workspace__controls button{padding:3px 7px;font-size:10px;line-height:1.2;}
@media(max-width:900px){.lab-workspace__header .lab-workspace__grip{display:none;}}
.lab-model>header>b{color:#79e6f5;border:1px solid rgba(121,230,245,.45);padding:3px 5px;font-size:9px;letter-spacing:.1em;}
.lab-model--history>header>b{color:#d5bdff;border-color:rgba(190,158,247,.5);}
.lab-model__history-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:6px 0;color:#c7b8e4;font-size:10px;}
.lab-model__history-summary span{padding:4px;background:rgba(75,51,105,.4);border:1px solid rgba(179,149,241,.28);white-space:nowrap;}
.lab-model__history-summary strong{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;color:#f1e9ff;font-size:15px;}
.lab-model__history-list{display:grid;align-content:start;gap:4px;min-height:0;overflow-y:auto;color:#bdacd4;font-size:10px;}
.lab-model__history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 5px;padding:4px 5px;border:1px solid rgba(179,149,241,.24);background:rgba(28,23,45,.68);}
.lab-model__history-row b{font-size:11px;color:#83efba;}.lab-model__history-row.is-stop b{color:#ff9aab;}
.lab-model__history-row time,.lab-model__history-row small{color:#b5a5cc;font-size:9px;}
.lab-model__history-row strong{text-align:right;color:#f0e7ff;font-size:11px;}
.lab-model__history-row small{grid-column:1/-1;}
.lab-model--turn>header>b{color:#92edbe;border-color:rgba(146,237,190,.45);}
.lab-model__summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:9px 0;}
.lab-model__summary>span{display:grid;gap:2px;padding:7px 8px;background:rgba(19,55,74,.55);border:1px solid rgba(89,174,202,.35);color:#a8c5d0;font-size:10px;}
.lab-model--turn .lab-model__summary>span{background:rgba(19,62,47,.5);border-color:rgba(103,198,152,.35);}
.lab-model__summary strong{color:#f1fcff;font-size:21px;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap;}
.lab-model__state{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:7px;padding:6px 2px;border-bottom:1px solid rgba(83,158,181,.26);}
.lab-model__state strong{color:#75e5f6;font-size:13px;}.lab-model--turn .lab-model__state strong{color:#8cebc1;}
.lab-model__state small{color:#a7bdc7;font-size:10px;text-align:right;}
.lab-model__monitor{display:grid;gap:4px;margin-bottom:6px;font-size:10px;line-height:1.25;}
.lab-model__monitor-row{display:grid;grid-template-columns:62px minmax(0,1fr);gap:2px 6px;align-items:center;padding:4px 6px;background:rgba(9,35,46,.78);border:1px solid rgba(83,158,181,.28);min-width:0;}
.lab-model__monitor-row.is-short{background:rgba(43,20,37,.58);border-color:rgba(213,112,154,.28);}
.lab-model__monitor-row b{grid-row:1/3;color:#78ebcb;font-size:10px;white-space:nowrap;}
.lab-model__monitor-row.is-short b{color:#ff9db8;}
.lab-model__monitor-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f1fcff;font-size:11px;}
.lab-model__monitor-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a9c5d1;font-size:9px;}
.lab-model__detail{display:grid;align-content:start;gap:5px;min-height:0;overflow:auto;color:#c9e5ed;font-size:11px;line-height:1.35;}
.lab-model__detail div{display:flex;justify-content:space-between;gap:6px;padding:5px 6px;border:1px solid rgba(80,153,178,.28);background:rgba(8,27,41,.62);}
.lab-model__detail b{color:#d8eef3;white-space:nowrap;}.lab-model__detail span{text-align:right;font-variant-numeric:tabular-nums;}
.lab-model>footer{margin-top:auto;padding-top:7px;color:#91adb8;font-size:10px;line-height:1.25;}
@media(max-width:1279px){.lab-workspace__body{grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);grid-template-rows:minmax(500px,1fr) 320px;overflow-y:auto;}.lab-workspace__models{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr);}}
@media(max-width:900px){.lab-workspace{left:8px;width:calc(100vw - 16px);}.lab-workspace__body{display:block;overflow-y:auto;}.lab-workspace__models{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(300px,auto));}.lab-model{min-height:300px;}}

/* v340: keep all three targets visible when a paper position opens. */
.lab-model>header{min-height:43px;}
.lab-model__summary{margin:6px 0;gap:5px;}
.lab-model__summary>span{padding:5px 7px;}
.lab-model__summary strong{font-size:18px;}
.lab-model__state{margin-bottom:4px;padding:3px 2px;}
.lab-model__monitor{gap:3px;margin-bottom:4px;}
.lab-model__monitor-row{padding:3px 5px;}
.lab-model__detail{gap:4px;}
.lab-model__detail>div{padding:3px 5px;}
.lab-model__targets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-width:0;}
.lab-model__detail .lab-model__targets>div{display:flex;flex-direction:column;gap:2px;padding:4px 3px;min-width:0;text-align:center;border:1px solid rgba(80,153,178,.35);background:rgba(8,27,41,.62);}
.lab-model__targets b{font-size:9px;overflow:hidden;text-overflow:ellipsis;}
.lab-model__targets strong{font-size:13px;color:#f2fcff;font-variant-numeric:tabular-nums;white-space:nowrap;}
.lab-model>footer{padding-top:4px;line-height:1.15;}
body.lab-workspace-mode #sim-panel.is-open>.smc-paper{display:none;}

/* v325: one full-height chart with a fixed one-hour price window. */
.tp-rail-dialog,.lab-workspace .tp-rail-dialog{grid-template-rows:auto auto auto minmax(0,1fr) auto;}
.tp-rail-map__point{position:absolute;z-index:3;box-sizing:border-box;width:7px;height:7px;transform:translate(-50%,-50%);border:1px solid #94faff;border-radius:50%;background:#efffff;box-shadow:0 0 5px rgba(101,236,255,.62);pointer-events:none;}

/* Market watch at left; the TP chart spans the upper-right, with SMC and history below. */
.lab-workspace{left:8px;width:min(1640px,calc(100vw - 16px));max-width:calc(100vw - 16px);}
.lab-workspace__body{grid-template-columns:minmax(0,1.18fr) minmax(0,1.05fr) minmax(0,.75fr);grid-template-rows:minmax(0,1fr) minmax(300px,.87fr);overflow:hidden;}
.lab-workspace__side{display:contents;}
.lab-workspace__body>[data-workspace-slot="scalp"]{grid-column:1;grid-row:1/3;}
.lab-workspace__body [data-workspace-slot="tp"]{grid-column:2/4;grid-row:1;}
.lab-workspace__models{display:none;}
.lab-workspace__models.is-open{display:contents;}
.lab-workspace__models .lab-model--turn{grid-column:2;grid-row:2;}
.lab-workspace__models .lab-model--history{grid-column:3;grid-row:2;}
.lab-workspace .tp-rail-dialog{width:100%;max-width:none;}
@media(min-width:901px) and (max-width:1279px){
  .lab-workspace__body{grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);grid-template-rows:minmax(480px,1fr) minmax(310px,auto);overflow-y:auto;}
  .lab-workspace__body>[data-workspace-slot="scalp"]{grid-column:1;grid-row:1;}
  .lab-workspace__body [data-workspace-slot="tp"]{grid-column:2;grid-row:1;}
  .lab-workspace__models .lab-model--turn{grid-column:1;grid-row:2;min-height:310px;}
  .lab-workspace__models .lab-model--history{grid-column:2;grid-row:2;min-height:310px;}
}
@media(max-width:900px){
  .lab-workspace{left:8px;width:calc(100vw - 16px);max-width:calc(100vw - 16px);}
  .lab-workspace__body{display:block;overflow-y:auto;}
  .lab-workspace__side{display:block;}
  .lab-workspace__models.is-open{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(300px,auto));gap:8px;}
  .lab-workspace__models .lab-model--turn{grid-row:1;grid-column:1;}
  .lab-workspace__models .lab-model--history{grid-row:2;grid-column:1;}
}

.lab-workspace .tp-rail-map.is-wide .tp-rail-map__label{width:24%;}

/* v327: compact TP labels leave more room for the one-hour price trace. */
.tp-rail-map__label{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:4px;right:2%;width:31%;max-width:none;padding:5px 6px;font-size:10px;line-height:1.1;white-space:nowrap;}
.tp-rail-map__label b{font-size:10px;}
.tp-rail-map__label strong{font-size:15px;letter-spacing:0;}
.tp-rail-map__label small{display:inline;flex-basis:auto;margin-left:auto;text-align:right;font-size:10px;}
.tp-rail-map__label.is-nearest{box-shadow:inset 0 1px rgba(250,255,255,.13),0 0 8px rgba(92,231,250,.3);}
@media(max-width:680px){.tp-rail-map__label{width:35%;padding:4px 5px;gap:2px;}.tp-rail-map__label b{font-size:9px;}.tp-rail-map__label strong{font-size:13px;}.tp-rail-map__label small{font-size:9px;}}

/* v352: allocate the two removed status rows to the live TP chart. */
.tp-rail-dialog,.lab-workspace .tp-rail-dialog{grid-template-rows:auto minmax(0,1fr) auto;}

/* v353: the model card shows live distances; realized results live in the history card. */
.lab-model__live{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:0 0 5px;}
.lab-model__live[hidden]{display:none;}
.lab-model__live>span{display:flex;align-items:center;justify-content:space-between;gap:4px;min-width:0;padding:4px 6px;color:#b6d7dd;background:rgba(12,48,53,.72);border:1px solid rgba(103,198,152,.35);font-size:10px;white-space:nowrap;}
.lab-model__live strong{overflow:hidden;text-overflow:ellipsis;color:#9ef0c4;font-size:12px;font-variant-numeric:tabular-nums;}

/* v354: show complete human-readable waiting conditions in the SMC card. */
.lab-model--turn .lab-model__monitor-row strong,.lab-model--turn .lab-model__monitor-row small{white-space:normal;overflow-wrap:anywhere;text-overflow:clip;}
.lab-model--turn .lab-model__detail>div{align-items:baseline;}
.lab-model--turn .lab-model__detail>div>span{overflow-wrap:anywhere;}

/* v355: readable SMC model and trade history text at the one-screen size. */
.lab-workspace .lab-model>header small{font-size:11px;line-height:1.35;}
.lab-workspace .lab-model__version{font-size:10px;line-height:1.3;white-space:normal;}
.lab-workspace .lab-model>header>b{font-size:10px;line-height:1.3;white-space:nowrap;}
.lab-workspace .lab-model__state strong{font-size:14px;}
.lab-workspace .lab-model__state small{font-size:11px;line-height:1.35;}

/* v356: SMCエントリー通知音の切り替え */
.lab-model--turn .lab-model__header-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.lab-model--turn .lab-model__header-actions>b{color:#92edbe;border:1px solid rgba(146,237,190,.45);padding:3px 6px;font-size:10px;white-space:nowrap;}
.lab-model--turn .lab-model__sound{cursor:pointer;color:#bbd3dc;background:rgba(8,34,40,.88);border:1px solid rgba(115,164,177,.48);border-radius:4px;padding:5px 7px;font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap;}
.lab-model--turn .lab-model__sound[aria-pressed="true"]{color:#a2ffcd;border-color:#68dca4;background:rgba(16,76,51,.7);}
.lab-workspace .lab-model__monitor-row{grid-template-columns:68px minmax(0,1fr);gap:3px 7px;padding:5px 6px;}
.lab-workspace .lab-model__monitor-row b{font-size:12px;}
.lab-workspace .lab-model__monitor-row strong{font-size:13px;line-height:1.3;}
.lab-workspace .lab-model__monitor-row small{font-size:11px;line-height:1.35;}
.lab-workspace .lab-model__detail{font-size:12px;line-height:1.4;}
.lab-workspace .lab-model__detail>div{padding:5px 6px;}
.lab-workspace .lab-model__targets b{font-size:11px;}
.lab-workspace .lab-model>footer{font-size:11px;line-height:1.3;}
.lab-workspace .lab-model__history-summary{font-size:11px;}
.lab-workspace .lab-model__history-summary strong{font-size:17px;}
.lab-workspace .lab-model__history-list{gap:5px;font-size:11px;}
.lab-workspace .lab-model__history-row{gap:3px 5px;padding:6px 7px;}
.lab-workspace .lab-model__history-row b,.lab-workspace .lab-model__history-row strong{font-size:12px;line-height:1.35;}
.lab-workspace .lab-model__history-row small{font-size:11px;line-height:1.35;overflow-wrap:anywhere;}
.lab-workspace .lab-model__live>span{font-size:11px;}

/* v358: leave room for all three TP prices while the SMC position is open. */
.lab-workspace .lab-model--turn .lab-model__detail{gap:3px;}
.lab-workspace .lab-model--turn .lab-model__detail>div{padding:4px 6px;}
.lab-workspace .lab-model--turn .lab-model__detail .lab-model__targets>div{padding:3px;}

/* v364: manual TP entry and explicit retargeting of one open leg. */
.manual-tp__header-actions{display:flex;align-items:center;gap:7px;}
.manual-tp__header-actions #manual-tp-open{width:auto;height:auto;min-height:30px;border:1px solid rgba(116,222,198,.55);background:rgba(11,76,69,.9);color:#d9fff1;border-radius:6px;padding:5px 9px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;}
.manual-tp-dialog{width:min(410px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;padding:16px;border:1px solid rgba(120,204,201,.65);border-radius:10px;background:#0b1b27;color:#e7f5fa;box-shadow:0 20px 60px rgba(0,0,0,.65);z-index:9500;}
.manual-tp-dialog::backdrop{background:rgba(0,8,15,.72);}
.manual-tp-dialog>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.manual-tp-dialog h2{font-size:17px;margin:0;}
.manual-tp-dialog>header button{background:transparent;border:0;color:#fff;font-size:23px;cursor:pointer;}
.manual-tp-dialog form{display:grid;gap:11px;}
.manual-tp-dialog label{display:grid;gap:4px;font-size:12px;font-weight:700;}
.manual-tp-dialog input,.manual-tp-dialog select{box-sizing:border-box;width:100%;padding:9px;border:1px solid #557987;border-radius:5px;background:#102b3b;color:#fff;font:inherit;font-size:14px;}
.manual-tp-dialog input[type="datetime-local"]{color-scheme:dark;}
.manual-tp-dialog p{margin:0;font-size:12px;line-height:1.5;color:#b9d4dc;}
.manual-tp-dialog #manual-tp-save{padding:10px;border:0;border-radius:5px;background:#17836f;color:#fff;font-size:14px;font-weight:700;cursor:pointer;}
.manual-tp-dialog #manual-tp-save:disabled{opacity:.6;cursor:wait;}
