@font-face{font-family:AmberMatrix;src:url('../AmberNews/Resources/AmberMatrix.ttf?v=11') format('truetype');font-display:swap}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:radial-gradient(ellipse at 50% 25%,#213039,#10171c 70%);color:#e8ecee;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;min-height:100dvh;display:grid;place-items:center;padding:24px}button,input{font:inherit}button{color:inherit;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:2px solid #ffc349;outline-offset:-2px}button:hover{background:rgba(255,195,73,.045)}.phone{--amber:#ffc349;--muted:#9aaeb4;position:relative;width:402px;height:min(874px,calc(100dvh - 48px));min-height:400px;background:#030e14;border-radius:36px;border:1px solid #41515a;box-shadow:0 22px 80px #0008;overflow:hidden;display:flex;flex-direction:column}.status{height:48px;flex-shrink:0;padding:13px 27px 10px 32px;display:flex;justify-content:space-between;align-items:center;font-size:17px;font-weight:600}.status-icons{display:flex;gap:6px;align-items:center}.battery{width:23px;height:11px;border:1px solid #dce1e5;border-radius:3px;position:relative;padding:1px}.battery:before{content:'';display:block;width:17px;height:7px;background:#e8ecee;border-radius:1px}.battery:after{position:absolute;content:'';width:2px;height:4px;background:#dce1e5;right:-4px;top:2.5px}#app{flex:1;display:flex;flex-direction:column;min-height:0}.rule{height:1px;flex-shrink:0;background:linear-gradient(90deg,transparent,#668b9599 9%,#668b9599 91%,transparent)}.masthead{height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-top:1px solid #668b9566;border-bottom:1px solid #668b9555}.brand{display:flex;gap:12px;align-items:center;white-space:nowrap;color:var(--amber)}.live{font:20px ui-monospace,'SFMono-Regular',Menlo,monospace;letter-spacing:3px}.brand-divider{height:21px;width:1px;background:#9aaeb4}.brand-name{font:25px AmberMatrix,monospace;letter-spacing:1.2px}.icon-button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.categories{display:flex;gap:4px;padding:8px 14px;overflow-x:auto;flex-shrink:0;scrollbar-width:none;border-bottom:1px solid #668b9599}.categories::-webkit-scrollbar{display:none}.category{font:13px AmberMatrix,monospace;letter-spacing:.5px;color:var(--amber);padding:5px 8px;min-height:28px;white-space:nowrap;border:1.3px solid transparent;border-radius:3px}.category[aria-pressed=true]{border-color:var(--amber);box-shadow:0 0 3px #ffc34933}.feed{overflow:auto;flex:1;scrollbar-width:none}.feed::-webkit-scrollbar{display:none}.story{padding:7px 20px 6px;width:100%;display:flex;align-items:center;gap:12px;text-align:left;min-height:65px;position:relative}.story:after{content:'';position:absolute;bottom:0;left:8px;right:8px;height:1px;background:linear-gradient(90deg,transparent,#668b9599 9%,#668b9599 91%,transparent)}.story-main{min-width:0;flex:1}.metadata{font:10.5px ui-monospace,'SFMono-Regular',Menlo,monospace;display:flex;gap:11px;align-items:center;white-space:nowrap;margin-bottom:3px}.category-name{color:var(--amber);font-weight:600}.metadata .sep{color:var(--muted)}.age{color:#e8eceecc}.headline{font:20px/1.08 AmberMatrix,monospace;letter-spacing:1.25px;color:var(--amber);text-shadow:0 0 3px #ffc34930;margin:0;text-transform:uppercase;overflow-wrap:break-word}.chevron{width:10px;height:16px;flex-shrink:0;color:#e8ecee}.save-mark{color:var(--amber);font-size:10px}.footer{color:#ffc349a6;text-align:center;padding:22px 10px 30px;font:10px ui-monospace,Menlo,monospace;letter-spacing:1.5px}.footer small{display:block;margin-top:8px;color:#9aaeb4aa;font-size:9px;letter-spacing:0}.home-indicator{height:5px;width:125px;background:#ffffff33;border-radius:5px;position:absolute;bottom:7px;left:50%;transform:translateX(-50%);pointer-events:none}.search-bar{display:flex;align-items:center;gap:10px;padding:5px 20px;border-bottom:1px solid #668b9566;min-height:52px}.search-bar input{background:none;border:0;outline:none;min-width:0;flex:1;font:15px ui-monospace,monospace;color:white;height:42px}.search-bar .icon{color:var(--amber);width:18px}.saved-banner{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 20px;color:var(--amber);font:11px ui-monospace,monospace;letter-spacing:1px}.saved-banner button{min-height:44px;font-size:10px}.empty{text-align:center;padding:70px 30px}.empty h2{font:19px AmberMatrix,monospace;color:var(--amber);line-height:1.3;text-transform:uppercase}.empty p{color:var(--muted);font-size:15px;line-height:1.5}.reset{color:var(--amber);font:12px ui-monospace,monospace;min-height:44px}dialog{position:absolute;top:auto;bottom:0;left:0;right:0;margin:0;width:100%;max-width:none;max-height:80%;padding:25px 24px 30px;border:1px solid #668b9580;border-radius:20px 20px 0 0;background:#030e14;color:#e8ecee;box-shadow:0 -5px 60px #0009}dialog::backdrop{background:#0008}dialog h2{font:27px/1.15 AmberMatrix,monospace;color:var(--amber);text-transform:uppercase;max-width:280px;margin:10px 0 24px}.close-menu{position:absolute;right:10px;top:8px;font-size:30px;color:var(--muted)}.menu-row{display:flex;gap:14px;align-items:center;width:100%;min-height:65px;color:var(--amber);text-align:left;font:14px ui-monospace,monospace}.menu-row span:last-child{margin-left:auto;font-size:12px;color:var(--muted)}.tagline{font:11px ui-monospace,monospace;letter-spacing:1px;color:var(--amber);margin-top:24px}.muted{font-size:15px;line-height:1.6;color:var(--muted)}.edition{font:10px ui-monospace,monospace;color:#9aaeb4aa;margin-top:24px}.reader-header{height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 20px;color:var(--amber);border-top:1px solid #668b9566;border-bottom:1px solid #668b9555}.back{font:13px ui-monospace,monospace;display:flex;align-items:center;gap:6px;min-height:44px;padding:0}.back .icon{width:13px}.reader-header .room{font:10px ui-monospace,monospace;color:var(--muted);letter-spacing:1px}.reader{padding:28px 24px 40px;overflow:auto;flex:1;scrollbar-width:none}.reader .headline{font-size:29px;margin-top:22px}.deck{font-size:22px;font-weight:300;line-height:1.35;margin:22px 0}.reading-meta{font:10px ui-monospace,monospace;color:var(--muted);display:flex;align-items:center;justify-content:space-between;margin:22px 0}.text-size{font-size:21px;width:44px;height:44px}.article-body{font-size:18px;line-height:1.65;color:#e8eceed1;white-space:pre-line;margin:0 0 22px}.article-body.large{font-size:23px}.reader h3{font:11px ui-monospace,monospace;letter-spacing:1px;color:var(--amber);margin-top:22px}.reader .notice{font-size:14px;line-height:1.5;color:var(--muted)}.save-bottom{width:100%;min-height:50px;border:1px solid #ffc34999;color:var(--amber);font:12px ui-monospace,monospace;margin-top:16px}@media(max-width:460px){body{padding:0;background:#030e14}.phone{width:100%;height:100dvh;min-height:0;border:0;border-radius:0;box-shadow:none}.brand-name{font-size:clamp(20px,6.2vw,25px)}.brand{gap:10px}}@media(prefers-reduced-motion:no-preference){button{transition:background .12s}}
/* Continuous LED rows: the unlit matrix spans the full horizontal width. */
.live-controls{min-height:35px;display:flex;align-items:center;padding-left:20px;border-bottom:1px solid #668b9544;flex-shrink:0;color:var(--muted);gap:0}.feed-status{font:9px ui-monospace,monospace;letter-spacing:.6px;flex:1}.live-controls .icon-button{height:35px;width:38px}.live-controls .icon{width:15px;height:15px}.ticker-row{padding-top:10px;border-bottom:1px solid #668b9580}.ticker-row>.metadata{padding:0 20px;margin-bottom:4px;gap:8px;overflow:hidden;font-size:9px}.publisher{color:var(--muted);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.publisher:hover{text-decoration:underline}.ticker-row .age{margin-left:auto;flex-shrink:0;font-size:8px}.ticker-viewport{overflow:hidden;width:100%;position:relative;height:35px;background-image:radial-gradient(circle,#31432c 0.8px,transparent 1px);background-size:2.2px 2.2px;background-position:0 3px;background-origin:content-box;padding:3px 0 10px}.ticker-track{display:flex;width:max-content;animation:ticker-right var(--ticker-duration,120s) linear infinite;will-change:transform}.ticker-group{display:flex;align-items:center;flex-shrink:0}.ticker-headline{font:20px/1 AmberMatrix,monospace;letter-spacing:1.25px;text-transform:uppercase;color:var(--amber);white-space:nowrap;flex-shrink:0;padding:0 20px;text-shadow:0 0 3px #ffc34955;height:22px}.ticker-dot{font-size:13px;color:#ffc34999;padding:0 12px}.ticker-row:hover .ticker-track,.ticker-row:focus-within .ticker-track{animation-play-state:paused}.paused .ticker-track{animation:none;transform:none}.paused .ticker-group[aria-hidden]{display:none}.paused .ticker-viewport{overflow-x:auto;scrollbar-width:none}.ticker-unavailable{font:11px ui-monospace,monospace;color:var(--muted);padding-left:20px}.topic-headlines{border-bottom:1px solid #668b9580}.topic-story{display:flex;flex-direction:column;text-align:left;gap:8px;padding:16px 20px;width:100%;border-bottom:1px solid #668b9533}.topic-title{font-size:16px;color:var(--amber);line-height:1.4}.topic-age{font:9px ui-monospace,monospace;color:var(--muted)}.source-link{display:block;font:11px/1.6 ui-monospace,monospace;color:var(--muted);padding:9px 0;border-bottom:1px solid #668b9533;text-decoration:none}.source-link:hover{color:var(--amber)}.article-publisher{display:block;color:var(--amber);font:13px ui-monospace,monospace;margin:20px 0;text-decoration:underline;text-underline-offset:4px}.published-time{display:block;color:var(--muted);font:11px ui-monospace,monospace;margin:20px 0}.original-link{display:flex;align-items:center;justify-content:center;min-height:50px;text-decoration:none;background:#ffc349;color:#030e14;font:12px ui-monospace,monospace;padding:12px;line-height:1.4}.reader .headline{line-height:1.2}@keyframes ticker-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;transform:none}.ticker-group[aria-hidden]{display:none}.ticker-viewport{overflow-x:auto}}
/* Explicit positive-X travel: each headline moves toward the right edge. */
.ticker-viewport{direction:ltr;background-image:radial-gradient(circle,#1b291c .72px,transparent .95px)}
.ticker-track{animation:none!important;position:relative;transform:translateX(0);direction:ltr}
.motion-direction{color:var(--amber);font-size:16px;margin-right:8px}
/* Keep the preview at an iPhone portrait canvas on every browser size. */
body{padding:0;overflow:hidden;min-height:100dvh;background:radial-gradient(ellipse at 50% 25%,#213039,#10171c 70%)}
.phone{position:fixed;left:50%;top:50%;width:390px!important;height:844px!important;min-height:844px!important;border:1px solid #41515a!important;border-radius:36px!important;box-shadow:0 22px 80px #0008!important;transform:translate(-50%,-50%) scale(var(--preview-scale,1));transform-origin:center;}
.brand-name{font-size:25px!important}

/* iPhone 18 Pro Max portrait canvas. */
.phone{width:440px!important;height:956px!important;min-height:956px!important}
/* Individual LED intensities stay stable as the words move. */
.ticker-headline{height:22px;display:flex;align-items:center;color:var(--story-color,var(--amber));text-shadow:none;transition:color 1.2s linear}
.led-lettering{display:block;height:22px;position:relative;flex-shrink:0;filter:drop-shadow(0 0 .9px currentColor)}
.led-base,.led-glints{position:absolute;inset:0;display:block;mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}
.led-base{background:var(--story-color,var(--amber));transition:background-color 1.2s linear}
.led-glints{background:#fffde2;opacity:.32}
.topic-title,.reader .headline{color:var(--story-color,var(--amber));transition:color 1.2s linear}
html.native-app body{background:#030e14}
html.native-app .phone{width:100vw!important;height:100dvh!important;min-height:0!important;left:0;top:0;transform:none;border:0!important;border-radius:0!important;box-shadow:none!important}
html.native-app .status,html.native-app .home-indicator{display:none}

/* Finger scrolling and mouse dragging remain available while the feed plays. */
.ticker-viewport,.paused .ticker-viewport{overflow-x:auto;scrollbar-width:none;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;cursor:grab}
.ticker-viewport::-webkit-scrollbar{display:none}
.ticker-viewport.scrubbing{cursor:grabbing;user-select:none}
.ticker-headline,.topic-story{cursor:pointer;text-decoration:none}
.ticker-headline:hover{background:rgba(255,195,73,.035)}
.paused .ticker-group[aria-hidden]{display:flex}
.led-flicker{position:absolute;inset:0;display:block;mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;background:#fff7c9;opacity:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.led-flicker{display:none}}
:root{--theme-bg:#030e14;--theme-accent:#ffb442;--theme-muted:#9aaeb4;--theme-rule:#668b95;--theme-surface:#02090d;--headline-size:20px;--headline-height:22px}
.phone{--amber:var(--theme-accent);--muted:var(--theme-muted);background:var(--theme-bg);color:var(--theme-accent)}
.status,.masthead .icon-button{color:var(--theme-accent)}
.masthead,.categories,.live-controls,.ticker-row{border-color:color-mix(in srgb,var(--theme-rule) 65%,transparent)}
.age,.reader .article-body{color:var(--theme-muted)}
.ticker-viewport,.paused .ticker-viewport{height:calc(var(--headline-height) + 13px);background-color:var(--theme-surface);box-shadow:inset 0 5px 7px #0008,inset 0 -3px 6px #0007,inset 6px 0 10px #0005,inset -6px 0 10px #0005;isolation:isolate}
.ticker-viewport:after{content:'';position:sticky;display:block;left:0;bottom:0;height:var(--headline-height);width:100%;pointer-events:none;background:linear-gradient(180deg,#0003,transparent 35%,transparent 70%,#0002);z-index:2}
.ticker-headline{height:var(--headline-height);font-size:var(--headline-size)}
.topic-title{font-size:var(--headline-size)}
.ticker-row>.metadata{background:linear-gradient(180deg,#0002,transparent);padding-top:2px}
.phone .rule{background:linear-gradient(90deg,transparent,var(--theme-rule),transparent)}
.phone dialog{background:var(--theme-bg);color:var(--theme-accent);border-color:var(--theme-rule)}
.phone .original-link{background:var(--theme-accent);color:var(--theme-bg)}
.settings-panel{position:fixed;width:min(416px,calc(100vw - 24px));max-height:calc(100dvh - 32px);top:50%;bottom:auto;left:50%;right:auto;transform:translate(-50%,-50%);border-radius:22px;padding:20px 22px 22px;box-shadow:0 14px 60px #000b}
.settings-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}
.settings-header h2{font:20px ui-monospace,monospace;text-transform:none;margin:0;max-width:none;color:var(--theme-accent)}
.settings-header .icon-button{font-size:28px;color:var(--theme-muted);width:32px}
.settings-panel h3{font:10px ui-monospace,monospace;letter-spacing:1.3px;color:var(--theme-muted);margin:22px 0 12px}
.theme-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.theme-choice{display:flex;gap:9px;align-items:center;text-align:left;padding:9px 7px;min-height:58px;border:1px solid color-mix(in srgb,var(--theme-rule) 50%,transparent);border-radius:7px;color:var(--theme-accent)}
.theme-choice[aria-pressed=true]{border-color:var(--theme-accent);box-shadow:inset 0 0 0 1px var(--theme-accent)}
.theme-swatch{display:flex;align-items:center;justify-content:center;width:31px;height:35px;border-radius:4px;flex-shrink:0;font:17px AmberMatrix,monospace;box-shadow:inset 0 2px 5px #0006}
.theme-choice strong{display:block;font-size:11px;font-weight:600;line-height:1.3}
.theme-choice small{display:block;font-size:9px;line-height:1.35;margin-top:3px;color:var(--theme-muted)}
.settings-panel input[type=range]{width:100%;accent-color:var(--theme-accent);min-height:32px;cursor:pointer}
.speed-labels{display:flex;justify-content:space-between;font:10px ui-monospace,monospace;color:var(--theme-muted)}
.size-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.size-choices button{font-size:11px;min-height:40px;border:1px solid var(--theme-rule);border-radius:5px;color:var(--theme-accent)}
.size-choices button[aria-pressed=true]{background:var(--theme-accent);color:var(--theme-bg);border-color:var(--theme-accent)}
.settings-done{font:12px ui-monospace,monospace;letter-spacing:1px;min-height:45px;width:100%;margin-top:24px;background:var(--theme-accent);color:var(--theme-bg);border-radius:5px}
html.native-app body{background:var(--theme-bg)}
@media(max-height:680px){.settings-panel{padding:14px 18px}.settings-header{margin-bottom:10px}.settings-panel h3{margin:14px 0 8px}.theme-choice{min-height:49px}.settings-done{margin-top:16px}}

.ticker-viewport:after{display:none}
[data-theme=thirties] .led-glints{opacity:.08}
[data-theme=thirties] .led-lettering{filter:none}
[data-theme=thirties] .ticker-viewport{box-shadow:inset 0 3px 5px #0005,inset 0 -2px 4px #0004,inset 4px 0 7px #0003,inset -4px 0 7px #0003}
/* A channel's newest arrival colours its entire strip, then settles into the chosen palette. */
[data-feed-key]{--feed-color:var(--theme-accent)}
.ticker-row .category-name{color:var(--feed-color);transition:color 1.2s linear}
.ticker-row.feed-fresh .publisher,.ticker-row.feed-fresh .age{color:var(--feed-color);transition:color 1.2s linear}
.ticker-row.feed-fresh .ticker-viewport{background-color:color-mix(in srgb,var(--feed-color) 10%,var(--theme-surface))}
.news-workspace{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}
.channel-rail-label,.wire-room-title{display:none}
.preview-rotate{position:fixed;bottom:12px;right:14px;padding:10px 13px;border:1px solid #52646f;border-radius:6px;color:#c0d1d5;background:#101b21;font:10px ui-monospace,monospace;letter-spacing:1px;z-index:4}
html.native-app .preview-rotate{display:none}
html[data-preview-orientation=landscape] .phone{width:956px!important;height:440px!important;min-height:440px!important}
html[data-layout=landscape] .status,html[data-layout=landscape] .home-indicator{display:none}
html[data-layout=landscape] #app{display:grid;grid-template-columns:144px minmax(0,1fr);grid-template-rows:44px minmax(0,1fr);grid-template-areas:"masthead masthead" "channels workspace";position:relative;overflow:hidden}
html[data-layout=landscape] .masthead{grid-area:masthead;height:44px;padding:0 8px;justify-content:flex-start;background:linear-gradient(180deg,color-mix(in srgb,var(--theme-rule) 9%,var(--theme-bg)),var(--theme-bg))}
html[data-layout=landscape] .masthead>.brand{margin-left:8px;margin-right:auto;gap:10px}
html[data-layout=landscape] .masthead .live{font-size:15px;letter-spacing:2px}
html[data-layout=landscape] .masthead .brand-name{font-size:21px!important;letter-spacing:.8px}
html[data-layout=landscape] .masthead .brand-divider{height:16px}
html[data-layout=landscape] .wire-room-title{display:block;position:absolute;left:316px;font:9px ui-monospace,monospace;letter-spacing:2px;color:var(--theme-muted)}
html[data-layout=landscape] .live-controls{position:absolute;right:53px;top:0;height:44px;width:262px;min-height:44px;padding-left:8px;border:0;background:none;z-index:1}
html[data-layout=landscape] .live-controls .feed-status{font-size:8px;letter-spacing:0;white-space:nowrap}
html[data-layout=landscape] .live-controls .icon-button{width:35px;height:44px}
html[data-layout=landscape] .categories{grid-area:channels;display:flex;flex-direction:column;gap:3px;padding:10px 10px 15px;overflow-y:auto;overflow-x:hidden;border-right:1px solid color-mix(in srgb,var(--theme-rule) 65%,transparent);border-bottom:0;box-shadow:inset -6px 0 12px #0003}
html[data-layout=landscape] .channel-rail-label{display:block;font:8px ui-monospace,monospace;letter-spacing:1.7px;color:var(--theme-muted);padding:4px 9px 7px}
html[data-layout=landscape] .category{flex-shrink:0;min-height:31px;text-align:left;font-size:11px;padding:7px 8px;border-radius:3px}
html[data-layout=landscape] .category[aria-pressed=true]{background:color-mix(in srgb,var(--theme-accent) 7%,var(--theme-bg))}
html[data-layout=landscape] .news-workspace{grid-area:workspace;padding:7px 12px 8px;overflow:hidden;gap:0}
.spotlight-section{flex-shrink:0;min-height:0}
.spotlight-tools{height:27px;display:flex;align-items:center;justify-content:space-between;padding:0 3px}
.spotlight-kicker{font:8px ui-monospace,monospace;letter-spacing:1.6px;color:var(--theme-muted)}
.spotlight-actions{display:flex;align-items:center;gap:3px}
.spotlight-actions .icon-button{width:35px;height:27px;font-size:24px;color:var(--theme-accent)}
.spotlight-actions .icon{width:13px;height:13px}
.spotlight-panel{display:flex;flex-direction:column;gap:8px;padding:12px 16px 10px;border:1px solid color-mix(in srgb,var(--theme-rule) 65%,transparent);border-radius:4px;box-shadow:inset 0 7px 14px #0008,inset 0 -3px 8px #0005,0 1px 0 #ffffff08;background-color:var(--theme-surface);background-image:radial-gradient(circle,color-mix(in srgb,var(--theme-rule) 22%,transparent) .55px,transparent .9px);background-size:3.08px 3.08px;text-decoration:none;color:var(--feed-color);--story-color:var(--feed-color);overflow:hidden;transition:color 1.2s linear}
.spotlight-panel.feed-fresh{background-color:color-mix(in srgb,var(--feed-color) 8%,var(--theme-surface))}
.spotlight-meta{display:flex;gap:12px;align-items:center;font:9px ui-monospace,monospace;line-height:1.2}
.spotlight-meta span:first-child{letter-spacing:1px}
.spotlight-meta span:nth-child(2){color:var(--theme-muted)}
.spotlight-meta span:last-child{margin-left:auto;color:var(--theme-muted);font-size:8px}
.spotlight-title{display:flex;flex-direction:column;gap:1px;min-width:0}
.spotlight-bottom{display:flex;justify-content:space-between;gap:10px;font:8px ui-monospace,monospace;letter-spacing:.7px;line-height:1.2;color:var(--theme-muted);margin-top:2px}
.spotlight-bottom span:last-child{color:var(--feed-color)}
.spotlight-wait{font:12px AmberMatrix,monospace;padding:32px 12px;color:var(--theme-muted)}
.channel-board-label{height:26px;display:flex;align-items:center;flex-shrink:0;font:8px ui-monospace,monospace;letter-spacing:1.6px;color:var(--theme-muted);padding:0 3px}
html[data-layout=landscape] .feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;column-gap:9px;min-height:0;flex:1}
html[data-layout=landscape] .ticker-row{min-width:0;padding-top:6px}
html[data-layout=landscape] .ticker-row>.metadata{padding-left:8px;padding-right:8px;font-size:8px;gap:6px}
html[data-layout=landscape] .ticker-row .age{font-size:7px}
html[data-layout=landscape] .ticker-headline{padding-left:9px;padding-right:9px}
html[data-layout=landscape] .topic-headlines,html[data-layout=landscape] .footer,html[data-layout=landscape] .empty{grid-column:1/-1}
html[data-layout=landscape] .footer{padding:15px 8px 20px;font-size:8px}
html[data-layout=landscape] .footer small{font-size:7px}
html[data-layout=landscape] .search-bar{padding:0 8px;min-height:42px}
html[data-layout=landscape] #app.is-searching .spotlight-section{display:none}
html[data-layout=landscape] .topic-story{padding:10px 8px;gap:5px}
html[data-layout=landscape] .saved-banner{padding:0 6px;min-height:32px}
html[data-layout=landscape] .settings-panel[open]{display:grid;grid-template-columns:1.1fr 1fr;gap:6px 20px;width:min(720px,calc(100vw - 24px));padding:14px 20px}
html[data-layout=landscape] .settings-header{grid-column:1/-1;margin:0 0 3px}
html[data-layout=landscape] .settings-panel h3{margin:7px 0 4px}
html[data-layout=landscape] .settings-panel h3:nth-of-type(1){grid-column:1;grid-row:2}
html[data-layout=landscape] .theme-choices{grid-column:1;grid-row:3/8;align-self:start}
html[data-layout=landscape] .theme-choice{min-height:47px;padding:6px}
html[data-layout=landscape] .theme-swatch{height:29px;width:27px;font-size:15px}
html[data-layout=landscape] .settings-panel h3:nth-of-type(2){grid-column:2;grid-row:2}
html[data-layout=landscape] .settings-panel input{grid-column:2;grid-row:3;margin:0}
html[data-layout=landscape] .speed-labels{grid-column:2;grid-row:4}
html[data-layout=landscape] .settings-panel h3:nth-of-type(3){grid-column:2;grid-row:5}
html[data-layout=landscape] .size-choices{grid-column:2;grid-row:6}
html[data-layout=landscape] .settings-done{grid-column:2;grid-row:7;margin:0;min-height:36px}
@media(max-width:760px){html[data-layout=landscape] .wire-room-title{display:none}}
@media(max-height:350px){html[data-layout=landscape] .spotlight-panel{padding-top:8px;padding-bottom:7px;gap:5px}html[data-layout=landscape] .spotlight-bottom span:first-child{display:none}}

.wire-face{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:19px;min-height:14px;color:var(--feed-color);--story-color:var(--feed-color);opacity:.8;filter:drop-shadow(0 0 1px currentColor)}
.wire-face:empty{display:none}
html[data-layout=landscape] .wire-face{min-width:15px;opacity:.65}
/* One cached vector-font layer per headline; no long bitmap masks or per-letter GPU filters. */
.led-lettering{display:block;position:static;flex-shrink:0;font-family:AmberMatrix,monospace;font-weight:400;white-space:nowrap;color:var(--story-color,var(--feed-color,var(--theme-accent)));filter:none!important;text-shadow:none;mask-image:none;-webkit-mask-image:none}
.ticker-track{will-change:auto}
.ticker-row{position:relative}
.wire-face{filter:none}
.ticker-sparkles{position:absolute;left:0;right:0;bottom:8px;height:var(--headline-height);pointer-events:none;opacity:0;z-index:2;background-image:radial-gradient(circle at 11% 30%,#fff7ca 0 .8px,transparent 1px),radial-gradient(circle at 37% 70%,#ffd98f 0 .65px,transparent 1px),radial-gradient(circle at 62% 20%,#fff7ca 0 .75px,transparent 1px),radial-gradient(circle at 88% 60%,#ffe5a7 0 .65px,transparent 1px)}
[data-thermal=serious] .ticker-sparkles,[data-thermal=critical] .ticker-sparkles{display:none}
/* Selected channels occupy the board's full width and use the same readable LED type. */
html[data-layout=landscape] #app.single-channel .feed{display:block}
html[data-layout=landscape] #app.single-channel .ticker-row{width:100%}
.topic-title{font-family:AmberMatrix,monospace;line-height:1.35;letter-spacing:.8px;text-transform:uppercase;font-weight:400;overflow-wrap:anywhere}
html[data-layout=landscape] .topic-headlines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-layout=landscape] .topic-title{font-size:max(16px,calc(var(--headline-size)*.85))}
html[data-layout=landscape] .spotlight-title{max-height:128px;overflow:auto;scrollbar-width:thin}
html[data-layout=landscape] .spotlight-title .led-lettering{white-space:pre;flex-shrink:0}
[data-thermal=serious] *,[data-thermal=critical] *{transition:none!important}
/* Three coordinated inks per era: headlines, supporting data, and highlights. */
.theme-trio{display:flex;gap:3px;margin-left:auto}.theme-trio i{display:block;width:7px;height:18px;border-radius:2px}
.category-name,.spotlight-meta span:first-child,.channel-board-label{color:var(--theme-third)}
.publisher,.spotlight-meta span:nth-child(2){color:var(--theme-secondary)}
.market-ribbon{display:flex;align-items:center;gap:8px;min-height:44px;flex-shrink:0;border-bottom:1px solid color-mix(in srgb,var(--theme-rule) 50%,transparent);padding:0 12px;background:var(--theme-surface);overflow:hidden}
.market-label{font:9px ui-monospace,monospace;letter-spacing:1px;color:var(--theme-third);padding:10px 0;flex-shrink:0}
.market-strip{display:flex;gap:20px;overflow-x:auto;scrollbar-width:none;white-space:nowrap;min-width:0;padding:8px 0;touch-action:pan-x}
.market-chip{display:flex;align-items:baseline;gap:6px;text-decoration:none;font:10px ui-monospace,monospace}.quote-name{color:var(--theme-secondary)}.quote-price{color:var(--theme-accent)}.market-chip small{font-size:7px;color:var(--theme-third)}.market-wait{font:9px ui-monospace,monospace;color:var(--theme-muted)}
.market-board{overflow-y:auto;min-height:0;padding:18px;flex:1}.market-board h2,.local-setup h2{font:19px AmberMatrix,monospace;line-height:1.4;color:var(--theme-third)}.market-note,.local-setup>p{font:11px/1.7 ui-monospace,monospace;color:var(--theme-muted);margin:10px 0}
.market-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:16px}.market-card{display:flex;flex-direction:column;gap:9px;padding:14px;border:1px solid var(--theme-rule);border-radius:5px;background:var(--theme-surface);text-decoration:none;box-shadow:inset 0 4px 8px #0004}.market-card h3{font:13px AmberMatrix,monospace;color:var(--theme-third)}.market-card strong{font:19px ui-monospace,monospace;color:var(--theme-accent)}.market-card small,.market-card time{font:9px/1.5 ui-monospace,monospace;color:var(--theme-muted)}.quote-change{font:9px/1.5 ui-monospace,monospace;color:var(--theme-secondary)}
.market-refresh,.local-locate,.local-form button{min-height:38px;border:1px solid var(--theme-third);padding:9px 12px;font:10px ui-monospace,monospace;color:var(--theme-third);border-radius:3px}.local-setup{padding:24px;overflow-y:auto}.local-controls{display:flex;flex-direction:column;gap:10px;margin:18px 0}.local-controls h3{font:11px ui-monospace,monospace;color:var(--theme-third)}.local-controls p,.local-controls small{font:11px/1.6 ui-monospace,monospace;color:var(--theme-muted)}.local-form{display:flex;gap:7px}.local-form input{min-width:0;flex:1;min-height:38px;padding:8px;border:1px solid var(--theme-rule);color:var(--theme-accent);background:var(--theme-bg);font:12px ui-monospace,monospace;border-radius:3px}.local-locate:disabled{opacity:.5}
html[data-layout=landscape] .market-ribbon{min-height:32px;padding:0 5px}.market-ribbon .market-label{font-size:8px}html[data-layout=landscape] .market-strip{padding:5px 0}html[data-layout=landscape] .market-chip{font-size:9px}
html[data-layout=landscape] .settings-panel[open]{display:block;max-height:calc(100dvh - 24px);overflow-y:auto}html[data-layout=landscape] .theme-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
/* Available window width drives this layout for iPad, Duo inner display and Split View. */
html:not(.native-app) .phone{width:var(--device-width,440px)!important;height:var(--device-height,956px)!important;min-height:var(--device-height,956px)!important}
@media(min-width:1100px){html.native-app[data-layout=landscape] #app{grid-template-columns:190px minmax(0,1fr)}html.native-app[data-layout=landscape] .category{font-size:14px;min-height:40px}html.native-app[data-layout=landscape] .feed{grid-template-columns:repeat(3,minmax(0,1fr))}html.native-app[data-layout=landscape] .topic-headlines{grid-template-columns:repeat(3,minmax(0,1fr))}}
html[data-layout=landscape] .news-workspace{container-type:inline-size}
@container(min-width:700px){.feed{column-gap:16px!important}.ticker-row>.metadata{font-size:11px!important}.ticker-row .age{font-size:9px!important}.spotlight-panel{padding:20px;gap:14px}.spotlight-meta{font-size:12px}.spotlight-bottom{font-size:10px}.channel-board-label{height:38px;font-size:10px}.market-ribbon{min-height:42px!important}.market-chip{font-size:11px!important}}
.market-label{display:flex;flex-direction:column;gap:2px;align-items:flex-start}.market-label small{font:6px ui-monospace,monospace;letter-spacing:0;color:var(--theme-muted)}
/* Keep iOS from zooming the city form when its keyboard opens. */
.local-form input{font-size:16px}
.local-loading{font:12px ui-monospace,monospace;padding:22px;color:var(--theme-third)}
@media(max-width:380px){html.native-app .masthead .brand-name{font-size:21px!important}html.native-app .brand{gap:8px}html.native-app .live{font-size:15px;letter-spacing:2px}}

/* One actual circular-dot font throughout the wire, including new panels. */
.phone,.phone *{font-family:AmberMatrix,monospace!important;font-weight:400!important}
.market-card strong{font-size:21px;line-height:1.25}
.market-chip{font-size:12px}.market-card small,.market-card time,.quote-change{font-size:11px;line-height:1.55}
.market-label{font-size:10px}.market-label small{font-size:7px}
.market-note,.local-controls p,.local-controls small{font-size:12px}

/* One seamless, manually scrubbable market tape; motion uses the shared power budget. */
.market-strip{display:flex;direction:ltr;overflow-x:auto;gap:0;align-items:center;flex:1;cursor:grab;scroll-behavior:auto}
.market-strip.scrubbing{cursor:grabbing;user-select:none}.market-strip::-webkit-scrollbar{display:none}
.market-group{display:flex;align-items:baseline;flex:none;width:max-content;gap:24px;padding-right:24px}
.market-chip{flex:none;white-space:nowrap}.market-chip .quote-unit{color:var(--theme-muted);font-size:8px}
.market-section-title{font-size:14px;letter-spacing:1px;color:var(--theme-third);padding:24px 0 0}
.market-card .quote-unit{font-size:11px;color:var(--theme-secondary)}

.market-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
