@font-face { font-family:'Robolab LCD'; src:url('/assets/core/lcd.woff') format('woff'); font-display:swap; }
.core-home { --lcd:'Robolab LCD',var(--mono); }
.has-selection .core-layout { grid-template-columns:minmax(0,1fr); }
.eye-reading .mouth-toggle { visibility:hidden; pointer-events:none; }
.eye-reading #core-canvas { mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(0deg,transparent,#000 14%,#000 88%,transparent); }
.core-stage { overflow:clip; }
.eye-terminal { position:absolute; left:0; top:0; width:344px; height:158px; padding:10px 11px 7px; transform-origin:0 0; z-index:4; display:flex; flex-direction:column; overflow:hidden; background:linear-gradient(150deg,#074629,#00351c 65%,#002817); color:#52e6a0; border-radius:2px; box-shadow:inset 0 0 14px #001609b0; opacity:0; transition:opacity .32s; }
.eye-terminal[hidden],.eye-fallback-label[hidden],.eye-view-toggle[hidden] { display:none; }
.scene-ready.has-selection .eye-terminal,.scene-fallback.has-selection .eye-terminal { opacity:1; }
.eye-terminal::before { content:''; position:absolute; inset:0; z-index:3; pointer-events:none; background:repeating-linear-gradient(0deg,transparent 0 3px,#00120828 3px 4px),repeating-linear-gradient(90deg,transparent 0 3px,#0012081f 3px 4px); opacity:.62; }
.eye-terminal::after { content:''; position:absolute; inset:0; z-index:4; pointer-events:none; background:linear-gradient(145deg,#d8ffe717,transparent 42%,#00180b21 75%,#aaffc907); border:1px solid #4b946922; }
.eye-scroll { font:18px/1.3 var(--lcd); letter-spacing:0; text-transform:uppercase; text-shadow:0 0 1px #54f6a635; height:auto; flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#238a53 transparent; padding-right:7px; touch-action:pan-y; color-scheme:dark; }
.eye-scroll:focus-visible { outline:1px dashed #8cffa968; outline-offset:1px; }
.eye-scroll::-webkit-scrollbar { width:4px; }
.eye-scroll::-webkit-scrollbar-thumb { background:#30ac68; }
.eye-readout { display:flex; justify-content:space-between; align-items:center; height:14px; min-height:14px; border-top:1px solid #36ae573b; margin-top:4px; font:10px/1 var(--lcd); color:#339a5e; }
.eye-readout span:last-child { color:#54b57b; }
.eye-refresh { position:absolute; inset:0; pointer-events:none; z-index:5; background:linear-gradient(0deg,transparent,#91ffc02d,transparent); opacity:0; }
.eye-terminal.refreshing .eye-refresh { animation:lcdSweep .38s ease-out; }
@keyframes lcdSweep { 0%{opacity:.7;transform:translateY(-100%)} 100%{opacity:0;transform:translateY(100%)} }
.eye-scroll .panel { display:none; padding:0; margin:0; }
.eye-scroll .panel.active { display:block; animation:none; }
.eye-scroll :is(img,picture,video,iframe,svg,.screw,.stem-ind,.excerpt) { display:none; }
.eye-scroll .notify-row .notify-hp { position:absolute; left:-9999px; width:1px; height:1px; }
.eye-scroll .panel-card,.eye-scroll .plate-section,.eye-scroll .plate { padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
.eye-scroll .panel-card>h2 { display:none; }
.eye-scroll p,.eye-scroll .panel-card p { font:inherit; color:inherit; margin:0 0 12px; max-width:none; }
.eye-scroll p+p { margin-top:0; }
.eye-scroll b,.eye-scroll strong { font-weight:400; color:#9affbf; }
.eye-scroll a,.eye-scroll button { color:#a4ffc5; text-decoration:none; }
.eye-scroll a:hover,.eye-scroll button:hover { color:#d6ffe1; background:#55cb7e1b; }
.eye-scroll :is(a,button,input):focus-visible { outline:1px dashed #b4ffcc; outline-offset:2px; }
.eye-scroll .app-showcase,.eye-scroll .lab-grid { display:block; margin-top:0; }
.eye-scroll .app-card,.eye-scroll .lab-card { display:block; margin:0 0 12px; padding:6px 0 10px; border:0; border-bottom:1px dashed #2f9c5766; border-radius:0; color:inherit; background:none; box-shadow:none; }
.eye-scroll .app-card::before,.eye-scroll .lab-card::before { content:'> '; float:left; margin-right:6px; color:#82ffaf; }
.eye-scroll .app-card:hover,.eye-scroll .lab-card:hover { transform:none; box-shadow:none; }
.eye-scroll .app-card-body,.eye-scroll .app-card-title { display:block; padding:0; }
.eye-scroll .app-card-title b,.eye-scroll .lab-card b { font:inherit; display:block; }
.eye-scroll .app-card-body p,.eye-scroll .lab-card span { font:16px/1.3 var(--lcd); color:#60d79b; margin:5px 0; }
.eye-scroll .app-card-meta { display:block; margin:0; }
.eye-scroll .app-card-meta .go { color:#78e79f; font:12px/1.5 var(--lcd); letter-spacing:0; overflow-wrap:anywhere; }
.eye-scroll .plate-label { padding:0; margin:0 0 10px; font:12px/1.5 var(--lcd); letter-spacing:0; color:#3cbe79; }
.eye-scroll .plate-label::after { display:none; }
.eye-scroll .switch-row { display:flex; flex-direction:column; align-items:flex-start; gap:3px; padding:8px 0 11px; border:0; border-bottom:1px dashed #2f9c5766; border-radius:0; }
.eye-scroll .switch-row .date { order:-1; font:12px/1 var(--lcd); letter-spacing:0; color:#3fad70; }
.eye-scroll .switch-row .title { font:18px/1.3 var(--lcd); letter-spacing:0; color:#98fbbd; }
.eye-scroll .switch-row br { display:none; }
.eye-scroll .notify-row { display:flex; flex-direction:column; gap:8px; margin:8px 0 10px; }
.eye-scroll .notify-row input { flex:none; font:16px/1 var(--lcd); height:44px; border:1px solid #45b977; border-radius:0; background:#001d11; color:#94ffba; padding:0 8px; letter-spacing:0; }
.eye-scroll .notify-row input::placeholder { color:#4a9a6a; }
.eye-scroll .key-cta,.eye-scroll .eye-action { display:block; padding:8px; min-height:42px; font:16px/1.3 var(--lcd); margin:0; border:1px solid #5fde89; border-radius:0; background:#65da86; color:#062514; box-shadow:none; letter-spacing:0; text-align:center; cursor:pointer; }
.eye-scroll .key-cta:active,.eye-scroll .eye-action:active { transform:none; }
.eye-scroll .eye-action { margin-top:10px; }
.eye-scroll .eye-back { display:block; padding:4px 0 8px; border:0; background:none; font:12px/1.5 var(--lcd); margin-bottom:7px; cursor:pointer; }
.eye-scroll .eye-article h1 { font:19px/1.35 var(--lcd); color:#a4ffc6; margin:5px 0 12px; }
.eye-scroll .eye-article h2,.eye-scroll .eye-article h3 { font:17px/1.35 var(--lcd); color:#91ffb8; margin:16px 0 8px; }
.eye-scroll .eye-article a { text-decoration:underline; text-underline-offset:3px; }
.eye-scroll .eye-article :is(pre,code) { font:14px/1.5 var(--lcd); white-space:pre-wrap; overflow-wrap:anywhere; }
.eye-scroll .eye-article :is(ul,ol) { padding-left:20px; margin:10px 0; }
.eye-scroll .eye-article blockquote { padding-left:10px; border-left:1px solid #43ae70; }
.eye-scroll .eye-date { font:12px/1.4 var(--lcd); color:#4aaa70; }
.eye-view-controls { display:flex; align-items:center; gap:20px; }
.eye-view-toggle { padding:12px 0; border:0; background:none; color:#a0b9aa; cursor:pointer; font:10px var(--mono)!important; min-height:44px; }
.eye-view-toggle:hover { color:var(--green); }
.eye-fallback-machine { display:none; position:absolute; width:800px; max-width:none; height:auto; pointer-events:none; z-index:1; }
.eye-fallback-label { display:none; position:absolute; left:0; top:0; transform-origin:0 0; width:344px; height:158px; background:linear-gradient(145deg,#08472a,#002d1a); color:#40e699; font:31px var(--lcd); align-items:center; justify-content:center; text-transform:uppercase; z-index:3; box-shadow:inset 0 0 14px #001609b0; }
.scene-fallback .core-poster { display:none; }
.scene-fallback .eye-fallback-machine { display:block; }
.scene-fallback .eye-fallback-label:not([hidden]) { display:flex; }
.scene-fallback .eye-terminal { transition:none; }
.scene-fallback .core-switchboard { width:min(560px,calc(100% - 16px)); top:55%; }
.has-selection.board-open .eye-terminal { pointer-events:none; }
.core-home:not(.eye-reading) .eye-terminal { cursor:zoom-in; }
.core-home>.wrap>.panels img { display:none; }
@media(max-width:600px) {
  .core-toolbar { grid-template-columns:1fr auto; }
  .eye-view-controls { order:2; justify-content:space-between; grid-column:1/-1; }
  .eye-view-controls:has(.eye-view-toggle[hidden]) { display:none; }
  .eye-view-controls .core-status { display:flex; font-size:8px; }
  .eye-view-toggle { padding:0; font-size:9px!important; }
  .eye-reading .core-stage-caption { max-width:260px; margin:auto; text-align:center; line-height:1.6; }
}
@media(prefers-reduced-motion:reduce) { .eye-terminal.refreshing .eye-refresh { display:none; } }
