@charset "UTF-8";

/* =====================================================================
   STAN DEVICE  (js/stan-device.js builds it; see the notes there)
   A blueprint phone on stan.html whose screen is the real Stan home
   page (live 2026 / designed 2023), scrollable, with the drafting layer
   in Stan's live-site greys, the same as css/stan-system.css. All line
   work is 1px. The screen images never change with the theme.
   ===================================================================== */

.sdev {
	--sd-hair: #C4C4C4;
	--sd-ink: #575757;
	--sd-text: #575757;
	--sd-paper: #FFFFFF;
	--sd-blue: #0072FB;
	position: relative;
	overflow: hidden;
	user-select: none;
}

html[data-theme="dark"] .sdev {
	--sd-hair: #333333;
	--sd-ink: #8C8C8C;
	--sd-text: #8C8C8C;
	--sd-paper: #070707;
}

/* phones and narrow columns: a taller panel so the phone has room */
html.bp-max-1024 .sdev.full-width-image--16-9 { aspect-ratio: 4 / 5; }
@media (max-width: 1024px) {
	html:not(.dfui) .sdev.full-width-image--16-9 { aspect-ratio: 4 / 5; }
}

.sdev__draft {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
}

.sdev__hair,
.sdev__ink,
.sdev__guide,
.sdev__body,
.sdev__island {
	fill: none;
	stroke-width: 1;
	vector-effect: non-scaling-stroke;
}
.sdev__hair { stroke: var(--sd-hair); }
.sdev__guide { stroke: var(--sd-hair); stroke-dasharray: 4 4; }
.sdev__ink { stroke: var(--sd-ink); }
.sdev__body { stroke: var(--sd-ink); fill: var(--sd-paper); }
.sdev__island { stroke: var(--sd-ink); fill: #070707; }

.sdev__t {
	font-family: Consolas, "Courier New", monospace;
	font-size: 12px;
	letter-spacing: 0.08em;
	fill: var(--sd-text);
}
.sdev__t--s { font-size: 10px; }
.sdev__t--l { font-size: 14px; }

/* the screen: the real page, scrolling inside the drawn phone */
.sdev__screen {
	position: absolute;
	overflow-x: hidden;
	overflow-y: auto;
	scrollbar-width: none;
	background: #070707;
	cursor: grab;
	touch-action: pan-y;
	outline: none;
}
.sdev__screen::-webkit-scrollbar { display: none; }
.sdev__screen.is-drag { cursor: grabbing; }
.sdev__screen:focus-visible { box-shadow: 0 0 0 1px var(--sd-blue); }
.sdev__screen img,
.sdev__mini img {
	display: block;
	width: 100%;
	height: auto;
	pointer-events: none;
}

/* the whole page, small, with the screen's window on it */
.sdev__mini {
	position: absolute;
	overflow: hidden;
	cursor: pointer;
	box-shadow: 0 0 0 1px var(--sd-ink);
	background: #070707;
}
.sdev__mini img { height: 100%; object-fit: fill; opacity: 0.5; }
.sdev__win {
	position: absolute;
	left: 0;
	right: 0;
	z-index: 1;
	border: 1px solid var(--sd-blue);
	background: rgba(0, 114, 251, 0.3);
	mix-blend-mode: screen;
}

/* the two pages: 1px pills like the site's own */
.sdev__tabs {
	position: absolute;
	left: 32px;
	display: flex;
	gap: 8px;
	z-index: 1;
}
html.bp-max-1024 .sdev__tabs { left: 50%; transform: translateX(-50%); }
.sdev__tab {
	font-family: Consolas, "Courier New", monospace;
	font-size: 11px;
	letter-spacing: 0.08em;
	padding: 6px 12px;
	border: 1px solid var(--sd-ink);
	border-radius: 999px;
	background: transparent;
	color: var(--sd-text);
	cursor: pointer;
	white-space: nowrap;
}
.sdev__tab[aria-selected="true"] {
	border-color: var(--sd-blue);
	color: var(--sd-blue);
}

/* narrow panels (phones): smaller HUD type, fewer read-outs (js adds .is-narrow) */
.sdev.is-narrow .sdev__t { font-size: 9px; }
.sdev.is-narrow .sdev__t--s { font-size: 8px; }
.sdev.is-narrow .sdev__tab { font-size: 9px; padding: 4px 8px; }
