@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Crimson+Pro:wght@400;500;600&display=swap);*{box-sizing:border-box}#root,body,html{height:100%;margin:0;padding:0;width:100%}body{background:#000}.terminal-fullscreen{bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0}.terminal-fullscreen .xterm{height:100%;padding:5px}.terminal-loading{align-items:center;background:#000;bottom:0;color:#ccc;display:flex;font-family:monospace;font-size:15px;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10}:root{--santa-red:#c41e3a;--santa-red-dark:#8b0000;--santa-red-glow:#e31837;--cream:#fff8e7;--cream-dark:#f5e6c8;--gold:#d4a84b;--gold-light:gold;--forest-green:#165b33;--forest-green-dark:#0d3b1f;--holly-green:#2e8b57;--warm-brown:#5c3317;--parchment:#f5e6c8}@keyframes snowfall-1{0%{opacity:0;transform:translateY(-100px) translateX(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(100vh) translateX(20px)}}@keyframes snowfall-2{0%{opacity:0;transform:translateY(-100px) translateX(0)}10%{opacity:.8}90%{opacity:.8}to{opacity:0;transform:translateY(100vh) translateX(-15px)}}@keyframes snowfall-3{0%{opacity:0;transform:translateY(-100px) translateX(0)}10%{opacity:.6}90%{opacity:.6}to{opacity:0;transform:translateY(100vh) translateX(10px)}}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:1}}@keyframes gentle-glow{0%,to{box-shadow:0 0 20px #d4a84b4d}50%{box-shadow:0 0 40px #d4a84b80}}.chat-container{-webkit-font-smoothing:antialiased;background:radial-gradient(ellipse at top,#2a1810 0,#1a0f0a 50%,#0d0705 100%);display:flex;flex-direction:column;font-family:Crimson Pro,Georgia,serif;position:fixed}.chat-container,.snow-container{bottom:0;left:0;overflow:hidden;right:0;top:0}.snow-container{pointer-events:none;position:absolute;z-index:0}.snowflake{color:#fffc;font-size:14px;position:absolute;text-shadow:0 0 5px #ffffff80;-webkit-user-select:none;user-select:none}.snowflake:first-child{animation:snowfall-1 8s linear infinite;animation-delay:0s;font-size:12px;left:5%}.snowflake:nth-child(2){animation:snowfall-2 12s linear infinite;animation-delay:1s;font-size:16px;left:15%}.snowflake:nth-child(3){animation:snowfall-3 10s linear infinite;animation-delay:2s;font-size:10px;left:25%}.snowflake:nth-child(4){animation:snowfall-1 14s linear infinite;animation-delay:.5s;font-size:18px;left:35%}.snowflake:nth-child(5){animation:snowfall-2 9s linear infinite;animation-delay:3s;font-size:14px;left:45%}.snowflake:nth-child(6){animation:snowfall-3 11s linear infinite;animation-delay:1.5s;font-size:12px;left:55%}.snowflake:nth-child(7){animation:snowfall-1 13s linear infinite;animation-delay:4s;font-size:16px;left:65%}.snowflake:nth-child(8){animation:snowfall-2 8s linear infinite;animation-delay:2.5s;font-size:10px;left:75%}.snowflake:nth-child(9){animation:snowfall-3 15s linear infinite;animation-delay:.8s;font-size:14px;left:85%}.snowflake:nth-child(10){animation:snowfall-1 10s linear infinite;animation-delay:3.5s;font-size:18px;left:95%}.snowflake:nth-child(11){animation:snowfall-2 11s linear infinite;animation-delay:5s;font-size:12px;left:10%}.snowflake:nth-child(12){animation:snowfall-3 9s linear infinite;animation-delay:4.5s;font-size:16px;left:20%}.snowflake:nth-child(13){animation:snowfall-1 12s linear infinite;animation-delay:6s;font-size:10px;left:30%}.snowflake:nth-child(14){animation:snowfall-2 14s linear infinite;animation-delay:5.5s;font-size:14px;left:40%}.snowflake:nth-child(15){animation:snowfall-3 8s linear infinite;animation-delay:7s;font-size:18px;left:50%}.snowflake:nth-child(16){animation:snowfall-1 10s linear infinite;animation-delay:6.5s;font-size:12px;left:60%}.snowflake:nth-child(17){animation:snowfall-2 13s linear infinite;animation-delay:8s;font-size:16px;left:70%}.snowflake:nth-child(18){animation:snowfall-3 11s linear infinite;animation-delay:7.5s;font-size:10px;left:80%}.snowflake:nth-child(19){animation:snowfall-1 9s linear infinite;animation-delay:9s;font-size:14px;left:90%}.snowflake:nth-child(20){animation:snowfall-2 15s linear infinite;animation-delay:8.5s;font-size:16px;left:3%}.chat-header{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:linear-gradient(180deg,#8b0000f2,#c41e3ae6 50%,#8b0000f2);border-bottom:3px solid #d4a84b;border-bottom:3px solid var(--gold);box-shadow:0 4px 20px #0006,inset 0 1px 0 #ffffff1a;padding:16px 20px;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:100}.chat-header:before{animation:twinkle 2s ease-in-out infinite;content:"🎄";font-size:24px;left:20px;position:absolute;top:50%;transform:translateY(-50%)}.chat-header h1{color:gold;color:var(--gold-light);font-size:12px;font-weight:600;letter-spacing:3px;margin:0;text-shadow:0 2px 4px #0000004d;text-transform:uppercase}.chat-header h1,.chat-subtitle{font-family:Playfair Display,Georgia,serif}.chat-subtitle{color:#fff8e7;color:var(--cream);display:block;font-size:22px;font-weight:700;letter-spacing:1px;margin-top:4px;text-shadow:0 2px 4px #0006,0 0 30px #ffd7004d}.messages-container{background:#0000;display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:24px 16px;position:relative;z-index:1}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:#0003;border-radius:4px}.messages-container::-webkit-scrollbar-thumb{background:#c41e3a;background:var(--santa-red);border:2px solid #0000;border-radius:4px}.message-wrapper{display:flex;flex-direction:column;margin-bottom:4px;padding:0 8px;position:relative;width:100%}.message-wrapper.sent{align-items:flex-end}.message-wrapper.received{align-items:flex-start}.message-wrapper.show-tail{margin-bottom:16px}.message-bubble{word-wrap:break-word;border-radius:20px;box-shadow:0 4px 12px #0000004d;font-size:17px;letter-spacing:.2px;line-height:24px;max-width:75%;padding:12px 18px;position:relative}.message-bubble.sent{background:linear-gradient(135deg,#c41e3a,#8b0000);background:linear-gradient(135deg,var(--santa-red) 0,var(--santa-red-dark) 100%);border:1px solid #ffd70033;color:#fff8e7;color:var(--cream)}.message-bubble.received{background:linear-gradient(135deg,#165b33,#0d3b1f);background:linear-gradient(135deg,var(--forest-green) 0,var(--forest-green-dark) 100%);border:1px solid #ffd70026;color:#fff8e7;color:var(--cream)}.message-text{margin:0;position:relative;z-index:1}.message-status{color:#d4a84b;color:var(--gold);font-family:Crimson Pro,serif;font-size:11px;font-style:italic;margin-right:4px;margin-top:6px;text-align:right}.message-time{display:none}.input-container{align-items:flex-end;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:linear-gradient(180deg,#8b0000f2,#5c3317f2);border-top:3px solid #d4a84b;border-top:3px solid var(--gold);bottom:0;box-shadow:0 -4px 20px #0000004d;display:flex;gap:12px;padding:14px 16px;position:-webkit-sticky;position:sticky;z-index:100}.message-input{background:#fff8e7f2;border:2px solid #d4a84b;border:2px solid var(--gold);border-radius:25px;box-shadow:inset 0 2px 4px #0000001a;color:#5c3317;color:var(--warm-brown);flex:1 1;font-family:Crimson Pro,Georgia,serif;font-size:17px;line-height:20px;max-height:120px;min-height:44px;outline:none;padding:12px 20px}.message-input::placeholder{color:#5c331780;font-style:italic}.message-input:focus{border-color:gold;border-color:var(--gold-light);box-shadow:inset 0 2px 4px #0000001a,0 0 15px #d4a84b66}.send-button{align-items:center;background:linear-gradient(135deg,#c41e3a,#8b0000);background:linear-gradient(135deg,var(--santa-red) 0,var(--santa-red-dark) 100%);border:2px solid #d4a84b;border:2px solid var(--gold);border-radius:50%;box-shadow:0 4px 12px #0000004d;color:#fff8e7;color:var(--cream);cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .2s ease;width:44px}.send-button:hover:not(:disabled){box-shadow:0 4px 12px #0000004d,0 0 20px #d4a84b80;transform:scale(1.05)}.send-button:disabled{background:#5c331780;border-color:#d4a84b4d;color:#fff8e74d}.send-button svg{stroke:currentColor;height:20px;width:20px}.password-gate{align-items:center;background:radial-gradient(ellipse at center,#2a1810 0,#1a0f0a 50%,#0d0705 100%);bottom:0;display:flex;justify-content:center;left:0;overflow:hidden;position:fixed;right:0;top:0}.password-gate:before{animation:snowfall 12s linear infinite;color:#ffffff1a;content:"❄ ❅ ❆ ✦ ❄ ❅ ❆ ✦ ❄ ❅ ❆ ✦ ❄ ❅ ❆ ✦ ❄ ❅ ❆ ✦";font-size:30px;left:0;letter-spacing:30px;pointer-events:none;position:absolute;right:0;top:-20px}.password-modal{animation:gentle-glow 3s ease-in-out infinite;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:linear-gradient(180deg,#8b0000f2,#c41e3ae6 50%,#8b0000f2);border:3px solid #d4a84b;border:3px solid var(--gold);border-radius:24px;box-shadow:0 20px 60px #00000080,0 0 40px #d4a84b33;max-width:380px;padding:48px 40px;text-align:center;width:90%}.password-modal h2{color:#fff8e7;color:var(--cream);font-family:Playfair Display,Georgia,serif;font-size:28px;font-weight:700;letter-spacing:1px;margin-bottom:8px;text-shadow:0 2px 4px #0000004d}.password-icon{font-size:64px;margin-bottom:16px;text-shadow:0 4px 8px #0000004d}.password-input{background:#fff8e7f2;border:2px solid #d4a84b;border:2px solid var(--gold);border-radius:12px;color:#5c3317;color:var(--warm-brown);font-family:Crimson Pro,Georgia,serif;font-size:18px;letter-spacing:2px;margin-bottom:16px;outline:none;padding:16px 20px;text-align:center;width:100%}.password-input:focus{box-shadow:0 0 20px #d4a84b80}.password-input::placeholder{color:#5c331780;letter-spacing:1px}.password-button{background:linear-gradient(135deg,#165b33,#0d3b1f);background:linear-gradient(135deg,var(--forest-green) 0,var(--forest-green-dark) 100%);border:2px solid #d4a84b;border:2px solid var(--gold);border-radius:12px;box-shadow:0 4px 12px #0000004d;color:#fff8e7;color:var(--cream);cursor:pointer;font-family:Playfair Display,Georgia,serif;font-size:18px;font-weight:700;letter-spacing:2px;padding:16px;text-transform:uppercase;transition:all .2s ease;width:100%}.password-button:hover{box-shadow:0 6px 20px #0006,0 0 25px #d4a84b66;transform:translateY(-2px)}.password-error{color:gold;color:var(--gold-light);font-family:Crimson Pro,serif;font-size:14px;font-style:italic;margin:0 0 12px}.game-button-wrapper{position:absolute;right:16px;top:50%;transform:translateY(-50%)}.game-button{align-items:center;background:linear-gradient(135deg,#165b33,#0d3b1f);background:linear-gradient(135deg,var(--forest-green) 0,var(--forest-green-dark) 100%);border:2px solid #d4a84b;border:2px solid var(--gold);border-radius:50%;box-shadow:0 4px 12px #0000004d;cursor:pointer;display:flex;font-size:20px;height:42px;justify-content:center;transition:all .2s ease;width:42px}.game-button:hover{box-shadow:0 4px 12px #0000004d,0 0 20px #d4a84b80;transform:scale(1.1)}.game-button:active{transform:scale(.95)}.game-popover{animation:popover-in .25s ease;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);background:linear-gradient(180deg,#165b33f2,#0d3b1ffa);border:2px solid #d4a84b;border:2px solid var(--gold);border-radius:16px;box-shadow:0 15px 50px #00000080,0 0 30px #d4a84b33;min-width:220px;overflow:hidden;position:absolute;right:0;top:52px;z-index:1000}@keyframes popover-in{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.game-popover-header{background:#0003;border-bottom:1px solid #d4a84b4d;color:#d4a84b;color:var(--gold);font-family:Playfair Display,Georgia,serif;font-size:12px;font-weight:700;letter-spacing:2px;padding:14px 18px;text-transform:uppercase}.game-popover-btn{align-items:center;background:#0000;border:none;color:#fff8e7;color:var(--cream);cursor:pointer;display:flex;font-family:Crimson Pro,Georgia,serif;font-size:16px;gap:12px;padding:14px 18px;text-align:left;transition:all .15s ease;width:100%}.game-popover-btn:hover:not(:disabled){background:#d4a84b26;padding-left:22px}.game-popover-btn:disabled{color:#fff8e74d;cursor:not-allowed}.game-popover-btn-danger{color:gold;color:var(--gold-light)}.game-popover-btn-danger:hover{background:#c41e3a4d}.game-popover-icon{font-size:14px;text-align:center;width:20px}.game-popover-divider{background:linear-gradient(90deg,#0000,#d4a84b66 50%,#0000);height:1px;margin:6px 0}.no-messages{align-items:center;color:#fff8e7;color:var(--cream);display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:center}.no-messages:before{animation:twinkle 2s ease-in-out infinite;content:"🎅";font-size:64px;margin-bottom:16px}.no-messages p{color:#fff8e7;color:var(--cream);font-family:Playfair Display,Georgia,serif;font-size:22px;margin:0;text-shadow:0 2px 4px #0000004d}.no-messages-hint{color:#d4a84b!important;color:var(--gold)!important;font-family:Crimson Pro,serif;font-size:16px!important;font-style:italic;margin-top:12px!important}.chat-loading{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:16px;justify-content:center}.chat-loading:before{animation:twinkle 1.5s ease-in-out infinite;content:"🎄";font-size:48px}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #d4a84b33;border-radius:50%;border-top:3px solid var(--gold);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{border:0;height:0;left:-9999em;margin:0;opacity:0;overflow:hidden;padding:0;position:absolute;resize:none;top:0;white-space:nowrap;width:0;z-index:-5}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;bottom:0;cursor:default;left:0;overflow-y:scroll;position:absolute;right:0;top:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{left:0;position:absolute;top:0}.xterm-char-measure-element{display:inline-block;left:-9999em;line-height:normal;position:absolute;top:0;visibility:hidden}.xterm.enable-mouse-events{cursor:default}.xterm .xterm-cursor-pointer,.xterm.xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{bottom:0;color:#0000;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:10}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:-webkit-fit-content;width:fit-content}.xterm .live-region{height:1px;left:-9999px;overflow:hidden;position:absolute;width:1px}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{position:absolute;z-index:6}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{pointer-events:none;position:absolute;right:0;top:0;z-index:8}.xterm-decoration-top{position:relative;z-index:2}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{background:#0000;opacity:1;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{box-shadow:inset 0 6px 6px -6px #000;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;height:3px;left:3px;top:0;width:100%}.xterm .xterm-scrollable-element>.shadow.left{box-shadow:inset 6px 0 6px -6px #000;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;height:100%;left:0;top:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;height:3px;left:0;top:0;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:inset 6px 0 6px -6px #000;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}
/*# sourceMappingURL=main.0e87543a.css.map*/