--border/--bg custom properties from styles.css — those are rewritten at runtime by randomizeColors() ("random color" in the simple bar),and the canvas/ particle field changing color live is the whole point of that button. But nav,buttons,and content-view text (press/music/shows/contact) used to read those same live vars,so navigating to a content page after hitting "random color" could pair a fixed dark page background with whatever foreground randomizeColors() happened to pick for a DIFFERENT background — no contrast guarantee holds across that mismatch,and text went unreadable. Site chrome now always uses these literal values (same numbers as styles.css's own defaults, so nothing looks different from
before "random color" is ever touched) — only the canvas responds to the live theme. These are literals,not custom properties (e.g. --tb-fg-strong),on purpose: a `body.tb-shell{--tb-fg-strong: ...}` block containing only custom-property declarations and no ordinary properties was silently dropped by the production build's CSS minifier — present in source,
absent from the shipped stylesheet (confirmed via the deployed site's own
parsed CSSOM,not just theory). Not chasing that further; literals can't
be minified away. */ *,*::before,*::after{box-sizing:border-box}.tb-nav{position:fixed;top:0;left:0;right:0;height:60px;z-index:40;display:flex;align-items:center;justify-content:center;padding:0 18px;background:linear-gradient(180deg,rgba(15,8,46,.88),rgba(15,8,46,.55) 65%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto}.tb-nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;width:100%;max-width:1200px}.tb-nav-links{display:flex;gap:18px;align-items:center}.tb-nav-right{justify-content:end}.tb-nav a{color:#d8d0ffad;text-decoration:none;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;letter-spacing:.05em;padding:6px 8px;border-radius:6px;transition:color .15s,background .15s;white-space:nowrap}.tb-nav a:hover,.tb-nav a.active{color:#d8d0ffeb;background:#ffffff0f}.tb-brand{font-weight:700;letter-spacing:.1em;text-transform:lowercase;color:#d8d0ffeb!important;font-size:14px;background:none!important}.tb-social{position:fixed;bottom:18px;right:18px;z-index:40;display:flex;gap:12px}.tb-social a{display:inline-flex;opacity:.85;transition:opacity .15s}.tb-social a:hover{opacity:1}.tb-social img{width:22px;height:22px;display:block}.tb-views{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none}.tb-view{display:none;position:absolute;top:0;right:0;bottom:0;left:0}.tb-view.active{display:block}#tb-view-home{pointer-events:none}.tb-view:not(#tb-view-home){pointer-events:auto;overflow-y:auto;padding:84px 20px 40px;background:#0f082e}.tb-container{max-width:880px;margin:0 auto;color:#d8d0ffad;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.tb-container h1{color:#d8d0ffeb;font-size:clamp(28px,5vw,44px);font-weight:700;margin-bottom:18px}.tb-placeholder{color:#d8d0ff73;font-size:14px}.tb-container-wide{max-width:1200px}.tb-album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.tb-album{position:relative;aspect-ratio:1;display:flex;align-items:flex-end;border:1px solid rgba(216,208,255,.28);border-radius:8px;background:#ffffff08;overflow:hidden;text-decoration:none;transition:outline-color .15s;outline:2px solid transparent;outline-offset:-2px}.tb-album:hover{outline-color:#d8d0ffad}.tb-album img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.tb-album span{position:relative;z-index:1;width:100%;padding:6px 8px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.75));color:#d8d0ffeb;font-size:12px;line-height:1.25}.tb-show-list{display:grid;gap:14px}.tb-show-card{border:1px solid rgba(216,208,255,.28);border-radius:8px;background:#ffffff08;padding:16px}.tb-show-card h2{color:#d8d0ffeb;font-size:16px;margin-bottom:6px}.tb-show-card p{margin:4px 0;font-size:13px}.tb-show-links a{color:#d8d0ffeb;text-decoration:underline}.tb-show-address{color:#d8d0ff73}.tb-show-next{color:#d8d0ffeb;font-weight:700}.tb-press-item{margin-bottom:34px;max-width:640px}.tb-press-item h2{color:#d8d0ffeb;font-size:15px;font-weight:700;margin-bottom:8px}.tb-press-item h2 a{color:inherit;text-decoration:underline}.tb-press-item img{max-width:160px;border:1px solid rgba(216,208,255,.28);border-radius:6px;display:block;margin-bottom:10px}.tb-press-item blockquote{margin:0;padding-left:12px;border-left:2px solid rgba(216,208,255,.28);color:#d8d0ff73;font-size:13px;font-style:italic;line-height:1.5}.tb-contact-grid{display:grid;gap:18px;max-width:480px}.tb-card{border:1px solid rgba(216,208,255,.28);border-radius:8px;background:#ffffff08;padding:18px}.tb-card h2{color:#d8d0ffeb;font-size:15px;margin-bottom:8px}.tb-card p{font-size:13px;margin-bottom:12px}.tb-form{display:flex;flex-direction:column;gap:10px}.tb-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#d8d0ff73;text-transform:uppercase;letter-spacing:.05em}.tb-form input,.tb-form textarea{font-family:inherit;font-size:13px;padding:8px 10px;border:1px solid rgba(216,208,255,.28);border-radius:6px;background:#0000004d;color:#d8d0ffeb;resize:vertical}.tb-form-inline{flex-direction:row;align-items:flex-end;flex-wrap:wrap}.tb-form-inline label{flex:1;min-width:180px}.tb-btn{min-height:40px;padding:0 18px;border:1px solid rgba(216,208,255,.92);border-radius:6px;background:#d8d0ffeb;color:#0f082e;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}.tb-btn:hover{opacity:.9}.tb-btn:disabled{opacity:.5;cursor:default}.tb-form-hint{font-size:12px;color:#d8d0ff73;min-height:1em}.tb-tap-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;pointer-events:none;transition:opacity .5s ease}.tb-tap-hint-dismissed{opacity:0}.tb-kicker{color:#d8d0ffeb;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(32px,7vw,64px);font-weight:700;letter-spacing:.02em;text-transform:lowercase;pointer-events:none}.tb-tap-btn{pointer-events:auto;min-height:44px;padding:0 22px;border:1px solid rgba(216,208,255,.92);border-radius:8px;background:#d8d0ffeb;color:#0f082e;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.tb-tap-btn:hover{opacity:.9}.tb-simplebar{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:35;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:min(720px,calc(100vw - 32px));opacity:0;pointer-events:none;transition:opacity .4s ease}.tb-simplebar-visible{opacity:1;pointer-events:auto}body.tb-pro-visible .tb-simplebar{display:none}body:not(.tb-home) .tb-simplebar{display:none}.tb-bar-btn{min-height:38px;padding:0 14px;border:1px solid rgba(216,208,255,.28);border-radius:8px;background:#0f082ea6;color:#d8d0ffad;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;letter-spacing:.03em;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.tb-bar-btn:hover{color:#d8d0ffeb;border-color:#d8d0ffad;background:#0f082ed9}#tb-back-to-simple{display:none;position:fixed;left:18px;bottom:18px;z-index:45;min-height:38px;padding:0 14px;border:1px solid rgba(216,208,255,.28);border-radius:8px;background:#0f082ea6;color:#d8d0ffad;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;letter-spacing:.03em;cursor:pointer;transition:color .15s,border-color .15s,background .15s}#tb-back-to-simple:hover{color:#d8d0ffeb;border-color:#d8d0ffad;background:#0f082ed9}body.tb-pro-visible #tb-back-to-simple{display:inline-flex;align-items:center;justify-content:center}body.tb-shell .ctrl-panel,body.tb-shell #ui-toggle,body.tb-shell #clear-particles-btn,body.tb-shell #pitch-lines-btn,body.tb-shell #mutation-btn,body.tb-shell #readme-btn,body.tb-shell #palette-btn,body.tb-shell #undo-btn,body.tb-shell #redo-btn,body.tb-shell #top-right-controls-shield{display:none}body.tb-shell.tb-pro-visible .ctrl-panel,body.tb-shell.tb-pro-visible #ui-toggle,body.tb-shell.tb-pro-visible #clear-particles-btn,body.tb-shell.tb-pro-visible #pitch-lines-btn,body.tb-shell.tb-pro-visible #mutation-btn,body.tb-shell.tb-pro-visible #readme-btn,body.tb-shell.tb-pro-visible #palette-btn,body.tb-shell.tb-pro-visible #undo-btn,body.tb-shell.tb-pro-visible #redo-btn,body.tb-shell.tb-pro-visible #top-right-controls-shield{display:flex}body.tb-shell.tb-pro-visible #ui-toggle,body.tb-shell.tb-pro-visible #clear-particles-btn,body.tb-shell.tb-pro-visible #pitch-lines-btn,body.tb-shell.tb-pro-visible #mutation-btn,body.tb-shell.tb-pro-visible #readme-btn,body.tb-shell.tb-pro-visible #palette-btn,body.tb-shell.tb-pro-visible #undo-btn,body.tb-shell.tb-pro-visible #redo-btn,body.tb-shell.tb-pro-visible #top-right-controls-shield{z-index:45}body.tb-shell.tb-pro-visible .tb-nav-right{margin-right:250px}@media(max-width:720px){.tb-nav-links{gap:10px}.tb-nav a{font-size:11px;padding:6px}}@media(max-width:640px){.tb-nav{height:auto;padding:10px 12px}.tb-nav-inner{display:flex;flex-direction:column;align-items:center;gap:6px}.tb-nav-links{flex-wrap:wrap;justify-content:center;gap:6px 10px}.tb-nav a,.tb-brand{font-size:11px}.tb-view:not(#tb-view-home){padding-top:110px}.tb-tap-hint{gap:12px}.tb-simplebar{gap:6px;bottom:14px}.tb-bar-btn{min-height:34px;padding:0 10px;font-size:11px}.tb-bar-btn-full{display:none}}
