*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden}body{color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#000;font-family:Inter,sans-serif}canvas{width:100%;height:100%;display:block;position:fixed;top:0;left:0}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none}:root{--font-display:"Bebas Neue", sans-serif;--font-mono:"DM Mono", monospace;--color-bg:#000;--color-text:#f0ece4;--color-accent:#e07a5f;--color-muted:#f0ece459;--color-phosphor:#7dffa0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-display), sans-serif;-webkit-font-smoothing:antialiased}#landing-page{width:100vw;height:100vh;position:relative;overflow:hidden}#three-renderer{z-index:0;touch-action:none;position:fixed;inset:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#title-panel{z-index:10;border-left:1px solid var(--color-muted);border-bottom:1px solid var(--color-muted);flex-direction:column;gap:.5rem;padding:1rem;display:flex;position:fixed;bottom:6vh;left:6vw}#title-panel .label{font-family:var(--font-mono), monospace;letter-spacing:.15em;color:var(--color-accent);text-transform:lowercase;font-size:.7rem}#title-panel h1{color:var(--color-text);mix-blend-mode:exclusion;font-size:5rem;font-weight:800;line-height:.8}#title-panel .role{font-family:var(--font-mono), monospace;color:var(--color-muted);letter-spacing:.05em;margin-top:.75rem;font-size:clamp(.75rem,1.2vw,1rem);font-style:italic;font-weight:400}#title-panel .contact{font-family:var(--font-mono), monospace;color:var(--color-muted);letter-spacing:.05em;margin-top:.5rem;font-size:clamp(.65rem,1vw,.9rem);font-style:italic;font-weight:400}#title-panel .hints{margin-top:1.5rem}#title-panel .hints .hint{font-family:var(--font-mono), monospace;color:var(--color-muted);letter-spacing:.1em;margin-top:.5rem;font-size:.7rem}#title-panel .hints .hint-touch{display:none}@media (hover:none){#title-panel .hints .hint-keys{display:none}#title-panel .hints .hint-touch{display:block}}#title-panel a:hover{color:var(--color-accent);animation:2s ease-in-out infinite pulse-line}#scroll-indicator{z-index:10;flex-direction:column;align-items:center;gap:.75rem;display:flex;position:fixed;bottom:10vh;right:5vw}#scroll-indicator span{font-family:var(--font-mono), monospace;letter-spacing:.2em;color:var(--color-muted);writing-mode:vertical-rl;text-orientation:mixed;font-size:.6rem}#scroll-indicator .line{background:linear-gradient(to bottom, var(--color-accent), transparent);width:1px;height:60px;animation:2s ease-in-out infinite pulse-line}@keyframes pulse-line{0%,to{color:var(--color-accent)}50%{color:var(--color-text)}}#teletext{--tt-yellow:#ff0;--tt-cyan:#0ff;--tt-green:#0f0;--tt-magenta:#f0f;z-index:10;color:#fff;width:min(640px,100% - 32px);max-height:calc(100% - 96px);font-family:var(--font-mono), monospace;opacity:0;visibility:hidden;background:#000000d1;padding:16px 20px;font-size:.95rem;line-height:1.5;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}#teletext.visible{opacity:1;visibility:visible}#teletext.visible~#title-panel{visibility:hidden}#teletext a{color:inherit;text-underline-offset:3px;text-decoration:underline}#teletext a:hover,#teletext a:focus-visible{background:var(--tt-yellow);color:#000;outline:none}.tt-header{color:var(--tt-yellow);justify-content:space-between;gap:16px;font-size:.8rem;display:flex}.tt-title{color:var(--tt-yellow);font-family:var(--font-display), sans-serif;letter-spacing:.04em;background:#0000c8;margin-top:16px;padding:4px 12px;font-size:clamp(2.5rem,9vw,4rem);font-weight:400;line-height:1.1}.tt-subtitle{background:var(--tt-cyan);color:#000;margin-top:4px;padding:2px 12px}.tt-body{margin-top:16px}.tt-body p+p{margin-top:.75rem}.tt-section{color:var(--tt-green);text-transform:uppercase;letter-spacing:.1em;margin-top:16px}.tt-links{margin-top:4px;list-style:none}.tt-links li{grid-template-columns:9ch 1fr;gap:8px;display:grid}.tt-links span{color:var(--tt-cyan);overflow-wrap:anywhere}#teletext .tt-fastext{flex-wrap:wrap;gap:8px 20px;margin-top:16px;display:flex}#teletext .tt-fastext a:first-child{color:var(--tt-green)}#teletext .tt-fastext a:nth-child(2){color:var(--tt-yellow)}#teletext .tt-fastext a:nth-child(3){color:var(--tt-magenta)}#osd{z-index:10;pointer-events:none;opacity:0;color:var(--color-phosphor);text-shadow:0 0 8px var(--color-phosphor), 2px 0 0 #ff3c3c59, -2px 0 0 #3c78ff59;transition:opacity .6s;position:fixed;top:28px;left:6vw}#osd.visible{opacity:1;transition-duration:.1s}.osd-number{letter-spacing:.05em;font-size:clamp(2.5rem,6vw,4rem);line-height:1}.osd-hint{font-family:var(--font-mono), monospace;letter-spacing:.1em;opacity:.75;margin-top:6px;font-size:.7rem}.osd-hint:empty{display:none}.osd-name{font-family:var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;margin-top:.25rem;font-size:.8rem}#tv-controls{z-index:100;gap:8px;display:flex;position:fixed;top:24px;right:24px}#sound-btn,#menu-btn,#cookie-btn,#cookie-banner button{border:1px solid var(--color-muted);color:var(--color-text);font-family:var(--font-mono), monospace;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;background:0 0;padding:8px 12px;font-size:.7rem;transition:border-color .2s,color .2s}#sound-btn:hover,#menu-btn:hover,#cookie-btn:hover,#cookie-banner button:hover{border-color:var(--color-phosphor);color:var(--color-phosphor)}#cookie-banner{z-index:100;border:1px solid var(--color-muted);width:min(360px,100% - 32px);color:var(--color-text);font-family:var(--font-mono), monospace;background:#000000e6;padding:16px;font-size:.75rem;line-height:1.5;position:fixed;bottom:24px;right:24px}#cookie-banner[hidden]{display:none}@media (width<=480px){#cookie-banner{bottom:16px;right:16px}}.cookie-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}#guide-overlay{z-index:99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;pointer-events:none;background:#000000d9;justify-content:center;align-items:center;padding:16px;transition:opacity .3s;display:flex;position:fixed;inset:0}#guide-overlay.open{opacity:1;pointer-events:all}#guide-panel{width:min(560px,100%);max-height:100%;font-family:var(--font-mono), monospace;color:var(--color-phosphor);overflow-y:auto}.guide-title{font-family:var(--font-display), sans-serif;letter-spacing:.05em;text-shadow:0 0 8px var(--color-phosphor);margin-bottom:.75rem;font-size:2.5rem}.guide-row{border:none;border-top:1px solid var(--color-muted);width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:2.5ch 56px 1fr auto;align-items:center;gap:16px;padding:8px;font-size:.85rem;display:grid}.guide-row img{object-fit:cover;width:56px;height:56px;display:block}.guide-row:hover,.guide-row:focus-visible{background:var(--color-phosphor);color:#000;outline:none}.guide-now{letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;display:none}.guide-row.current .guide-now{display:block}
