*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{min-width:320px;background:#000;color:#f0f0f0;font-family:Courier New,Courier,monospace;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit}img{display:block;max-width:100%}body{margin:0;font-family:Courier New,Courier,monospace;background-color:#0a0a0a;color:#f0f0f0;overflow:hidden}button{cursor:pointer}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.hotel-container{position:relative;width:100vw;height:100vh;overflow:hidden;background-color:#000}.hotel-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 3.2s ease-in-out,filter 3.2s ease-in-out;z-index:0}.palm{position:absolute;width:min(12vw,180px);bottom:0;z-index:2;transform-origin:bottom center;pointer-events:none;filter:drop-shadow(0 10px 18px rgba(0,0,0,.32))}.palm-left{left:5%}.palm-right{right:5%}.door-agent{position:absolute;bottom:clamp(34px,7vh,92px);left:clamp(126px,17vw,268px);width:clamp(132px,10.2vw,182px);border:none;background:transparent;padding:0;cursor:pointer;z-index:10;transition:transform .2s ease,filter .2s ease,opacity .3s ease;transform-origin:bottom center}.door-agent:hover{transform:scale(1.05) translateY(-2px);filter:brightness(1.15)}.door-agent:focus-visible{outline:2px solid #fff;outline-offset:4px}.door-agent.is-sequence-running{pointer-events:none}.door-agent-image{width:100%;animation:pulseDoorAgent 2.6s infinite ease-in-out;filter:drop-shadow(0 14px 20px rgba(0,0,0,.28))}.pentest-sign-wrapper{position:absolute;bottom:9.2%;left:62.6%;transform:translate(-50%);cursor:pointer;z-index:6;transform-origin:top center;transition:filter .3s ease;animation:sign-flicker 1.2s infinite,swing 3s ease-in-out infinite,glow 2s ease-in-out infinite;border:none;background:transparent;padding:0}.pentest-sign-wrapper:hover{filter:brightness(1.08)}.pentest-sign-wrapper:focus-visible{outline:2px solid #fff;outline-offset:6px}.pentest-sign{width:clamp(235px,20vw,330px);filter:drop-shadow(0 14px 22px rgba(0,0,0,.34))}@media(max-width:1100px){.door-agent{left:clamp(84px,13.5vw,170px);width:clamp(118px,11vw,160px)}.pentest-sign-wrapper{left:64.2%;bottom:9%}.pentest-sign{width:clamp(215px,23vw,285px)}}@media(max-width:720px){.palm{width:min(22vw,150px)}.door-agent{left:1.4rem;bottom:2.8rem;width:clamp(98px,23vw,128px)}.pentest-sign-wrapper{left:68%;bottom:8.6%}.pentest-sign{width:clamp(175px,36vw,240px)}}@keyframes pulseDoorAgent{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes sign-flicker{0%,19%,21%,23%,25%,54%,56%,to{opacity:1}20%,22%,24%,55%{opacity:.3}}@keyframes swing{0%{transform:translate(-50%) rotate(0)}50%{transform:translate(-50%) rotate(3deg)}to{transform:translate(-50%) rotate(0)}}@keyframes glow{0%,to{filter:drop-shadow(0 0 3px #ffd700)}50%{filter:drop-shadow(0 0 8px #ffcc00)}}.terminal-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:radial-gradient(circle at top,rgba(0,255,153,.08),transparent 28%),#000000f5;color:#0f9;font-family:Courier New,monospace;display:flex;flex-direction:column;padding:clamp(1.5rem,3vw,2.5rem);overflow-y:auto;z-index:9999}.terminal-shell{width:min(100%,960px);margin:0 auto}.terminal-banner{font-family:Courier New,monospace;font-size:clamp(.62rem,.52rem + .45vw,.9rem);line-height:1.1;color:#7effc3;white-space:pre;animation:fadeIn .9s ease-in;margin:0 auto 1.4rem;width:min(100%,960px);-webkit-user-select:none;user-select:none;text-shadow:0 0 12px rgba(0,255,153,.22)}.terminal-meta{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .8rem;margin-bottom:1rem;border:1px solid rgba(0,255,153,.35);border-radius:999px;color:#99ffd8;background:#00ff990d;font-size:.9rem}.terminal-meta-separator{opacity:.6}.terminal-cursor{display:inline-block;width:.6rem;height:1.2rem;background-color:#0f9;animation:blink 1s step-end infinite;margin-left:4px}@keyframes blink{50%{opacity:0}}.terminal-form{display:flex;flex-direction:column;gap:1rem;width:100%;padding:1.35rem 1.25rem 1.5rem;border:1px solid rgba(0,255,153,.22);border-radius:18px;background:#000c06ad;box-shadow:0 18px 45px #00000047,inset 0 0 0 1px #00ff990a}.terminal-line{display:flex;flex-direction:column;gap:.45rem;word-break:break-word}.terminal-history-line span{color:#77ffc4}.terminal-label{color:#caffea}.terminal-input,.terminal-form input,.terminal-form select,.terminal-form textarea{background:#0000005c;border:1px solid rgba(0,255,153,.65);color:#caffea;font-family:Courier New,monospace;font-size:1rem;padding:.7rem .8rem;resize:none;width:100%;outline:none;border-radius:12px;transition:border-color .2s,box-shadow .2s,background-color .2s}.terminal-form textarea{min-height:7.5rem;line-height:1.5}.terminal-form input:focus,.terminal-form select:focus,.terminal-form textarea:focus{border-color:#0fa;box-shadow:0 0 0 3px #00ffaa1f,0 0 18px #00ffaa29;background:#0000008f}.input-error{border-color:#ff5c8a!important}.terminal-note{margin:-.15rem 0 0;color:#89d9b6;font-size:.9rem}.terminal-error{color:#ff7ca3;font-size:.95rem;margin:-.15rem 0 0}.terminal-tooltip{font-size:.85rem;color:#89d9b6;margin-top:-.15rem}.terminal-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.35rem}.terminal-action{border:1px solid rgba(0,255,153,.65);background:#00ff991f;color:#caffea;border-radius:999px;padding:.6rem 1rem;cursor:pointer;transition:transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease}.terminal-action:hover{background:#00ff9938;transform:translateY(-1px)}.terminal-action.secondary{background:transparent;border-color:#caffea57;color:#d7fff0}.terminal-action.ghost{background:#ffffff0a;border-color:#caffea33}.terminal-action:disabled{opacity:.62;cursor:wait;transform:none}.terminal-close{position:absolute;top:1rem;right:1rem;font-size:1.25rem;background:transparent;border:1px solid transparent;border-radius:999px;color:#9effcf;cursor:pointer;z-index:10000;width:2.6rem;height:2.6rem;display:inline-flex;align-items:center;justify-content:center}.terminal-close:hover,.terminal-close:focus-visible{background-color:#00ff991f;border-color:#0f96;color:#eafff6}.terminal-success{white-space:pre-line;font-size:1.1rem;padding:1.5rem;max-width:60ch;margin:auto;color:#d1ffeb;line-height:1.6;text-align:left;border:1px solid rgba(0,255,153,.22);border-radius:20px;background:#000c06bd;box-shadow:0 22px 48px #00000057}.terminal-success p{margin:0}@media(max-width:720px){.terminal-overlay,.terminal-form{padding:1rem}.terminal-meta{font-size:.82rem}.terminal-actions{width:100%}.terminal-action{flex:1 1 calc(50% - .4rem);justify-content:center}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.antenna{position:absolute;top:-40%;left:50%;transform:translate(-50%);width:18vw;max-width:280px;transition:top 1.2s ease-out;z-index:4;pointer-events:none}.antenna.antenna-ready{top:10%;pointer-events:auto}.mission-overlay{position:fixed;inset:0;background:radial-gradient(circle at top,rgba(0,255,170,.08),transparent 32%),#000000f2;color:#0fc;font-family:monospace;padding:2rem;z-index:9999;display:flex;align-items:center;justify-content:center}.mission-terminal{width:min(100%,720px);padding:1.5rem 1.7rem;border:1px solid rgba(0,255,204,.18);border-radius:20px;background:#000a0ab8;box-shadow:0 20px 50px #0000005c}.mission-terminal p{font-size:clamp(1rem,.95rem + .25vw,1.18rem);margin:.55rem 0;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.dark-overlay{position:absolute;inset:0;background:radial-gradient(circle at 50% 34%,#75218a2e,#0000 38%),linear-gradient(180deg,#0b0a1c29,#000000bd);z-index:1;pointer-events:none;opacity:0;transition:opacity 3.2s ease-in-out}.dark-overlay.visible{opacity:1}.speech-bubble{position:absolute;padding:.95rem 1.5rem;background:#fffffffa;color:#111;font-family:Courier New,monospace;text-transform:uppercase;font-size:clamp(.92rem,.82rem + .24vw,1.05rem);font-weight:700;letter-spacing:.08em;border:1px solid rgba(17,17,17,.06);border-radius:999px;white-space:nowrap;box-shadow:0 14px 32px #00000047;pointer-events:none;z-index:20;animation:bubbleGlow 2s ease-in-out infinite alternate}.speech-bubble:after{content:"";position:absolute;width:18px;height:18px;background:inherit;transform:rotate(45deg)}.speech-bubble-agent{bottom:calc(100% + 18px);left:60%;transform:translate(-18%)}.speech-bubble-agent:after{left:28px;bottom:-8px}.speech-bubble-pentest{bottom:calc(100% + 28px);left:50%;transform:translate(-50%)}.speech-bubble-pentest:after{left:calc(50% - 9px);bottom:-8px}@media(max-width:720px){.speech-bubble{padding:.72rem 1.08rem;font-size:.78rem}.speech-bubble-agent{left:62%}.speech-bubble-pentest{bottom:calc(100% + 18px)}}@keyframes bubbleGlow{0%{box-shadow:0 12px 28px #00000038}to{box-shadow:0 12px 28px #00000057,0 0 18px #ffffff5c}}.screen-distortion{position:fixed;top:0;left:0;width:100%;height:100%;z-index:50;background:repeating-linear-gradient(0deg,rgba(0,255,150,.3) 0px,rgba(0,255,150,.3) 2px,transparent 2px,transparent 4px);animation:glitch .07s infinite,flash .4s infinite;mix-blend-mode:screen;opacity:.8;pointer-events:none}.screen-distortion:before{top:20%;height:2px;background:#00ff961a}.screen-distortion:after{top:60%;height:2px;background:#00ff961a}@keyframes glitch{0%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(2px,-1px)}60%{transform:translate(-1px,2px)}80%{transform:translate(1px,-2px)}to{transform:translate(0)}}@keyframes flash{0%,to{opacity:.3}50%{opacity:.8}}.agent-overlay{position:fixed;inset:0;background:#0a0a0ad9;z-index:9999;display:flex;justify-content:center;align-items:center;padding:2rem;animation:fadeIn .8s ease-out}.agent-card{width:min(100%,1180px);display:grid;grid-template-columns:minmax(220px,300px) minmax(340px,1fr);gap:2.25rem;align-items:center;background:linear-gradient(135deg,#000000f2,#121212e6);border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:2.25rem;box-shadow:0 24px 60px #0000008c}.agent-img,.agent-image{width:100%;max-width:300px;margin:0 auto}.agent-img.large{animation:scaleIn .6s ease-out}.agent-dialog{position:relative;color:#111;background:#f8f8f4;padding:1.7rem 1.9rem;border-radius:22px;font-family:Georgia,Times New Roman,serif;font-size:1.08rem;line-height:1.72;box-shadow:0 18px 40px #00000040;min-height:340px}.agent-dialog:before{content:"";position:absolute;left:-12px;top:44px;width:24px;height:24px;background:inherit;transform:rotate(45deg);border-radius:4px}.agent-dialog.is-visible{animation:fadeInUp .6s ease-in-out forwards}.agent-dialog.is-loading{display:flex;align-items:center;color:#555;font-style:italic}.agent-dialog p{margin:0}.agent-dialog-loader{color:#666}.agent-overlay-close{justify-self:start;margin-top:.5rem;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:transparent;color:#f4f4f4;padding:.78rem 1.2rem;font-family:Courier New,monospace;font-size:.96rem;transition:background-color .2s ease,color .2s ease,transform .2s ease}.agent-overlay-close:hover{background:#f4f4f4;color:#111;transform:translateY(-1px)}.agent-overlay-close:focus-visible{outline:2px solid #fff;outline-offset:4px}@media(max-width:900px){.agent-card{grid-template-columns:1fr;text-align:left;gap:1.35rem}.agent-img,.agent-image{max-width:200px}.agent-dialog{min-height:auto}.agent-dialog:before{left:36px;top:-10px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}
