*{box-sizing:border-box;margin:0;padding:0}html{background:#000}html,body,#root{min-height:100%;min-height:100dvh}body{background:#000;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overscroll-behavior-y:none;-webkit-text-size-adjust:100%}.app{min-height:100dvh;color:var(--accent, #ffffff)}.robot-catcher{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:2;cursor:crosshair}.robot-canvas{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:4;pointer-events:none}.nav{position:fixed;top:0;left:0;right:0;z-index:3;display:flex;align-items:center;gap:20px;padding:16px 24px;background:#000}.nav:after{content:"";position:absolute;top:100%;left:0;right:0;height:20px;background:linear-gradient(#000,transparent);pointer-events:none}.brand{font-size:20px;font-weight:700;letter-spacing:.5px;white-space:nowrap;display:inline-flex;align-items:center;gap:8px}.xmas-lights{position:absolute;top:100%;left:0;right:0;height:16px;display:flex;justify-content:center;gap:24px;overflow:hidden;pointer-events:none;z-index:1}.xmas-lights:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#ffffff38}.xmas-bulb{position:relative;top:1px;width:9px;height:13px;border-radius:45% 45% 50% 50%/30% 30% 70% 70%;animation:xmas-alternate 2s linear infinite}.xmas-bulb:nth-child(2n){animation-delay:-1s}@keyframes xmas-alternate{0%,49%{opacity:1}50%,99%{opacity:.12}to{opacity:1}}.xmas-bulb:before{content:"";position:absolute;top:-3px;left:50%;transform:translate(-50%);width:2px;height:3px;background:#ffffff59}.xmas-bulb.b0{background:#ff5252;box-shadow:0 0 8px 2px #ff52528c}.xmas-bulb.b1{background:#4caf50;box-shadow:0 0 8px 2px #4caf508c}.xmas-bulb.b2{background:#ffd740;box-shadow:0 0 8px 2px #ffd7408c}.xmas-bulb.b3{background:#40c4ff;box-shadow:0 0 8px 2px #40c4ff8c}@media(prefers-reduced-motion:reduce){.xmas-bulb{animation:none}}.xmas-tree{flex:0 0 auto}.nav-links{display:flex;gap:16px;margin-left:auto}.nav-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;color:var(--accent, #ffffff);font:inherit;font-size:15px;padding:8px 14px;cursor:pointer;border-radius:6px;opacity:.65;transition:opacity .2s,border-color .2s}.nav-btn:hover{opacity:1;border-color:var(--accent, #ffffff)}.nav-btn.active{color:#000;background:var(--accent, #ffffff);opacity:1}.nav-tools{display:flex}.colour-dots{display:flex;gap:12px}.robot-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:none;border-radius:50%;color:var(--accent, #ffffff);cursor:pointer;opacity:.75;transition:opacity .2s}.robot-toggle:after{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border-radius:50%}.robot-toggle:hover,.robot-toggle[aria-pressed=true]{opacity:1}.colour-slider{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#0006}.colour-dot{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.colour-dot.active{border-color:var(--accent, #ffffff);box-shadow:0 0 0 2px #000000b3}@media(max-width:640px){.nav{flex-wrap:wrap;gap:12px;padding:14px 16px}.brand{order:1}.nav-tools{order:1;margin-left:auto}.nav-links{order:2;flex-basis:100%;margin-left:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.nav-btn{flex:0 0 auto}.page{padding-top:150px}}.page{position:relative;z-index:2;pointer-events:none;padding:120px 24px max(24px,env(safe-area-inset-bottom,0px));animation:fade-in .5s ease}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.socials{position:fixed;bottom:max(20px,env(safe-area-inset-bottom,0px));right:20px;z-index:3;display:flex;gap:18px;pointer-events:auto}.social-link{display:inline-flex;color:var(--accent, #ffffff);opacity:.65;transition:opacity .2s,transform .2s}.social-link:hover{opacity:1;transform:translateY(-2px)}.cover{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:10;background:var(--accent, #ffffff);pointer-events:none}.panel{max-width:1000px;margin-inline:auto}.panel h1{font-size:44px;font-weight:700;margin-bottom:16px}.gallery{max-width:1400px;margin-inline:auto}.gallery h1{font-size:44px;font-weight:700;margin-bottom:28px}.gallery>p{font-size:17px;line-height:1.6;margin-bottom:40px;opacity:.72}.gallery-grid{display:grid;gap:24px;grid-auto-rows:340px}.gallery-item{margin:0;display:flex;flex-direction:column;min-height:0}.gallery-item img{display:block;width:100%;flex:1;min-height:0;object-fit:contain;border-radius:8px}.gallery-item figcaption{margin-top:10px;font-size:14px;line-height:1.5;opacity:.7;text-align:center}@media(min-width:640px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}.panel a{color:var(--accent, #ffffff);text-decoration:underline;pointer-events:auto}.panel h2{font-size:22px;font-weight:600;margin-bottom:12px}.home-about{margin-top:44px}.home-about p+p{margin-top:16px}.home-recs{margin-top:44px}.home-recs ul{list-style:none}.home-recs p{margin-bottom:16px}.home-recs li{position:relative;font-size:17px;line-height:1.6;padding-left:20px;opacity:.8}.home-recs li+li{margin-top:6px}.rec-name{font-weight:600}.lost-list{margin-top:40px}.title-row{display:flex;align-items:center;gap:28px;margin-bottom:16px}.title-row h1{margin-bottom:0}.sad-robot{display:block;color:var(--accent, #ffffff);opacity:.8}.home-button{margin-top:28px;padding:12px 22px;font:inherit;font-size:15px;color:var(--accent, #ffffff);background:transparent;border:1px solid var(--accent, #ffffff);border-radius:6px;cursor:pointer;pointer-events:auto;opacity:.8;transition:opacity .2s}.home-button:hover{opacity:1}.lost-link{color:var(--accent, #ffffff);text-decoration:underline;pointer-events:auto}.lost-link:hover{text-decoration:none;opacity:.75}.smiley{display:inline-block;vertical-align:-4px;color:var(--accent, #ffffff)}.rec-sep{display:inline-block;width:6px;height:6px;margin:0 10px;border-radius:50%;background:currentColor;vertical-align:middle}.rec-comment{font-style:italic;opacity:.72}.home-recs li:before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:currentColor}.skills{margin-top:44px}.skill-list{list-style:disc;padding-left:22px;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px 20px}.skill-tag{font-size:17px;line-height:1.4;opacity:.8}.skills-intro{margin-bottom:16px}.panel p{font-size:17px;line-height:1.6;color:var(--accent, #ffffff);opacity:.72}.surprise{margin:0 auto;text-align:center}.riddle{max-width:460px;margin:0 auto}.riddle-form{pointer-events:auto;display:flex;gap:10px;justify-content:center;margin-top:26px}.riddle-input{font:inherit;font-size:16px;padding:10px 14px;background:transparent;color:var(--accent, #ffffff);border:1px solid var(--accent, #ffffff);border-radius:6px;min-width:220px}.riddle-input::placeholder{color:var(--accent, #ffffff);opacity:.45}.riddle-input:focus{outline:2px solid var(--accent, #ffffff);outline-offset:1px}.riddle-submit{font:inherit;font-size:15px;padding:10px 18px;background:var(--accent, #ffffff);color:#000;border:none;border-radius:6px;cursor:pointer}.riddle-submit:hover{opacity:.85}.riddle-feedback{margin-top:14px;color:#ff6b6b}.riddle-hint{margin-top:12px;font-size:15px;line-height:1.5;opacity:.6}.riddle-solved{margin-top:8px}.timeline{--timeline-gap: 28px;position:relative;margin-top:40px;padding-left:28px;display:grid;gap:var(--timeline-gap)}.timeline-item{position:relative}.timeline-item:not(:last-child):after{content:"";position:absolute;left:-23px;top:9px;width:2px;height:calc(100% + var(--timeline-gap));background:var(--accent, #ffffff);opacity:.4}.timeline-marker{position:absolute;left:-28px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--accent, #ffffff)}.timeline-content h3{font-size:17px;font-weight:600;margin-bottom:6px}.timeline-content p{font-size:15px;line-height:1.5;opacity:.7}
