@import"https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500;600&family=Courier+Prime:wght@400;700&family=Caveat:wght@400;500;600;700&display=swap";:root{--color-tan-light: #D4C5A9;--color-tan-base: #C4B59A;--color-tan-dark: #B4A58A;--color-brown-dark: #5C4A37;--color-brown-medium: #7A6B57;--color-gold-muted: #B8A082;--color-terminal-bg: #0a0a0a;--color-terminal-text: #00ff00;--color-terminal-amber: #ffb000;--color-terminal-green: #00ff41;--color-text-primary: #2c2416;--color-text-secondary: #5C4A37;--color-text-light: #E8DCC6;--color-link: #7A6B57;--color-link-hover: #5C4A37;--color-focus: #B8A082;--font-terminal: "Courier Prime", "Fira Code", "Courier New", monospace;--font-handwritten: "Caveat", "Comic Sans MS", cursive;--font-body: "Crimson Text", "Georgia", serif;--font-body-sans: "Inter", "Arial", sans-serif;--font-heading: "Crimson Text", "Times New Roman", serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--color-page-bg: #0a0a0a}[data-theme=olive]{--color-page-bg: #0a0a0a;--color-tan-light: #B3C187;--color-tan-base: #5F6F52;--color-tan-dark: #4A5A3D;--color-brown-dark: #4A5A3D;--color-brown-medium: #5F6F52;--color-gold-muted: #B3C187;--color-text-primary: #B3C187;--color-text-secondary: #AAAAAA;--color-text-light: #B3C187;--color-link: #B3C187;--color-link-hover: #C4D298;--color-focus: #B3C187;--color-input-bg: #5F6F52;--color-input-text: #B3C187;--color-input-placeholder: rgba(179, 193, 135, .45);--color-button-bg: #5F6F52;--color-button-text: #B3C187;--color-button-border: #4A5A3D}:root{--color-input-bg: #0a0a0a;--color-input-text: var(--color-tan-light);--color-input-placeholder: rgba(212, 197, 169, .4);--color-button-bg: var(--color-brown-medium);--color-button-text: var(--color-tan-light);--color-button-border: var(--color-brown-dark)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);color:#9ccc9c;background-color:var(--color-page-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}html.home-page-green,body.home-page-green,#root.home-page-green{background-color:#0a0a0a!important;min-height:100vh}.home-page-viewport{min-height:100vh;width:100%;background-color:#0a0a0a;color:#9ccc9c}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,4vw,2.5rem)}h3{font-size:clamp(1.25rem,3vw,2rem)}h4{font-size:clamp(1.1rem,2.5vw,1.5rem)}p{margin-bottom:var(--spacing-md)}a{color:var(--color-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-link-hover)}a:focus{outline:2px solid var(--color-focus);outline-offset:2px}.terminal-font{font-family:var(--font-terminal)}.body-font{font-family:var(--font-body)}.sans-font{font-family:var(--font-body-sans)}@media(max-width:768px){html{font-size:14px}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}@media(min-width:769px)and (max-width:1024px){html{font-size:15px}}@media(min-width:1025px){html{font-size:16px}}*:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}@media(min-width:768px){.container{padding:0 var(--spacing-lg)}}button,a.button,input[type=button],input[type=submit]{min-height:44px;min-width:44px;touch-action:manipulation}@media(max-width:768px){.terminal-container{font-size:.9rem;padding:var(--spacing-md);overflow-x:auto;-webkit-overflow-scrolling:touch}.terminal-input{font-size:16px}.text-adventure-action-button{width:100%;margin-bottom:var(--spacing-sm)}.logic-gates-container svg{max-width:100%;height:auto}.countdown-display{font-size:1.5rem!important}.countdown-unit div:first-child{font-size:2rem!important}}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.touch-feedback:active{opacity:.7;transform:scale(.98)}.home-cryptic.container{min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.home-full-bg{min-height:100vh;background-color:#0a0a0a;color:#9ccc9c;padding:2rem}.home-full-bg .home-log-count,.home-full-bg .home-message{color:#b8e0b8;margin-top:1rem}.home-terminal-output{font-family:var(--font-terminal);font-size:.9rem;color:#9ccc9c;margin-top:1.5rem;padding-left:1rem;border-left:2px solid #2a2a2a;letter-spacing:.02em}.home-terminal-prompt{color:#6a9a6a;margin-right:.35rem;font-weight:700}.home-terminal-line{margin:.35rem 0;line-height:1.5}.home-terminal-section{margin-top:1.25rem}.home-terminal-list{list-style:none;padding:0;margin:.25rem 0 0 .5rem}.home-terminal-list li{margin-bottom:.25rem}.home-terminal-footer{margin-top:1.5rem}.home-terminal-output .home-log-count,.home-terminal-output .home-message{margin:.35rem 0}.home-terminal-output a{color:#9ccc9c}.home-terminal-output a:hover{color:#b8e0b8}.home-full-bg a{color:#9ccc9c}.home-full-bg a:hover{color:#b8e0b8}.home-full-bg h2{color:#9ccc9c;font-size:1rem;margin-bottom:.5rem}.home-code-form{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.home-code-input{background-color:var(--color-input-bg);color:var(--color-input-text);border:1px solid var(--color-button-border);padding:.6rem .75rem;min-width:8rem;font-family:var(--font-terminal);font-size:1rem}.home-code-input::placeholder{color:var(--color-input-placeholder)}.home-code-submit{padding:.5rem 1rem;background:var(--color-button-bg);color:var(--color-button-text);border:1px solid var(--color-button-border);font-family:var(--font-body);cursor:pointer}.home-code-submit:hover{filter:brightness(1.1)}.ascii-code-block{background-color:#0a0a0a;color:#9ccc9c;font-family:var(--font-terminal);padding:1rem 1.25rem;border:1px solid #2a2a2a;min-width:20rem}.ascii-code-block .ascii-border{margin:0;font-size:.9rem;letter-spacing:.02em;color:#9ccc9c}.ascii-form{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin:.5rem 0}.ascii-form-row{position:relative;display:flex;align-items:center;padding-right:1.25rem;min-height:2rem}.ascii-form .ascii-submit{flex-basis:100%;margin-top:.5rem}.ascii-prompt{color:#9ccc9c;margin-right:.25rem;font-size:1rem}.ascii-input{background:transparent!important;border:none!important;border-bottom:1px solid #2a2a2a!important;color:#b8e0b8!important;padding:.35rem .5rem!important;min-width:7rem;font-family:var(--font-terminal)!important;font-size:1rem;caret-color:#b8e0b8;position:relative;z-index:2;pointer-events:auto;-webkit-user-select:text;user-select:text}.ascii-input::placeholder{color:#9ccc9c80!important}.ascii-input:focus{outline:none;border-bottom-color:#3d5a3d!important}.ascii-sep{width:.5rem;display:inline-block}.input-error-dot{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);width:.5rem;height:.5rem;border-radius:50%;background-color:#c44;pointer-events:none}.ascii-cursor{color:#b8e0b8;font-weight:700;margin-right:.25rem;animation:ascii-cursor-blink 1s step-end infinite}@keyframes ascii-cursor-blink{0%,to{opacity:1}50%{opacity:0}}.ascii-submit{margin-top:.75rem;min-width:3rem;min-height:2rem;background:#1a1a1a!important;color:transparent!important;border:1px solid #2a2a2a!important;font-family:var(--font-terminal)!important;font-size:.9rem;cursor:pointer;position:relative;z-index:2;pointer-events:auto}.ascii-submit:hover{background:#2a2a2a!important;color:#b8e0b8!important}.home-log-count{margin-top:1rem;font-size:.95rem;color:var(--color-text-secondary)}.home-message-slot{min-height:1.75rem;margin-top:.5rem}.home-message{color:#9ccc9c;margin:0;font-size:.9rem}[data-theme=olive] .home-message{color:#9ccc9c}.observation-log-page{min-height:100vh;background-color:#0a0a0a;color:#9ccc9c}.observation-log-page a{color:#9ccc9c}.observation-log-page a:hover{color:#b8e0b8}.observation-log-page h1,.observation-log-page h2{color:#9ccc9c}.observation-log-page .terminal-container{background-color:#0f0f0f;color:#9ccc9c;font-family:var(--font-handwritten);font-size:1.35rem;font-weight:500;border:1px solid #2a2a2a}.observation-log-page .terminal-container:before{background:repeating-linear-gradient(0deg,rgba(255,255,255,.02),rgba(255,255,255,.02) 1px,transparent 1px,transparent 2px)}.observation-log-page .terminal-container .terminal-line{font-family:var(--font-handwritten);font-size:1.35rem;color:#9ccc9c}.observation-log-page .terminal-container .terminal-info{color:#6a9a6a}.observation-log-page .terminal-container .log-heading{font-weight:700}.observation-log-page .terminal-container .log-perspective{font-style:italic;color:#6a9a6a}.terminal-container{background-color:var(--color-terminal-bg);color:var(--color-terminal-text);font-family:var(--font-terminal);padding:var(--spacing-lg);border-radius:4px;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000080}.terminal-container:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15),rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px);pointer-events:none;z-index:1}.terminal-container:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(0,255,65,.03) 0%,transparent 70%);pointer-events:none;z-index:1}.terminal-content{position:relative;z-index:2}.terminal-prompt{color:var(--color-terminal-green);margin-right:var(--spacing-sm)}.terminal-input{background:transparent;border:none;color:var(--color-terminal-text);font-family:var(--font-terminal);font-size:1rem;outline:none;width:100%;caret-color:var(--color-terminal-green)}.terminal-input::placeholder{color:#00ff414d}.terminal-output{margin-top:var(--spacing-md);line-height:1.6}.terminal-line{margin-bottom:var(--spacing-xs);word-wrap:break-word}.terminal-error{color:#f44}.terminal-success{color:var(--color-terminal-green)}.terminal-warning{color:var(--color-terminal-amber)}.terminal-info{color:#0af}@keyframes terminal-blink{0%,50%{opacity:1}51%,to{opacity:0}}.terminal-cursor{display:inline-block;width:8px;height:1em;background-color:var(--color-terminal-green);animation:terminal-blink 1s infinite;margin-left:2px;vertical-align:baseline}.terminal-hidden-input{position:absolute;opacity:0;pointer-events:none;width:0;height:0;border:none;padding:0;margin:0}.terminal-history{max-height:400px;overflow-y:auto;margin-bottom:var(--spacing-md)}.terminal-history::-webkit-scrollbar{width:8px}.terminal-history::-webkit-scrollbar-track{background:#0000004d}.terminal-history::-webkit-scrollbar-thumb{background:#00ff414d;border-radius:4px}.terminal-history::-webkit-scrollbar-thumb:hover{background:#00ff4180}@keyframes glitch-shake{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}@keyframes glitch-flicker{0%,to{opacity:1}50%{opacity:.8}51%{opacity:.9}52%{opacity:.7}}@keyframes glitch-text{0%{text-shadow:2px 0 #ff00c1,-2px 0 #00fff9}10%{text-shadow:-2px 0 #ff00c1,2px 0 #00fff9}20%{text-shadow:2px 0 #ff00c1,-2px 0 #00fff9}30%{text-shadow:-2px 0 #ff00c1,2px 0 #00fff9}40%{text-shadow:2px 0 #ff00c1,-2px 0 #00fff9}50%{text-shadow:-2px 0 #ff00c1,2px 0 #00fff9}60%{text-shadow:2px 0 #ff00c1,-2px 0 #00fff9}70%{text-shadow:-2px 0 #ff00c1,2px 0 #00fff9}80%{text-shadow:2px 0 #ff00c1,-2px 0 #00fff9}90%{text-shadow:-2px 0 #ff00c1,2px 0 #00fff9}to{text-shadow:2px 0 #ff00c1,-2px 0 #00fff9}}.glitch-active{animation:glitch-shake .3s,glitch-flicker .3s}.glitch-text{animation:glitch-text .3s}@keyframes refraction-shift{0%{transform:translate(0) scale(1);opacity:0}50%{transform:translate(10px,-10px) scale(1.1);opacity:.8}to{transform:translate(0) scale(1);opacity:0}}.refraction-lens{position:absolute;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);pointer-events:none;mix-blend-mode:overlay;transform:translate(-50%,-50%);transition:opacity .3s ease;z-index:1000}.refraction-reveal{mix-blend-mode:screen;filter:contrast(1.2) brightness(1.1);transition:filter .3s ease,mix-blend-mode .3s ease}@keyframes layout-shift{0%{transform:translate(0) rotate(0)}25%{transform:translate(2px,-2px) rotate(.5deg)}50%{transform:translate(-2px,2px) rotate(-.5deg)}75%{transform:translate(1px,-1px) rotate(.3deg)}to{transform:translate(0) rotate(0)}}.shifting-layout{animation:layout-shift 2s ease-in-out}@keyframes fall{0%{transform:translateY(0) rotate(0);opacity:1}50%{transform:translateY(50vh) rotate(180deg);opacity:.8}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.falling{animation:fall 1s ease-in forwards;pointer-events:none}.speck-dot{position:fixed;width:2px;height:2px;background-color:var(--color-text-primary);border-radius:50%;pointer-events:none;z-index:9999;transition:transform .1s ease-out;opacity:.6}.speck-dot.active{opacity:1;transform:scale(1.5)}.speck-dot.react{animation:speck-pulse .3s ease}@keyframes speck-pulse{0%,to{transform:scale(1)}50%{transform:scale(2.5)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.fade-in{animation:fade-in .5s ease-in}.fade-out{animation:fade-out .5s ease-out}@keyframes countdown-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.countdown-active{animation:countdown-pulse 1s ease-in-out infinite}@keyframes button-press{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}.button-press{animation:button-press .2s ease}@keyframes text-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.text-adventure-line{animation:text-appear .3s ease-out}.text-adventure-line:nth-child(1){animation-delay:.1s}.text-adventure-line:nth-child(2){animation-delay:.2s}.text-adventure-line:nth-child(3){animation-delay:.3s}.text-adventure-line:nth-child(4){animation-delay:.4s}.text-adventure-line:nth-child(5){animation-delay:.5s}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
