@import"https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600&family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;1,9..144,300;1,9..144,400&family=JetBrains+Mono:wght@500;700&display=swap";:root{font-family:Archivo,system-ui,sans-serif;color:#ede9e1;background:#0a0c10;font-synthesis:none;text-rendering:optimizeLegibility;color-scheme:dark;--preto: #0a0c10;--carvao: #141a24;--carvao-alto: #1c2431;--fumaca: #232b39;--osso: #ede9e1;--cinza: #79839a;--ouro: #d9a441;--ouro-claro: #f0d08a;--dado: #c08848;--neon: #00e9ff;--perigo: #e8877a;--line: rgba(237, 233, 225, .1)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;background:var(--preto)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--ouro);outline-offset:3px}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:300;text-wrap:balance}.route-loading{min-height:100vh;display:grid;place-items:center;color:var(--cinza);font:.8rem JetBrains Mono,monospace}.brand-signature{width:fit-content;display:inline-flex;align-items:center;gap:.7rem;color:var(--ouro);text-decoration:none}.brand-signature svg{width:34px;height:34px;flex:none}.brand-signature>span{color:var(--osso);font:300 1.08rem/1 Fraunces,Georgia,serif}.brand-signature em{color:var(--ouro)}.brand-signature small{display:block;margin-top:.28rem;color:var(--cinza);font:500 .58rem/1 Archivo,sans-serif;letter-spacing:.17em;text-transform:uppercase}.brand-signature.is-compact{margin-bottom:1rem;gap:.55rem}.brand-signature.is-compact svg{width:27px;height:27px}.brand-signature.is-compact>span{font-size:.92rem}.brand-signature.is-compact small{font-size:.5rem}.eyebrow{display:block;color:var(--ouro);font:600 .75rem/1.35 Archivo,sans-serif;letter-spacing:.16em;text-transform:uppercase}.button{min-height:50px;border:1px solid transparent;border-radius:10px;padding:.8rem 1.15rem;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;color:var(--osso);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .16s ease,border-color .16s ease,color .16s ease,background .16s ease}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.4;cursor:not-allowed;transform:none}.button-primary{border-color:var(--ouro);background:var(--ouro);color:var(--preto)}.button-primary:hover{background:transparent;color:var(--ouro)}.button-secondary{border-color:var(--fumaca);background:#ede9e106}.button-secondary:hover{border-color:var(--ouro);color:var(--ouro)}.button-warning{border-color:color-mix(in srgb,var(--perigo) 55%,transparent);background:color-mix(in srgb,var(--perigo) 10%,transparent);color:var(--perigo)}.connection-badge{height:34px;padding:0 .75rem;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;background:#0a0c10b8;color:var(--cinza);font:500 .72rem JetBrains Mono,monospace}.connection-dot{width:7px;height:7px;border-radius:50%;background:var(--cinza)}.connection-connected .connection-dot{background:var(--ouro);box-shadow:0 0 10px #d9a441bf}.connection-connecting .connection-dot{background:var(--ouro-claro);animation:blink 1s infinite}.connection-error .connection-dot{background:var(--perigo)}.connection-local .connection-dot{background:var(--dado)}@keyframes blink{50%{opacity:.3}}.home-page{min-height:100vh;display:grid;grid-template-rows:1fr auto;background:radial-gradient(100% 80% at 12% 0%,rgba(217,164,65,.11),transparent 56%),var(--preto)}.home-page:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(rgba(237,233,225,.035) 1px,transparent 1px);background-size:34px 34px}.launcher{width:min(1160px,calc(100% - 3rem));margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(3rem,8vw,8rem);align-items:center;padding:4rem 0;position:relative}.launcher-title .brand-signature{margin-bottom:clamp(3rem,7vh,5.5rem)}.launcher-title h1{margin:.8rem 0 1.3rem;color:var(--osso);font-size:clamp(3.8rem,7.4vw,7.2rem);line-height:.86;letter-spacing:-.055em}.launcher-title p{max-width:34rem;color:var(--cinza);font-size:clamp(1rem,1.5vw,1.14rem);line-height:1.7}.network-mark{width:128px;height:54px;position:relative;margin-bottom:1.8rem}.network-mark:after{content:"";position:absolute;inset:25px 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--ouro),transparent)}.network-mark i{width:12px;height:12px;border:2px solid var(--ouro);border-radius:50%;position:absolute;top:20px;background:var(--preto);box-shadow:0 0 16px #d9a4416b}.network-mark i:nth-child(1){left:0}.network-mark i:nth-child(2){left:28px;top:4px}.network-mark i:nth-child(3){left:57px;top:37px}.network-mark i:nth-child(4){left:86px;top:8px}.network-mark i:nth-child(5){right:0}.room-setup{border-left:1px solid var(--fumaca);padding-left:clamp(2rem,5vw,5rem)}.room-setup label{display:block;color:var(--cinza);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.65rem}.room-setup input{width:100%;height:58px;padding:0 1rem;border:1px solid var(--fumaca);border-radius:10px;color:var(--ouro-claro);background:var(--carvao);font:700 1.2rem JetBrains Mono,monospace;letter-spacing:.12em;text-transform:uppercase}.route-cards{display:grid;gap:.75rem;margin-top:1.25rem}.route-card{min-height:80px;padding:1rem 1.1rem;border:1px solid var(--fumaca);border-radius:14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;color:var(--osso);text-decoration:none;background:var(--carvao);transition:transform .16s ease,border-color .16s ease,background .16s ease}.route-card:hover{transform:translate(4px);border-color:var(--ouro);background:var(--carvao-alto)}.route-card>svg:first-child{color:var(--ouro)}.route-card span{display:grid;gap:.25rem}.route-card small{color:var(--cinza)}.route-primary{border-color:#d9a4417a;background:linear-gradient(110deg,rgba(217,164,65,.14),var(--carvao) 72%)}.home-footer{position:relative;padding:1.4rem clamp(1.5rem,4vw,4rem);border-top:1px solid var(--fumaca);display:flex;justify-content:space-between;gap:1rem;color:var(--cinza);font:500 .67rem JetBrains Mono,monospace}.home-footer a{color:var(--ouro);text-decoration:none}.input-page{min-height:100dvh;max-width:620px;margin:auto;padding:max(1.25rem,env(safe-area-inset-top)) 1.25rem max(1.25rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;background:radial-gradient(100% 55% at 50% -8%,rgba(217,164,65,.12),transparent 60%)}.compact-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.compact-header h1{margin:.4rem 0 0;font-size:clamp(2rem,7vw,3rem);line-height:1;letter-spacing:-.035em}.drawing-card{width:min(100%,470px);aspect-ratio:1;margin:clamp(1.4rem,4vh,2.5rem) auto 0;padding:9px;border:1px solid rgba(217,164,65,.52);border-radius:22px;position:relative;background:linear-gradient(145deg,var(--carvao-alto),var(--preto));box-shadow:0 28px 70px #0000006b,0 0 50px #d9a44114}.drawing-card:before{content:"";position:absolute;inset:9px;border:1px solid rgba(217,164,65,.15);border-radius:14px;pointer-events:none}.drawing-canvas{width:100%;height:100%;border-radius:14px;display:block;background:#000;touch-action:none;cursor:crosshair}.canvas-lock{position:absolute;inset:9px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;background:#0a0c10e6;backdrop-filter:blur(9px);color:var(--osso);font-weight:600}.input-feedback{margin:1.15rem 0;min-height:1.5rem;color:var(--cinza);text-align:center}.input-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:.8rem}.input-actions .button{min-height:62px;font-size:.84rem}.student-handoff{margin-top:auto;padding-top:1.5rem;color:var(--cinza);display:flex;align-items:center;justify-content:center;gap:.55rem;font-size:.84rem}.display-page{min-height:100vh;overflow:hidden;position:relative;container-type:inline-size;background:var(--preto)}.network-scene{position:absolute;inset:0}.network-scene canvas{display:block;width:100%;height:100%;cursor:grab}.network-scene canvas:active{cursor:grabbing}.display-page:before{content:"";pointer-events:none;position:absolute;z-index:1;inset:0;background-image:radial-gradient(rgba(237,233,225,.035) 1px,transparent 1px);background-size:34px 34px}.display-page:after{content:"";pointer-events:none;position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(10,12,16,.94),transparent 28%,transparent 70%,rgba(10,12,16,.82))}.display-header{position:absolute;z-index:2;inset:0 0 auto;padding:clamp(1.5rem,3cqw,3rem);display:flex;justify-content:space-between;align-items:flex-start}.display-header h1{margin:.35rem 0 0;font-size:clamp(2rem,3.4cqw,4.2rem);line-height:1;letter-spacing:-.035em}.display-header .brand-signature{margin-bottom:.8rem}.display-header-actions{display:flex;align-items:center;gap:.7rem}.icon-button{width:42px;height:42px;border:1px solid var(--fumaca);border-radius:10px;display:grid;place-items:center;color:var(--osso);background:#141a24c7;cursor:pointer}.icon-button:hover{border-color:var(--ouro);color:var(--ouro)}.input-monitor{position:absolute;z-index:3;left:clamp(1.5rem,3cqw,3rem);top:39%;display:grid;gap:.7rem;color:var(--cinza);font:500 clamp(.68rem,.72cqw,.82rem) "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.08em}.grid-preview{width:clamp(110px,11cqw,190px);aspect-ratio:1;image-rendering:pixelated;border:1px solid rgba(217,164,65,.45);border-radius:8px;background:#000;box-shadow:0 0 36px #d9a4411f}.result-panel{position:absolute;z-index:3;right:clamp(1.5rem,3cqw,3rem);top:28%;width:clamp(230px,19cqw,350px);border-left:1px solid var(--fumaca);padding-left:clamp(1rem,2cqw,2rem)}.result-copy strong{display:block;color:var(--ouro-claro);font:300 clamp(5rem,9cqw,10rem)/.85 "Fraunces",Georgia,serif;letter-spacing:-.07em;text-shadow:0 0 40px rgba(217,164,65,.25)}.result-copy p{min-height:2.8em;margin:.85rem 0 1.4rem;color:var(--cinza);font-size:clamp(.8rem,1cqw,1rem);line-height:1.5}.probability-list{display:grid;gap:.42rem}.probability-row{display:grid;grid-template-columns:1rem 1fr 2.7rem;align-items:center;gap:.5rem;color:var(--cinza);font:500 .72rem JetBrains Mono,monospace}.probability-row>div{height:4px;background:var(--carvao-alto)}.probability-row i{height:100%;display:block;background:#5e4931;transition:width .6s ease}.probability-row b{text-align:right;font-weight:500}.probability-row.is-winner{color:var(--ouro-claro)}.probability-row.is-winner i{background:var(--dado);box-shadow:0 0 10px #c0884899}.stage-timeline{position:absolute;z-index:4;left:clamp(1.5rem,3cqw,3rem);right:clamp(1.5rem,3cqw,3rem);bottom:clamp(1.3rem,3cqw,2.5rem);display:flex;align-items:center;gap:1rem}.timeline-steps{min-width:0;flex:1;display:grid;grid-template-columns:repeat(8,minmax(54px,1fr));align-items:center}.stage-step{position:relative;min-width:0;padding:0;border:0;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.45rem;color:#4e5869;background:transparent;font:500 .66rem JetBrains Mono,monospace;text-align:left;cursor:pointer}.stage-step:after{content:"";height:1px;background:var(--fumaca);transition:background .18s ease,box-shadow .18s ease}.stage-step:last-child:after{opacity:0}.stage-step span{width:25px;height:25px;border:1px solid var(--fumaca);border-radius:50%;display:grid;place-items:center;transition:transform .18s ease,border-color .18s ease,background .18s ease}.stage-step b{position:absolute;left:0;top:32px;white-space:nowrap;font-weight:500}.stage-step:disabled{cursor:default;opacity:.55}.stage-step:not(:disabled):hover{color:var(--osso)}.stage-step:not(:disabled):hover span{border-color:var(--neon)}.stage-step.is-reached{color:var(--neon)}.stage-step.is-reached:after{background:var(--neon);box-shadow:0 0 8px #00e9ff85}.stage-step.is-reached span{border-color:var(--neon);background:#00e9ff1a}.stage-step.is-current span{transform:scale(1.18);background:var(--neon);color:var(--preto);box-shadow:0 0 18px #00e9ff8c}.timeline-nav{flex:none;display:flex;align-items:center;gap:.4rem}.timeline-button{width:38px;height:38px;padding:0;border:1px solid var(--fumaca);border-radius:9px;display:grid;place-items:center;color:var(--osso);background:#141a24e0;cursor:pointer}.timeline-button:hover:not(:disabled){border-color:var(--neon);color:var(--neon)}.timeline-button:disabled{opacity:.3;cursor:default}.replay-button{height:38px;padding:0 .85rem;border:1px solid var(--fumaca);border-radius:9px;display:flex;align-items:center;gap:.4rem;color:var(--cinza);background:#141a24d1;cursor:pointer}.replay-button:hover{border-color:var(--ouro);color:var(--ouro)}.replay-button:disabled{opacity:.3}.scene-controls-hint{position:absolute;z-index:4;right:clamp(1.5rem,3cqw,3rem);bottom:clamp(5.2rem,6cqw,6.4rem);display:flex;gap:.55rem;color:#ede9e180;font:500 .65rem JetBrains Mono,monospace;letter-spacing:.02em;pointer-events:none}.scene-controls-hint span{color:var(--ouro)}.teacher-page{min-height:100vh;padding:clamp(1.5rem,4vw,4rem);background:radial-gradient(90% 65% at 85% 0%,rgba(217,164,65,.1),transparent 58%),var(--preto)}.teacher-header{max-width:1180px;margin:0 auto 2rem}.teacher-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.teacher-card{min-height:260px;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--fumaca);border-radius:16px;background:linear-gradient(145deg,var(--carvao),rgba(15,19,27,.96));display:flex;flex-direction:column;align-items:flex-start}.teacher-card h2{margin:.45rem 0 .5rem;font-size:clamp(1.6rem,2.2vw,2rem);line-height:1.1;letter-spacing:-.025em}.teacher-card p{max-width:30rem;margin:0 0 1.3rem;color:var(--cinza);line-height:1.55}.teacher-card .button{margin-top:auto}.section-number{color:var(--ouro);font:700 .72rem JetBrains Mono,monospace}.qr-card{grid-row:span 2;display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;align-items:start;gap:1rem}.qr-card img{width:min(240px,24vw);border-radius:14px;padding:8px;background:var(--osso);box-shadow:0 0 0 1px #d9a44166,0 20px 60px #00000061}.text-button{border:0;padding:0;display:flex;align-items:center;gap:.5rem;color:var(--ouro);background:transparent;cursor:pointer}.teacher-actions{width:100%;margin-top:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.digit-buttons{display:grid;grid-template-columns:repeat(10,1fr);gap:.35rem;width:100%;margin-top:auto}.digit-buttons button{aspect-ratio:1;border:1px solid var(--fumaca);border-radius:9px;color:var(--osso);background:var(--carvao-alto);font-family:JetBrains Mono,monospace;cursor:pointer;transition:border-color .14s,color .14s,background .14s}.digit-buttons button:hover{border-color:var(--ouro);color:var(--ouro-claro);background:#242a31}.demo-note{margin-top:.8rem;color:var(--cinza);display:flex;gap:.45rem;align-items:center;font-size:.8rem}@media(max-width:820px){.launcher{grid-template-columns:1fr;gap:2.5rem;padding:3rem 0}.launcher-title .brand-signature{margin-bottom:3rem}.room-setup{border:0;border-top:1px solid var(--fumaca);padding:2rem 0 0}.teacher-grid{grid-template-columns:1fr}.qr-card{grid-row:auto}.teacher-actions{grid-template-columns:1fr}.digit-buttons{grid-template-columns:repeat(5,1fr)}.home-footer{flex-direction:column}}@media(max-width:680px){.input-page .connection-badge{padding:0 .55rem}.student-handoff{font-size:.78rem}.brand-signature.is-compact>span{display:none}}@media(max-aspect-ratio:4/3){.result-panel{top:26%;width:210px}.input-monitor{top:45%}.timeline-steps{grid-template-columns:repeat(4,1fr);row-gap:2.2rem}.replay-button,.scene-controls-hint{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
