*{margin:0;padding:0;box-sizing:border-box}:root{--surface: #131313;--surface-bright: #393939;--surface-container: #202020;--surface-container-high: #2a2a2a;--surface-container-low: #1b1b1c;--surface-container-lowest: #0e0e0e;--surface-variant: #353535;--surface-dim: #131313;--on-surface: #e5e2e1;--on-surface-variant: #c6c4d9;--outline: #908fa2;--outline-variant: #464556;--primary: #c1c1ff;--primary-container: #4d49fc;--on-primary-container: #e5e3ff;--secondary: #b7d16f;--secondary-container: #485c01;--on-secondary-container: #bad471;--tertiary: #d8b9ff;--tertiary-container: #8539e1;--on-tertiary-container: #f0dfff;--error: #ffb4ab;--error-container: #93000a;--on-error: #690005;--background: #131313;--surface-tint: #c1c1ff;--inverse-surface: #e5e2e1;--inverse-on-surface: #303030;--inverse-primary: #443ef4}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--background);color:var(--on-surface);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;vertical-align:middle}.scrollbar-thin::-webkit-scrollbar{width:8px}.scrollbar-thin::-webkit-scrollbar-track{background:var(--surface-dim)}.scrollbar-thin::-webkit-scrollbar-thumb{background:var(--surface-container-high);border-radius:4px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:var(--surface-variant)}.editor-container::-webkit-scrollbar{width:8px}.editor-container::-webkit-scrollbar-track{background:var(--surface-dim)}.editor-container::-webkit-scrollbar-thumb{background:var(--surface-container-high);border-radius:4px}.editor-container::-webkit-scrollbar-thumb:hover{background:var(--surface-variant)}button{font-family:inherit;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:disabled{opacity:.5;cursor:not-allowed}input,textarea{font-family:inherit;background-color:var(--surface-container-high);border:1px solid var(--outline-variant);border-radius:.5rem;padding:12px 16px;font-size:14px;color:var(--on-surface);transition:all .2s ease}input:focus,textarea:focus{outline:none;border-color:var(--primary-container);box-shadow:0 0 0 3px #4d49fc26}input::placeholder,textarea::placeholder{color:var(--on-surface-variant);opacity:.6}.home-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,var(--surface) 0%,var(--surface-dim) 100%)}.home-title{font-size:48px;font-weight:800;margin-bottom:12px;color:var(--on-surface);letter-spacing:-1px}.home-subtitle{font-size:16px;color:var(--on-surface-variant);margin-bottom:48px;text-align:center;max-width:400px}.home-actions{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:320px}.home-btn{min-width:100%;padding:14px 32px;font-size:16px;font-weight:600;border-radius:.75rem}.home-divider{display:flex;align-items:center;gap:16px;width:100%;color:var(--outline);font-size:14px}.home-divider:before,.home-divider:after{content:"";flex:1;height:1px;background:var(--outline-variant)}.home-join-form{display:flex;gap:12px;align-items:center;width:100%}.home-join-input{flex:1}.home-card{width:100%;max-width:400px}.room-info{background-color:var(--surface-container);border-radius:1rem;padding:24px;border:1px solid var(--outline-variant)}.room-info-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.room-info-label{font-size:12px;color:var(--outline);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.room-info-value{font-family:Fira Code,monospace;font-size:14px;color:var(--on-surface)}.room-info-row{margin-bottom:16px}.edit-code{font-family:Fira Code,monospace;font-size:28px;font-weight:600;color:var(--secondary);letter-spacing:4px;margin-top:4px}.copy-btn{background-color:var(--surface-container-high);border:1px solid var(--outline-variant);padding:8px 16px;font-size:14px;font-weight:500;color:var(--on-surface);border-radius:.5rem;transition:all .2s ease}.copy-btn:hover{background-color:var(--primary-container);border-color:var(--primary-container);color:var(--on-primary-container)}.copy-btn.full-width{width:100%;padding:12px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#131313e6;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background-color:var(--surface-container);border-radius:1.5rem;padding:32px;width:100%;max-width:420px;border:1px solid var(--outline-variant);box-shadow:0 24px 80px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-icon{width:64px;height:64px;margin:0 auto 20px;background:linear-gradient(135deg,var(--primary-container) 0%,var(--tertiary-container) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center}.modal-icon svg{width:32px;height:32px;color:var(--on-primary-container)}.modal-title{font-size:24px;font-weight:700;margin-bottom:8px;color:var(--on-surface);text-align:center}.modal-subtitle{font-size:14px;color:var(--on-surface-variant);margin-bottom:24px;text-align:center;line-height:1.6}.modal-input{width:100%;margin-bottom:24px;text-align:center;font-family:Fira Code,monospace;font-size:28px;letter-spacing:12px;text-transform:uppercase;padding:16px;background:var(--surface-container-high);border:2px solid var(--outline-variant);border-radius:.75rem}.modal-input:focus{border-color:var(--primary-container);box-shadow:0 0 0 4px #4d49fc33}.modal-actions{display:flex;gap:12px}.modal-actions button{flex:1;padding:14px 24px;font-size:14px;font-weight:600;border-radius:.75rem}.modal-btn-secondary{background-color:var(--surface-container-high);border:1px solid var(--outline-variant);color:var(--on-surface)}.modal-btn-secondary:hover{background-color:var(--surface-variant)}.modal-btn-primary{background-color:var(--primary-container);color:var(--on-primary-container);border:none}.modal-btn-primary:hover{filter:brightness(1.1)}.modal-error{color:var(--error);font-size:13px;margin-top:-16px;margin-bottom:16px;text-align:center}.markdown-preview{font-family:Inter,sans-serif;line-height:1.8;color:var(--on-surface)}.markdown-preview h1{font-size:2.25rem;font-weight:700;margin-bottom:1.5rem;color:var(--primary);line-height:1.2;border-bottom:2px solid var(--outline-variant);padding-bottom:.75rem}.markdown-preview h2{font-size:1.75rem;font-weight:600;margin-top:2.5rem;margin-bottom:1.25rem;color:var(--tertiary)}.markdown-preview h3{font-size:1.375rem;font-weight:600;margin-top:2rem;margin-bottom:1rem;color:var(--secondary)}.markdown-preview h4{font-size:1.125rem;font-weight:600;margin-top:1.75rem;margin-bottom:.875rem;color:var(--on-surface)}.markdown-preview h5{font-size:1rem;font-weight:600;margin-top:1.5rem;margin-bottom:.75rem;color:var(--on-surface-variant)}.markdown-preview h6{font-size:.875rem;font-weight:600;margin-top:1.25rem;margin-bottom:.625rem;color:var(--outline)}.markdown-preview p{margin-bottom:1rem;line-height:1.8}.markdown-preview ul,.markdown-preview ol{margin-bottom:1rem;padding-left:1.5rem}.markdown-preview li{margin-bottom:.5rem;line-height:1.7}.markdown-preview li::marker{color:var(--primary-container)}.markdown-preview code{font-family:Fira Code,Consolas,monospace;background-color:var(--surface-container-high);padding:.2rem .5rem;border-radius:.25rem;font-size:.875em;color:var(--tertiary);border:1px solid var(--outline-variant)}.markdown-preview pre{background-color:var(--surface-container-high);padding:1.25rem;border-radius:.75rem;overflow-x:auto;margin-bottom:1.25rem;border:1px solid var(--outline-variant);position:relative}.markdown-preview pre code{padding:0;background:none;border:none;color:var(--on-surface);font-size:.875rem;line-height:1.6}.markdown-preview blockquote{border-left:4px solid var(--primary-container);padding:1rem 1.25rem;margin:1.25rem 0;background-color:var(--surface-container-high);border-radius:0 .5rem .5rem 0;color:var(--on-surface-variant);font-style:italic}.markdown-preview blockquote p{margin-bottom:.5rem}.markdown-preview blockquote p:last-child{margin-bottom:0}.markdown-preview a{color:var(--primary);text-decoration:none;border-bottom:1px solid transparent;transition:all .2s ease}.markdown-preview a:hover{color:var(--on-primary-container);border-bottom-color:var(--primary)}.markdown-preview table{width:100%;border-collapse:collapse;margin-bottom:1.25rem;border-radius:.5rem;overflow:hidden;border:1px solid var(--outline-variant)}.markdown-preview th,.markdown-preview td{border:1px solid var(--outline-variant);padding:.75rem 1rem;text-align:left}.markdown-preview th{background-color:var(--surface-container-high);font-weight:600;color:var(--primary)}.markdown-preview tr:nth-child(2n){background-color:#2a2a2a4d}.markdown-preview img{max-width:100%;height:auto;border-radius:.5rem;border:1px solid var(--outline-variant);margin:1rem 0}.markdown-preview hr{border:none;border-top:1px solid var(--outline-variant);margin:2rem 0}.markdown-preview input[type=checkbox]{margin-right:.5rem;accent-color:var(--primary-container)}@media (max-width: 768px){.home-title{font-size:36px}.home-join-form{flex-direction:column;width:100%}.home-join-input{width:100%}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s ease-in-out infinite}
