:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0px;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}@media only screen and (max-width:480px){.Toastify__toast-container[data-stacked=true]{width:100vw}}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{color:#211a2b;background:#fffaf5;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 20% 0%,rgba(133,90,255,.14),transparent 34rem),#fffaf5}button,input,select{font:inherit}a{color:inherit}.page{width:min(100% - 2rem,64rem);margin:0 auto;min-height:calc(100vh - 4.5rem);padding:5rem 0}.home-page{gap:2.5rem}.hero{max-width:40rem}.hero h1,.centered-page h1{margin:0;font-size:clamp(3rem,10vw,6.5rem);line-height:.95;letter-spacing:-.06em}.hero>p:last-child,.centered-page>p{color:#655b70;font-size:1.1rem}.game-demo-player{width:min(100%,42rem);margin:1.5rem auto 1.25rem}.video-player{position:relative;width:100%}.video-player-placeholder{display:none;width:100%;aspect-ratio:16 / 9}.video-player-placeholder.visible{display:block}.video-player-surface{position:relative;z-index:0;width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:1.25rem;transition:transform .28s ease,box-shadow .28s ease}.video-player-surface.expanded{position:fixed;z-index:1001;top:50%;left:50%;width:min(calc(100vw - 2rem),80rem);max-height:calc(100vh - 2rem);transform:translate(-50%,-50%);box-shadow:0 2rem 5rem #0c09176b;animation:video-player-expand .28s ease both}.video-player-surface:fullscreen{position:fixed;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;transform:none;border-radius:0;box-shadow:none;animation:none;background:#181329}.video-player-surface:fullscreen::backdrop{background:#181329}.video-player-controls{position:absolute;z-index:2;right:0;bottom:0;left:0;display:flex;align-items:center;gap:.65rem;min-height:4rem;padding:1.4rem .85rem .7rem;color:#fffaf5;background:linear-gradient(transparent,#120d1feb);opacity:0;pointer-events:none;transition:opacity .16s ease}.video-player-surface:hover .video-player-controls,.video-player-surface:focus-within .video-player-controls{opacity:1;pointer-events:auto}.video-player-control-button{display:inline-grid;flex:0 0 auto;place-items:center;width:2rem;height:2rem;border:1px solid rgba(255,250,245,.28);border-radius:.6rem;color:inherit;background:#fffaf51f;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}.video-player-control-button:hover{border-color:var(--video-player-accent, #c4b5fd);color:var(--video-player-accent, #c4b5fd);background:#fffaf533}.video-player-control-button:focus-visible,.video-player-progress:focus-visible,.video-player-volume:focus-visible{outline:2px solid var(--video-player-accent, #c4b5fd);outline-offset:2px}.video-player-time{flex:0 0 auto;color:#fffaf5d1;font-size:.72rem;font-variant-numeric:tabular-nums;white-space:nowrap}.video-player-progress,.video-player-volume{height:1rem;margin:0;accent-color:var(--video-player-accent, #a78bfa);cursor:pointer}.video-player-progress{flex:1;min-width:4rem}.video-player-volume{width:5rem}.video-player-progress:disabled{cursor:default;opacity:.55}.video-player-error{position:absolute;right:.85rem;bottom:4rem;color:#fecaca;font-size:.72rem}.video-player-backdrop{position:fixed;z-index:1000;inset:0;width:100%;height:100%;border:0;padding:0;background:#120d1fb8;cursor:default;animation:video-player-backdrop-in .28s ease both}.video-player-close{position:absolute;z-index:1;top:.75rem;right:.75rem;display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:.4rem .75rem;color:#fff;background:#120d1fb8;cursor:pointer;opacity:0;transition:opacity .16s ease}.video-player-surface.expanded .video-player-close:focus-visible,.video-player-surface.expanded:hover .video-player-close{opacity:1}.video-player-close:focus-visible{outline:2px solid #fff;outline-offset:2px}.game-demo-video{display:block;width:100%;height:100%;aspect-ratio:16 / 9;overflow:hidden;border:1px solid #30244b;border-radius:1.25rem;background:#181329;box-shadow:0 18px 34px #2d1f4d2e;object-fit:cover}.game-demo-player.typing .game-demo-video{border-color:#164c6d;background:#102536}.game-demo-player .video-player{--video-player-accent: #c4b5fd}.game-demo-player.typing .video-player{--video-player-accent: #7dd3fc}@keyframes video-player-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes video-player-expand{0%{opacity:.85;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(prefers-reduced-motion:reduce){.video-player-surface,.video-player-controls,.video-player-backdrop,.video-player-close,.video-player-control-button{transition:none;animation:none}}@media(max-width:36rem){.video-player-surface.expanded{transition:none;animation:none}.video-player-controls{gap:.4rem;padding-right:.55rem;padding-left:.55rem}.video-player-volume{width:3.5rem}.video-player-time{font-size:.65rem}}.game-demo-topline,.game-demo-controls{display:flex;align-items:center;gap:.75rem}.game-demo-topline{justify-content:space-between;padding:.8rem 1rem;color:#bdb1d5;font-size:.64rem;font-weight:800;letter-spacing:.13em}.game-demo-live{display:flex;align-items:center;gap:.4rem;color:#f0b7ff}.game-demo-live span{width:.42rem;height:.42rem;border-radius:50%;background:#e879f9;box-shadow:0 0 0 .2rem #e879f921}.typing .game-demo-live{color:#7dd3fc}.typing .game-demo-live span{background:#38bdf8;box-shadow:0 0 0 .2rem #38bdf821}.game-demo-scene{position:relative;height:clamp(14rem,32vw,19rem);overflow:hidden;background:linear-gradient(145deg,#372867,#241c45 60%,#17132c)}.typing .game-demo-scene{background:linear-gradient(145deg,#174968,#123149 60%,#0d2131)}.demo-drawing-board{position:absolute;inset:1.5rem 17% 2.5rem;overflow:hidden;border:.55rem solid #fdf7ed;border-radius:.45rem;background:#c4e7f1;box-shadow:0 .8rem 1rem #08041833}.demo-sun{position:absolute;top:12%;right:14%;width:2.7rem;height:2.7rem;border-radius:50%;background:#ffd166}.demo-hill{position:absolute;bottom:-35%;width:75%;height:75%;border-radius:50% 50% 0 0;background:#71b47c}.demo-hill-back{left:-27%;background:#91ca87}.demo-hill-front{right:-28%;bottom:-43%}.demo-house{position:absolute;bottom:19%;left:43%;width:3.6rem;height:2.8rem;border:.2rem solid #5b3b36;background:#ef806d}.demo-house:before{position:absolute;top:-1.65rem;left:-.45rem;width:3.9rem;height:2rem;transform:rotate(45deg) skew(-10deg,-10deg);border-top:.42rem solid #5b3b36;border-left:.42rem solid #5b3b36;background:#e25c5a;content:""}.demo-house:after{position:absolute;bottom:0;left:1.35rem;width:.8rem;height:1.35rem;background:#715050;content:""}.demo-drawing-line{position:absolute;height:.22rem;transform:rotate(-18deg);border-radius:1rem;background:#5b3b36}.demo-drawing-line-one{bottom:34%;left:9%;width:3.6rem}.demo-drawing-line-two{bottom:23%;left:16%;width:2.6rem;transform:rotate(22deg)}.demo-race-board{position:absolute;inset:1.5rem 9% 2.5rem;display:grid;align-content:center;gap:1rem}.demo-race-lane{display:grid;grid-template-columns:2.2rem 1fr 1.7rem;align-items:center;gap:.7rem;color:#b7d8e9;font-size:.62rem;font-weight:800}.demo-race-lane>div{height:.72rem;overflow:hidden;border-radius:1rem;background:#d8f2ff29}.demo-race-lane i{display:block;height:100%;border-radius:inherit;background:#38bdf8}.demo-race-lane:nth-child(2) i{background:#fbbf24}.demo-race-lane:nth-child(3) i{background:#a78bfa}.demo-race-lane strong{font-size:1.1rem}.demo-finish-line{position:absolute;top:0;right:3%;bottom:0;width:.35rem;background:repeating-linear-gradient(0deg,#e0f2fe 0 .5rem,#164c6d .5rem 1rem)}.game-demo-caption{position:absolute;right:1rem;bottom:1rem;left:1rem;display:flex;align-items:end;gap:.75rem;color:#fff}.game-demo-caption>span{color:#e879f9;font-size:1.5rem;font-weight:850;line-height:1}.typing .game-demo-caption>span{color:#38bdf8}.game-demo-caption div{display:grid;gap:.2rem}.game-demo-caption strong{font-size:.95rem}.game-demo-caption small{color:#d0c8df;font-size:.72rem}.game-demo-controls{min-height:3.25rem;padding:.55rem .85rem;color:#c8bed8}.game-demo-controls button{display:grid;flex:0 0 auto;place-items:center;width:2rem;height:2rem;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.game-demo-controls button:hover,.game-demo-controls button:focus-visible{background:#ffffff1f;color:#fff}.game-demo-controls input{flex:1;min-width:4rem;height:.3rem;accent-color:#e879f9;cursor:pointer}.typing .game-demo-controls input{accent-color:#38bdf8}.game-demo-time{white-space:nowrap;font-size:.7rem;font-variant-numeric:tabular-nums}.game-demo-volume{margin-left:.1rem}.eyebrow{margin:0 0 .75rem;color:#6544c4;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;width:100%;max-width:44rem;margin-top:3rem}.game-card{display:grid;gap:.5rem;min-height:6.75rem;padding:1.15rem;border:1px solid #ddd3eb;border-radius:1rem;background:#ffffffd1;text-decoration:none;transition:border-color .16s ease,transform .16s ease}.game-card:hover{border-color:#7653d6;transform:translateY(-2px)}.game-card span{font-size:1.15rem;font-weight:700}.game-card small{align-self:end;color:#655b70;font-size:.85rem}.join-form{position:relative;display:grid;gap:.85rem;width:min(100%,27rem);padding:1.25rem;overflow:hidden;border:1px solid #d9ccf1;border-radius:1.4rem;background:radial-gradient(circle at 100% 0%,rgba(124,86,214,.14),transparent 16rem),linear-gradient(145deg,#fff,#faf6ff);box-shadow:0 6px #e9e0f6,0 12px 24px #452c6e14}.join-heading{display:grid;gap:.2rem}.join-heading span{color:#6544c4;font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.join-heading label{font-size:clamp(1.35rem,3vw,1.75rem);font-weight:800;letter-spacing:-.035em}.join-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;justify-content:start;width:min(100%,24rem)}.join-controls>.room-code-entry{grid-column:1 / -1;width:100%}.quick-join-name input{width:100%;min-height:3.75rem;padding:.75rem;border:2px solid #595064;border-radius:.9rem;background:#fff;box-shadow:inset 0 -3px #f0eafa;color:#211a2b;font-size:1.2rem;font-weight:500;transition:border-color .16s ease,box-shadow .16s ease}.quick-join-name input:focus{border-color:#7653d6;outline:0;box-shadow:inset 0 -3px #ece3fb,0 0 0 3px #7653d61f}.room-code-entry{position:relative;min-width:0;min-height:5.5rem;overflow:hidden;border:2px solid #595064;border-radius:.9rem;background:#fff;box-shadow:inset 0 -3px #f0eafa;transition:border-color .16s ease,box-shadow .16s ease}.room-code-entry:focus-within{border-color:#7653d6;box-shadow:inset 0 -3px #ece3fb,0 0 0 3px #7653d61f}.room-code-entry input{position:absolute;z-index:2;inset:0;width:100%;height:100%;border:0;outline:0;opacity:0;cursor:text}.room-code-slots{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:.7rem;padding:.8rem 1rem;pointer-events:none}.room-code-slots span{position:relative;display:grid;place-items:center;min-width:0;height:100%;border-bottom:3px solid #aaa0b7;color:#211a2b;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:clamp(1.9rem,4vw,2.5rem);font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.room-code-slots span.filled{border-bottom-color:transparent}.room-code-slots span.placeholder{color:#d9d4df}.room-code-entry:focus-within .room-code-slots span.active:after{position:absolute;width:3px;height:2.5rem;background:#211a2b;content:"";animation:code-cursor 1s steps(1) infinite}@keyframes code-cursor{0%,45%{opacity:1}50%,to{opacity:0}}.join-form button{min-height:3.75rem;border:0;border-radius:.9rem;background:linear-gradient(145deg,#805ee0,#6544c4);box-shadow:0 4px #4b2d9b;color:#fff;padding:0 1rem;font-size:1.05rem;font-weight:800;cursor:pointer;transition:box-shadow .12s ease,transform .12s ease}.join-form button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 5px #4b2d9b}.join-form button:not(:disabled):active{transform:translateY(3px);box-shadow:0 1px #4b2d9b}.join-form button:focus-visible{outline:3px solid rgba(118,83,214,.22);outline-offset:3px}.join-form button:disabled{cursor:not-allowed;filter:saturate(.45);opacity:.55;box-shadow:0 3px #8c819f}.join-form>small{color:#655b70;font-size:.8rem}.centered-page h1{font-size:clamp(2.5rem,8vw,5rem)}@media(max-width:640px){.page{padding:2rem 0}.game-grid,.join-controls{grid-template-columns:1fr}.game-card{min-height:6rem}.join-form{border-radius:1.2rem}.room-code-entry{min-height:5.5rem}}.site-header{position:sticky;z-index:20;top:0;padding:.5rem 0;border-bottom:1px solid rgba(80,65,100,.12);background:#fffaf5e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(100% - 2rem,72rem);height:100%;margin:0 auto}.site-header-primary{display:flex;align-items:center;gap:1.25rem}.site-brand,.header-button{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}.site-brand{font-size:1.05rem;font-weight:900;letter-spacing:-.03em}.site-brand-logo{width:21px;height:21px}.games-menu-trigger{display:inline-flex;align-items:center;gap:.25rem;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;border:0;background:transparent;color:#4c4356;font-size:.84rem;font-weight:750;cursor:pointer}.games-menu-trigger svg{transform:translateY(2px)}.games-menu-trigger:hover,.games-menu-trigger[aria-expanded=true]{background:#f5f0fb;color:#6544c4}.context-menu-popover{position:fixed;z-index:1000;display:grid;padding:.45rem;border:1px solid #ded4e8;border-radius:.85rem;background:#fff;box-shadow:0 .75rem 2rem #452c6e24}.games-menu-popover{min-width:12rem}.games-menu-link{display:grid;gap:.15rem;padding:.55rem .65rem;border-radius:.5rem;color:#4c4356;font-size:.84rem;font-weight:700;text-decoration:none}.games-menu-link small{color:#746a7d;font-size:.72rem;font-weight:500}.games-menu-link:hover{background:#f5f0fb}.site-nav{display:flex;align-items:center;gap:.65rem}.auth-loading{color:#746a7d;font-size:.82rem}.header-button{min-height:2.5rem;padding:0 .85rem;border:1px solid #ded4e8;border-radius:999px;background:#ffffffd1;color:#4c4356;font-size:.84rem;font-weight:750}.account-avatar-button{display:grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid #ded4e8;border-radius:50%;background:#ffffffd1;color:#4c4356;cursor:pointer}.account-avatar-button img{width:1.6rem;height:1.6rem;border-radius:50%;object-fit:cover}.account-menu-popover{min-width:10rem}.account-menu-name{padding:.45rem .65rem .55rem;color:#746a7d;font-size:.75rem;font-weight:700}.account-menu-link,.account-menu-logout{display:flex;align-items:center;gap:.5rem;padding:.55rem .65rem;border:0;border-radius:.5rem;background:transparent;color:#4c4356;font-size:.84rem;font-weight:700;text-decoration:none;cursor:pointer}.account-menu-link:hover,.account-menu-logout:hover{background:#f5f0fb}.header-button{cursor:pointer}.header-button.primary{border-color:#6544c4;background:#6544c4;color:#fff}.dag-page{width:min(100% - 2rem,72rem)}.page.dag-live-page{width:100%;min-height:100vh;padding:1.25rem 1rem;background:radial-gradient(circle at 12% 5%,rgba(118,83,214,.12),transparent 28rem),#fffaf5}.dag-live-page .game-toolbar{width:min(100%,72rem);margin:0 auto 1rem;padding:.65rem .75rem;border:1px solid rgba(118,83,214,.18);border-radius:.9rem;background:#7653d61f}.dag-hero{max-width:45rem;margin:0 auto 2.5rem;text-align:center}.dag-hero h1,.dag-stage h1,.account-heading h1{margin:.35rem 0 .8rem;font-size:clamp(2.5rem,8vw,5rem);line-height:.95;letter-spacing:-.055em}.dag-hero>p:last-child,.dag-stage>p,.account-heading>p:last-child{color:#655b70;font-size:1.05rem;line-height:1.6}.dag-entry-stack{display:grid;gap:1.5rem;width:min(100%,52rem);margin:0 auto}.dag-host-section{display:grid;gap:.6rem;padding:1.5rem;border:1px solid #ddd3eb;border-radius:1.4rem;background:#ffffffdb;box-shadow:0 12px 36px #452c6e14}.dag-host-section h2,.dag-host-section p{margin:0}.dag-host-section p{max-width:38rem;color:#655b70;line-height:1.5}.dag-host-content,.typing-host-content{max-width:20rem}.dag-host-row,.dag-host-actions{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.dag-host-actions{justify-content:flex-end;flex-wrap:wrap}.dag-host-actions label{display:flex;align-items:center;gap:.45rem;color:#655b70;font-size:.75rem;font-weight:800;text-transform:uppercase}.dag-host-actions .themed-select{min-width:5.5rem;text-transform:none}.dag-join-card,.typing-join-card{width:min(100%,30rem);margin:0 auto}.dag-join-card .entry-field,.dag-join-card .player-name-field,.typing-join-card .entry-field,.typing-join-card .player-name-field{width:100%}.dag-card,.dag-stage,.account-card{border:1px solid #ddd3eb;border-radius:1.4rem;background:#ffffffdb;box-shadow:0 12px 36px #452c6e14}.dag-card{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.dag-card h2,.account-card h2{margin:0;font-size:1.35rem}.dag-card p,.account-card p{margin:0;color:#655b70;line-height:1.5}.dag-card label,.guess-form label{display:grid;gap:.45rem;color:#51475d;font-size:.8rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.dag-card label>input,.guess-form label>input{width:100%;min-height:3.25rem;padding:0 .9rem;border:1px solid #cfc4da;border-radius:.75rem;outline:none;background:#fff;color:#211a2b;font-size:1rem}.dag-card label>input:focus,.guess-form label>input:focus{border-color:#7653d6;box-shadow:0 0 0 3px #7653d61f}.primary-button,.secondary-button,.icon-button{border:0;cursor:pointer}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:3.15rem;padding:0 1.1rem;border-radius:.8rem;font-weight:850}.primary-button{background:linear-gradient(145deg,#805ee0,#6544c4);box-shadow:0 4px #4b2d9b;color:#fff}.secondary-button{border:1px solid #d4cadf;background:#fff;color:#4f455a}.secondary-button.danger{border-color:#efc6c3;color:#9e332d}.primary-button:disabled,.secondary-button:disabled,.icon-button:disabled,.word-button:disabled{cursor:not-allowed;opacity:.5}.link-button{width:fit-content;text-decoration:none}.error-notice{max-width:44rem;margin:1rem auto;padding:.85rem 1rem;border:1px solid #efc6c3;border-radius:.8rem;background:#fff2f1;color:#8e2d28}.game-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.game-toolbar>div:first-child{display:grid;gap:.15rem}.compact-game-toolbar,.dag-live-page .compact-game-toolbar{margin-bottom:.75rem}.compact-game-toolbar>div:first-child{display:flex;align-items:center}.compact-game-toolbar strong{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.game-toolbar span{color:#746a7d;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.game-toolbar-actions,.host-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}.status-pill{padding:.45rem .7rem;border-radius:999px;background:#efe9f8;color:#6544c4!important}.icon-button{display:grid;width:2.65rem;height:2.65rem;place-items:center;border:1px solid #d8cde2;border-radius:50%;background:#fff;color:#5d5368}.dag-stage{display:grid;justify-items:center;gap:1.25rem;max-width:48rem;margin:0 auto;padding:clamp(1.5rem,5vw,3rem);text-align:center}.dag-stage.wide-stage{max-width:66rem}.dag-stage.drawing-stage,.dag-stage.guessing-stage{gap:.75rem;padding:1rem}.dag-stage.flat-game-stage{border:0;background:transparent;box-shadow:none}.drawing-stage-heading,.guessing-stage-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;text-align:left}.drawing-stage-heading>div,.guessing-stage-heading>div{min-width:0}.drawing-stage-heading .eyebrow,.guessing-stage-heading .eyebrow{margin-bottom:.25rem}.dag-stage .drawing-stage-heading h1,.dag-stage .guessing-stage-heading h1{margin:0;overflow-wrap:anywhere;font-size:clamp(1.75rem,5vw,3rem);line-height:1}.drawing-stage-heading .phase-timer,.guessing-stage-heading .phase-timer{flex:0 0 auto}.drawing-stage .drawing-shell{width:min(100%,calc(150vh - 28rem))}.dag-stage h1{font-size:clamp(2.2rem,7vw,4.5rem)}.large-room-code{color:#6544c4;font-family:SFMono-Regular,Consolas,monospace;font-size:clamp(4rem,18vw,8rem);font-weight:900;letter-spacing:.08em;line-height:1}.player-list{display:grid;gap:.55rem;width:min(100%,32rem)}.player-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;min-height:3.25rem;padding:.4rem .55rem .4rem .85rem;border:1px solid #e1d8e9;border-radius:.85rem;background:#fff;text-align:left}.player-row small{color:#746a7d}.presence{width:.7rem;height:.7rem;border-radius:50%;background:#b7afbf}.presence.online,.presence.done{background:#27a273;box-shadow:0 0 0 4px #27a2731f}.player-chips,.word-grid{display:flex;justify-content:center;flex-wrap:wrap;gap:.65rem}.player-chips span{padding:.55rem .8rem;border-radius:999px;background:#efe9f8;color:#574176;font-weight:750}.phase-timer{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem .95rem;border-radius:999px;background:#211a2b;color:#fff;font-family:SFMono-Regular,Consolas,monospace;font-size:1.2rem;font-weight:900}.word-grid{width:100%}.word-button{min-height:4rem;padding:0 1.25rem;border:2px solid #d6cadf;border-radius:1rem;background:#fff;color:#33263f;font-size:1.05rem;font-weight:850;cursor:pointer}.word-button.selected{border-color:#6544c4;background:#eee7fb;color:#4b2d9b}.drawing-shell{display:grid;gap:.8rem;width:100%}.drawing-tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem}.drawing-tools button{min-height:2.35rem;padding:0 .8rem;border:1px solid #d4cadf;border-radius:.65rem;background:#fff;color:#5b5066;cursor:pointer;font-weight:750}.drawing-tools button.selected{border-color:#6544c4;background:#eee7fb;color:#4b2d9b}.drawing-size-control{display:grid;grid-template-columns:auto minmax(7rem,11rem) 2rem;align-items:center;gap:.5rem;margin-left:.25rem;color:#5b5066;font-size:.75rem;font-weight:800}.drawing-size-control input{width:100%;height:.5rem;appearance:none;border:0;border-radius:999px;outline:none;cursor:pointer}.drawing-size-control input::-webkit-slider-runnable-track{height:.5rem;border-radius:999px;background:transparent}.drawing-size-control input::-webkit-slider-thumb{width:1.15rem;height:1.15rem;margin-top:-.325rem;appearance:none;border:2px solid #fff;border-radius:50%;background:#6544c4;box-shadow:0 0 0 2px #6544c43d}.drawing-size-control input::-moz-range-track{height:.5rem;border-radius:999px;background:transparent}.drawing-size-control input::-moz-range-thumb{width:.9rem;height:.9rem;border:2px solid #fff;border-radius:50%;background:#6544c4;box-shadow:0 0 0 2px #6544c43d}.drawing-size-control input:focus-visible{box-shadow:0 0 0 3px #6544c433}.drawing-size-control output{min-width:2rem;color:#33263f;font-variant-numeric:tabular-nums;text-align:right}.drawing-canvas,.prompt-image,.chain-slide img{display:block;width:100%;border:1px solid #e0d8e6;border-radius:1rem;background:#fff}.drawing-canvas{aspect-ratio:3 / 2;box-shadow:0 12px 32px #452c6e1f;cursor:crosshair;touch-action:none}.drawing-canvas[aria-disabled=true]{cursor:not-allowed;opacity:.55;pointer-events:none}.prompt-image{max-width:36rem}.guessing-stage .prompt-image{width:min(100%,calc(150vh - 24rem))}.guess-form{display:grid;gap:.8rem;width:min(100%,36rem)}.guessing-stage .guess-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.guessing-stage .guess-form label{text-align:left}.guessing-stage .guess-form .primary-button{min-width:10rem}.results-list{display:grid;gap:1rem;width:100%}.chain-card{overflow:hidden;border:1px solid #ded4e7;border-radius:1rem;background:#fff;text-align:left}.chain-card>header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem;border-bottom:1px solid #ece5f1;font-weight:850}.chain-card header small{color:#a34a43}.chain-slides{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;padding:.75rem}.chain-slide{display:grid;align-content:start;gap:.55rem;min-height:8rem;padding:.8rem;border-radius:.75rem;background:#faf7fc}.chain-slide small{color:#746a7d}.chain-slide strong{font-size:1.15rem;line-height:1.35}.account-page{display:grid;align-content:start;gap:1rem;max-width:52rem}.account-heading{margin-bottom:1rem}.account-heading h1{font-size:clamp(2.5rem,8vw,4.8rem)}.account-card{display:grid;gap:1rem;padding:1.4rem}.active-room-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.active-room-row>div{display:grid;gap:.25rem}.active-room-row span,.result-links span{color:#746a7d;font-size:.85rem}.result-links{display:grid;gap:.6rem}.result-links a{display:grid;gap:.2rem;padding:.9rem;border:1px solid #e1d8e9;border-radius:.8rem;text-decoration:none}.inactivity-warning{display:flex;align-items:center;gap:.6rem;width:min(100%,48rem);margin:0 auto 1rem;padding:.75rem .9rem;border:1px solid #f4c56d;border-radius:.8rem;background:#fff8df;color:#805716;font-size:.85rem;font-weight:750}.private-result-page{display:grid;align-content:start;gap:1.25rem;width:min(100% - 2rem,70rem)}.private-result-heading{margin-bottom:1rem}.private-result-heading h1{margin:.35rem 0 .8rem;font-size:clamp(2.7rem,9vw,5.6rem);line-height:.9;letter-spacing:-.06em}.private-result-heading>p:last-child{color:#655b70}.typing-page{width:min(100% - 2rem,70rem);color:#172033}.typing-hero{max-width:46rem;margin:0 auto 2rem;text-align:center}.typing-hero h1,.typing-panel h1{margin:.35rem 0 .8rem;font-size:clamp(2.7rem,9vw,5.6rem);line-height:.9;letter-spacing:-.065em}.typing-connecting-panel h1{font-size:clamp(1.8rem,5vw,3.5rem);line-height:1;letter-spacing:-.04em}.typing-hero>p:nth-of-type(2){color:#64748b;font-size:1.1rem;line-height:1.55}.device-recommendation{display:inline-flex;align-items:center;gap:.75rem;margin-top:1rem;padding:.8rem 1rem;border:1px solid rgba(14,116,144,.18);border-radius:.9rem;background:#ecfeffc7;color:#155e75;text-align:left}.device-recommendation>div{display:grid;gap:.15rem}.device-recommendation span{color:#4d7380;font-size:.8rem}.typing-entry-grid{display:grid;gap:1.5rem;width:min(100%,52rem);margin:0 auto}.typing-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;width:min(100%,28rem);justify-self:center;padding:.3rem;border:1px solid #dbe4ed;border-radius:.9rem;background:#eef4f8}.typing-tabs button{min-height:2.8rem;border:0;border-radius:.65rem;background:transparent;color:#64748b;font-weight:850;cursor:pointer;transition:background .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease}.typing-tabs button:hover{color:#172033}.typing-tabs button.active{background:#fff;color:#0284c7;box-shadow:0 4px 12px #32466424;transform:translateY(-1px)}.typing-join-link,.join-game-button{display:flex;align-items:center;justify-content:center;width:min(100%,18rem);min-height:3.5rem;justify-self:center;border-radius:.85rem;background:linear-gradient(135deg,#f97316,#ea580c);box-shadow:0 4px #c2410c;color:#fff;font-size:1.05rem;font-weight:850;text-decoration:none;transition:filter .16s ease,transform .16s ease}.typing-join-link:hover,.join-game-button:hover{filter:brightness(1.06);transform:translateY(-1px)}.typing-join-link:active,.join-game-button:active{box-shadow:0 2px #c2410c;transform:translateY(1px)}.typing-entry-grid.prefilled .typing-join-card,.dag-entry-stack.prefilled .dag-join-card{order:-1}.typing-card:not(.typing-card-no-bg),.typing-panel,.replay-panel{border:1px solid rgba(23,32,51,.1);border-radius:1.35rem;background:#ffffffdb;box-shadow:0 20px 55px #3246641a}.typing-card{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.typing-card h2,.replay-heading h2{margin:0}.typing-host-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.typing-host-content{display:grid;gap:.45rem}.typing-host-content h2,.typing-host-content p{margin:0}.typing-host-content p{color:#64748b;line-height:1.5}.typing-host-fields{display:grid;grid-template-columns:minmax(12rem,1.5fr) minmax(6rem,.5fr) minmax(10rem,1fr);gap:.75rem}.typing-card>p{margin:0;color:#64748b;line-height:1.5}.typing-card label{display:grid;gap:.4rem;color:#475569;font-size:.78rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.typing-card label>input:not([type=checkbox]){width:100%;min-height:3.1rem;padding:0 .85rem;border:1px solid #cbd5e1;border-radius:.7rem;outline:none;background:#fff;color:#172033}.typing-card label>input:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91f}.typing-toggle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.typing-toggle-grid label{display:flex;align-items:center;gap:.45rem;min-height:2.5rem;padding:0 .7rem;border:1px solid #dbe4ed;border-radius:.65rem;background:#f8fbff;cursor:pointer;text-transform:none}.typing-primary,.typing-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:3.1rem;padding:0 1rem;border:0;border-radius:.75rem;font-weight:850;cursor:pointer}.typing-primary{background:linear-gradient(135deg,#0ea5e9,#0284c7);box-shadow:0 4px #075985;color:#fff}.typing-secondary{border:1px solid #cbd5e1;background:#fff;color:#334155}.typing-primary:disabled,.typing-secondary:disabled{cursor:not-allowed;opacity:.5}.typing-error{max-width:44rem;margin:1rem auto;padding:.85rem 1rem;border:1px solid #fecaca;border-radius:.8rem;background:#fff1f2;color:#9f1239}.typing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(100% - 2rem,72rem);margin:0 auto 1rem}.typing-toolbar>div{display:flex;align-items:center;gap:.6rem}.typing-toolbar span,.typing-status{padding:.4rem .65rem;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:.75rem;font-weight:800}.typing-panel{display:grid;gap:1.25rem;padding:clamp(1.4rem,4vw,2.5rem)}.typing-lobby{max-width:52rem;margin:0 auto;text-align:center}.typing-lobby h1{color:#0284c7;font-family:SFMono-Regular,Consolas,monospace;font-size:clamp(4rem,16vw,8rem);letter-spacing:.08em}.typing-player-list{display:grid;gap:.55rem}.typing-player-list>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;min-height:3.1rem;padding:.4rem .55rem .4rem .8rem;border:1px solid #dbe4ed;border-radius:.75rem;background:#f8fbff;text-align:left}.typing-dot{width:.65rem;height:.65rem;border-radius:50%;background:#94a3b8}.typing-dot.online{background:#10b981;box-shadow:0 0 0 4px #10b9811f}.typing-live-page{width:100%;min-height:100vh;padding:1.25rem 0;background:radial-gradient(circle at 12% 5%,rgba(14,165,233,.14),transparent 26rem),radial-gradient(circle at 90% 15%,rgba(249,115,22,.12),transparent 26rem),#f4f9fd}.typing-race-layout{display:grid;grid-template-columns:5.25rem minmax(0,1fr);gap:1rem;width:min(100% - 2rem,90rem);margin:0 auto}.typing-metrics{display:flex;flex-direction:column;gap:.7rem}.typing-metrics>div{display:grid;justify-items:center;gap:.2rem;padding:.7rem .25rem;border:1px solid #d8e5ef;border-radius:.8rem;background:#fff;color:#475569;text-align:center}.typing-metrics strong{color:#172033;font-size:1.05rem}.typing-metrics span{color:#64748b;font-size:.62rem;font-weight:800;text-transform:uppercase}.typing-metrics>.icon-button{width:100%;height:4.25rem;border-radius:.8rem}.typing-metrics .demo-simulate{border-color:#7dd3fc;background:#e0f2fe;color:#0369a1}.typing-race-content{display:grid;grid-template-rows:minmax(16rem,42vh) minmax(14rem,1fr);gap:1rem;min-width:0}.race-map-panel{position:relative;overflow:hidden}.race-track{display:grid;align-content:center;gap:.6rem;width:100%;height:100%}.race-lane{display:grid;grid-template-columns:minmax(5rem,8rem) minmax(10rem,1fr) 4.5rem;align-items:center;gap:.65rem}.lane-name,.lane-speed{overflow:hidden;font-size:.78rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.lane-speed{color:#64748b;text-align:right}.lane-road{position:relative;height:2.2rem;border:1px solid #cbd5e1;border-radius:999px;background:repeating-linear-gradient(90deg,#e2e8f0 0 1.5rem,#f8fafc 1.5rem 3rem)}.race-car{position:absolute;z-index:2;top:.15rem;display:grid;width:2.5rem;height:1.9rem;place-items:center;filter:drop-shadow(0 3px 3px rgba(15,23,42,.18));transition:left .18s linear}.race-car.self{border-radius:.6rem;background:#ffffffd9;outline:2px solid currentColor}.finish-flag{position:absolute;right:.25rem;top:.3rem;color:#172033}.race-countdown{position:absolute;z-index:5;inset:0;display:grid;place-items:center;background:#f4f9fdbf;color:#0284c7;font-size:clamp(5rem,18vw,11rem);font-weight:950;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.finish-window{position:absolute;z-index:4;top:.75rem;right:.75rem;padding:.5rem .75rem;border-radius:999px;background:#172033;color:#fff;font-size:.75rem;font-weight:850}.typing-stream-panel{position:relative;overflow:hidden;cursor:text}.typing-stream{position:relative;max-height:14rem;overflow:hidden;color:#94a3b8;font-family:SFMono-Regular,Consolas,monospace;font-size:clamp(1.15rem,2.2vw,1.65rem);font-weight:650;line-height:1.85;text-align:left;white-space:pre-wrap}.typing-character.correct{color:#059669}.typing-character.wrong{color:#dc2626}.typing-character.current{border-radius:.2rem;background:#0ea5e9;color:#fff;box-shadow:0 0 0 3px #0ea5e92e}.typing-input-capture{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.finished-notice{display:grid;place-items:center;gap:.45rem;height:100%;color:#059669}.finished-notice strong{font-size:1.5rem}.finished-notice span{color:#64748b}.page.typing-results-page{min-height:100vh;padding:1.25rem 0}.typing-results{width:min(100% - 2rem,70rem);margin:0 auto}.typing-results>h1{display:flex;align-items:center;gap:.6rem;font-size:clamp(2.3rem,7vw,4.5rem)}.replay-panel{position:relative;display:grid;gap:.8rem;padding:1rem;overflow:hidden;box-shadow:none;cursor:pointer}.replay-panel .race-track{min-height:12rem}.replay-overlay-control{position:absolute;z-index:3;inset:0;display:grid;width:100%;padding:0;place-items:center;border:0;border-radius:inherit;background:#f8fafc9e;color:#172033;cursor:pointer;transition:background .16s ease}.replay-overlay-control>span{display:grid;width:4rem;height:4rem;place-items:center;border:2px solid rgba(23,32,51,.22);border-radius:50%;background:#ffffffeb;box-shadow:0 8px 24px #0f172a24;transition:opacity .16s ease,transform .16s ease}.replay-panel.playing .replay-overlay-control{background:transparent}.replay-panel.playing .replay-overlay-control>span{opacity:0;transform:scale(.92)}.replay-panel.playing .replay-overlay-control:hover{background:#f8fafc2e}.replay-panel.playing .replay-overlay-control:hover>span,.replay-panel.playing .replay-overlay-control:focus-visible>span{opacity:1;transform:scale(1)}.replay-overlay-control:focus-visible{outline:3px solid rgba(2,132,199,.65);outline-offset:-3px}.replay-range{position:relative;z-index:4;width:100%;accent-color:#0284c7;cursor:pointer}.typing-results-list{display:grid;gap:.55rem}.typing-result{display:grid;grid-template-columns:3rem minmax(10rem,1fr) 5rem 4rem;align-items:center;gap:.75rem;padding:.8rem;border:1px solid #dbe4ed;border-radius:.75rem;background:#f8fafc}.typing-result.self{border-color:#38bdf8;background:#f0f9ff}.typing-result>strong{color:#0284c7;font-size:1.2rem}.typing-result>div{display:grid;gap:.15rem}.typing-result span{color:#64748b;font-size:.78rem}.typing-result-actions{display:flex;flex-wrap:wrap;gap:.7rem}.entry-field{display:grid;gap:.45rem;margin-bottom:1rem}.dag-card .player-name-field>input,.typing-card .player-name-field>input{border:1px solid #cbd5e1;border-radius:.9rem;outline:none;background:#fff;color:#172033;font-size:1.1rem;font-weight:650}.dag-card .player-name-field>input:focus,.typing-card .player-name-field>input:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91f}.player-name-field>input.typing-demo-input{height:3.5rem;font-size:1.5rem;padding:0 1rem}.player-name-field>input.typing-demo-input,.guess-form>label>input.typing-demo-input{border:1px solid #cbd5e1;border-radius:.9rem;background:#fff;color:#172033;font-weight:650}.typing-demo-input:focus{border-color:#0ea5e9!important;box-shadow:0 0 0 3px #0ea5e91f!important;outline:none}@media(max-width:760px){.typing-host-row{align-items:stretch;flex-direction:column}.typing-host-fields,.typing-toggle-grid{grid-template-columns:1fr}.typing-host-row .typing-primary{width:100%}.typing-race-layout{grid-template-columns:1fr}.typing-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.typing-race-content{grid-template-rows:minmax(16rem,auto) minmax(14rem,auto)}.race-lane{grid-template-columns:4.5rem minmax(8rem,1fr)}.lane-speed{display:none}.typing-result{grid-template-columns:2.5rem minmax(8rem,1fr) 4rem}.typing-result>span:last-child{display:none}}@media(max-width:640px){.site-header{height:4rem}.page{min-height:calc(100vh - 4rem)}.site-header-inner{width:min(100% - 1rem,72rem)}.header-button:not(.primary) span{display:none}.header-button{padding:0 .7rem}.dag-host-row{align-items:stretch;flex-direction:column}.dag-host-actions{justify-content:stretch}.dag-host-actions .primary-button,.dag-host-row>.primary-button{flex:1}.dag-stage{border-radius:1rem}.guessing-stage .guess-form{grid-template-columns:1fr}.host-controls,.active-room-row{align-items:stretch;flex-direction:column}}@media(prefers-reduced-motion:reduce){.room-code-entry:focus-within .room-code-slots span.active:after{animation:none}}.active-room-card{width:fit-content;max-width:100%;height:fit-content;min-height:0;margin-inline:auto;align-self:start;justify-content:flex-start;border-color:#cdbff0;background:linear-gradient(135deg,#f6f0fff2,#ffffffe6)}.active-room-card .dag-host-row,.active-room-card .typing-host-row{height:fit-content;min-height:0;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-start}.active-room-card .dag-host-content,.active-room-card .typing-host-content{max-width:38rem;flex:1 1 20rem}.active-room-card strong{color:#3b2a63;letter-spacing:.08em}.Toastify__toast-container{width:min(100% - 2rem,28rem);padding:0}.Toastify__toast.app-toast{align-items:center;min-height:0;margin-bottom:.6rem;padding:.85rem 1rem;border:1px solid #efc6c3;border-radius:1rem;background:#fff2f1;box-shadow:0 14px 36px #452c6e29;color:#8e2d28;font-family:inherit;font-size:.95rem;font-weight:600}.Toastify__toast.app-toast .Toastify__toast-icon{width:20px;margin-inline-end:.7rem;color:#c2413b}.active-room-actions{display:flex;align-items:center;gap:.6rem}.typing-secondary.danger{border-color:#efc6c3;color:#9e332d}.typing-secondary,.secondary-button.toolbar-close{display:inline-flex;align-items:center;gap:.4rem}.toolbar-close{min-height:2.4rem;padding:0 .8rem;font-size:.9rem}.room-closed-leave{justify-self:start;min-height:2.4rem;padding:0 .8rem;font-size:.9rem}.confirm-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1rem;background:#211a2b73}.confirm-dialog{display:grid;gap:.7rem;width:min(100%,26rem);padding:1.5rem;border:1px solid #ddd3eb;border-radius:1.4rem;background:#fff;box-shadow:0 24px 60px #452c6e40}.confirm-dialog h2,.confirm-dialog p{margin:0}.confirm-dialog p{color:#655b70;line-height:1.5}.confirm-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.6rem}.confirm-actions button{min-height:2.8rem;padding:0 1.1rem;border-radius:.8rem;font-weight:800;cursor:pointer}.confirm-cancel{border:1px solid #d4cadf;background:#fff;color:#4f455a}.confirm-danger{border:0;background:#c2413b;color:#fff}.confirm-actions button:disabled{cursor:not-allowed;opacity:.5}@media(max-width:760px){.active-room-card{width:100%}.active-room-card .dag-host-row,.active-room-card .typing-host-row{align-items:stretch;flex-direction:column}.active-room-card .dag-host-content,.active-room-card .typing-host-content{flex:0 1 auto}.active-room-card .active-room-actions,.active-room-actions{width:100%}.active-room-actions>*{flex:1}}
